devchain-cli 0.12.3 → 0.13.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 (1001) hide show
  1. package/README.md +1 -1
  2. package/dist/cli.js +116 -111
  3. package/dist/drizzle/0062_provider_probe_proofs.sql +6 -0
  4. package/dist/drizzle/0063_session_name.sql +1 -0
  5. package/dist/drizzle/meta/0062_snapshot.json +5208 -0
  6. package/dist/drizzle/meta/0063_snapshot.json +5215 -0
  7. package/dist/drizzle/meta/_journal.json +14 -0
  8. package/dist/node_modules/@devchain/shared/host-resolver.d.ts +18 -0
  9. package/dist/node_modules/@devchain/shared/host-resolver.d.ts.map +1 -0
  10. package/dist/node_modules/@devchain/shared/host-resolver.js +69 -0
  11. package/dist/node_modules/@devchain/shared/host-resolver.js.map +1 -0
  12. package/dist/node_modules/@devchain/shared/index.d.ts +1 -0
  13. package/dist/node_modules/@devchain/shared/index.d.ts.map +1 -1
  14. package/dist/node_modules/@devchain/shared/index.js +1 -0
  15. package/dist/node_modules/@devchain/shared/index.js.map +1 -1
  16. package/dist/node_modules/@devchain/shared/package.json +2 -0
  17. package/dist/node_modules/@devchain/shared/tsconfig.tsbuildinfo +1 -1
  18. package/dist/server/app.main.module.js +12 -6
  19. package/dist/server/app.main.module.js.map +1 -1
  20. package/dist/server/app.normal.module.js +14 -6
  21. package/dist/server/app.normal.module.js.map +1 -1
  22. package/dist/server/common/config/env.config.d.ts +7 -0
  23. package/dist/server/common/config/env.config.js +11 -0
  24. package/dist/server/common/config/env.config.js.map +1 -1
  25. package/dist/server/common/config/host-helpers.d.ts +3 -3
  26. package/dist/server/common/config/host-helpers.js +5 -28
  27. package/dist/server/common/config/host-helpers.js.map +1 -1
  28. package/dist/server/common/errors/service-unavailable.error.d.ts +4 -0
  29. package/dist/server/common/errors/service-unavailable.error.js +12 -0
  30. package/dist/server/common/errors/service-unavailable.error.js.map +1 -0
  31. package/dist/server/common/process-identity.d.ts +1 -0
  32. package/dist/server/common/process-identity.js +6 -0
  33. package/dist/server/common/process-identity.js.map +1 -0
  34. package/dist/server/common/resolve-binary.d.ts +2 -1
  35. package/dist/server/common/resolve-binary.js +7 -6
  36. package/dist/server/common/resolve-binary.js.map +1 -1
  37. package/dist/server/common/template/prompt-render-context.d.ts +12 -0
  38. package/dist/server/common/template/prompt-render-context.js +37 -0
  39. package/dist/server/common/template/prompt-render-context.js.map +1 -0
  40. package/dist/server/common/test/app-bootstrap.helper.d.ts +13 -0
  41. package/dist/server/common/test/app-bootstrap.helper.js +184 -0
  42. package/dist/server/common/test/app-bootstrap.helper.js.map +1 -0
  43. package/dist/server/main.js +2 -2
  44. package/dist/server/main.js.map +1 -1
  45. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.d.ts +5 -0
  46. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js +33 -0
  47. package/dist/server/modules/agent-message-delivery/adapters/legacy-delivery-formatter.adapter.js.map +1 -0
  48. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.d.ts +6 -0
  49. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js +22 -0
  50. package/dist/server/modules/agent-message-delivery/adapters/legacy-recipient-resolver.adapter.js.map +1 -0
  51. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.d.ts +2 -0
  52. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js +45 -0
  53. package/dist/server/modules/agent-message-delivery/agent-message-delivery.module.js.map +1 -0
  54. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.d.ts +21 -0
  55. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js +107 -0
  56. package/dist/server/modules/agent-message-delivery/agent-message-delivery.service.js.map +1 -0
  57. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.d.ts +32 -0
  58. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.js +3 -0
  59. package/dist/server/modules/agent-message-delivery/dtos/delivery.types.js.map +1 -0
  60. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.d.ts +4 -0
  61. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.js +7 -0
  62. package/dist/server/modules/agent-message-delivery/ports/delivery-formatter.js.map +1 -0
  63. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.d.ts +8 -0
  64. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js +7 -0
  65. package/dist/server/modules/agent-message-delivery/ports/delivery-recipient-resolver.js.map +1 -0
  66. package/dist/server/modules/{events/subscribers/chat-message-broadcaster.subscriber.d.ts → agent-message-delivery/subscribers/chat-message-delivery.subscriber.d.ts} +6 -4
  67. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js +63 -0
  68. package/dist/server/modules/agent-message-delivery/subscribers/chat-message-delivery.subscriber.js.map +1 -0
  69. package/dist/server/modules/agents/agents.module.js +2 -2
  70. package/dist/server/modules/agents/agents.module.js.map +1 -1
  71. package/dist/server/modules/agents/controllers/agents.controller.d.ts +3 -1
  72. package/dist/server/modules/agents/controllers/agents.controller.js +6 -5
  73. package/dist/server/modules/agents/controllers/agents.controller.js.map +1 -1
  74. package/dist/server/modules/chat/chat.module.js +14 -4
  75. package/dist/server/modules/chat/chat.module.js.map +1 -1
  76. package/dist/server/modules/chat/services/chat-session-invite.service.d.ts +16 -0
  77. package/dist/server/modules/chat/services/chat-session-invite.service.js +194 -0
  78. package/dist/server/modules/chat/services/chat-session-invite.service.js.map +1 -0
  79. package/dist/server/modules/chat/services/chat-settings.service.js +2 -1
  80. package/dist/server/modules/chat/services/chat-settings.service.js.map +1 -1
  81. package/dist/server/modules/chat/services/chat.service.d.ts +6 -4
  82. package/dist/server/modules/chat/services/chat.service.js +64 -105
  83. package/dist/server/modules/chat/services/chat.service.js.map +1 -1
  84. package/dist/server/modules/cloud/cloud.module.d.ts +2 -0
  85. package/dist/server/modules/cloud/cloud.module.js +54 -0
  86. package/dist/server/modules/cloud/cloud.module.js.map +1 -0
  87. package/dist/server/modules/cloud/controllers/activity-proxy.controller.d.ts +6 -0
  88. package/dist/server/modules/cloud/controllers/activity-proxy.controller.js +39 -0
  89. package/dist/server/modules/cloud/controllers/activity-proxy.controller.js.map +1 -0
  90. package/dist/server/modules/cloud/controllers/auth-callback.controller.d.ts +11 -0
  91. package/dist/server/modules/cloud/controllers/auth-callback.controller.js +72 -0
  92. package/dist/server/modules/cloud/controllers/auth-callback.controller.js.map +1 -0
  93. package/dist/server/modules/cloud/controllers/devices-proxy.controller.d.ts +9 -0
  94. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js +75 -0
  95. package/dist/server/modules/cloud/controllers/devices-proxy.controller.js.map +1 -0
  96. package/dist/server/modules/cloud/controllers/egress-config.controller.d.ts +12 -0
  97. package/dist/server/modules/cloud/controllers/egress-config.controller.js +66 -0
  98. package/dist/server/modules/cloud/controllers/egress-config.controller.js.map +1 -0
  99. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.d.ts +30 -0
  100. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js +159 -0
  101. package/dist/server/modules/cloud/controllers/preferences-proxy.controller.js.map +1 -0
  102. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.d.ts +11 -0
  103. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js +89 -0
  104. package/dist/server/modules/cloud/controllers/qr-initiate-proxy.controller.js.map +1 -0
  105. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.d.ts +20 -0
  106. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.js +12 -0
  107. package/dist/server/modules/cloud/dtos/cloud-tokens.dto.js.map +1 -0
  108. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.d.ts +24 -0
  109. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js +111 -0
  110. package/dist/server/modules/cloud/services/cloud-egress-bridge.service.js.map +1 -0
  111. package/dist/server/modules/cloud/services/cloud-session-manager.service.d.ts +27 -0
  112. package/dist/server/modules/cloud/services/cloud-session-manager.service.js +257 -0
  113. package/dist/server/modules/cloud/services/cloud-session-manager.service.js.map +1 -0
  114. package/dist/server/modules/cloud/services/egress-queue.service.d.ts +20 -0
  115. package/dist/server/modules/cloud/services/egress-queue.service.js +136 -0
  116. package/dist/server/modules/cloud/services/egress-queue.service.js.map +1 -0
  117. package/dist/server/modules/cloud/services/encrypted-token-store.service.d.ts +15 -0
  118. package/dist/server/modules/cloud/services/encrypted-token-store.service.js +131 -0
  119. package/dist/server/modules/cloud/services/encrypted-token-store.service.js.map +1 -0
  120. package/dist/server/modules/cloud/services/event-mapper.service.d.ts +42 -0
  121. package/dist/server/modules/cloud/services/event-mapper.service.js +44 -0
  122. package/dist/server/modules/cloud/services/event-mapper.service.js.map +1 -0
  123. package/dist/server/modules/cloud/services/project-activity-reporter.service.d.ts +21 -0
  124. package/dist/server/modules/cloud/services/project-activity-reporter.service.js +138 -0
  125. package/dist/server/modules/cloud/services/project-activity-reporter.service.js.map +1 -0
  126. package/dist/server/modules/cloud/services/project-egress-config.service.d.ts +13 -0
  127. package/dist/server/modules/cloud/services/project-egress-config.service.js +87 -0
  128. package/dist/server/modules/cloud/services/project-egress-config.service.js.map +1 -0
  129. package/dist/server/modules/cloud/services/refresh-gate.service.d.ts +9 -0
  130. package/dist/server/modules/cloud/services/refresh-gate.service.js +63 -0
  131. package/dist/server/modules/cloud/services/refresh-gate.service.js.map +1 -0
  132. package/dist/server/modules/cloud/types/index.d.ts +14 -0
  133. package/dist/server/modules/cloud/types/index.js +3 -0
  134. package/dist/server/modules/cloud/types/index.js.map +1 -0
  135. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.d.ts +2 -0
  136. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js +25 -0
  137. package/dist/server/modules/cloud-tunnel/cloud-tunnel.module.js.map +1 -0
  138. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.d.ts +39 -0
  139. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js +319 -0
  140. package/dist/server/modules/cloud-tunnel/services/tunnel-client.service.js.map +1 -0
  141. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.d.ts +44 -0
  142. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js +456 -0
  143. package/dist/server/modules/cloud-tunnel/services/tunnel-handler.service.js.map +1 -0
  144. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.d.ts +22 -0
  145. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.js +146 -0
  146. package/dist/server/modules/cloud-tunnel/services/tunnel-keypair.service.js.map +1 -0
  147. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js +2 -1
  148. package/dist/server/modules/codebase-overview-analyzer/codebase-overview-analyzer.module.js.map +1 -1
  149. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.d.ts +3 -1
  150. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js +14 -20
  151. package/dist/server/modules/codebase-overview-analyzer/services/codebase-overview-analyzer.service.js.map +1 -1
  152. package/dist/server/modules/core/controllers/preflight.controller.d.ts +0 -4
  153. package/dist/server/modules/core/controllers/preflight.controller.js +0 -17
  154. package/dist/server/modules/core/controllers/preflight.controller.js.map +1 -1
  155. package/dist/server/modules/core/controllers/runtime.controller.d.ts +4 -0
  156. package/dist/server/modules/core/controllers/runtime.controller.js +5 -0
  157. package/dist/server/modules/core/controllers/runtime.controller.js.map +1 -1
  158. package/dist/server/modules/core/core-normal-health.module.js +2 -0
  159. package/dist/server/modules/core/core-normal-health.module.js.map +1 -1
  160. package/dist/server/modules/core/core-normal.module.js +12 -6
  161. package/dist/server/modules/core/core-normal.module.js.map +1 -1
  162. package/dist/server/modules/core/services/gemini-trusted-folders.module.d.ts +2 -0
  163. package/dist/server/modules/core/services/gemini-trusted-folders.module.js +21 -0
  164. package/dist/server/modules/core/services/gemini-trusted-folders.module.js.map +1 -0
  165. package/dist/server/modules/core/services/normal-readiness-checker.service.d.ts +3 -1
  166. package/dist/server/modules/core/services/normal-readiness-checker.service.js +9 -11
  167. package/dist/server/modules/core/services/normal-readiness-checker.service.js.map +1 -1
  168. package/dist/server/modules/core/services/preflight.service.d.ts +4 -3
  169. package/dist/server/modules/core/services/preflight.service.js +21 -17
  170. package/dist/server/modules/core/services/preflight.service.js.map +1 -1
  171. package/dist/server/modules/epics/controllers/epic-comments.controller.d.ts +3 -1
  172. package/dist/server/modules/epics/controllers/epic-comments.controller.js +5 -7
  173. package/dist/server/modules/epics/controllers/epic-comments.controller.js.map +1 -1
  174. package/dist/server/modules/epics/epics.module.js +13 -4
  175. package/dist/server/modules/epics/epics.module.js.map +1 -1
  176. package/dist/server/modules/epics/services/epics.service.d.ts +21 -7
  177. package/dist/server/modules/epics/services/epics.service.js +176 -50
  178. package/dist/server/modules/epics/services/epics.service.js.map +1 -1
  179. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.d.ts +25 -0
  180. package/dist/server/modules/{events → epics}/subscribers/epic-assignment-notifier.subscriber.js +47 -105
  181. package/dist/server/modules/epics/subscribers/epic-assignment-notifier.subscriber.js.map +1 -0
  182. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.d.ts +15 -0
  183. package/dist/server/modules/{events → epics}/subscribers/sub-epic-created-notifier.subscriber.js +43 -52
  184. package/dist/server/modules/epics/subscribers/sub-epic-created-notifier.subscriber.js.map +1 -0
  185. package/dist/server/modules/events/catalog/broadcast-metadata.d.ts +8 -0
  186. package/dist/server/modules/events/catalog/broadcast-metadata.js +3 -0
  187. package/dist/server/modules/events/catalog/broadcast-metadata.js.map +1 -0
  188. package/dist/server/modules/events/catalog/broadcast-registry.d.ts +4 -0
  189. package/dist/server/modules/events/catalog/broadcast-registry.js +335 -0
  190. package/dist/server/modules/events/catalog/broadcast-registry.js.map +1 -0
  191. package/dist/server/modules/events/catalog/chat.message.read.d.ts +21 -0
  192. package/dist/server/modules/events/catalog/chat.message.read.js +14 -0
  193. package/dist/server/modules/events/catalog/chat.message.read.js.map +1 -0
  194. package/dist/server/modules/events/catalog/epic.comment.created.d.ts +57 -0
  195. package/dist/server/modules/events/catalog/epic.comment.created.js +28 -0
  196. package/dist/server/modules/events/catalog/epic.comment.created.js.map +1 -0
  197. package/dist/server/modules/events/catalog/epic.created.d.ts +20 -2
  198. package/dist/server/modules/events/catalog/epic.created.js +6 -0
  199. package/dist/server/modules/events/catalog/epic.created.js.map +1 -1
  200. package/dist/server/modules/events/catalog/epic.deleted.d.ts +39 -0
  201. package/dist/server/modules/events/catalog/epic.deleted.js +22 -0
  202. package/dist/server/modules/events/catalog/epic.deleted.js.map +1 -0
  203. package/dist/server/modules/events/catalog/epic.updated.d.ts +6 -0
  204. package/dist/server/modules/events/catalog/epic.updated.js +2 -0
  205. package/dist/server/modules/events/catalog/epic.updated.js.map +1 -1
  206. package/dist/server/modules/events/catalog/guest.unregistered.d.ts +2 -2
  207. package/dist/server/modules/events/catalog/index.d.ts +274 -4
  208. package/dist/server/modules/events/catalog/index.js +18 -0
  209. package/dist/server/modules/events/catalog/index.js.map +1 -1
  210. package/dist/server/modules/events/catalog/review.comment.created.d.ts +6 -0
  211. package/dist/server/modules/events/catalog/review.comment.created.js +2 -0
  212. package/dist/server/modules/events/catalog/review.comment.created.js.map +1 -1
  213. package/dist/server/modules/events/catalog/session.activity.changed.d.ts +21 -0
  214. package/dist/server/modules/events/catalog/session.activity.changed.js +14 -0
  215. package/dist/server/modules/events/catalog/session.activity.changed.js.map +1 -0
  216. package/dist/server/modules/events/catalog/session.cloud-connected.d.ts +12 -0
  217. package/dist/server/modules/events/catalog/session.cloud-connected.js +11 -0
  218. package/dist/server/modules/events/catalog/session.cloud-connected.js.map +1 -0
  219. package/dist/server/modules/events/catalog/session.cloud-disconnected.d.ts +12 -0
  220. package/dist/server/modules/events/catalog/session.cloud-disconnected.js +11 -0
  221. package/dist/server/modules/events/catalog/session.cloud-disconnected.js.map +1 -0
  222. package/dist/server/modules/events/catalog/session.presence.changed.d.ts +18 -0
  223. package/dist/server/modules/events/catalog/session.presence.changed.js +13 -0
  224. package/dist/server/modules/events/catalog/session.presence.changed.js.map +1 -0
  225. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.d.ts +18 -0
  226. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.js +13 -0
  227. package/dist/server/modules/events/catalog/session.provider-session-id.discovered.js.map +1 -0
  228. package/dist/server/modules/events/catalog/session.recommendation.d.ts +30 -0
  229. package/dist/server/modules/events/catalog/session.recommendation.js +17 -0
  230. package/dist/server/modules/events/catalog/session.recommendation.js.map +1 -0
  231. package/dist/server/modules/events/catalog/session.restored.d.ts +3 -0
  232. package/dist/server/modules/events/catalog/session.restored.js +1 -0
  233. package/dist/server/modules/events/catalog/session.restored.js.map +1 -1
  234. package/dist/server/modules/events/catalog/session.transcript.updated.d.ts +21 -0
  235. package/dist/server/modules/events/catalog/session.transcript.updated.js +7 -0
  236. package/dist/server/modules/events/catalog/session.transcript.updated.js.map +1 -1
  237. package/dist/server/modules/events/catalog/team.config.updated.d.ts +9 -0
  238. package/dist/server/modules/events/catalog/team.config.updated.js +3 -0
  239. package/dist/server/modules/events/catalog/team.config.updated.js.map +1 -1
  240. package/dist/server/modules/events/catalog/team.member.added.d.ts +12 -0
  241. package/dist/server/modules/events/catalog/team.member.added.js +4 -0
  242. package/dist/server/modules/events/catalog/team.member.added.js.map +1 -1
  243. package/dist/server/modules/events/catalog/team.member.removed.d.ts +12 -0
  244. package/dist/server/modules/events/catalog/team.member.removed.js +4 -0
  245. package/dist/server/modules/events/catalog/team.member.removed.js.map +1 -1
  246. package/dist/server/modules/events/events-core.module.d.ts +2 -0
  247. package/dist/server/modules/events/{events-domain.module.js → events-core.module.js} +13 -24
  248. package/dist/server/modules/events/events-core.module.js.map +1 -0
  249. package/dist/server/modules/events/events.module.js +3 -4
  250. package/dist/server/modules/events/events.module.js.map +1 -1
  251. package/dist/server/modules/events/index.d.ts +2 -1
  252. package/dist/server/modules/events/index.js +2 -1
  253. package/dist/server/modules/events/index.js.map +1 -1
  254. package/dist/server/modules/events/services/catalog-broadcaster.service.d.ts +9 -0
  255. package/dist/server/modules/events/services/catalog-broadcaster.service.js +56 -0
  256. package/dist/server/modules/events/services/catalog-broadcaster.service.js.map +1 -0
  257. package/dist/server/modules/events/services/events-stream.service.d.ts +3 -3
  258. package/dist/server/modules/events/services/events-stream.service.js +6 -6
  259. package/dist/server/modules/events/services/events-stream.service.js.map +1 -1
  260. package/dist/server/modules/git/git.module.js +2 -1
  261. package/dist/server/modules/git/git.module.js.map +1 -1
  262. package/dist/server/modules/git/services/git.service.d.ts +3 -1
  263. package/dist/server/modules/git/services/git.service.js +17 -19
  264. package/dist/server/modules/git/services/git.service.js.map +1 -1
  265. package/dist/server/modules/guests/guests.module.js +2 -2
  266. package/dist/server/modules/guests/guests.module.js.map +1 -1
  267. package/dist/server/modules/guests/services/guest-health.service.d.ts +3 -3
  268. package/dist/server/modules/guests/services/guest-health.service.js +7 -7
  269. package/dist/server/modules/guests/services/guest-health.service.js.map +1 -1
  270. package/dist/server/modules/guests/services/guests.service.d.ts +3 -3
  271. package/dist/server/modules/guests/services/guests.service.js +7 -7
  272. package/dist/server/modules/guests/services/guests.service.js.map +1 -1
  273. package/dist/server/modules/hooks/hooks.module.js +2 -2
  274. package/dist/server/modules/hooks/hooks.module.js.map +1 -1
  275. package/dist/server/modules/mcp/controllers/mcp-http.controller.js +2 -2
  276. package/dist/server/modules/mcp/controllers/mcp-http.controller.js.map +1 -1
  277. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js +2 -2
  278. package/dist/server/modules/mcp/controllers/mcp-sdk.controller.js.map +1 -1
  279. package/dist/server/modules/mcp/dtos/mcp.dto.d.ts +36 -23
  280. package/dist/server/modules/mcp/dtos/mcp.dto.js +20 -4
  281. package/dist/server/modules/mcp/dtos/mcp.dto.js.map +1 -1
  282. package/dist/server/modules/mcp/mcp-full.module.d.ts +2 -0
  283. package/dist/server/modules/mcp/{mcp.module.js → mcp-full.module.js} +15 -21
  284. package/dist/server/modules/mcp/mcp-full.module.js.map +1 -0
  285. package/dist/server/modules/mcp/services/handlers/activity-context.d.ts +6 -0
  286. package/dist/server/modules/mcp/services/handlers/activity-context.js +3 -0
  287. package/dist/server/modules/mcp/services/handlers/activity-context.js.map +1 -0
  288. package/dist/server/modules/mcp/services/handlers/activity-tools.d.ts +3 -3
  289. package/dist/server/modules/mcp/services/handlers/activity-tools.js +87 -101
  290. package/dist/server/modules/mcp/services/handlers/activity-tools.js.map +1 -1
  291. package/dist/server/modules/mcp/services/handlers/agent-context.d.ts +16 -0
  292. package/dist/server/modules/mcp/services/handlers/agent-context.js +3 -0
  293. package/dist/server/modules/mcp/services/handlers/agent-context.js.map +1 -0
  294. package/dist/server/modules/mcp/services/handlers/agent-tools.d.ts +5 -0
  295. package/dist/server/modules/mcp/services/handlers/agent-tools.js +194 -0
  296. package/dist/server/modules/mcp/services/handlers/agent-tools.js.map +1 -0
  297. package/dist/server/modules/mcp/services/handlers/chat-context.d.ts +17 -0
  298. package/dist/server/modules/mcp/services/handlers/chat-context.js +3 -0
  299. package/dist/server/modules/mcp/services/handlers/chat-context.js.map +1 -0
  300. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.d.ts +13 -0
  301. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.js +40 -0
  302. package/dist/server/modules/mcp/services/handlers/chat-tools/recipient-resolution.js.map +1 -0
  303. package/dist/server/modules/mcp/services/handlers/chat-tools.d.ts +5 -5
  304. package/dist/server/modules/mcp/services/handlers/chat-tools.js +149 -306
  305. package/dist/server/modules/mcp/services/handlers/chat-tools.js.map +1 -1
  306. package/dist/server/modules/mcp/services/handlers/document-context.d.ts +8 -0
  307. package/dist/server/modules/mcp/services/handlers/document-context.js +3 -0
  308. package/dist/server/modules/mcp/services/handlers/document-context.js.map +1 -0
  309. package/dist/server/modules/mcp/services/handlers/document-tools.d.ts +5 -5
  310. package/dist/server/modules/mcp/services/handlers/document-tools.js +20 -54
  311. package/dist/server/modules/mcp/services/handlers/document-tools.js.map +1 -1
  312. package/dist/server/modules/mcp/services/handlers/epic-context.d.ts +9 -0
  313. package/dist/server/modules/mcp/services/handlers/epic-context.js +3 -0
  314. package/dist/server/modules/mcp/services/handlers/epic-context.js.map +1 -0
  315. package/dist/server/modules/mcp/services/handlers/epic-tools.d.ts +8 -10
  316. package/dist/server/modules/mcp/services/handlers/epic-tools.js +186 -397
  317. package/dist/server/modules/mcp/services/handlers/epic-tools.js.map +1 -1
  318. package/dist/server/modules/mcp/services/handlers/null-adapter.d.ts +1 -0
  319. package/dist/server/modules/mcp/services/handlers/null-adapter.js +20 -0
  320. package/dist/server/modules/mcp/services/handlers/null-adapter.js.map +1 -0
  321. package/dist/server/modules/mcp/services/handlers/prompt-context.d.ts +9 -0
  322. package/dist/server/modules/mcp/services/handlers/prompt-context.js +3 -0
  323. package/dist/server/modules/mcp/services/handlers/prompt-context.js.map +1 -0
  324. package/dist/server/modules/mcp/services/handlers/prompt-tools.d.ts +3 -3
  325. package/dist/server/modules/mcp/services/handlers/prompt-tools.js +22 -51
  326. package/dist/server/modules/mcp/services/handlers/prompt-tools.js.map +1 -1
  327. package/dist/server/modules/mcp/services/handlers/record-context.d.ts +5 -0
  328. package/dist/server/modules/mcp/services/handlers/record-context.js +3 -0
  329. package/dist/server/modules/mcp/services/handlers/record-context.js.map +1 -0
  330. package/dist/server/modules/mcp/services/handlers/record-tools.d.ts +7 -7
  331. package/dist/server/modules/mcp/services/handlers/record-tools.js +6 -7
  332. package/dist/server/modules/mcp/services/handlers/record-tools.js.map +1 -1
  333. package/dist/server/modules/mcp/services/handlers/review-context.d.ts +11 -0
  334. package/dist/server/modules/mcp/services/handlers/review-context.js +3 -0
  335. package/dist/server/modules/mcp/services/handlers/review-context.js.map +1 -0
  336. package/dist/server/modules/mcp/services/handlers/review-tools.d.ts +7 -7
  337. package/dist/server/modules/mcp/services/handlers/review-tools.js +164 -362
  338. package/dist/server/modules/mcp/services/handlers/review-tools.js.map +1 -1
  339. package/dist/server/modules/mcp/services/handlers/session-context.d.ts +9 -0
  340. package/dist/server/modules/mcp/services/handlers/session-context.js +3 -0
  341. package/dist/server/modules/mcp/services/handlers/session-context.js.map +1 -0
  342. package/dist/server/modules/mcp/services/handlers/session-tools.d.ts +3 -3
  343. package/dist/server/modules/mcp/services/handlers/session-tools.js +21 -23
  344. package/dist/server/modules/mcp/services/handlers/session-tools.js.map +1 -1
  345. package/dist/server/modules/mcp/services/handlers/skill-context.d.ts +6 -0
  346. package/dist/server/modules/mcp/services/handlers/skill-context.js +3 -0
  347. package/dist/server/modules/mcp/services/handlers/skill-context.js.map +1 -0
  348. package/dist/server/modules/mcp/services/handlers/skill-tools.d.ts +3 -3
  349. package/dist/server/modules/mcp/services/handlers/skill-tools.js +55 -75
  350. package/dist/server/modules/mcp/services/handlers/skill-tools.js.map +1 -1
  351. package/dist/server/modules/mcp/services/handlers/teams-context.d.ts +9 -0
  352. package/dist/server/modules/mcp/services/handlers/teams-context.js +3 -0
  353. package/dist/server/modules/mcp/services/handlers/teams-context.js.map +1 -0
  354. package/dist/server/modules/mcp/services/handlers/teams-tools.d.ts +7 -7
  355. package/dist/server/modules/mcp/services/handlers/teams-tools.js +260 -267
  356. package/dist/server/modules/mcp/services/handlers/teams-tools.js.map +1 -1
  357. package/dist/server/modules/mcp/services/handlers/types.d.ts +2 -35
  358. package/dist/server/modules/mcp/services/instructions-resolver.d.ts +2 -2
  359. package/dist/server/modules/mcp/services/instructions-resolver.js.map +1 -1
  360. package/dist/server/modules/mcp/services/mcp.service.d.ts +21 -8
  361. package/dist/server/modules/mcp/services/mcp.service.js +208 -109
  362. package/dist/server/modules/mcp/services/mcp.service.js.map +1 -1
  363. package/dist/server/modules/mcp/services/utils/agent-name-resolver.d.ts +2 -0
  364. package/dist/server/modules/mcp/services/utils/agent-name-resolver.js +27 -0
  365. package/dist/server/modules/mcp/services/utils/agent-name-resolver.js.map +1 -0
  366. package/dist/server/modules/mcp/services/utils/redact.d.ts +2 -0
  367. package/dist/server/modules/mcp/services/utils/redact.js +19 -0
  368. package/dist/server/modules/mcp/services/utils/redact.js.map +1 -0
  369. package/dist/server/modules/mcp/services/utils/require-project.d.ts +5 -0
  370. package/dist/server/modules/mcp/services/utils/require-project.js +20 -0
  371. package/dist/server/modules/mcp/services/utils/require-project.js.map +1 -0
  372. package/dist/server/modules/mcp/services/utils/resolve-epic-id.d.ts +2 -2
  373. package/dist/server/modules/mcp/services/utils/resolve-epic-id.js.map +1 -1
  374. package/dist/server/modules/mcp/services/utils/resource-resolver.d.ts +2 -2
  375. package/dist/server/modules/mcp/services/utils/resource-resolver.js.map +1 -1
  376. package/dist/server/modules/mcp/services/utils/session-context-helpers.d.ts +12 -0
  377. package/dist/server/modules/mcp/services/utils/session-context-helpers.js +34 -0
  378. package/dist/server/modules/mcp/services/utils/session-context-helpers.js.map +1 -0
  379. package/dist/server/modules/mcp/services/utils/session-context-resolver.d.ts +4 -4
  380. package/dist/server/modules/mcp/services/utils/session-context-resolver.js +9 -13
  381. package/dist/server/modules/mcp/services/utils/session-context-resolver.js.map +1 -1
  382. package/dist/server/modules/mcp/standalone-mcp.module.d.ts +2 -0
  383. package/dist/server/modules/mcp/standalone-mcp.module.js +36 -0
  384. package/dist/server/modules/mcp/standalone-mcp.module.js.map +1 -0
  385. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.d.ts +2 -0
  386. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js +9 -0
  387. package/dist/server/modules/mcp/tool-descriptors/activity.bindings.js.map +1 -0
  388. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.d.ts +2 -0
  389. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js +49 -0
  390. package/dist/server/modules/mcp/tool-descriptors/activity.metadata.js.map +1 -0
  391. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.d.ts +2 -0
  392. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js +10 -0
  393. package/dist/server/modules/mcp/tool-descriptors/agent.bindings.js.map +1 -0
  394. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.d.ts +2 -0
  395. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js +65 -0
  396. package/dist/server/modules/mcp/tool-descriptors/agent.metadata.js.map +1 -0
  397. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.d.ts +2 -0
  398. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js +11 -0
  399. package/dist/server/modules/mcp/tool-descriptors/chat.bindings.js.map +1 -0
  400. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.d.ts +2 -0
  401. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js +89 -0
  402. package/dist/server/modules/mcp/tool-descriptors/chat.metadata.js.map +1 -0
  403. package/dist/server/modules/mcp/tool-descriptors/document.bindings.d.ts +2 -0
  404. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js +11 -0
  405. package/dist/server/modules/mcp/tool-descriptors/document.bindings.js.map +1 -0
  406. package/dist/server/modules/mcp/tool-descriptors/document.metadata.d.ts +2 -0
  407. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js +96 -0
  408. package/dist/server/modules/mcp/tool-descriptors/document.metadata.js.map +1 -0
  409. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.d.ts +2 -0
  410. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js +17 -0
  411. package/dist/server/modules/mcp/tool-descriptors/epic.bindings.js.map +1 -0
  412. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.d.ts +2 -0
  413. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js +229 -0
  414. package/dist/server/modules/mcp/tool-descriptors/epic.metadata.js.map +1 -0
  415. package/dist/server/modules/mcp/tool-descriptors/index.d.ts +4 -0
  416. package/dist/server/modules/mcp/tool-descriptors/index.js +52 -0
  417. package/dist/server/modules/mcp/tool-descriptors/index.js.map +1 -0
  418. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.d.ts +2 -0
  419. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js +9 -0
  420. package/dist/server/modules/mcp/tool-descriptors/prompt.bindings.js.map +1 -0
  421. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.d.ts +2 -0
  422. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.js +43 -0
  423. package/dist/server/modules/mcp/tool-descriptors/prompt.metadata.js.map +1 -0
  424. package/dist/server/modules/mcp/tool-descriptors/record.bindings.d.ts +2 -0
  425. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js +13 -0
  426. package/dist/server/modules/mcp/tool-descriptors/record.bindings.js.map +1 -0
  427. package/dist/server/modules/mcp/tool-descriptors/record.metadata.d.ts +2 -0
  428. package/dist/server/modules/mcp/tool-descriptors/record.metadata.js +106 -0
  429. package/dist/server/modules/mcp/tool-descriptors/record.metadata.js.map +1 -0
  430. package/dist/server/modules/mcp/tool-descriptors/review.bindings.d.ts +2 -0
  431. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js +13 -0
  432. package/dist/server/modules/mcp/tool-descriptors/review.bindings.js.map +1 -0
  433. package/dist/server/modules/mcp/tool-descriptors/review.metadata.d.ts +2 -0
  434. package/dist/server/modules/mcp/tool-descriptors/review.metadata.js +158 -0
  435. package/dist/server/modules/mcp/tool-descriptors/review.metadata.js.map +1 -0
  436. package/dist/server/modules/mcp/tool-descriptors/session.bindings.d.ts +2 -0
  437. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js +9 -0
  438. package/dist/server/modules/mcp/tool-descriptors/session.bindings.js.map +1 -0
  439. package/dist/server/modules/mcp/tool-descriptors/session.metadata.d.ts +4 -0
  440. package/dist/server/modules/mcp/tool-descriptors/session.metadata.js +43 -0
  441. package/dist/server/modules/mcp/tool-descriptors/session.metadata.js.map +1 -0
  442. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.d.ts +2 -0
  443. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js +9 -0
  444. package/dist/server/modules/mcp/tool-descriptors/skill.bindings.js.map +1 -0
  445. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.d.ts +2 -0
  446. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js +47 -0
  447. package/dist/server/modules/mcp/tool-descriptors/skill.metadata.js.map +1 -0
  448. package/dist/server/modules/mcp/tool-descriptors/team.bindings.d.ts +2 -0
  449. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js +13 -0
  450. package/dist/server/modules/mcp/tool-descriptors/team.bindings.js.map +1 -0
  451. package/dist/server/modules/mcp/tool-descriptors/team.metadata.d.ts +2 -0
  452. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js +142 -0
  453. package/dist/server/modules/mcp/tool-descriptors/team.metadata.js.map +1 -0
  454. package/dist/server/modules/mcp/tool-descriptors/types.d.ts +9 -0
  455. package/dist/server/modules/mcp/tool-descriptors/types.js +3 -0
  456. package/dist/server/modules/mcp/tool-descriptors/types.js.map +1 -0
  457. package/dist/server/modules/mcp/utils/param-suggestion.js +4 -3
  458. package/dist/server/modules/mcp/utils/param-suggestion.js.map +1 -1
  459. package/dist/server/modules/orchestrator/docker/docker.module.js +2 -0
  460. package/dist/server/modules/orchestrator/docker/docker.module.js.map +1 -1
  461. package/dist/server/modules/orchestrator/docker/services/docker.service.d.ts +4 -1
  462. package/dist/server/modules/orchestrator/docker/services/docker.service.js +20 -14
  463. package/dist/server/modules/orchestrator/docker/services/docker.service.js.map +1 -1
  464. package/dist/server/modules/orchestrator/git/git.module.js +2 -1
  465. package/dist/server/modules/orchestrator/git/git.module.js.map +1 -1
  466. package/dist/server/modules/orchestrator/git/services/git-worktree.service.d.ts +4 -2
  467. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js +19 -26
  468. package/dist/server/modules/orchestrator/git/services/git-worktree.service.js.map +1 -1
  469. package/dist/server/modules/orchestrator/proxy/services/orchestrator-proxy.service.js.map +1 -1
  470. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.d.ts +3 -2
  471. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js +31 -53
  472. package/dist/server/modules/orchestrator/worktrees/services/worktrees.service.js.map +1 -1
  473. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js +4 -4
  474. package/dist/server/modules/orchestrator/worktrees/worktrees.module.js.map +1 -1
  475. package/dist/server/modules/profiles/controllers/provider-configs.controller.d.ts +3 -1
  476. package/dist/server/modules/profiles/controllers/provider-configs.controller.js +5 -3
  477. package/dist/server/modules/profiles/controllers/provider-configs.controller.js.map +1 -1
  478. package/dist/server/modules/profiles/profiles.module.js +4 -1
  479. package/dist/server/modules/profiles/profiles.module.js.map +1 -1
  480. package/dist/server/modules/profiles/services/provider-configs.service.d.ts +13 -0
  481. package/dist/server/modules/profiles/services/provider-configs.service.js +88 -0
  482. package/dist/server/modules/profiles/services/provider-configs.service.js.map +1 -0
  483. package/dist/server/modules/projects/controllers/projects.controller.d.ts +20 -1
  484. package/dist/server/modules/projects/controllers/projects.controller.js +132 -2
  485. package/dist/server/modules/projects/controllers/projects.controller.js.map +1 -1
  486. package/dist/server/modules/projects/dtos/export.dto.d.ts +6 -6
  487. package/dist/server/modules/projects/dtos/template-upgrade.dto.d.ts +20 -0
  488. package/dist/server/modules/projects/dtos/template-upgrade.dto.js +90 -0
  489. package/dist/server/modules/projects/dtos/template-upgrade.dto.js.map +1 -0
  490. package/dist/server/modules/projects/projects.module.js +21 -2
  491. package/dist/server/modules/projects/projects.module.js.map +1 -1
  492. package/dist/server/modules/projects/services/project-provider-provisioning.service.d.ts +1 -1
  493. package/dist/server/modules/projects/services/project-provider-provisioning.service.js +1 -1
  494. package/dist/server/modules/projects/services/project-provider-provisioning.service.js.map +1 -1
  495. package/dist/server/modules/projects/services/project-registry-import.service.d.ts +38 -0
  496. package/dist/server/modules/projects/services/project-registry-import.service.js +140 -0
  497. package/dist/server/modules/projects/services/project-registry-import.service.js.map +1 -0
  498. package/dist/server/modules/{registry/services/template-upgrade.service.d.ts → projects/services/project-template-upgrade.service.d.ts} +6 -8
  499. package/dist/server/modules/{registry/services/template-upgrade.service.js → projects/services/project-template-upgrade.service.js} +14 -21
  500. package/dist/server/modules/projects/services/project-template-upgrade.service.js.map +1 -0
  501. package/dist/server/modules/projects/services/projects.service.d.ts +3 -1
  502. package/dist/server/modules/projects/services/projects.service.js +7 -4
  503. package/dist/server/modules/projects/services/projects.service.js.map +1 -1
  504. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.d.ts +20 -0
  505. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.js +3 -0
  506. package/dist/server/modules/providers/adapters/capabilities/context-window.capability.js.map +1 -0
  507. package/dist/server/modules/providers/adapters/capabilities/hook.capability.d.ts +13 -0
  508. package/dist/server/modules/providers/adapters/capabilities/hook.capability.js +3 -0
  509. package/dist/server/modules/providers/adapters/capabilities/hook.capability.js.map +1 -0
  510. package/dist/server/modules/providers/adapters/capabilities/index.d.ts +2 -0
  511. package/dist/server/modules/providers/adapters/capabilities/index.js +12 -0
  512. package/dist/server/modules/providers/adapters/capabilities/index.js.map +1 -0
  513. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.d.ts +3 -0
  514. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.js +3 -0
  515. package/dist/server/modules/providers/adapters/capabilities/project-mcp-settings.capability.js.map +1 -0
  516. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.d.ts +14 -0
  517. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.js +3 -0
  518. package/dist/server/modules/providers/adapters/capabilities/project-provisioning.capability.js.map +1 -0
  519. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.d.ts +6 -0
  520. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.js +3 -0
  521. package/dist/server/modules/providers/adapters/capabilities/transcript-discovery.capability.js.map +1 -0
  522. package/dist/server/modules/providers/adapters/capabilities/type-guards.d.ts +35 -0
  523. package/dist/server/modules/providers/adapters/capabilities/type-guards.js +33 -0
  524. package/dist/server/modules/providers/adapters/capabilities/type-guards.js.map +1 -0
  525. package/dist/server/modules/providers/adapters/claude.adapter.d.ts +23 -2
  526. package/dist/server/modules/providers/adapters/claude.adapter.js +134 -0
  527. package/dist/server/modules/providers/adapters/claude.adapter.js.map +1 -1
  528. package/dist/server/modules/providers/adapters/codex.adapter.d.ts +7 -2
  529. package/dist/server/modules/providers/adapters/codex.adapter.js +4 -0
  530. package/dist/server/modules/providers/adapters/codex.adapter.js.map +1 -1
  531. package/dist/server/modules/providers/adapters/gemini.adapter.d.ts +14 -2
  532. package/dist/server/modules/providers/adapters/gemini.adapter.js +48 -2
  533. package/dist/server/modules/providers/adapters/gemini.adapter.js.map +1 -1
  534. package/dist/server/modules/providers/adapters/index.d.ts +1 -0
  535. package/dist/server/modules/providers/adapters/index.js +1 -0
  536. package/dist/server/modules/providers/adapters/index.js.map +1 -1
  537. package/dist/server/modules/providers/adapters/opencode.adapter.d.ts +1 -1
  538. package/dist/server/modules/providers/adapters/opencode.adapter.js.map +1 -1
  539. package/dist/server/modules/providers/adapters/provider-adapter.factory.d.ts +4 -1
  540. package/dist/server/modules/providers/adapters/provider-adapter.factory.js +28 -2
  541. package/dist/server/modules/providers/adapters/provider-adapter.factory.js.map +1 -1
  542. package/dist/server/modules/providers/adapters/provider-adapter.interface.d.ts +8 -8
  543. package/dist/server/modules/providers/adapters/provider-adapters.module.js +3 -0
  544. package/dist/server/modules/providers/adapters/provider-adapters.module.js.map +1 -1
  545. package/dist/server/modules/providers/controllers/provider-models.controller.d.ts +4 -3
  546. package/dist/server/modules/providers/controllers/provider-models.controller.js +29 -36
  547. package/dist/server/modules/providers/controllers/provider-models.controller.js.map +1 -1
  548. package/dist/server/modules/providers/controllers/providers.controller.d.ts +7 -13
  549. package/dist/server/modules/providers/controllers/providers.controller.js +19 -239
  550. package/dist/server/modules/providers/controllers/providers.controller.js.map +1 -1
  551. package/dist/server/modules/providers/providers.module.js +24 -6
  552. package/dist/server/modules/providers/providers.module.js.map +1 -1
  553. package/dist/server/modules/providers/services/mcp-provider-registration.service.d.ts +23 -0
  554. package/dist/server/modules/providers/services/mcp-provider-registration.service.js +111 -0
  555. package/dist/server/modules/providers/services/mcp-provider-registration.service.js.map +1 -0
  556. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.d.ts +26 -0
  557. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js +274 -0
  558. package/dist/server/modules/providers/services/mcp-registration/cli-mcp-registration.adapter.js.map +1 -0
  559. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.d.ts +14 -0
  560. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.js +328 -0
  561. package/dist/server/modules/providers/services/mcp-registration/config-file-mcp-registration.adapter.js.map +1 -0
  562. package/dist/server/modules/providers/services/mcp-registration/index.d.ts +5 -0
  563. package/dist/server/modules/providers/services/mcp-registration/index.js +10 -0
  564. package/dist/server/modules/providers/services/mcp-registration/index.js.map +1 -0
  565. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.d.ts +20 -0
  566. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js +47 -0
  567. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.port.js.map +1 -0
  568. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.d.ts +43 -0
  569. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.js +3 -0
  570. package/dist/server/modules/providers/services/mcp-registration/mcp-registration.types.js.map +1 -0
  571. package/dist/server/modules/providers/services/probe-proof.service.d.ts +3 -1
  572. package/dist/server/modules/providers/services/probe-proof.service.js +23 -9
  573. package/dist/server/modules/providers/services/probe-proof.service.js.map +1 -1
  574. package/dist/server/modules/{core → providers}/services/provider-mcp-ensure.service.d.ts +3 -8
  575. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js +175 -0
  576. package/dist/server/modules/providers/services/provider-mcp-ensure.service.js.map +1 -0
  577. package/dist/server/modules/providers/services/provider-state-manager.service.d.ts +53 -0
  578. package/dist/server/modules/providers/services/provider-state-manager.service.js +249 -0
  579. package/dist/server/modules/providers/services/provider-state-manager.service.js.map +1 -0
  580. package/dist/server/modules/providers/utils/probe-1m.d.ts +2 -1
  581. package/dist/server/modules/providers/utils/probe-1m.js +13 -19
  582. package/dist/server/modules/providers/utils/probe-1m.js.map +1 -1
  583. package/dist/server/modules/realtime/dtos/ws-envelope.dto.d.ts +19 -0
  584. package/dist/server/modules/realtime/dtos/ws-envelope.dto.js +20 -0
  585. package/dist/server/modules/realtime/dtos/ws-envelope.dto.js.map +1 -0
  586. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.d.ts +4 -0
  587. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.js +5 -0
  588. package/dist/server/modules/realtime/ports/realtime-broadcaster.port.js.map +1 -0
  589. package/dist/server/modules/realtime/realtime-broadcast.module.d.ts +2 -0
  590. package/dist/server/modules/realtime/realtime-broadcast.module.js +25 -0
  591. package/dist/server/modules/realtime/realtime-broadcast.module.js.map +1 -0
  592. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.d.ts +4 -0
  593. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.js +19 -0
  594. package/dist/server/modules/realtime/services/noop-realtime-broadcast.adapter.js.map +1 -0
  595. package/dist/server/modules/realtime/services/realtime-broadcast.service.d.ts +7 -0
  596. package/dist/server/modules/realtime/services/realtime-broadcast.service.js +33 -0
  597. package/dist/server/modules/realtime/services/realtime-broadcast.service.js.map +1 -0
  598. package/dist/server/modules/registry/controllers/registry.controller.d.ts +1 -30
  599. package/dist/server/modules/registry/controllers/registry.controller.js +2 -105
  600. package/dist/server/modules/registry/controllers/registry.controller.js.map +1 -1
  601. package/dist/server/modules/registry/index.d.ts +0 -1
  602. package/dist/server/modules/registry/index.js +0 -1
  603. package/dist/server/modules/registry/index.js.map +1 -1
  604. package/dist/server/modules/registry/registry.module.js +1 -5
  605. package/dist/server/modules/registry/registry.module.js.map +1 -1
  606. package/dist/server/modules/registry/services/registry-orchestration.service.d.ts +1 -29
  607. package/dist/server/modules/registry/services/registry-orchestration.service.js +2 -94
  608. package/dist/server/modules/registry/services/registry-orchestration.service.js.map +1 -1
  609. package/dist/server/modules/reviews/reviews.module.js +8 -4
  610. package/dist/server/modules/reviews/reviews.module.js.map +1 -1
  611. package/dist/server/modules/reviews/services/review-suggestion-applier.service.d.ts +29 -0
  612. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js +116 -0
  613. package/dist/server/modules/reviews/services/review-suggestion-applier.service.js.map +1 -0
  614. package/dist/server/modules/reviews/services/reviews.service.js +11 -0
  615. package/dist/server/modules/reviews/services/reviews.service.js.map +1 -1
  616. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.d.ts +16 -0
  617. package/dist/server/modules/{events → reviews}/subscribers/review-comment-notifier.subscriber.js +26 -75
  618. package/dist/server/modules/reviews/subscribers/review-comment-notifier.subscriber.js.map +1 -0
  619. package/dist/server/modules/seeders/seeders/0001_seed_compact_on_idle_watcher.d.ts +1 -1
  620. package/dist/server/modules/seeders/seeders/0002_seed_replace_permission_mode_plan.d.ts +1 -1
  621. package/dist/server/modules/seeders/seeders/0003_seed_preseed_jeffallan_claude_skills.d.ts +1 -1
  622. package/dist/server/modules/seeders/seeders/0004_seed_disable_microsoft_source_default.d.ts +1 -1
  623. package/dist/server/modules/seeders/seeders/0005_seed_renew_instructions_subscriber.d.ts +1 -1
  624. package/dist/server/modules/seeders/seeders/0006_seed_rename_template_slugs.d.ts +1 -1
  625. package/dist/server/modules/seeders/seeders/0007_seed_claude_no_flicker_env.d.ts +1 -1
  626. package/dist/server/modules/seeders/services/data-seeder.service.d.ts +2 -12
  627. package/dist/server/modules/seeders/services/data-seeder.service.js.map +1 -1
  628. package/dist/server/modules/seeders/types/seeder.types.d.ts +15 -0
  629. package/dist/server/modules/seeders/types/seeder.types.js +3 -0
  630. package/dist/server/modules/seeders/types/seeder.types.js.map +1 -0
  631. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.d.ts +8 -0
  632. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js +63 -3
  633. package/dist/server/modules/session-reader/adapters/codex-session-reader.adapter.js.map +1 -1
  634. package/dist/server/modules/session-reader/controllers/session-reader.controller.d.ts +19 -410
  635. package/dist/server/modules/session-reader/controllers/session-reader.controller.js +159 -69
  636. package/dist/server/modules/session-reader/controllers/session-reader.controller.js.map +1 -1
  637. package/dist/server/modules/session-reader/data/pricing.json +19 -0
  638. package/dist/server/modules/session-reader/dtos/unified-chunk.types.d.ts +1 -2
  639. package/dist/server/modules/session-reader/dtos/unified-chunk.types.js.map +1 -1
  640. package/dist/server/modules/session-reader/dtos/unified-message.types.d.ts +66 -0
  641. package/dist/server/modules/session-reader/dtos/unified-message.types.js +3 -0
  642. package/dist/server/modules/session-reader/dtos/unified-message.types.js.map +1 -0
  643. package/dist/server/modules/session-reader/dtos/unified-session.types.d.ts +2 -66
  644. package/dist/server/modules/session-reader/dtos/unified-session.types.js.map +1 -1
  645. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.d.ts +25 -0
  646. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.js +175 -0
  647. package/dist/server/modules/session-reader/services/codex-provider-session-id-backfill.service.js.map +1 -0
  648. package/dist/server/modules/session-reader/services/session-cache.service.d.ts +9 -0
  649. package/dist/server/modules/session-reader/services/session-cache.service.js +15 -0
  650. package/dist/server/modules/session-reader/services/session-cache.service.js.map +1 -1
  651. package/dist/server/modules/session-reader/services/session-reader.service.d.ts +50 -4
  652. package/dist/server/modules/session-reader/services/session-reader.service.js +173 -116
  653. package/dist/server/modules/session-reader/services/session-reader.service.js.map +1 -1
  654. package/dist/server/modules/session-reader/services/transcript-cursor.d.ts +6 -0
  655. package/dist/server/modules/session-reader/services/transcript-cursor.js +27 -0
  656. package/dist/server/modules/session-reader/services/transcript-cursor.js.map +1 -0
  657. package/dist/server/modules/session-reader/services/transcript-persistence.listener.d.ts +45 -2
  658. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js +472 -54
  659. package/dist/server/modules/session-reader/services/transcript-persistence.listener.js.map +1 -1
  660. package/dist/server/modules/session-reader/services/transcript-serialization.d.ts +4 -0
  661. package/dist/server/modules/session-reader/services/transcript-serialization.js +31 -0
  662. package/dist/server/modules/session-reader/services/transcript-serialization.js.map +1 -0
  663. package/dist/server/modules/session-reader/services/transcript-truncation.d.ts +6 -0
  664. package/dist/server/modules/session-reader/services/transcript-truncation.js +175 -0
  665. package/dist/server/modules/session-reader/services/transcript-truncation.js.map +1 -0
  666. package/dist/server/modules/session-reader/services/transcript-watcher.service.js +52 -2
  667. package/dist/server/modules/session-reader/services/transcript-watcher.service.js.map +1 -1
  668. package/dist/server/modules/session-reader/session-reader.module.js +6 -2
  669. package/dist/server/modules/session-reader/session-reader.module.js.map +1 -1
  670. package/dist/server/modules/sessions/controllers/sessions.controller.d.ts +9 -1
  671. package/dist/server/modules/sessions/controllers/sessions.controller.js +74 -4
  672. package/dist/server/modules/sessions/controllers/sessions.controller.js.map +1 -1
  673. package/dist/server/modules/sessions/dtos/active-session-info.dto.d.ts +21 -0
  674. package/dist/server/modules/sessions/dtos/active-session-info.dto.js +12 -0
  675. package/dist/server/modules/sessions/dtos/active-session-info.dto.js.map +1 -0
  676. package/dist/server/modules/sessions/dtos/sessions.dto.d.ts +2 -0
  677. package/dist/server/modules/sessions/dtos/sessions.dto.js.map +1 -1
  678. package/dist/server/modules/sessions/services/active-session-lookup.service.d.ts +9 -0
  679. package/dist/server/modules/sessions/services/active-session-lookup.service.js +70 -0
  680. package/dist/server/modules/sessions/services/active-session-lookup.service.js.map +1 -0
  681. package/dist/server/modules/sessions/services/agent-presence-aggregator.d.ts +13 -0
  682. package/dist/server/modules/sessions/services/agent-presence-aggregator.js +36 -0
  683. package/dist/server/modules/sessions/services/agent-presence-aggregator.js.map +1 -0
  684. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.d.ts +9 -0
  685. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js +64 -0
  686. package/dist/server/modules/sessions/services/delivery-failure-notifier.service.js.map +1 -0
  687. package/dist/server/modules/sessions/services/message-activity-stream.service.d.ts +4 -4
  688. package/dist/server/modules/sessions/services/message-activity-stream.service.js +6 -6
  689. package/dist/server/modules/sessions/services/message-activity-stream.service.js.map +1 -1
  690. package/dist/server/modules/sessions/services/message-enqueue.service.d.ts +30 -0
  691. package/dist/server/modules/sessions/services/message-enqueue.service.js +55 -0
  692. package/dist/server/modules/sessions/services/message-enqueue.service.js.map +1 -0
  693. package/dist/server/modules/sessions/services/message-log.service.d.ts +24 -0
  694. package/dist/server/modules/sessions/services/message-log.service.js +110 -0
  695. package/dist/server/modules/sessions/services/message-log.service.js.map +1 -0
  696. package/dist/server/modules/sessions/services/message-pool.types.d.ts +69 -0
  697. package/dist/server/modules/sessions/services/message-pool.types.js +5 -0
  698. package/dist/server/modules/sessions/services/message-pool.types.js.map +1 -0
  699. package/dist/server/modules/sessions/services/provider-launch-config/index.d.ts +2 -0
  700. package/dist/server/modules/sessions/services/provider-launch-config/index.js +9 -0
  701. package/dist/server/modules/sessions/services/provider-launch-config/index.js.map +1 -0
  702. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.d.ts +24 -0
  703. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js +45 -0
  704. package/dist/server/modules/sessions/services/provider-launch-config/provider-launch-config.service.js.map +1 -0
  705. package/dist/server/modules/sessions/services/session-launcher-facade.service.d.ts +13 -0
  706. package/dist/server/modules/sessions/services/session-launcher-facade.service.js +73 -0
  707. package/dist/server/modules/sessions/services/session-launcher-facade.service.js.map +1 -0
  708. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.d.ts +262 -0
  709. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js +329 -0
  710. package/dist/server/modules/sessions/services/session-runtime/__test-utils__/pipeline-harness.js.map +1 -0
  711. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.d.ts +11 -0
  712. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.js +27 -0
  713. package/dist/server/modules/sessions/services/session-runtime/cleanup-stack.js.map +1 -0
  714. package/dist/server/modules/sessions/services/session-runtime/index.d.ts +4 -0
  715. package/dist/server/modules/sessions/services/session-runtime/index.js +12 -0
  716. package/dist/server/modules/sessions/services/session-runtime/index.js.map +1 -0
  717. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.d.ts +38 -0
  718. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js +404 -0
  719. package/dist/server/modules/sessions/services/session-runtime/session-launch-pipeline.service.js.map +1 -0
  720. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.d.ts +26 -0
  721. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js +265 -0
  722. package/dist/server/modules/sessions/services/session-runtime/session-restore-pipeline.service.js.map +1 -0
  723. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.d.ts +10 -0
  724. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js +34 -0
  725. package/dist/server/modules/sessions/services/session-runtime/session-runtime.service.js.map +1 -0
  726. package/dist/server/modules/sessions/services/sessions-message-pool.service.d.ts +13 -84
  727. package/dist/server/modules/sessions/services/sessions-message-pool.service.js +66 -184
  728. package/dist/server/modules/sessions/services/sessions-message-pool.service.js.map +1 -1
  729. package/dist/server/modules/sessions/services/sessions.service.d.ts +25 -52
  730. package/dist/server/modules/sessions/services/sessions.service.js +139 -840
  731. package/dist/server/modules/sessions/services/sessions.service.js.map +1 -1
  732. package/dist/server/modules/sessions/sessions-delivery.module.d.ts +2 -0
  733. package/dist/server/modules/sessions/sessions-delivery.module.js +26 -0
  734. package/dist/server/modules/sessions/sessions-delivery.module.js.map +1 -0
  735. package/dist/server/modules/sessions/sessions-read.module.d.ts +2 -0
  736. package/dist/server/modules/sessions/sessions-read.module.js +23 -0
  737. package/dist/server/modules/sessions/sessions-read.module.js.map +1 -0
  738. package/dist/server/modules/sessions/sessions.module.js +22 -5
  739. package/dist/server/modules/sessions/sessions.module.js.map +1 -1
  740. package/dist/server/modules/sessions/utils/claude-config.d.ts +1 -1
  741. package/dist/server/modules/sessions/utils/claude-config.js +2 -2
  742. package/dist/server/modules/sessions/utils/env-builder.d.ts +1 -1
  743. package/dist/server/modules/sessions/utils/env-builder.js +8 -3
  744. package/dist/server/modules/sessions/utils/env-builder.js.map +1 -1
  745. package/dist/server/modules/sessions/utils/tmux-naming.util.d.ts +1 -0
  746. package/dist/server/modules/sessions/utils/tmux-naming.util.js +10 -0
  747. package/dist/server/modules/sessions/utils/tmux-naming.util.js.map +1 -0
  748. package/dist/server/modules/settings/dtos/settings.dto.d.ts +14 -0
  749. package/dist/server/modules/settings/dtos/settings.dto.js +3 -3
  750. package/dist/server/modules/settings/dtos/settings.dto.js.map +1 -1
  751. package/dist/server/modules/settings/local/delegates/core-settings.delegate.d.ts +20 -0
  752. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js +499 -0
  753. package/dist/server/modules/settings/local/delegates/core-settings.delegate.js.map +1 -0
  754. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.d.ts +14 -0
  755. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.js +67 -0
  756. package/dist/server/modules/settings/local/delegates/message-pool-settings.delegate.js.map +1 -0
  757. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.d.ts +36 -0
  758. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js +393 -0
  759. package/dist/server/modules/settings/local/delegates/preset-settings.delegate.js.map +1 -0
  760. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.d.ts +20 -0
  761. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js +82 -0
  762. package/dist/server/modules/settings/local/delegates/registry-settings.delegate.js.map +1 -0
  763. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.d.ts +16 -0
  764. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js +107 -0
  765. package/dist/server/modules/settings/local/delegates/skills-settings.delegate.js.map +1 -0
  766. package/dist/server/modules/settings/services/settings.constants.d.ts +31 -0
  767. package/dist/server/modules/settings/services/settings.constants.js +24 -0
  768. package/dist/server/modules/settings/services/settings.constants.js.map +1 -0
  769. package/dist/server/modules/settings/services/settings.service.d.ts +15 -54
  770. package/dist/server/modules/settings/services/settings.service.js +85 -897
  771. package/dist/server/modules/settings/services/settings.service.js.map +1 -1
  772. package/dist/server/modules/skills/services/skill-search.utils.d.ts +18 -0
  773. package/dist/server/modules/skills/services/skill-search.utils.js +87 -0
  774. package/dist/server/modules/skills/services/skill-search.utils.js.map +1 -0
  775. package/dist/server/modules/skills/services/skills.service.js +25 -27
  776. package/dist/server/modules/skills/services/skills.service.js.map +1 -1
  777. package/dist/server/modules/storage/db/schema.d.ts +81 -0
  778. package/dist/server/modules/storage/db/schema.js +10 -2
  779. package/dist/server/modules/storage/db/schema.js.map +1 -1
  780. package/dist/server/modules/storage/db/transaction-runner.d.ts +8 -0
  781. package/dist/server/modules/storage/db/transaction-runner.js +44 -0
  782. package/dist/server/modules/storage/db/transaction-runner.js.map +1 -0
  783. package/dist/server/modules/storage/interfaces/storage.interface.d.ts +4 -0
  784. package/dist/server/modules/storage/interfaces/storage.interface.js.map +1 -1
  785. package/dist/server/modules/storage/local/delegates/base-storage.delegate.d.ts +2 -0
  786. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js +2 -0
  787. package/dist/server/modules/storage/local/delegates/base-storage.delegate.js.map +1 -1
  788. package/dist/server/modules/storage/local/delegates/epic.delegate.d.ts +2 -1
  789. package/dist/server/modules/storage/local/delegates/epic.delegate.js +36 -1
  790. package/dist/server/modules/storage/local/delegates/epic.delegate.js.map +1 -1
  791. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js +5 -35
  792. package/dist/server/modules/storage/local/delegates/profile-provider-config.delegate.js.map +1 -1
  793. package/dist/server/modules/storage/local/delegates/project.delegate.js +12 -20
  794. package/dist/server/modules/storage/local/delegates/project.delegate.js.map +1 -1
  795. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js +2 -12
  796. package/dist/server/modules/storage/local/delegates/provider-model.delegate.js.map +1 -1
  797. package/dist/server/modules/storage/local/delegates/review.delegate.js +22 -38
  798. package/dist/server/modules/storage/local/delegates/review.delegate.js.map +1 -1
  799. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js +2 -17
  800. package/dist/server/modules/storage/local/delegates/skill-source.delegate.js.map +1 -1
  801. package/dist/server/modules/storage/local/local-storage.service.d.ts +2 -1
  802. package/dist/server/modules/storage/local/local-storage.service.js +3 -0
  803. package/dist/server/modules/storage/local/local-storage.service.js.map +1 -1
  804. package/dist/server/modules/subscribers/actions/action.interface.d.ts +6 -6
  805. package/dist/server/modules/subscribers/actions/restart-agent.action.js +4 -3
  806. package/dist/server/modules/subscribers/actions/restart-agent.action.js.map +1 -1
  807. package/dist/server/modules/subscribers/actions/send-message.action.js +12 -7
  808. package/dist/server/modules/subscribers/actions/send-message.action.js.map +1 -1
  809. package/dist/server/modules/subscribers/events/event-fields-catalog.js +1 -0
  810. package/dist/server/modules/subscribers/events/event-fields-catalog.js.map +1 -1
  811. package/dist/server/modules/subscribers/services/automation-scheduler.service.d.ts +2 -13
  812. package/dist/server/modules/subscribers/services/automation-scheduler.service.js.map +1 -1
  813. package/dist/server/modules/subscribers/services/subscriber-executor.service.d.ts +9 -18
  814. package/dist/server/modules/subscribers/services/subscriber-executor.service.js +29 -24
  815. package/dist/server/modules/subscribers/services/subscriber-executor.service.js.map +1 -1
  816. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.d.ts +23 -0
  817. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.js +3 -0
  818. package/dist/server/modules/subscribers/services/subscriber-scheduler.types.js.map +1 -0
  819. package/dist/server/modules/subscribers/subscribers.module.js +7 -5
  820. package/dist/server/modules/subscribers/subscribers.module.js.map +1 -1
  821. package/dist/server/modules/teams/dtos/recipient-context.dto.d.ts +6 -0
  822. package/dist/server/modules/teams/dtos/recipient-context.dto.js +3 -0
  823. package/dist/server/modules/teams/dtos/recipient-context.dto.js.map +1 -0
  824. package/dist/server/modules/teams/services/teams.service.d.ts +4 -0
  825. package/dist/server/modules/teams/services/teams.service.js +68 -0
  826. package/dist/server/modules/teams/services/teams.service.js.map +1 -1
  827. package/dist/server/modules/teams/storage/teams.store.d.ts +2 -0
  828. package/dist/server/modules/teams/storage/teams.store.js +110 -167
  829. package/dist/server/modules/teams/storage/teams.store.js.map +1 -1
  830. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.d.ts +18 -0
  831. package/dist/server/modules/{events → teams}/subscribers/team-config-updated-notifier.subscriber.js +38 -43
  832. package/dist/server/modules/teams/subscribers/team-config-updated-notifier.subscriber.js.map +1 -0
  833. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.d.ts +18 -0
  834. package/dist/server/modules/{events → teams}/subscribers/team-membership-changed-notifier.subscriber.js +29 -44
  835. package/dist/server/modules/teams/subscribers/team-membership-changed-notifier.subscriber.js.map +1 -0
  836. package/dist/server/modules/teams/teams.module.js +11 -3
  837. package/dist/server/modules/teams/teams.module.js.map +1 -1
  838. package/dist/server/modules/terminal/gateways/terminal.gateway.d.ts +24 -15
  839. package/dist/server/modules/terminal/gateways/terminal.gateway.js +317 -383
  840. package/dist/server/modules/terminal/gateways/terminal.gateway.js.map +1 -1
  841. package/dist/server/modules/terminal/services/guest-delivery.service.d.ts +7 -0
  842. package/dist/server/modules/terminal/services/guest-delivery.service.js +37 -0
  843. package/dist/server/modules/terminal/services/guest-delivery.service.js.map +1 -0
  844. package/dist/server/modules/terminal/services/process-executor/child-process-executor.d.ts +5 -0
  845. package/dist/server/modules/terminal/services/process-executor/child-process-executor.js +195 -0
  846. package/dist/server/modules/terminal/services/process-executor/child-process-executor.js.map +1 -0
  847. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.d.ts +44 -0
  848. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js +106 -0
  849. package/dist/server/modules/terminal/services/process-executor/fake-process-executor.js.map +1 -0
  850. package/dist/server/modules/terminal/services/process-executor/process-executor.module.d.ts +2 -0
  851. package/dist/server/modules/terminal/services/process-executor/process-executor.module.js +31 -0
  852. package/dist/server/modules/terminal/services/process-executor/process-executor.module.js.map +1 -0
  853. package/dist/server/modules/terminal/services/process-executor/process-executor.port.d.ts +33 -0
  854. package/dist/server/modules/terminal/services/process-executor/process-executor.port.js +20 -0
  855. package/dist/server/modules/terminal/services/process-executor/process-executor.port.js.map +1 -0
  856. package/dist/server/modules/terminal/services/process-executor/pty-executor.d.ts +5 -0
  857. package/dist/server/modules/terminal/services/process-executor/pty-executor.js +157 -0
  858. package/dist/server/modules/terminal/services/process-executor/pty-executor.js.map +1 -0
  859. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.d.ts +10 -0
  860. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.js +36 -0
  861. package/dist/server/modules/terminal/services/process-executor/routing-process-executor.js.map +1 -0
  862. package/dist/server/modules/terminal/services/pty.service.d.ts +11 -14
  863. package/dist/server/modules/terminal/services/pty.service.js +43 -72
  864. package/dist/server/modules/terminal/services/pty.service.js.map +1 -1
  865. package/dist/server/modules/terminal/services/terminal-activity.service.d.ts +24 -0
  866. package/dist/server/modules/terminal/services/terminal-activity.service.js +164 -0
  867. package/dist/server/modules/terminal/services/terminal-activity.service.js.map +1 -0
  868. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.d.ts +9 -0
  869. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.js +47 -0
  870. package/dist/server/modules/terminal/services/terminal-delivery-facade.service.js.map +1 -0
  871. package/dist/server/modules/terminal/services/terminal-delivery.types.d.ts +10 -0
  872. package/dist/server/modules/terminal/services/terminal-delivery.types.js +3 -0
  873. package/dist/server/modules/terminal/services/terminal-delivery.types.js.map +1 -0
  874. package/dist/server/modules/terminal/services/terminal-io/capture.d.ts +6 -0
  875. package/dist/server/modules/terminal/services/terminal-io/capture.js +77 -0
  876. package/dist/server/modules/terminal/services/terminal-io/capture.js.map +1 -0
  877. package/dist/server/modules/terminal/services/terminal-io/delivery.d.ts +19 -0
  878. package/dist/server/modules/terminal/services/terminal-io/delivery.js +230 -0
  879. package/dist/server/modules/terminal/services/terminal-io/delivery.js.map +1 -0
  880. package/dist/server/modules/terminal/services/terminal-io/lifecycle.d.ts +7 -0
  881. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js +87 -0
  882. package/dist/server/modules/terminal/services/terminal-io/lifecycle.js.map +1 -0
  883. package/dist/server/modules/terminal/services/terminal-io/monitoring.d.ts +4 -0
  884. package/dist/server/modules/terminal/services/terminal-io/monitoring.js +65 -0
  885. package/dist/server/modules/terminal/services/terminal-io/monitoring.js.map +1 -0
  886. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.d.ts +1 -0
  887. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.js +9 -0
  888. package/dist/server/modules/terminal/services/terminal-io/quote-shell-arg.js.map +1 -0
  889. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.d.ts +35 -0
  890. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js +210 -0
  891. package/dist/server/modules/terminal/services/terminal-io/terminal-io.service.js.map +1 -0
  892. package/dist/server/modules/terminal/services/terminal-io/types.d.ts +42 -0
  893. package/dist/server/modules/terminal/services/terminal-io/types.js +3 -0
  894. package/dist/server/modules/terminal/services/terminal-io/types.js.map +1 -0
  895. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.d.ts +11 -0
  896. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js +63 -0
  897. package/dist/server/modules/terminal/services/terminal-registry-rehydrator.service.js.map +1 -0
  898. package/dist/server/modules/terminal/services/terminal-seed.service.d.ts +7 -5
  899. package/dist/server/modules/terminal/services/terminal-seed.service.js +48 -45
  900. package/dist/server/modules/terminal/services/terminal-seed.service.js.map +1 -1
  901. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.d.ts +11 -0
  902. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.js +17 -0
  903. package/dist/server/modules/terminal/services/terminal-session/terminal-frame-stream.js.map +1 -0
  904. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.d.ts +15 -0
  905. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js +62 -0
  906. package/dist/server/modules/terminal/services/terminal-session/terminal-session-registry.js.map +1 -0
  907. package/dist/server/modules/terminal/services/terminal-session/terminal-session.d.ts +77 -0
  908. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js +252 -0
  909. package/dist/server/modules/terminal/services/terminal-session/terminal-session.js.map +1 -0
  910. package/dist/server/modules/terminal/terminal-delivery.module.d.ts +2 -0
  911. package/dist/server/modules/terminal/terminal-delivery.module.js +26 -0
  912. package/dist/server/modules/terminal/terminal-delivery.module.js.map +1 -0
  913. package/dist/server/modules/terminal/terminal.module.js +29 -9
  914. package/dist/server/modules/terminal/terminal.module.js.map +1 -1
  915. package/dist/server/modules/terminal/utils/normalize-line-endings.d.ts +1 -0
  916. package/dist/server/modules/terminal/utils/normalize-line-endings.js +8 -0
  917. package/dist/server/modules/terminal/utils/normalize-line-endings.js.map +1 -0
  918. package/dist/server/modules/watchers/services/watcher-runner.service.d.ts +3 -3
  919. package/dist/server/modules/watchers/services/watcher-runner.service.js +20 -14
  920. package/dist/server/modules/watchers/services/watcher-runner.service.js.map +1 -1
  921. package/dist/server/modules/watchers/watchers.module.js +2 -2
  922. package/dist/server/modules/watchers/watchers.module.js.map +1 -1
  923. package/dist/server/templates/teams-dev.json +15 -14
  924. package/dist/server/tsconfig.tsbuildinfo +1 -1
  925. package/dist/server/ui/assets/{ReviewDetailPage-Dy3PfRrg.js → ReviewDetailPage-D-vG55cH.js} +1 -1
  926. package/dist/server/ui/assets/ReviewsPage-GU7PX-qN.js +6 -0
  927. package/dist/server/ui/assets/index-59euy2RV.css +32 -0
  928. package/dist/server/ui/assets/index-fIGAPUv3.js +1085 -0
  929. package/dist/server/ui/assets/{useReviewSubscription-jEyfNAEJ.js → useReviewSubscription-BjoztEj6.js} +22 -27
  930. package/dist/server/ui/index.html +2 -2
  931. package/dist/templates/teams-dev.json +15 -14
  932. package/package.json +20 -2
  933. package/dist/server/modules/core/services/provider-mcp-ensure.service.js +0 -307
  934. package/dist/server/modules/core/services/provider-mcp-ensure.service.js.map +0 -1
  935. package/dist/server/modules/events/events-domain.module.d.ts +0 -2
  936. package/dist/server/modules/events/events-domain.module.js.map +0 -1
  937. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js +0 -47
  938. package/dist/server/modules/events/subscribers/chat-message-broadcaster.subscriber.js.map +0 -1
  939. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.d.ts +0 -28
  940. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js +0 -120
  941. package/dist/server/modules/events/subscribers/chat-message-delivery.subscriber.js.map +0 -1
  942. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.d.ts +0 -29
  943. package/dist/server/modules/events/subscribers/epic-assignment-notifier.subscriber.js.map +0 -1
  944. package/dist/server/modules/events/subscribers/index.d.ts +0 -2
  945. package/dist/server/modules/events/subscribers/index.js +0 -28
  946. package/dist/server/modules/events/subscribers/index.js.map +0 -1
  947. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.d.ts +0 -16
  948. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.js +0 -101
  949. package/dist/server/modules/events/subscribers/project-state-broadcaster.subscriber.js.map +0 -1
  950. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.d.ts +0 -16
  951. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js +0 -163
  952. package/dist/server/modules/events/subscribers/review-broadcaster.subscriber.js.map +0 -1
  953. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.d.ts +0 -24
  954. package/dist/server/modules/events/subscribers/review-comment-notifier.subscriber.js.map +0 -1
  955. package/dist/server/modules/events/subscribers/sub-epic-created-notifier.subscriber.d.ts +0 -18
  956. package/dist/server/modules/events/subscribers/sub-epic-created-notifier.subscriber.js.map +0 -1
  957. package/dist/server/modules/events/subscribers/team-config-updated-notifier.subscriber.d.ts +0 -18
  958. package/dist/server/modules/events/subscribers/team-config-updated-notifier.subscriber.js.map +0 -1
  959. package/dist/server/modules/events/subscribers/team-membership-changed-notifier.subscriber.d.ts +0 -18
  960. package/dist/server/modules/events/subscribers/team-membership-changed-notifier.subscriber.js.map +0 -1
  961. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.d.ts +0 -12
  962. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js +0 -88
  963. package/dist/server/modules/events/subscribers/transcript-broadcaster.subscriber.js.map +0 -1
  964. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.d.ts +0 -8
  965. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.js +0 -48
  966. package/dist/server/modules/events/subscribers/worktree-broadcaster.subscriber.js.map +0 -1
  967. package/dist/server/modules/mcp/dtos/schema-registry.d.ts +0 -7
  968. package/dist/server/modules/mcp/dtos/schema-registry.js +0 -64
  969. package/dist/server/modules/mcp/dtos/schema-registry.js.map +0 -1
  970. package/dist/server/modules/mcp/mcp.module.d.ts +0 -2
  971. package/dist/server/modules/mcp/mcp.module.js.map +0 -1
  972. package/dist/server/modules/mcp/services/mcp-provider-registration.service.d.ts +0 -64
  973. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js +0 -663
  974. package/dist/server/modules/mcp/services/mcp-provider-registration.service.js.map +0 -1
  975. package/dist/server/modules/mcp/services/terminal-activity.service.d.ts +0 -9
  976. package/dist/server/modules/mcp/services/terminal-activity.service.js +0 -68
  977. package/dist/server/modules/mcp/services/terminal-activity.service.js.map +0 -1
  978. package/dist/server/modules/mcp/tool-definitions.d.ts +0 -3077
  979. package/dist/server/modules/mcp/tool-definitions.js +0 -913
  980. package/dist/server/modules/mcp/tool-definitions.js.map +0 -1
  981. package/dist/server/modules/registry/services/template-upgrade.service.js.map +0 -1
  982. package/dist/server/modules/sessions/services/activity-tracker.service.d.ts +0 -17
  983. package/dist/server/modules/sessions/services/activity-tracker.service.js +0 -121
  984. package/dist/server/modules/sessions/services/activity-tracker.service.js.map +0 -1
  985. package/dist/server/modules/sessions/utils/template-renderer.d.ts +0 -33
  986. package/dist/server/modules/sessions/utils/template-renderer.js +0 -44
  987. package/dist/server/modules/sessions/utils/template-renderer.js.map +0 -1
  988. package/dist/server/modules/terminal/services/confirmed-delivery.helper.d.ts +0 -16
  989. package/dist/server/modules/terminal/services/confirmed-delivery.helper.js +0 -60
  990. package/dist/server/modules/terminal/services/confirmed-delivery.helper.js.map +0 -1
  991. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.d.ts +0 -5
  992. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js +0 -36
  993. package/dist/server/modules/terminal/services/terminal-send-coordinator.service.js.map +0 -1
  994. package/dist/server/modules/terminal/services/tmux.service.d.ts +0 -77
  995. package/dist/server/modules/terminal/services/tmux.service.js +0 -535
  996. package/dist/server/modules/terminal/services/tmux.service.js.map +0 -1
  997. package/dist/server/templates/5-agents-dev.json +0 -1084
  998. package/dist/server/ui/assets/ReviewsPage-DUPZ_NtL.js +0 -6
  999. package/dist/server/ui/assets/index-BzphIngp.css +0 -32
  1000. package/dist/server/ui/assets/index-CIlp3VXc.js +0 -1027
  1001. package/dist/templates/5-agents-dev.json +0 -1084
@@ -1,74 +1,69 @@
1
- var ma=e=>{throw TypeError(e)};var da=(e,n,t)=>n.has(e)||ma("Cannot "+t);var Tn=(e,n,t)=>(da(e,n,"read from private field"),t?t.call(e):n.get(e)),ha=(e,n,t)=>n.has(e)?ma("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),fa=(e,n,t,r)=>(da(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);import{c as Be,r as x,I as cr,J as L,P as Wt,L as qs,N as je,O as Zs,Q as Ni,U as Qs,V as Js,W as eo,j as u,a as X,X as no,Y as to,Z as pr,_ as mr,$ as dr,d as dt,e as ht,B as xe,M as Ae,k as hr,a0 as wi,n as ee,a1 as ft,a2 as at,a3 as $e,a4 as yi,a5 as Rn,a6 as ro,a7 as ao,a8 as io,a9 as so,aa as oo,ab as lo,ac as uo,ad as ga,ae as co,af as po,ag as it,ah as st,ai as ot,aj as lt,ak as ut,al as Yt,am as fr,x as Nn,an as xi,T as Ot,t as Vt,v as Lt,w as Mt,ao as gr,ap as mo,y as Pe,aq as Ft,ar as Pt,S as ho,o as fo,p as go,q as bo,s as vo,as as No,at as wo,au as ba,av as yo,aw as xo,g as wn,m as $n,ax as gn,ay as Eo,az as So,aA as Do,aB as Co,aC as To,aD as ko,aE as Ao,aF as Io,aG as _o,aH as Ro,aI as jo,aJ as Oo,K as Vo,aK as Lo}from"./index-CIlp3VXc.js";/**
1
+ var ma=e=>{throw TypeError(e)};var da=(e,n,t)=>n.has(e)||ma("Cannot "+t);var Tn=(e,n,t)=>(da(e,n,"read from private field"),t?t.call(e):n.get(e)),ha=(e,n,t)=>n.has(e)?ma("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(e):n.set(e,t),fa=(e,n,t,r)=>(da(e,n,"write to private field"),r?r.call(e,t):n.set(e,t),t);import{c as Ke,r as y,J as cr,L,P as Wt,N as qs,O as je,Q as Zs,U as Ni,V as Qs,W as Js,X as eo,j as u,a as X,Y as no,Z as to,_ as pr,$ as mr,a0 as dr,d as dt,e as ht,a1 as ro,B as ye,M as Ae,l as hr,a2 as wi,o as ee,a3 as ft,a4 as at,a5 as $e,a6 as xi,a7 as Rn,a8 as ao,a9 as io,aa as so,ab as oo,ac as lo,ad as uo,ae as co,af as ga,ag as po,ah as mo,ai as it,aj as st,ak as ot,al as lt,am as ut,an as Yt,ao as fr,y as Nn,ap as yi,T as Ot,v as Vt,w as Lt,x as Mt,aq as gr,ar as ho,z as Pe,as as Ft,at as Pt,S as fo,p as go,q as bo,s as vo,t as No,au as wo,av as xo,aw as ba,ax as yo,ay as Eo,g as wn,n as $n,az as gn,aA as So,aB as Do,aC as Co,aD as To,aE as ko,aF as Ao,aG as Io,aH as _o,aI as Ro,aJ as jo,aK as Oo,aL as Vo,K as Lo,aM as Mo}from"./index-fIGAPUv3.js";/**
2
2
  * @license lucide-react v0.545.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
5
5
  * See the LICENSE file in the root directory of this source tree.
6
- */const Mo=[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]],Fo=Be("binary",Mo);/**
6
+ */const Fo=[["rect",{x:"14",y:"14",width:"4",height:"6",rx:"2",key:"p02svl"}],["rect",{x:"6",y:"4",width:"4",height:"6",rx:"2",key:"xm4xkj"}],["path",{d:"M6 20h4",key:"1i6q5t"}],["path",{d:"M14 10h4",key:"ru81e7"}],["path",{d:"M6 14h2v6",key:"16z9wg"}],["path",{d:"M14 4h2v6",key:"1idq9u"}]],Po=Ke("binary",Fo);/**
7
7
  * @license lucide-react v0.545.0 - ISC
8
8
  *
9
9
  * This source code is licensed under the ISC license.
10
10
  * See the LICENSE file in the root directory of this source tree.
11
- */const Po=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],$o=Be("columns-2",Po);/**
11
+ */const $o=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M12 3v18",key:"108xh3"}]],zo=Ke("columns-2",$o);/**
12
12
  * @license lucide-react v0.545.0 - ISC
13
13
  *
14
14
  * This source code is licensed under the ISC license.
15
15
  * See the LICENSE file in the root directory of this source tree.
16
- */const zo=[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]],Oe=Be("file-code",zo);/**
16
+ */const Bo=[["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z",key:"1mlx9k"}]],Oe=Ke("file-code",Bo);/**
17
17
  * @license lucide-react v0.545.0 - ISC
18
18
  *
19
19
  * This source code is licensed under the ISC license.
20
20
  * See the LICENSE file in the root directory of this source tree.
21
- */const Bo=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],Go=Be("folder",Bo);/**
21
+ */const Go=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],br=Ke("lightbulb",Go);/**
22
22
  * @license lucide-react v0.545.0 - ISC
23
23
  *
24
24
  * This source code is licensed under the ISC license.
25
25
  * See the LICENSE file in the root directory of this source tree.
26
- */const Uo=[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]],br=Be("lightbulb",Uo);/**
26
+ */const Uo=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],Ho=Ke("message-circle",Uo);/**
27
27
  * @license lucide-react v0.545.0 - ISC
28
28
  *
29
29
  * This source code is licensed under the ISC license.
30
30
  * See the LICENSE file in the root directory of this source tree.
31
- */const Ho=[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]],Ko=Be("message-circle",Ho);/**
31
+ */const Ko=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Wo=Ke("pen-line",Ko);/**
32
32
  * @license lucide-react v0.545.0 - ISC
33
33
  *
34
34
  * This source code is licensed under the ISC license.
35
35
  * See the LICENSE file in the root directory of this source tree.
36
- */const Wo=[["path",{d:"M13 21h8",key:"1jsn5i"}],["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}]],Yo=Be("pen-line",Wo);/**
36
+ */const Yo=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],Xo=Ke("reply",Yo);/**
37
37
  * @license lucide-react v0.545.0 - ISC
38
38
  *
39
39
  * This source code is licensed under the ISC license.
40
40
  * See the LICENSE file in the root directory of this source tree.
41
- */const Xo=[["path",{d:"M20 18v-2a4 4 0 0 0-4-4H4",key:"5vmcpk"}],["path",{d:"m9 17-5-5 5-5",key:"nvlc11"}]],qo=Be("reply",Xo);/**
42
- * @license lucide-react v0.545.0 - ISC
43
- *
44
- * This source code is licensed under the ISC license.
45
- * See the LICENSE file in the root directory of this source tree.
46
- */const Zo=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 12h18",key:"1i2n21"}]],Qo=Be("rows-2",Zo);var Ei="Toggle",Si=x.forwardRef((e,n)=>{const{pressed:t,defaultPressed:r,onPressedChange:a,...i}=e,[s,o]=cr({prop:t,onChange:a,defaultProp:r??!1,caller:Ei});return L.jsx(Wt.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...i,ref:n,onClick:qs(e.onClick,()=>{e.disabled||o(!s)})})});Si.displayName=Ei;var We="ToggleGroup",[Di]=Zs(We,[Ni]),Ci=Ni(),vr=je.forwardRef((e,n)=>{const{type:t,...r}=e;if(t==="single"){const a=r;return L.jsx(Jo,{...a,ref:n})}if(t==="multiple"){const a=r;return L.jsx(el,{...a,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${We}\``)});vr.displayName=We;var[Ti,ki]=Di(We),Jo=je.forwardRef((e,n)=>{const{value:t,defaultValue:r,onValueChange:a=()=>{},...i}=e,[s,o]=cr({prop:t,defaultProp:r??"",onChange:a,caller:We});return L.jsx(Ti,{scope:e.__scopeToggleGroup,type:"single",value:je.useMemo(()=>s?[s]:[],[s]),onItemActivate:o,onItemDeactivate:je.useCallback(()=>o(""),[o]),children:L.jsx(Ai,{...i,ref:n})})}),el=je.forwardRef((e,n)=>{const{value:t,defaultValue:r,onValueChange:a=()=>{},...i}=e,[s,o]=cr({prop:t,defaultProp:r??[],onChange:a,caller:We}),l=je.useCallback(p=>o((m=[])=>[...m,p]),[o]),c=je.useCallback(p=>o((m=[])=>m.filter(h=>h!==p)),[o]);return L.jsx(Ti,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:l,onItemDeactivate:c,children:L.jsx(Ai,{...i,ref:n})})});vr.displayName=We;var[nl,tl]=Di(We),Ai=je.forwardRef((e,n)=>{const{__scopeToggleGroup:t,disabled:r=!1,rovingFocus:a=!0,orientation:i,dir:s,loop:o=!0,...l}=e,c=Ci(t),p=Js(s),m={role:"group",dir:p,...l};return L.jsx(nl,{scope:t,rovingFocus:a,disabled:r,children:a?L.jsx(eo,{asChild:!0,...c,orientation:i,dir:p,loop:o,children:L.jsx(Wt.div,{...m,ref:n})}):L.jsx(Wt.div,{...m,ref:n})})}),ct="ToggleGroupItem",Ii=je.forwardRef((e,n)=>{const t=ki(ct,e.__scopeToggleGroup),r=tl(ct,e.__scopeToggleGroup),a=Ci(e.__scopeToggleGroup),i=t.value.includes(e.value),s=r.disabled||e.disabled,o={...e,pressed:i,disabled:s},l=je.useRef(null);return r.rovingFocus?L.jsx(Qs,{asChild:!0,...a,focusable:!s,active:i,ref:l,children:L.jsx(va,{...o,ref:n})}):L.jsx(va,{...o,ref:n})});Ii.displayName=ct;var va=je.forwardRef((e,n)=>{const{__scopeToggleGroup:t,value:r,...a}=e,i=ki(ct,t),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},o=i.type==="single"?s:void 0;return L.jsx(Si,{...o,...a,ref:n,onPressedChange:l=>{l?i.onItemActivate(r):i.onItemDeactivate(r)}})}),_i=vr,Ri=Ii;const ji=x.createContext({size:"default",variant:"default"}),Nr=x.forwardRef(({className:e,variant:n,size:t,children:r,...a},i)=>u.jsxDEV(_i,{ref:i,className:X("flex items-center justify-center gap-1",e),...a,children:u.jsxDEV(ji.Provider,{value:{variant:n,size:t},children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:25,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:20,columnNumber:3},void 0));Nr.displayName=_i.displayName;const rl={default:"bg-transparent data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground"},al={default:"h-9 px-3",sm:"h-8 px-2",lg:"h-10 px-4"},wr=x.forwardRef(({className:e,children:n,variant:t,size:r,...a},i)=>{const s=x.useContext(ji);return u.jsxDEV(Ri,{ref:i,className:X("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",rl[t??s.variant??"default"],al[r??s.size??"default"],e),...a,children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:53,columnNumber:5},void 0)});wr.displayName=Ri.displayName;function te(e,n="Assertion error"){if(!e)throw Error(n)}function bn({group:e}){const{orientation:n,panels:t}=e;return t.reduce((r,a)=>(r+=n==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,r),0)}function Xt(e,n){return n.sort(e==="horizontal"?il:sl)}function il(e,n){const t=e.element.offsetLeft-n.element.offsetLeft;return t!==0?t:e.element.offsetWidth-n.element.offsetWidth}function sl(e,n){const t=e.element.offsetTop-n.element.offsetTop;return t!==0?t:e.element.offsetHeight-n.element.offsetHeight}function Oi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Vi(e,n){return{x:e.x>=n.left&&e.x<=n.right?0:Math.min(Math.abs(e.x-n.left),Math.abs(e.x-n.right)),y:e.y>=n.top&&e.y<=n.bottom?0:Math.min(Math.abs(e.y-n.top),Math.abs(e.y-n.bottom))}}function ol({orientation:e,rects:n,targetRect:t}){const r={x:t.x+t.width/2,y:t.y+t.height/2};let a,i=Number.MAX_VALUE;for(const s of n){const{x:o,y:l}=Vi(r,s),c=e==="horizontal"?o:l;c<i&&(i=c,a=s)}return te(a,"No rect found"),a}function Li(e){const{element:n,orientation:t,panels:r,separators:a}=e,i=Xt(t,Array.from(n.children).filter(Oi).map(p=>({element:p}))).map(({element:p})=>p),s=[];let o=!1,l,c=[];for(const p of i)if(p.hasAttribute("data-panel")){const m=r.find(h=>h.element===p);if(m){if(l){const h=l.element.getBoundingClientRect(),f=p.getBoundingClientRect();let d;if(o){const g=t==="horizontal"?new DOMRect(h.right,h.top,0,h.height):new DOMRect(h.left,h.bottom,h.width,0),b=t==="horizontal"?new DOMRect(f.left,f.top,0,f.height):new DOMRect(f.left,f.top,f.width,0);switch(c.length){case 0:{d=[g,b];break}case 1:{const N=c[0],y=ol({orientation:t,rects:[h,f],targetRect:N.element.getBoundingClientRect()});d=[N,y===h?b:g];break}default:{d=c;break}}}else c.length?d=c:d=[t==="horizontal"?new DOMRect(h.right,f.top,f.left-h.right,f.height):new DOMRect(f.left,h.bottom,f.width,f.top-h.bottom)];for(const g of d)s.push({group:e,groupSize:bn({group:e}),panels:[l,m],separator:"width"in g?void 0:g,rect:"width"in g?g:g.element.getBoundingClientRect()})}o=!1,l=m,c=[]}}else if(p.hasAttribute("data-separator")){const m=a.find(h=>h.element===p);m?c.push(m):(l=void 0,c=[])}else o=!0;return s}function ll(e,n){const t=getComputedStyle(e),r=parseFloat(t.fontSize);return n*r}function ul(e,n){const t=getComputedStyle(e.ownerDocument.body),r=parseFloat(t.fontSize);return n*r}function cl(e){return e/100*window.innerHeight}function pl(e){return e/100*window.innerWidth}function ml(e){switch(typeof e){case"number":return[e,"px"];case"string":{const n=parseFloat(e);return e.endsWith("%")?[n,"%"]:e.endsWith("px")?[n,"px"]:e.endsWith("rem")?[n,"rem"]:e.endsWith("em")?[n,"em"]:e.endsWith("vh")?[n,"vh"]:e.endsWith("vw")?[n,"vw"]:[n,"%"]}}}function Kn({groupSize:e,panelElement:n,styleProp:t}){let r;const[a,i]=ml(t);switch(i){case"%":{r=a/100*e;break}case"px":{r=a;break}case"rem":{r=ul(n,a);break}case"em":{r=ll(n,a);break}case"vh":{r=cl(a);break}case"vw":{r=pl(a);break}}return r}function Re(e){return parseFloat(e.toFixed(3))}function Na(e){const{panels:n}=e,t=bn({group:e});return t===0?n.map(r=>({collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:r.id})):n.map(r=>{const{element:a,panelConstraints:i}=r;let s=0;if(i.collapsedSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.collapsedSize});s=Re(p/t*100)}let o;if(i.defaultSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.defaultSize});o=Re(p/t*100)}let l=0;if(i.minSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.minSize});l=Re(p/t*100)}let c=100;if(i.maxSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.maxSize});c=Re(p/t*100)}return{collapsedSize:s,collapsible:i.collapsible===!0,defaultSize:o,minSize:l,maxSize:c,panelId:r.id}})}var He;class dl{constructor(){ha(this,He,{})}addListener(n,t){const r=Tn(this,He)[n];return r===void 0?Tn(this,He)[n]=[t]:r.includes(t)||r.push(t),()=>{this.removeListener(n,t)}}emit(n,t){const r=Tn(this,He)[n];if(r!==void 0)if(r.length===1)r[0].call(null,t);else{let a=!1,i=null;const s=Array.from(r);for(let o=0;o<s.length;o++){const l=s[o];try{l.call(null,t)}catch(c){i===null&&(a=!0,i=c)}}if(a)throw i}}removeAllListeners(){fa(this,He,{})}removeListener(n,t){const r=Tn(this,He)[n];if(r!==void 0){const a=r.indexOf(t);a>=0&&r.splice(a,1)}}}He=new WeakMap;function fe(e,n,t=0){return Math.abs(Re(e)-Re(n))<=t}let Te={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const Je=new dl;function Ie(){return Te}function be(e){const n=typeof e=="function"?e(Te):e;if(Te===n)return Te;const t=Te;return Te={...Te,...n},n.cursorFlags!==void 0&&Je.emit("cursorFlagsChange",Te.cursorFlags),n.interactionState!==void 0&&Je.emit("interactionStateChange",Te.interactionState),n.mountedGroups!==void 0&&(Te.mountedGroups.forEach((r,a)=>{r.derivedPanelConstraints.forEach(i=>{if(i.collapsible){const{layout:s}=t.mountedGroups.get(a)??{};if(s){const o=fe(i.collapsedSize,r.layout[i.panelId]),l=fe(i.collapsedSize,s[i.panelId]);o&&!l&&(a.inMemoryLastExpandedPanelSizes[i.panelId]=s[i.panelId])}}})}),Je.emit("mountedGroupsChange",Te.mountedGroups)),Te}function hl(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!=n[t])return!1;return!0}function jn(e,n){return fe(e,n)?0:e>n?1:-1}function dn({panelConstraints:e,size:n}){const{collapsedSize:t=0,collapsible:r,maxSize:a=100,minSize:i=0}=e;if(jn(n,i)<0)if(r){const s=(t+i)/2;jn(n,s)<0?n=t:n=i}else n=i;return n=Math.min(a,n),n=Re(n),n}function On({delta:e,initialLayout:n,panelConstraints:t,pivotIndices:r,prevLayout:a,trigger:i}){if(fe(e,0))return n;const s=Object.values(n),o=Object.values(a),l=[...s],[c,p]=r;te(c!=null,"Invalid first pivot index"),te(p!=null,"Invalid second pivot index");let m=0;if(i==="keyboard"){{const d=e<0?p:c,g=t[d];te(g,`Panel constraints not found for index ${d}`);const{collapsedSize:b=0,collapsible:N,minSize:y=0}=g;if(N){const w=s[d];if(te(w!=null,`Previous layout not found for panel index ${d}`),fe(w,b)){const v=y-w;jn(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}{const d=e<0?c:p,g=t[d];te(g,`No panel constraints found for index ${d}`);const{collapsedSize:b=0,collapsible:N,minSize:y=0}=g;if(N){const w=s[d];if(te(w!=null,`Previous layout not found for panel index ${d}`),fe(w,y)){const v=w-b;jn(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}}{const d=e<0?1:-1;let g=e<0?p:c,b=0;for(;;){const y=s[g];te(y!=null,`Previous layout not found for panel index ${g}`);const w=dn({panelConstraints:t[g],size:100})-y;if(b+=w,g+=d,g<0||g>=t.length)break}const N=Math.min(Math.abs(e),Math.abs(b));e=e<0?0-N:N}{let d=e<0?c:p;for(;d>=0&&d<t.length;){const g=Math.abs(e)-Math.abs(m),b=s[d];te(b!=null,`Previous layout not found for panel index ${d}`);const N=b-g,y=dn({panelConstraints:t[d],size:N});if(!fe(b,y)&&(m+=b-y,l[d]=y,m.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(hl(o,l))return a;{const d=e<0?p:c,g=s[d];te(g!=null,`Previous layout not found for panel index ${d}`);const b=g+m,N=dn({panelConstraints:t[d],size:b});if(l[d]=N,!fe(N,b)){let y=b-N,w=e<0?p:c;for(;w>=0&&w<t.length;){const v=l[w];te(v!=null,`Previous layout not found for panel index ${w}`);const E=v+y,S=dn({panelConstraints:t[w],size:E});if(fe(v,S)||(y-=S-v,l[w]=S),fe(y,0))break;e>0?w--:w++}}}const h=Object.values(l).reduce((d,g)=>g+d,0);if(!fe(h,100,.1))return a;const f=Object.keys(a);return l.reduce((d,g,b)=>(d[f[b]]=g,d),{})}function et(e){const{mountedGroups:n}=Ie();for(const[t]of n)if(t.separators.some(r=>r.element===e))return t;throw Error("Could not find parent Group for separator element")}function en(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(const t in e)if(n[t]===void 0||jn(e[t],n[t])!==0)return!1;return!0}function nn({layout:e,panelConstraints:n}){const t=[...Object.values(e)],r=t.reduce((s,o)=>s+o,0);if(t.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${t.map(s=>`${s}%`).join(", ")}`);if(!fe(r,100)&&t.length>0)for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=100/r*o;t[s]=l}let a=0;for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=dn({panelConstraints:n[s],size:o});o!=l&&(a+=o-l,t[s]=l)}if(!fe(a,0))for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=o+a,c=dn({panelConstraints:n[s],size:l});if(o!==c&&(a-=c-o,t[s]=c,fe(a,0)))break}const i=Object.keys(e);return t.reduce((s,o,l)=>(s[i[l]]=o,s),{})}function Mi({groupId:e}){const n=()=>{const{mountedGroups:t}=Ie();for(const[r,a]of t)if(r.id===e)return{group:r,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:t,layout:r}=n();return t?{}:r},setLayout(t){const{defaultLayoutDeferred:r,derivedPanelConstraints:a,group:i,layout:s,separatorToPanels:o}=n(),l=nn({layout:t,panelConstraints:a});return r?s:(en(s,l)||be(c=>({mountedGroups:new Map(c.mountedGroups).set(i,{defaultLayoutDeferred:r,derivedPanelConstraints:a,layout:l,separatorToPanels:o})})),l)}}}function Fi(e){const{mountedGroups:n}=Ie(),t=n.get(e);return te(t,`Mounted Group ${e.id} not found`),t}function Ze(e,n){const t=et(e),r=Fi(t),a=t.separators.find(p=>p.element===e);te(a,"Matching separator not found");const i=r.separatorToPanels.get(a);te(i,"Matching panels not found");const s=i.map(p=>t.panels.indexOf(p)),o=Mi({groupId:t.id}).getLayout(),l=On({delta:n,initialLayout:o,panelConstraints:r.derivedPanelConstraints,pivotIndices:s,prevLayout:o,trigger:"keyboard"}),c=nn({layout:l,panelConstraints:r.derivedPanelConstraints});en(o,c)||be(p=>({mountedGroups:new Map(p.mountedGroups).set(t,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,layout:c,separatorToPanels:r.separatorToPanels})}))}function wa(e){if(e.defaultPrevented)return;const n=e.currentTarget,t=et(n);if(!t.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),t.orientation==="vertical"&&Ze(n,5);break}case"ArrowLeft":{e.preventDefault(),t.orientation==="horizontal"&&Ze(n,-5);break}case"ArrowRight":{e.preventDefault(),t.orientation==="horizontal"&&Ze(n,5);break}case"ArrowUp":{e.preventDefault(),t.orientation==="vertical"&&Ze(n,-5);break}case"End":{e.preventDefault(),Ze(n,100);break}case"Enter":{e.preventDefault();const r=et(n),{derivedPanelConstraints:a,layout:i,separatorToPanels:s}=Fi(r),o=r.separators.find(m=>m.element===n);te(o,"Matching separator not found");const l=s.get(o);te(l,"Matching panels not found");const c=l[0],p=a.find(m=>m.panelId===c.id);if(te(p,"Panel metadata not found"),p.collapsible){const m=i[c.id],h=p.collapsedSize===m?r.inMemoryLastExpandedPanelSizes[c.id]??p.minSize:p.collapsedSize;Ze(n,h-m)}break}case"F6":{e.preventDefault();const r=et(n).separators.map(s=>s.element),a=Array.from(r).findIndex(s=>s===e.currentTarget);te(a!==null,"Index not found");const i=e.shiftKey?a>0?a-1:r.length-1:a+1<r.length?a+1:0;r[i].focus();break}case"Home":{e.preventDefault(),Ze(n,-100);break}}}const fl=e=>e,$t=()=>{},Pi=1,$i=2,zi=4,Bi=8,ya={coarse:10,precise:5};function gl(e,n,t){let r,a={x:1/0,y:1/0};for(const i of n){const s=Vi(t,i.rect);switch(e){case"horizontal":{s.x<=a.x&&(r=i,a=s);break}case"vertical":{s.y<=a.y&&(r=i,a=s);break}}}return r?{distance:a,hitRegion:r}:void 0}let Wn;function bl(){return Wn===void 0&&(typeof matchMedia=="function"?Wn=!!matchMedia("(pointer:coarse)").matches:Wn=!1),Wn}function vl(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function Nl(e,n){if(e===n)throw new Error("Cannot compare node with itself");const t={a:Sa(e),b:Sa(n)};let r;for(;t.a.at(-1)===t.b.at(-1);)e=t.a.pop(),n=t.b.pop(),r=e;te(r,"Stacking order can only be calculated for elements with a common ancestor");const a={a:Ea(xa(t.a)),b:Ea(xa(t.b))};if(a.a===a.b){const i=r.childNodes,s={a:t.a.at(-1),b:t.b.at(-1)};let o=i.length;for(;o--;){const l=i[o];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(a.a-a.b)}const wl=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function yl(e){const n=getComputedStyle(Gi(e)??e).display;return n==="flex"||n==="inline-flex"}function xl(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||yl(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||wl.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function xa(e){let n=e.length;for(;n--;){const t=e[n];if(te(t,"Missing node"),xl(t))return t}return null}function Ea(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Sa(e){const n=[];for(;e;)n.push(e),e=Gi(e);return n}function Gi(e){const{parentNode:n}=e;return vl(n)?n.host:n}function El(e,n){return e.x<n.x+n.width&&e.x+e.width>n.x&&e.y<n.y+n.height&&e.y+e.height>n.y}function Sl({groupElement:e,hitRegion:n,pointerEventTarget:t}){if(!Oi(t)||t.contains(e)||e.contains(t))return!0;if(Nl(t,e)>0){let r=t;for(;r;){if(r.contains(e))return!0;if(El(r.getBoundingClientRect(),n))return!1;r=r.parentElement}}return!0}function Ui(e,n){const t=[];return n.forEach((r,a)=>{if(a.disabled)return;const i=bl()?ya.coarse:ya.precise,s=Li(a),o=gl(a.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=i&&o.distance.y<=i&&Sl({groupElement:a.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&t.push(o.hitRegion)}),t}function Da(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:n}=Ie(),t=Ui(e,n),r=new Set,a=new Set,i=new Set,s=new Map;let o=!1;t.forEach(l=>{r.add(l.group),l.panels.forEach(p=>{a.add(p)}),l.separator&&(i.add(l.separator),o||(o=!0,l.separator.element.focus()));const c=n.get(l.group);c&&s.set(l.group,c.layout)}),be({interactionState:{hitRegions:t,initialLayoutMap:s,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),t.length&&e.preventDefault()}function Dl({cursorFlags:e,groups:n,state:t}){let r=0,a=0;switch(t){case"active":case"hover":n.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{r++;break}case"vertical":{a++;break}}})}if(r===0&&a===0)return null;switch(t){case"active":{const i=(e&Pi)!==0,s=(e&$i)!==0,o=(e&zi)!==0,l=(e&Bi)!==0;if(e){if(i)return o?"se-resize":l?"ne-resize":"e-resize";if(s)return o?"sw-resize":l?"nw-resize":"w-resize";if(o)return"s-resize";if(l)return"n-resize"}break}}return r>0&&a>0?"move":r>0?"ew-resize":"ns-resize"}const Ca=new WeakMap;function yr(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:n,styleSheet:t}=Ca.get(e)??{};t===void 0&&(t=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets=[t]);const{cursorFlags:r,interactionState:a}=Ie();switch(a.state){case"active":case"hover":{const i=Dl({cursorFlags:r,groups:a.hitRegions.map(o=>o.group),state:a.state}),s=`*{cursor: ${i} !important; ${a.state==="active"?"touch-action: none;":""} }`;if(n===s)return;n=s,i?t.cssRules.length===0?t.insertRule(s):t.replaceSync(s):t.cssRules.length===1&&t.deleteRule(0);break}case"inactive":{n=void 0,t.cssRules.length===1&&t.deleteRule(0);break}}Ca.set(e,{prevStyle:n,styleSheet:t})}function Hi({document:e,event:n,hitRegions:t,initialLayoutMap:r,mountedGroups:a,pointerDownAtPoint:i}){let s=0;const o=new Map(a);t.forEach(l=>{const{group:c,groupSize:p}=l,{disableCursor:m,orientation:h,panels:f}=c;let d=0;i?h==="horizontal"?d=(n.clientX-i.x)/p*100:d=(n.clientY-i.y)/p*100:h==="horizontal"?d=n.clientX<0?-100:100:d=n.clientY<0?-100:100;const g=r.get(c),{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:y,separatorToPanels:w}=a.get(c)??{defaultLayoutDeferred:!1};if(N&&g&&y&&w){const v=On({delta:d,initialLayout:g,panelConstraints:N,pivotIndices:l.panels.map(E=>f.indexOf(E)),prevLayout:y,trigger:"mouse-or-touch"});if(en(v,y)){if(d!==0&&!m)switch(h){case"horizontal":{s|=d<0?Pi:$i;break}case"vertical":{s|=d<0?zi:Bi;break}}}else{o.set(l.group,{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:v,separatorToPanels:w});const E=l.group.panels.map(({id:S})=>S).join(",");l.group.inMemoryLayouts[E]=v}}}),be({cursorFlags:s,mountedGroups:o}),yr(e)}function Ta(e){const{interactionState:n,mountedGroups:t}=Ie();switch(n.state){case"active":Hi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t})}}function ka(e){if(e.defaultPrevented)return;const{interactionState:n,mountedGroups:t}=Ie();switch(n.state){case"active":{if(e.buttons===0){be(r=>r.interactionState.state==="inactive"?r:{cursorFlags:0,interactionState:{state:"inactive"}}),be(r=>({mountedGroups:new Map(r.mountedGroups)}));return}Hi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,pointerDownAtPoint:n.pointerDownAtPoint});break}default:{const r=Ui(e,t);r.length===0?n.state!=="inactive"&&be({interactionState:{state:"inactive"}}):be({interactionState:{hitRegions:r,state:"hover"}}),yr(e.currentTarget);break}}}function Aa(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:n}=Ie();switch(n.state){case"active":be({cursorFlags:0,interactionState:{state:"inactive"}}),n.hitRegions.length>0&&(yr(e.currentTarget),be(t=>({mountedGroups:new Map(t.mountedGroups)})),e.preventDefault())}}function Ia(e){let n=0,t=0;const r={};for(const i of e)if(i.defaultSize!==void 0){n++;const s=Re(i.defaultSize);t+=s,r[i.panelId]=s}else r[i.panelId]=void 0;const a=e.length-n;if(a!==0){const i=Re((100-t)/a);for(const s of e)s.defaultSize===void 0&&(r[s.panelId]=i)}return r}function Cl(e,n,t){if(!t[0])return;const r=e.panels.find(l=>l.element===n);if(!r||!r.onResize)return;const a=bn({group:e}),i=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,s=r.mutableValues.prevSize,o={asPercentage:Re(i/a*100),inPixels:i};r.mutableValues.prevSize=o,r.onResize(o,r.id,s)}function Tl(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(const t in e)if(e[t]!==n[t])return!1;return!0}function kl(e,n){const t=e.map(a=>a.id),r=Object.keys(n);if(t.length!==r.length)return!1;for(const a of t)if(!r.includes(a))return!1;return!0}const ln=new Map;function Al(e){let n=!0;te(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const t=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,a=new Set,i=new t(d=>{for(const g of d){const{borderBoxSize:b,target:N}=g;if(N===e.element){if(n){if(bn({group:e})===0)return;be(y=>{const w=y.mountedGroups.get(e);if(w){const v=Na(e),E=w.defaultLayoutDeferred?Ia(v):w.layout,S=nn({layout:E,panelConstraints:v});return!w.defaultLayoutDeferred&&en(E,S)&&Tl(w.derivedPanelConstraints,v)?y:{mountedGroups:new Map(y.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:v,layout:S,separatorToPanels:w.separatorToPanels})}}return y})}}else Cl(e,N,b)}});i.observe(e.element),e.panels.forEach(d=>{te(!r.has(d.id),`Panel ids must be unique; id "${d.id}" was used more than once`),r.add(d.id),d.onResize&&i.observe(d.element)});const s=bn({group:e}),o=Na(e),l=e.panels.map(({id:d})=>d).join(",");let c=e.defaultLayout;c&&(kl(e.panels,c)||(c=void 0));const p=e.inMemoryLayouts[l]??c??Ia(o),m=nn({layout:p,panelConstraints:o}),h=Li(e),f=e.element.ownerDocument;return be(d=>{const g=new Map;return ln.set(f,(ln.get(f)??0)+1),h.forEach(b=>{b.separator&&g.set(b.separator,b.panels)}),{mountedGroups:new Map(d.mountedGroups).set(e,{defaultLayoutDeferred:s===0,derivedPanelConstraints:o,layout:m,separatorToPanels:g})}}),e.separators.forEach(d=>{te(!a.has(d.id),`Separator ids must be unique; id "${d.id}" was used more than once`),a.add(d.id),d.element.addEventListener("keydown",wa)}),ln.get(f)===1&&(f.addEventListener("pointerdown",Da,!0),f.addEventListener("pointerleave",Ta),f.addEventListener("pointermove",ka),f.addEventListener("pointerup",Aa,!0)),function(){n=!1,ln.set(f,Math.max(0,(ln.get(f)??0)-1)),be(d=>{const g=new Map(d.mountedGroups);return g.delete(e),{mountedGroups:g}}),e.separators.forEach(d=>{d.element.removeEventListener("keydown",wa)}),ln.get(f)||(f.removeEventListener("pointerdown",Da,!0),f.removeEventListener("pointerleave",Ta),f.removeEventListener("pointermove",ka),f.removeEventListener("pointerup",Aa,!0)),i.disconnect()}}function Ki(){const[e,n]=x.useState({}),t=x.useCallback(()=>n({}),[]);return[e,t]}function xr(e){const n=x.useId();return`${e??n}`}const tn=typeof window<"u"?x.useLayoutEffect:x.useEffect;function In(e){const n=x.useRef(e);return tn(()=>{n.current=e},[e]),x.useCallback((...t)=>{var r;return(r=n.current)==null?void 0:r.call(n,...t)},[n])}function Er(...e){return In(n=>{e.forEach(t=>{if(t)switch(typeof t){case"function":{t(n);break}case"object":{t.current=n;break}}})})}function Il(e){const n=x.useRef({...e});return tn(()=>{for(const t in e)n.current[t]=e[t]},[e]),n.current}const Wi=x.createContext(null);function _l(e,n){const t=x.useRef({getLayout:()=>({}),setLayout:fl});x.useImperativeHandle(n,()=>t.current,[]),tn(()=>{Object.assign(t.current,Mi({groupId:e}))})}function Yi({children:e,className:n,defaultLayout:t,disableCursor:r,disabled:a,elementRef:i,groupRef:s,id:o,onLayoutChange:l,onLayoutChanged:c,orientation:p="horizontal",style:m,...h}){const f=x.useRef({onLayoutChange:{},onLayoutChanged:{}}),d=In(k=>{en(f.current.onLayoutChange,k)||(f.current.onLayoutChange=k,l==null||l(k))}),g=In(k=>{en(f.current.onLayoutChanged,k)||(f.current.onLayoutChanged=k,c==null||c(k))}),b=xr(o),N=x.useRef(null),[y,w]=Ki(),v=x.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),E=Er(N,i);_l(b,s);const S=In((k,j)=>{const{interactionState:M,mountedGroups:_}=Ie();for(const $ of _.keys())if($.id===k){const K=_.get($);if(K){let W=!1;switch(M.state){case"active":{W=M.hitRegions.some(A=>A.group===$);break}}return{flexGrow:K.layout[j]??1,pointerEvents:W?"none":void 0}}}return{flexGrow:(t==null?void 0:t[j])??1}}),C=x.useMemo(()=>({getPanelStyles:S,id:b,orientation:p,registerPanel:k=>{const j=v.current;return j.panels=Xt(p,[...j.panels,k]),w(),()=>{j.panels=j.panels.filter(M=>M!==k),w()}},registerSeparator:k=>{const j=v.current;return j.separators=Xt(p,[...j.separators,k]),w(),()=>{j.separators=j.separators.filter(M=>M!==k),w()}}}),[S,b,w,p]),D=Il({defaultLayout:t,disableCursor:r}),O=x.useRef(null);return tn(()=>{const k=N.current;if(k===null)return;const j=v.current,M={defaultLayout:D.defaultLayout,disableCursor:!!D.disableCursor,disabled:!!a,element:k,id:b,inMemoryLastExpandedPanelSizes:v.current.lastExpandedPanelSizes,inMemoryLayouts:v.current.layouts,orientation:p,panels:j.panels,separators:j.separators};O.current=M;const _=Al(M),$=Ie().mountedGroups.get(M);if($){const{defaultLayoutDeferred:A,derivedPanelConstraints:R,layout:U}=$;!A&&R.length>0&&(d(U),g(U),j.panels.forEach(T=>{T.scheduleUpdate()}))}const K=Je.addListener("interactionStateChange",()=>{j.panels.forEach(A=>{A.scheduleUpdate()})}),W=Je.addListener("mountedGroupsChange",A=>{const R=A.get(M);if(R){const{defaultLayoutDeferred:U,derivedPanelConstraints:T,layout:G}=R;if(U||T.length===0)return;const{interactionState:Z}=Ie(),ce=Z.state!=="active";d(G),ce&&g(G),j.panels.forEach(V=>{V.scheduleUpdate()})}});return()=>{O.current=null,_(),K(),W()}},[a,b,g,d,p,y,D]),x.useEffect(()=>{const k=O.current;k&&(k.defaultLayout=t,k.disableCursor=!!r)}),L.jsx(Wi.Provider,{value:C,children:L.jsx("div",{...h,"aria-orientation":p,className:n,"data-group":!0,"data-testid":b,id:b,ref:E,style:{height:"100%",width:"100%",overflow:"hidden",...m,display:"flex",flexDirection:p==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}Yi.displayName="Group";function zt(e,n){return`react-resizable-panels:${[e,...n].join(":")}`}function md({debounceSaveMs:e=100,panelIds:n,storage:t=localStorage,...r}){const a=n!==void 0,i="id"in r?r.id:r.groupId,s=zt(i,n??[]),o=x.useSyncExternalStore(Rl,()=>t.getItem(s),()=>t.getItem(s)),l=x.useMemo(()=>o?JSON.parse(o):void 0,[o]),c=x.useRef(null),p=x.useCallback(()=>{const f=c.current;f&&(c.current=null,clearTimeout(f))},[]);x.useLayoutEffect(()=>()=>{p()},[p]);const m=x.useCallback(f=>{p();let d;a?d=zt(i,Object.keys(f)):d=zt(i,[]);try{t.setItem(d,JSON.stringify(f))}catch(g){console.error(g)}},[p,a,i,t]),h=x.useCallback(f=>{p(),e===0?m(f):c.current=setTimeout(()=>{m(f)},e)},[p,e,m]);return{defaultLayout:l,onLayoutChange:h,onLayoutChanged:m}}function Rl(){return function(){}}function Sr(){const e=x.useContext(Wi);return te(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function jl({groupId:e,panelId:n}){const t=()=>{const{mountedGroups:o}=Ie();for(const[l,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:m,separatorToPanels:h}]of o)if(l.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:l,layout:m,separatorToPanels:h};throw Error(`Group ${e} not found`)},r=()=>{const o=t().derivedPanelConstraints.find(l=>l.panelId===n);if(o!==void 0)return o;throw Error(`Panel constraints not found for Panel ${n}`)},a=()=>{const o=t().group.panels.find(l=>l.id===n);if(o!==void 0)return o;throw Error(`Layout not found for Panel ${n}`)},i=()=>{const o=t().layout[n];if(o!==void 0)return o;throw Error(`Layout not found for Panel ${n}`)},s=o=>{const l=i();if(o===l)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:m,layout:h,separatorToPanels:f}=t(),d=m.panels.findIndex(y=>y.id===n),g=d===m.panels.length-1,b=On({delta:g?l-o:o-l,initialLayout:h,panelConstraints:p,pivotIndices:g?[d-1,d]:[d,d+1],prevLayout:h,trigger:"imperative-api"}),N=nn({layout:b,panelConstraints:p});en(h,N)||be(y=>({mountedGroups:new Map(y.mountedGroups).set(m,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:N,separatorToPanels:f})}))};return{collapse:()=>{const{collapsible:o,collapsedSize:l}=r(),{mutableValues:c}=a(),p=i();o&&p!==l&&(c.expandToSize=p,s(l))},expand:()=>{const{collapsible:o,collapsedSize:l,minSize:c}=r(),{mutableValues:p}=a(),m=i();if(o&&m===l){let h=p.expandToSize??c;h===0&&(h=1),s(h)}},getSize:()=>{const{group:o}=t(),l=i(),{element:c}=a(),p=o.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:l,inPixels:p}},isCollapsed:()=>{const{collapsible:o,collapsedSize:l}=r(),c=i();return o&&fe(l,c)},resize:o=>{if(i()!==o){let l;switch(typeof o){case"number":{const{group:c}=t(),p=bn({group:c});l=Re(o/p*100);break}case"string":{l=parseFloat(o);break}}s(l)}}}}function Ol(e,n){const{id:t}=Sr(),r=x.useRef({collapse:$t,expand:$t,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:$t});x.useImperativeHandle(n,()=>r.current,[]),tn(()=>{Object.assign(r.current,jl({groupId:t,panelId:e}))})}function Xi({children:e,className:n,collapsedSize:t="0%",collapsible:r=!1,defaultSize:a,elementRef:i,id:s,maxSize:o="100%",minSize:l="0%",onResize:c,panelRef:p,style:m,...h}){const f=!!s,d=xr(s),g=x.useRef(null),b=Er(g,i),[,N]=Ki(),{getPanelStyles:y,id:w,registerPanel:v}=Sr(),E=c!==null,S=In((D,O,k)=>{c==null||c(D,s,k)});tn(()=>{const D=g.current;if(D!==null)return v({element:D,id:d,idIsStable:f,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:E?S:void 0,panelConstraints:{collapsedSize:t,collapsible:r,defaultSize:a,maxSize:o,minSize:l},scheduleUpdate:N})},[t,r,a,N,E,d,f,o,l,S,v]),Ol(d,p);const C=y(w,d);return L.jsx("div",{...h,"data-panel":!0,"data-testid":d,id:d,ref:b,style:{...Vl,flexBasis:0,flexShrink:1,overflow:"hidden",...C},children:L.jsx("div",{className:n,style:{width:"100%",height:"100%",...m},children:e})})}Xi.displayName="Panel";const Vl={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Ll({layout:e,panelConstraints:n,panelId:t,panelIndex:r}){let a,i;const s=e[t],o=n.find(l=>l.panelId===t);if(o){const l=o.maxSize,c=i=o.collapsible?o.collapsedSize:o.minSize,p=[r,r+1];i=nn({layout:On({delta:c-s,initialLayout:e,panelConstraints:n,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:n})[t],a=nn({layout:On({delta:l-s,initialLayout:e,panelConstraints:n,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:n})[t]}return{valueControls:t,valueMax:a,valueMin:i,valueNow:s}}function qi({children:e,className:n,elementRef:t,id:r,style:a,...i}){const s=xr(r),[o,l]=x.useState({}),[c,p]=x.useState("inactive"),m=x.useRef(null),h=Er(m,t),{id:f,orientation:d,registerSeparator:g}=Sr(),b=d==="horizontal"?"vertical":"horizontal";return tn(()=>{const N=m.current;if(N!==null){const y={element:N,id:s},w=g(y),v=Je.addListener("interactionStateChange",S=>{p(S.state!=="inactive"&&S.hitRegions.some(C=>C.separator===y)?S.state:"inactive")}),E=Je.addListener("mountedGroupsChange",S=>{S.forEach(({derivedPanelConstraints:C,layout:D,separatorToPanels:O},k)=>{if(k.id===f){const j=O.get(y);if(j){const M=j[0],_=k.panels.indexOf(M);l(Ll({layout:D,panelConstraints:C,panelId:M.id,panelIndex:_}))}}})});return()=>{v(),E(),w()}}},[f,s,g]),L.jsx("div",{...i,"aria-controls":o.valueControls,"aria-orientation":b,"aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:e,className:n,"data-separator":c,"data-testid":s,id:s,ref:h,role:"separator",style:{flexBasis:"auto",...a,flexGrow:0,flexShrink:0},tabIndex:0})}qi.displayName="Separator";const dd=({className:e,...n})=>u.jsxDEV(Yi,{className:X("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:9,columnNumber:3},void 0),hd=Xi,fd=({withHandle:e,className:n,...t})=>u.jsxDEV(qi,{className:X("relative flex w-2 items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-border after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1","aria-[orientation=horizontal]:h-2 aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:inset-y-auto aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-px aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90",n),...t,children:e&&u.jsxDEV("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:u.jsxDEV(no,{className:"h-2.5 w-2.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:38,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:37,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:24,columnNumber:3},void 0),Ml=40,Zi={added:{label:"A",className:"bg-green-500 text-white",iconColor:"text-green-600 dark:text-green-400"},modified:{label:"M",className:"bg-yellow-500 text-white",iconColor:"text-amber-700 dark:text-amber-400"},deleted:{label:"D",className:"bg-red-500 text-white",iconColor:"text-red-600 dark:text-red-400"},renamed:{label:"R",className:"bg-blue-500 text-white",iconColor:"text-blue-600 dark:text-blue-400"},copied:{label:"C",className:"bg-purple-500 text-white",iconColor:"text-purple-600 dark:text-purple-400"}};function Fl(e){const n=[],t=new Map,r=[...e].sort((a,i)=>a.path.localeCompare(i.path));for(const a of r){const i=a.path.split("/");let s="",o=n;for(let c=0;c<i.length-1;c++){const p=i[c];s=s?`${s}/${p}`:p;let m=t.get(s);m||(m={name:p,path:s,isFolder:!0,children:[]},t.set(s,m),o.push(m)),o=m.children}const l=i[i.length-1];o.push({name:l,path:a.path,isFolder:!1,file:a})}return n}function qt(e){return e.map(n=>{if(!n.isFolder||!n.children)return n;let t=qt(n.children),r={...n};for(;t.length===1&&t[0].isFolder;){const a=t[0];r={...r,name:`${r.name}/${a.name}`,path:a.path,children:a.children},t=a.children?qt(a.children):[]}return{...r,children:t}})}function Pl(e){const n=Fl(e);return qt(n)}function Qi({additions:e,deletions:n}){const t=[e>0?`${e} additions`:null,n>0?`${n} deletions`:null].filter(Boolean).join(", ");return u.jsxDEV("span",{className:"text-xs shrink-0 font-mono","aria-label":t||"No changes",children:[e>0&&u.jsxDEV("span",{className:"text-green-600","aria-hidden":"true",children:["+",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:151,columnNumber:9},this),e>0&&n>0&&u.jsxDEV("span",{className:"text-muted-foreground","aria-hidden":"true",children:"/"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:156,columnNumber:9},this),n>0&&u.jsxDEV("span",{className:"text-red-600","aria-hidden":"true",children:["-",n]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:161,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:149,columnNumber:5},this)}function Ji({node:e,depth:n,selectedFile:t,onSelectFile:r,expandedFolders:a,onToggleFolder:i,commentCounts:s,searchQuery:o}){var f,d;const l=a.has(e.path),c=8+n*16;if(e.isFolder){const g=o.toLowerCase(),b=o?e.name.toLowerCase().includes(g)||e.path.toLowerCase().includes(g):!1;return(o?b||((f=e.children)==null?void 0:f.some(y=>y.path.toLowerCase().includes(g)||y.isFolder&&es(y,o))):!0)?u.jsxDEV("div",{role:"treeitem","aria-expanded":l,children:[u.jsxDEV("button",{className:X("w-full text-left px-2 py-1.5 flex items-center gap-1.5 hover:bg-accent rounded-sm transition-colors"),style:{paddingLeft:c},onClick:()=>i(e.path),"aria-expanded":l,"aria-label":`${e.name} folder, ${l?"expanded":"collapsed"}`,title:e.path,children:[l?u.jsxDEV(dt,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:221,columnNumber:13},this):u.jsxDEV(ht,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:223,columnNumber:13},this),u.jsxDEV(Go,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:225,columnNumber:11},this),u.jsxDEV("span",{className:"truncate text-sm font-medium",children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:226,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:210,columnNumber:9},this),l&&u.jsxDEV("div",{role:"group",children:(d=e.children)==null?void 0:d.map(y=>u.jsxDEV(Ji,{node:y,depth:n+1,selectedFile:t,onSelectFile:r,expandedFolders:a,onToggleFolder:i,commentCounts:s,searchQuery:o},y.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:231,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:229,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:209,columnNumber:7},this):null}const p=e.file,m=t===e.path,h=(s==null?void 0:s[e.path])??0;return o&&!e.path.toLowerCase().includes(o.toLowerCase())?null:u.jsxDEV("button",{className:X("w-full text-left px-2 py-1.5 flex items-center gap-1.5 rounded-sm transition-colors",m?"bg-accent":"hover:bg-accent/50"),style:{paddingLeft:c+20},onClick:()=>r(e.path),role:"treeitem","aria-selected":m,"aria-label":`${e.name}, ${p.status}, ${p.additions} additions, ${p.deletions} deletions${h>0?`, ${h} comments`:""}`,children:[u.jsxDEV("span",{title:p.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:X("h-4 w-4",Zi[p.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:272,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:271,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:p.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:277,columnNumber:7},this),u.jsxDEV("span",{className:X("truncate flex-1 text-sm",m&&"font-medium",p.status==="deleted"&&"opacity-70"),children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:278,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[h>0&&u.jsxDEV(xe,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(Ae,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:290,columnNumber:13},this),h]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV(Qi,{additions:p.additions,deletions:p.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:294,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:287,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:260,columnNumber:5},this)}function es(e,n){if(!e.children)return!1;const t=n.toLowerCase();return e.children.some(r=>r.path.toLowerCase().includes(t)||r.name.toLowerCase().includes(t)||r.isFolder&&es(r,n))}function $l({file:e,isSelected:n,onSelect:t,commentCount:r}){return u.jsxDEV("button",{className:X("w-full text-left px-3 py-2 flex items-center gap-2 rounded-md transition-colors",n?"bg-accent":"hover:bg-accent/50"),onClick:t,role:"option","aria-selected":n,"aria-label":`${e.path}, ${e.status}, ${e.additions} additions, ${e.deletions} deletions${r>0?`, ${r} comments`:""}`,children:[u.jsxDEV("span",{title:e.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:X("h-4 w-4",Zi[e.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:334,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:333,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:e.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:339,columnNumber:7},this),u.jsxDEV("span",{className:X("truncate flex-1 text-sm",n&&"font-medium",e.status==="deleted"&&"opacity-70"),children:e.path},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:340,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[r>0&&u.jsxDEV(xe,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(Ae,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:352,columnNumber:13},this),r]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:351,columnNumber:11},this),u.jsxDEV(Qi,{additions:e.additions,deletions:e.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:356,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:349,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:323,columnNumber:5},this)}function gd({files:e,selectedFile:n,onSelectFile:t,commentCounts:r,isLoading:a}){const[i,s]=x.useState(""),[o,l]=x.useState("tree"),[c,p]=x.useState(new Set),[m,h]=x.useState(!1),f=x.useRef(null);x.useEffect(()=>{if(e.length>0&&!m){const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v),h(!0)}},[e,m]);const d=x.useMemo(()=>Pl(e),[e]),g=x.useMemo(()=>{if(!i)return e;const v=i.toLowerCase();return e.filter(E=>E.path.toLowerCase().includes(v))},[e,i]),b=to({count:g.length,getScrollElement:()=>f.current,estimateSize:()=>Ml,overscan:5});x.useEffect(()=>{if(o==="flat"&&n){const v=g.findIndex(E=>E.path===n);v!==-1&&b.scrollToIndex(v,{align:"auto"})}},[o,n,g,b]);const N=v=>{p(E=>{const S=new Set(E);return S.has(v)?S.delete(v):S.add(v),S})},y=()=>{const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v)},w=()=>{p(new Set)};return a?u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b",children:u.jsxDEV("div",{className:"h-9 bg-muted rounded-md animate-pulse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:453,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:452,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 p-2 space-y-1",children:Array.from({length:8}).map((v,E)=>u.jsxDEV("div",{className:"h-7 bg-muted rounded-sm animate-pulse"},E,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:457,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:455,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:451,columnNumber:7},this):e.length===0?u.jsxDEV("div",{className:"h-full flex flex-col items-center justify-center p-4 text-center text-muted-foreground",children:[u.jsxDEV(Oe,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:467,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm",children:"No files changed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:468,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:466,columnNumber:7},this):u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b space-y-2",children:[u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(pr,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:478,columnNumber:11},this),u.jsxDEV(mr,{placeholder:"Filter files...",value:i,onChange:v=>s(v.target.value),className:"pl-8 h-8 text-sm","aria-label":"Filter files by name"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:482,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:477,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 text-xs",role:"group","aria-label":"View options",children:[u.jsxDEV("button",{className:X("px-2 py-1 rounded-sm transition-colors",o==="tree"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("tree"),"aria-pressed":o==="tree",children:"Tree"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:491,columnNumber:11},this),u.jsxDEV("button",{className:X("px-2 py-1 rounded-sm transition-colors",o==="flat"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("flat"),"aria-pressed":o==="flat",children:"Flat"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:501,columnNumber:11},this),o==="tree"&&u.jsxDEV(u.Fragment,{children:[u.jsxDEV("span",{className:"mx-1 text-muted-foreground","aria-hidden":"true",children:"|"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:513,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:y,"aria-label":"Expand all folders",children:"Expand"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:516,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:w,"aria-label":"Collapse all folders",children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:523,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:512,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:490,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:476,columnNumber:7},this),o==="tree"?u.jsxDEV(dr,{className:"flex-1",children:u.jsxDEV("div",{className:"py-1",children:[u.jsxDEV("div",{role:"tree","aria-label":"Changed files",children:d.map(v=>u.jsxDEV(Ji,{node:v,depth:0,selectedFile:n,onSelectFile:t,expandedFolders:c,onToggleFolder:N,commentCounts:r,searchQuery:i},v.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:541,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:539,columnNumber:13},this),i&&g.length===0&&u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',i,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:555,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:538,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:537,columnNumber:9},this):u.jsxDEV("div",{ref:f,className:"flex-1 overflow-auto",role:"listbox","aria-label":"Changed files",children:g.length>0?u.jsxDEV("div",{className:"relative w-full px-1",style:{height:`${b.getTotalSize()}px`},children:b.getVirtualItems().map(v=>{const E=g[v.index];return u.jsxDEV("div",{className:"absolute top-0 left-0 w-full px-1",style:{height:`${v.size}px`,transform:`translateY(${v.start}px)`},children:u.jsxDEV($l,{file:E,isSelected:n===E.path,onSelect:()=>t(E.path),commentCount:(r==null?void 0:r[E.path])??0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:591,columnNumber:21},this)},E.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:583,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:576,columnNumber:13},this):i?u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',i,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:602,columnNumber:13},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:569,columnNumber:9},this),u.jsxDEV("div",{className:"p-2 border-t text-xs text-muted-foreground",children:[e.length," file",e.length!==1?"s":""," changed",i&&g.length!==e.length&&u.jsxDEV("span",{children:[" (",g.length," shown)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:613,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:610,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:474,columnNumber:5},this)}function _a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,r)}return t}function Q(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?_a(Object(t),!0).forEach(function(r){Zt(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_a(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function Zt(e,n,t){return(n=function(r){var a=function(i,s){if(typeof i!="object"||i===null)return i;var o=i[Symbol.toPrimitive];if(o!==void 0){var l=o.call(i,s);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(i)}(r,"string");return typeof a=="symbol"?a:String(a)}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function Ke(e,n){if(e==null)return{};var t,r,a=function(s,o){if(s==null)return{};var l,c,p={},m=Object.keys(s);for(c=0;c<m.length;c++)l=m[c],o.indexOf(l)>=0||(p[l]=s[l]);return p}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function q(e,n){return ts(e)||function(t,r){var a=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(a!=null){var i,s,o,l,c=[],p=!0,m=!1;try{if(o=(a=a.call(t)).next,r===0){if(Object(a)!==a)return;p=!1}else for(;!(p=(i=o.call(a)).done)&&(c.push(i.value),c.length!==r);p=!0);}catch(h){m=!0,s=h}finally{try{if(!p&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(m)throw s}}return c}}(e,n)||gt(e,n)||as()}function ns(e){return ts(e)||rs(e)||gt(e)||as()}function Ee(e){return function(n){if(Array.isArray(n))return Qt(n)}(e)||rs(e)||gt(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
41
+ */const qo=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 12h18",key:"1i2n21"}]],Zo=Ke("rows-2",qo);var Ei="Toggle",Si=y.forwardRef((e,n)=>{const{pressed:t,defaultPressed:r,onPressedChange:a,...i}=e,[s,o]=cr({prop:t,onChange:a,defaultProp:r??!1,caller:Ei});return L.jsx(Wt.button,{type:"button","aria-pressed":s,"data-state":s?"on":"off","data-disabled":e.disabled?"":void 0,...i,ref:n,onClick:qs(e.onClick,()=>{e.disabled||o(!s)})})});Si.displayName=Ei;var We="ToggleGroup",[Di]=Zs(We,[Ni]),Ci=Ni(),vr=je.forwardRef((e,n)=>{const{type:t,...r}=e;if(t==="single"){const a=r;return L.jsx(Qo,{...a,ref:n})}if(t==="multiple"){const a=r;return L.jsx(Jo,{...a,ref:n})}throw new Error(`Missing prop \`type\` expected on \`${We}\``)});vr.displayName=We;var[Ti,ki]=Di(We),Qo=je.forwardRef((e,n)=>{const{value:t,defaultValue:r,onValueChange:a=()=>{},...i}=e,[s,o]=cr({prop:t,defaultProp:r??"",onChange:a,caller:We});return L.jsx(Ti,{scope:e.__scopeToggleGroup,type:"single",value:je.useMemo(()=>s?[s]:[],[s]),onItemActivate:o,onItemDeactivate:je.useCallback(()=>o(""),[o]),children:L.jsx(Ai,{...i,ref:n})})}),Jo=je.forwardRef((e,n)=>{const{value:t,defaultValue:r,onValueChange:a=()=>{},...i}=e,[s,o]=cr({prop:t,defaultProp:r??[],onChange:a,caller:We}),l=je.useCallback(p=>o((m=[])=>[...m,p]),[o]),c=je.useCallback(p=>o((m=[])=>m.filter(h=>h!==p)),[o]);return L.jsx(Ti,{scope:e.__scopeToggleGroup,type:"multiple",value:s,onItemActivate:l,onItemDeactivate:c,children:L.jsx(Ai,{...i,ref:n})})});vr.displayName=We;var[el,nl]=Di(We),Ai=je.forwardRef((e,n)=>{const{__scopeToggleGroup:t,disabled:r=!1,rovingFocus:a=!0,orientation:i,dir:s,loop:o=!0,...l}=e,c=Ci(t),p=Js(s),m={role:"group",dir:p,...l};return L.jsx(el,{scope:t,rovingFocus:a,disabled:r,children:a?L.jsx(eo,{asChild:!0,...c,orientation:i,dir:p,loop:o,children:L.jsx(Wt.div,{...m,ref:n})}):L.jsx(Wt.div,{...m,ref:n})})}),ct="ToggleGroupItem",Ii=je.forwardRef((e,n)=>{const t=ki(ct,e.__scopeToggleGroup),r=nl(ct,e.__scopeToggleGroup),a=Ci(e.__scopeToggleGroup),i=t.value.includes(e.value),s=r.disabled||e.disabled,o={...e,pressed:i,disabled:s},l=je.useRef(null);return r.rovingFocus?L.jsx(Qs,{asChild:!0,...a,focusable:!s,active:i,ref:l,children:L.jsx(va,{...o,ref:n})}):L.jsx(va,{...o,ref:n})});Ii.displayName=ct;var va=je.forwardRef((e,n)=>{const{__scopeToggleGroup:t,value:r,...a}=e,i=ki(ct,t),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},o=i.type==="single"?s:void 0;return L.jsx(Si,{...o,...a,ref:n,onPressedChange:l=>{l?i.onItemActivate(r):i.onItemDeactivate(r)}})}),_i=vr,Ri=Ii;const ji=y.createContext({size:"default",variant:"default"}),Nr=y.forwardRef(({className:e,variant:n,size:t,children:r,...a},i)=>u.jsxDEV(_i,{ref:i,className:X("flex items-center justify-center gap-1",e),...a,children:u.jsxDEV(ji.Provider,{value:{variant:n,size:t},children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:25,columnNumber:5},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:20,columnNumber:3},void 0));Nr.displayName=_i.displayName;const tl={default:"bg-transparent data-[state=on]:bg-accent data-[state=on]:text-accent-foreground",outline:"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground data-[state=on]:bg-accent data-[state=on]:text-accent-foreground"},rl={default:"h-9 px-3",sm:"h-8 px-2",lg:"h-10 px-4"},wr=y.forwardRef(({className:e,children:n,variant:t,size:r,...a},i)=>{const s=y.useContext(ji);return u.jsxDEV(Ri,{ref:i,className:X("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",tl[t??s.variant??"default"],rl[r??s.size??"default"],e),...a,children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/toggle-group.tsx",lineNumber:53,columnNumber:5},void 0)});wr.displayName=Ri.displayName;function te(e,n="Assertion error"){if(!e)throw Error(n)}function bn({group:e}){const{orientation:n,panels:t}=e;return t.reduce((r,a)=>(r+=n==="horizontal"?a.element.offsetWidth:a.element.offsetHeight,r),0)}function Xt(e,n){return n.sort(e==="horizontal"?al:il)}function al(e,n){const t=e.element.offsetLeft-n.element.offsetLeft;return t!==0?t:e.element.offsetWidth-n.element.offsetWidth}function il(e,n){const t=e.element.offsetTop-n.element.offsetTop;return t!==0?t:e.element.offsetHeight-n.element.offsetHeight}function Oi(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.ELEMENT_NODE}function Vi(e,n){return{x:e.x>=n.left&&e.x<=n.right?0:Math.min(Math.abs(e.x-n.left),Math.abs(e.x-n.right)),y:e.y>=n.top&&e.y<=n.bottom?0:Math.min(Math.abs(e.y-n.top),Math.abs(e.y-n.bottom))}}function sl({orientation:e,rects:n,targetRect:t}){const r={x:t.x+t.width/2,y:t.y+t.height/2};let a,i=Number.MAX_VALUE;for(const s of n){const{x:o,y:l}=Vi(r,s),c=e==="horizontal"?o:l;c<i&&(i=c,a=s)}return te(a,"No rect found"),a}function Li(e){const{element:n,orientation:t,panels:r,separators:a}=e,i=Xt(t,Array.from(n.children).filter(Oi).map(p=>({element:p}))).map(({element:p})=>p),s=[];let o=!1,l,c=[];for(const p of i)if(p.hasAttribute("data-panel")){const m=r.find(h=>h.element===p);if(m){if(l){const h=l.element.getBoundingClientRect(),f=p.getBoundingClientRect();let d;if(o){const g=t==="horizontal"?new DOMRect(h.right,h.top,0,h.height):new DOMRect(h.left,h.bottom,h.width,0),b=t==="horizontal"?new DOMRect(f.left,f.top,0,f.height):new DOMRect(f.left,f.top,f.width,0);switch(c.length){case 0:{d=[g,b];break}case 1:{const N=c[0],x=sl({orientation:t,rects:[h,f],targetRect:N.element.getBoundingClientRect()});d=[N,x===h?b:g];break}default:{d=c;break}}}else c.length?d=c:d=[t==="horizontal"?new DOMRect(h.right,f.top,f.left-h.right,f.height):new DOMRect(f.left,h.bottom,f.width,f.top-h.bottom)];for(const g of d)s.push({group:e,groupSize:bn({group:e}),panels:[l,m],separator:"width"in g?void 0:g,rect:"width"in g?g:g.element.getBoundingClientRect()})}o=!1,l=m,c=[]}}else if(p.hasAttribute("data-separator")){const m=a.find(h=>h.element===p);m?c.push(m):(l=void 0,c=[])}else o=!0;return s}function ol(e,n){const t=getComputedStyle(e),r=parseFloat(t.fontSize);return n*r}function ll(e,n){const t=getComputedStyle(e.ownerDocument.body),r=parseFloat(t.fontSize);return n*r}function ul(e){return e/100*window.innerHeight}function cl(e){return e/100*window.innerWidth}function pl(e){switch(typeof e){case"number":return[e,"px"];case"string":{const n=parseFloat(e);return e.endsWith("%")?[n,"%"]:e.endsWith("px")?[n,"px"]:e.endsWith("rem")?[n,"rem"]:e.endsWith("em")?[n,"em"]:e.endsWith("vh")?[n,"vh"]:e.endsWith("vw")?[n,"vw"]:[n,"%"]}}}function Kn({groupSize:e,panelElement:n,styleProp:t}){let r;const[a,i]=pl(t);switch(i){case"%":{r=a/100*e;break}case"px":{r=a;break}case"rem":{r=ll(n,a);break}case"em":{r=ol(n,a);break}case"vh":{r=ul(a);break}case"vw":{r=cl(a);break}}return r}function Re(e){return parseFloat(e.toFixed(3))}function Na(e){const{panels:n}=e,t=bn({group:e});return t===0?n.map(r=>({collapsedSize:0,collapsible:r.panelConstraints.collapsible===!0,defaultSize:void 0,minSize:0,maxSize:100,panelId:r.id})):n.map(r=>{const{element:a,panelConstraints:i}=r;let s=0;if(i.collapsedSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.collapsedSize});s=Re(p/t*100)}let o;if(i.defaultSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.defaultSize});o=Re(p/t*100)}let l=0;if(i.minSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.minSize});l=Re(p/t*100)}let c=100;if(i.maxSize){const p=Kn({groupSize:t,panelElement:a,styleProp:i.maxSize});c=Re(p/t*100)}return{collapsedSize:s,collapsible:i.collapsible===!0,defaultSize:o,minSize:l,maxSize:c,panelId:r.id}})}var Ue;class ml{constructor(){ha(this,Ue,{})}addListener(n,t){const r=Tn(this,Ue)[n];return r===void 0?Tn(this,Ue)[n]=[t]:r.includes(t)||r.push(t),()=>{this.removeListener(n,t)}}emit(n,t){const r=Tn(this,Ue)[n];if(r!==void 0)if(r.length===1)r[0].call(null,t);else{let a=!1,i=null;const s=Array.from(r);for(let o=0;o<s.length;o++){const l=s[o];try{l.call(null,t)}catch(c){i===null&&(a=!0,i=c)}}if(a)throw i}}removeAllListeners(){fa(this,Ue,{})}removeListener(n,t){const r=Tn(this,Ue)[n];if(r!==void 0){const a=r.indexOf(t);a>=0&&r.splice(a,1)}}}Ue=new WeakMap;function fe(e,n,t=0){return Math.abs(Re(e)-Re(n))<=t}let Te={cursorFlags:0,interactionState:{state:"inactive"},mountedGroups:new Map};const Je=new ml;function Ie(){return Te}function be(e){const n=typeof e=="function"?e(Te):e;if(Te===n)return Te;const t=Te;return Te={...Te,...n},n.cursorFlags!==void 0&&Je.emit("cursorFlagsChange",Te.cursorFlags),n.interactionState!==void 0&&Je.emit("interactionStateChange",Te.interactionState),n.mountedGroups!==void 0&&(Te.mountedGroups.forEach((r,a)=>{r.derivedPanelConstraints.forEach(i=>{if(i.collapsible){const{layout:s}=t.mountedGroups.get(a)??{};if(s){const o=fe(i.collapsedSize,r.layout[i.panelId]),l=fe(i.collapsedSize,s[i.panelId]);o&&!l&&(a.inMemoryLastExpandedPanelSizes[i.panelId]=s[i.panelId])}}})}),Je.emit("mountedGroupsChange",Te.mountedGroups)),Te}function dl(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(e[t]!=n[t])return!1;return!0}function jn(e,n){return fe(e,n)?0:e>n?1:-1}function dn({panelConstraints:e,size:n}){const{collapsedSize:t=0,collapsible:r,maxSize:a=100,minSize:i=0}=e;if(jn(n,i)<0)if(r){const s=(t+i)/2;jn(n,s)<0?n=t:n=i}else n=i;return n=Math.min(a,n),n=Re(n),n}function On({delta:e,initialLayout:n,panelConstraints:t,pivotIndices:r,prevLayout:a,trigger:i}){if(fe(e,0))return n;const s=Object.values(n),o=Object.values(a),l=[...s],[c,p]=r;te(c!=null,"Invalid first pivot index"),te(p!=null,"Invalid second pivot index");let m=0;if(i==="keyboard"){{const d=e<0?p:c,g=t[d];te(g,`Panel constraints not found for index ${d}`);const{collapsedSize:b=0,collapsible:N,minSize:x=0}=g;if(N){const w=s[d];if(te(w!=null,`Previous layout not found for panel index ${d}`),fe(w,b)){const v=x-w;jn(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}{const d=e<0?c:p,g=t[d];te(g,`No panel constraints found for index ${d}`);const{collapsedSize:b=0,collapsible:N,minSize:x=0}=g;if(N){const w=s[d];if(te(w!=null,`Previous layout not found for panel index ${d}`),fe(w,x)){const v=w-b;jn(v,Math.abs(e))>0&&(e=e<0?0-v:v)}}}}{const d=e<0?1:-1;let g=e<0?p:c,b=0;for(;;){const x=s[g];te(x!=null,`Previous layout not found for panel index ${g}`);const w=dn({panelConstraints:t[g],size:100})-x;if(b+=w,g+=d,g<0||g>=t.length)break}const N=Math.min(Math.abs(e),Math.abs(b));e=e<0?0-N:N}{let d=e<0?c:p;for(;d>=0&&d<t.length;){const g=Math.abs(e)-Math.abs(m),b=s[d];te(b!=null,`Previous layout not found for panel index ${d}`);const N=b-g,x=dn({panelConstraints:t[d],size:N});if(!fe(b,x)&&(m+=b-x,l[d]=x,m.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?d--:d++}}if(dl(o,l))return a;{const d=e<0?p:c,g=s[d];te(g!=null,`Previous layout not found for panel index ${d}`);const b=g+m,N=dn({panelConstraints:t[d],size:b});if(l[d]=N,!fe(N,b)){let x=b-N,w=e<0?p:c;for(;w>=0&&w<t.length;){const v=l[w];te(v!=null,`Previous layout not found for panel index ${w}`);const E=v+x,S=dn({panelConstraints:t[w],size:E});if(fe(v,S)||(x-=S-v,l[w]=S),fe(x,0))break;e>0?w--:w++}}}const h=Object.values(l).reduce((d,g)=>g+d,0);if(!fe(h,100,.1))return a;const f=Object.keys(a);return l.reduce((d,g,b)=>(d[f[b]]=g,d),{})}function et(e){const{mountedGroups:n}=Ie();for(const[t]of n)if(t.separators.some(r=>r.element===e))return t;throw Error("Could not find parent Group for separator element")}function en(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(const t in e)if(n[t]===void 0||jn(e[t],n[t])!==0)return!1;return!0}function nn({layout:e,panelConstraints:n}){const t=[...Object.values(e)],r=t.reduce((s,o)=>s+o,0);if(t.length!==n.length)throw Error(`Invalid ${n.length} panel layout: ${t.map(s=>`${s}%`).join(", ")}`);if(!fe(r,100)&&t.length>0)for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=100/r*o;t[s]=l}let a=0;for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=dn({panelConstraints:n[s],size:o});o!=l&&(a+=o-l,t[s]=l)}if(!fe(a,0))for(let s=0;s<n.length;s++){const o=t[s];te(o!=null,`No layout data found for index ${s}`);const l=o+a,c=dn({panelConstraints:n[s],size:l});if(o!==c&&(a-=c-o,t[s]=c,fe(a,0)))break}const i=Object.keys(e);return t.reduce((s,o,l)=>(s[i[l]]=o,s),{})}function Mi({groupId:e}){const n=()=>{const{mountedGroups:t}=Ie();for(const[r,a]of t)if(r.id===e)return{group:r,...a};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){const{defaultLayoutDeferred:t,layout:r}=n();return t?{}:r},setLayout(t){const{defaultLayoutDeferred:r,derivedPanelConstraints:a,group:i,layout:s,separatorToPanels:o}=n(),l=nn({layout:t,panelConstraints:a});return r?s:(en(s,l)||be(c=>({mountedGroups:new Map(c.mountedGroups).set(i,{defaultLayoutDeferred:r,derivedPanelConstraints:a,layout:l,separatorToPanels:o})})),l)}}}function Fi(e){const{mountedGroups:n}=Ie(),t=n.get(e);return te(t,`Mounted Group ${e.id} not found`),t}function Ze(e,n){const t=et(e),r=Fi(t),a=t.separators.find(p=>p.element===e);te(a,"Matching separator not found");const i=r.separatorToPanels.get(a);te(i,"Matching panels not found");const s=i.map(p=>t.panels.indexOf(p)),o=Mi({groupId:t.id}).getLayout(),l=On({delta:n,initialLayout:o,panelConstraints:r.derivedPanelConstraints,pivotIndices:s,prevLayout:o,trigger:"keyboard"}),c=nn({layout:l,panelConstraints:r.derivedPanelConstraints});en(o,c)||be(p=>({mountedGroups:new Map(p.mountedGroups).set(t,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,layout:c,separatorToPanels:r.separatorToPanels})}))}function wa(e){if(e.defaultPrevented)return;const n=e.currentTarget,t=et(n);if(!t.disabled)switch(e.key){case"ArrowDown":{e.preventDefault(),t.orientation==="vertical"&&Ze(n,5);break}case"ArrowLeft":{e.preventDefault(),t.orientation==="horizontal"&&Ze(n,-5);break}case"ArrowRight":{e.preventDefault(),t.orientation==="horizontal"&&Ze(n,5);break}case"ArrowUp":{e.preventDefault(),t.orientation==="vertical"&&Ze(n,-5);break}case"End":{e.preventDefault(),Ze(n,100);break}case"Enter":{e.preventDefault();const r=et(n),{derivedPanelConstraints:a,layout:i,separatorToPanels:s}=Fi(r),o=r.separators.find(m=>m.element===n);te(o,"Matching separator not found");const l=s.get(o);te(l,"Matching panels not found");const c=l[0],p=a.find(m=>m.panelId===c.id);if(te(p,"Panel metadata not found"),p.collapsible){const m=i[c.id],h=p.collapsedSize===m?r.inMemoryLastExpandedPanelSizes[c.id]??p.minSize:p.collapsedSize;Ze(n,h-m)}break}case"F6":{e.preventDefault();const r=et(n).separators.map(s=>s.element),a=Array.from(r).findIndex(s=>s===e.currentTarget);te(a!==null,"Index not found");const i=e.shiftKey?a>0?a-1:r.length-1:a+1<r.length?a+1:0;r[i].focus();break}case"Home":{e.preventDefault(),Ze(n,-100);break}}}const hl=e=>e,$t=()=>{},Pi=1,$i=2,zi=4,Bi=8,xa={coarse:10,precise:5};function fl(e,n,t){let r,a={x:1/0,y:1/0};for(const i of n){const s=Vi(t,i.rect);switch(e){case"horizontal":{s.x<=a.x&&(r=i,a=s);break}case"vertical":{s.y<=a.y&&(r=i,a=s);break}}}return r?{distance:a,hitRegion:r}:void 0}let Wn;function gl(){return Wn===void 0&&(typeof matchMedia=="function"?Wn=!!matchMedia("(pointer:coarse)").matches:Wn=!1),Wn}function bl(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function vl(e,n){if(e===n)throw new Error("Cannot compare node with itself");const t={a:Sa(e),b:Sa(n)};let r;for(;t.a.at(-1)===t.b.at(-1);)e=t.a.pop(),n=t.b.pop(),r=e;te(r,"Stacking order can only be calculated for elements with a common ancestor");const a={a:Ea(ya(t.a)),b:Ea(ya(t.b))};if(a.a===a.b){const i=r.childNodes,s={a:t.a.at(-1),b:t.b.at(-1)};let o=i.length;for(;o--;){const l=i[o];if(l===s.a)return 1;if(l===s.b)return-1}}return Math.sign(a.a-a.b)}const Nl=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function wl(e){const n=getComputedStyle(Gi(e)??e).display;return n==="flex"||n==="inline-flex"}function xl(e){const n=getComputedStyle(e);return!!(n.position==="fixed"||n.zIndex!=="auto"&&(n.position!=="static"||wl(e))||+n.opacity<1||"transform"in n&&n.transform!=="none"||"webkitTransform"in n&&n.webkitTransform!=="none"||"mixBlendMode"in n&&n.mixBlendMode!=="normal"||"filter"in n&&n.filter!=="none"||"webkitFilter"in n&&n.webkitFilter!=="none"||"isolation"in n&&n.isolation==="isolate"||Nl.test(n.willChange)||n.webkitOverflowScrolling==="touch")}function ya(e){let n=e.length;for(;n--;){const t=e[n];if(te(t,"Missing node"),xl(t))return t}return null}function Ea(e){return e&&Number(getComputedStyle(e).zIndex)||0}function Sa(e){const n=[];for(;e;)n.push(e),e=Gi(e);return n}function Gi(e){const{parentNode:n}=e;return bl(n)?n.host:n}function yl(e,n){return e.x<n.x+n.width&&e.x+e.width>n.x&&e.y<n.y+n.height&&e.y+e.height>n.y}function El({groupElement:e,hitRegion:n,pointerEventTarget:t}){if(!Oi(t)||t.contains(e)||e.contains(t))return!0;if(vl(t,e)>0){let r=t;for(;r;){if(r.contains(e))return!0;if(yl(r.getBoundingClientRect(),n))return!1;r=r.parentElement}}return!0}function Ui(e,n){const t=[];return n.forEach((r,a)=>{if(a.disabled)return;const i=gl()?xa.coarse:xa.precise,s=Li(a),o=fl(a.orientation,s,{x:e.clientX,y:e.clientY});o&&o.distance.x<=i&&o.distance.y<=i&&El({groupElement:a.element,hitRegion:o.hitRegion.rect,pointerEventTarget:e.target})&&t.push(o.hitRegion)}),t}function Da(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{mountedGroups:n}=Ie(),t=Ui(e,n),r=new Set,a=new Set,i=new Set,s=new Map;let o=!1;t.forEach(l=>{r.add(l.group),l.panels.forEach(p=>{a.add(p)}),l.separator&&(i.add(l.separator),o||(o=!0,l.separator.element.focus()));const c=n.get(l.group);c&&s.set(l.group,c.layout)}),be({interactionState:{hitRegions:t,initialLayoutMap:s,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:"active"}}),t.length&&e.preventDefault()}function Sl({cursorFlags:e,groups:n,state:t}){let r=0,a=0;switch(t){case"active":case"hover":n.forEach(i=>{if(!i.disableCursor)switch(i.orientation){case"horizontal":{r++;break}case"vertical":{a++;break}}})}if(r===0&&a===0)return null;switch(t){case"active":{const i=(e&Pi)!==0,s=(e&$i)!==0,o=(e&zi)!==0,l=(e&Bi)!==0;if(e){if(i)return o?"se-resize":l?"ne-resize":"e-resize";if(s)return o?"sw-resize":l?"nw-resize":"w-resize";if(o)return"s-resize";if(l)return"n-resize"}break}}return r>0&&a>0?"move":r>0?"ew-resize":"ns-resize"}const Ca=new WeakMap;function xr(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:n,styleSheet:t}=Ca.get(e)??{};t===void 0&&(t=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets=[t]);const{cursorFlags:r,interactionState:a}=Ie();switch(a.state){case"active":case"hover":{const i=Sl({cursorFlags:r,groups:a.hitRegions.map(o=>o.group),state:a.state}),s=`*{cursor: ${i} !important; ${a.state==="active"?"touch-action: none;":""} }`;if(n===s)return;n=s,i?t.cssRules.length===0?t.insertRule(s):t.replaceSync(s):t.cssRules.length===1&&t.deleteRule(0);break}case"inactive":{n=void 0,t.cssRules.length===1&&t.deleteRule(0);break}}Ca.set(e,{prevStyle:n,styleSheet:t})}function Hi({document:e,event:n,hitRegions:t,initialLayoutMap:r,mountedGroups:a,pointerDownAtPoint:i}){let s=0;const o=new Map(a);t.forEach(l=>{const{group:c,groupSize:p}=l,{disableCursor:m,orientation:h,panels:f}=c;let d=0;i?h==="horizontal"?d=(n.clientX-i.x)/p*100:d=(n.clientY-i.y)/p*100:h==="horizontal"?d=n.clientX<0?-100:100:d=n.clientY<0?-100:100;const g=r.get(c),{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:x,separatorToPanels:w}=a.get(c)??{defaultLayoutDeferred:!1};if(N&&g&&x&&w){const v=On({delta:d,initialLayout:g,panelConstraints:N,pivotIndices:l.panels.map(E=>f.indexOf(E)),prevLayout:x,trigger:"mouse-or-touch"});if(en(v,x)){if(d!==0&&!m)switch(h){case"horizontal":{s|=d<0?Pi:$i;break}case"vertical":{s|=d<0?zi:Bi;break}}}else{o.set(l.group,{defaultLayoutDeferred:b,derivedPanelConstraints:N,layout:v,separatorToPanels:w});const E=l.group.panels.map(({id:S})=>S).join(",");l.group.inMemoryLayouts[E]=v}}}),be({cursorFlags:s,mountedGroups:o}),xr(e)}function Ta(e){const{interactionState:n,mountedGroups:t}=Ie();switch(n.state){case"active":Hi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t})}}function ka(e){if(e.defaultPrevented)return;const{interactionState:n,mountedGroups:t}=Ie();switch(n.state){case"active":{if(e.buttons===0){be(r=>r.interactionState.state==="inactive"?r:{cursorFlags:0,interactionState:{state:"inactive"}}),be(r=>({mountedGroups:new Map(r.mountedGroups)}));return}Hi({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,pointerDownAtPoint:n.pointerDownAtPoint});break}default:{const r=Ui(e,t);r.length===0?n.state!=="inactive"&&be({interactionState:{state:"inactive"}}):be({interactionState:{hitRegions:r,state:"hover"}}),xr(e.currentTarget);break}}}function Aa(e){if(e.defaultPrevented||e.pointerType==="mouse"&&e.button>0)return;const{interactionState:n}=Ie();switch(n.state){case"active":be({cursorFlags:0,interactionState:{state:"inactive"}}),n.hitRegions.length>0&&(xr(e.currentTarget),be(t=>({mountedGroups:new Map(t.mountedGroups)})),e.preventDefault())}}function Ia(e){let n=0,t=0;const r={};for(const i of e)if(i.defaultSize!==void 0){n++;const s=Re(i.defaultSize);t+=s,r[i.panelId]=s}else r[i.panelId]=void 0;const a=e.length-n;if(a!==0){const i=Re((100-t)/a);for(const s of e)s.defaultSize===void 0&&(r[s.panelId]=i)}return r}function Dl(e,n,t){if(!t[0])return;const r=e.panels.find(l=>l.element===n);if(!r||!r.onResize)return;const a=bn({group:e}),i=e.orientation==="horizontal"?r.element.offsetWidth:r.element.offsetHeight,s=r.mutableValues.prevSize,o={asPercentage:Re(i/a*100),inPixels:i};r.mutableValues.prevSize=o,r.onResize(o,r.id,s)}function Cl(e,n){if(Object.keys(e).length!==Object.keys(n).length)return!1;for(const t in e)if(e[t]!==n[t])return!1;return!0}function Tl(e,n){const t=e.map(a=>a.id),r=Object.keys(n);if(t.length!==r.length)return!1;for(const a of t)if(!r.includes(a))return!1;return!0}const ln=new Map;function kl(e){let n=!0;te(e.element.ownerDocument.defaultView,"Cannot register an unmounted Group");const t=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,a=new Set,i=new t(d=>{for(const g of d){const{borderBoxSize:b,target:N}=g;if(N===e.element){if(n){if(bn({group:e})===0)return;be(x=>{const w=x.mountedGroups.get(e);if(w){const v=Na(e),E=w.defaultLayoutDeferred?Ia(v):w.layout,S=nn({layout:E,panelConstraints:v});return!w.defaultLayoutDeferred&&en(E,S)&&Cl(w.derivedPanelConstraints,v)?x:{mountedGroups:new Map(x.mountedGroups).set(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:v,layout:S,separatorToPanels:w.separatorToPanels})}}return x})}}else Dl(e,N,b)}});i.observe(e.element),e.panels.forEach(d=>{te(!r.has(d.id),`Panel ids must be unique; id "${d.id}" was used more than once`),r.add(d.id),d.onResize&&i.observe(d.element)});const s=bn({group:e}),o=Na(e),l=e.panels.map(({id:d})=>d).join(",");let c=e.defaultLayout;c&&(Tl(e.panels,c)||(c=void 0));const p=e.inMemoryLayouts[l]??c??Ia(o),m=nn({layout:p,panelConstraints:o}),h=Li(e),f=e.element.ownerDocument;return be(d=>{const g=new Map;return ln.set(f,(ln.get(f)??0)+1),h.forEach(b=>{b.separator&&g.set(b.separator,b.panels)}),{mountedGroups:new Map(d.mountedGroups).set(e,{defaultLayoutDeferred:s===0,derivedPanelConstraints:o,layout:m,separatorToPanels:g})}}),e.separators.forEach(d=>{te(!a.has(d.id),`Separator ids must be unique; id "${d.id}" was used more than once`),a.add(d.id),d.element.addEventListener("keydown",wa)}),ln.get(f)===1&&(f.addEventListener("pointerdown",Da,!0),f.addEventListener("pointerleave",Ta),f.addEventListener("pointermove",ka),f.addEventListener("pointerup",Aa,!0)),function(){n=!1,ln.set(f,Math.max(0,(ln.get(f)??0)-1)),be(d=>{const g=new Map(d.mountedGroups);return g.delete(e),{mountedGroups:g}}),e.separators.forEach(d=>{d.element.removeEventListener("keydown",wa)}),ln.get(f)||(f.removeEventListener("pointerdown",Da,!0),f.removeEventListener("pointerleave",Ta),f.removeEventListener("pointermove",ka),f.removeEventListener("pointerup",Aa,!0)),i.disconnect()}}function Ki(){const[e,n]=y.useState({}),t=y.useCallback(()=>n({}),[]);return[e,t]}function yr(e){const n=y.useId();return`${e??n}`}const tn=typeof window<"u"?y.useLayoutEffect:y.useEffect;function In(e){const n=y.useRef(e);return tn(()=>{n.current=e},[e]),y.useCallback((...t)=>{var r;return(r=n.current)==null?void 0:r.call(n,...t)},[n])}function Er(...e){return In(n=>{e.forEach(t=>{if(t)switch(typeof t){case"function":{t(n);break}case"object":{t.current=n;break}}})})}function Al(e){const n=y.useRef({...e});return tn(()=>{for(const t in e)n.current[t]=e[t]},[e]),n.current}const Wi=y.createContext(null);function Il(e,n){const t=y.useRef({getLayout:()=>({}),setLayout:hl});y.useImperativeHandle(n,()=>t.current,[]),tn(()=>{Object.assign(t.current,Mi({groupId:e}))})}function Yi({children:e,className:n,defaultLayout:t,disableCursor:r,disabled:a,elementRef:i,groupRef:s,id:o,onLayoutChange:l,onLayoutChanged:c,orientation:p="horizontal",style:m,...h}){const f=y.useRef({onLayoutChange:{},onLayoutChanged:{}}),d=In(k=>{en(f.current.onLayoutChange,k)||(f.current.onLayoutChange=k,l==null||l(k))}),g=In(k=>{en(f.current.onLayoutChanged,k)||(f.current.onLayoutChanged=k,c==null||c(k))}),b=yr(o),N=y.useRef(null),[x,w]=Ki(),v=y.useRef({lastExpandedPanelSizes:{},layouts:{},panels:[],separators:[]}),E=Er(N,i);Il(b,s);const S=In((k,j)=>{const{interactionState:M,mountedGroups:_}=Ie();for(const $ of _.keys())if($.id===k){const K=_.get($);if(K){let W=!1;switch(M.state){case"active":{W=M.hitRegions.some(A=>A.group===$);break}}return{flexGrow:K.layout[j]??1,pointerEvents:W?"none":void 0}}}return{flexGrow:(t==null?void 0:t[j])??1}}),C=y.useMemo(()=>({getPanelStyles:S,id:b,orientation:p,registerPanel:k=>{const j=v.current;return j.panels=Xt(p,[...j.panels,k]),w(),()=>{j.panels=j.panels.filter(M=>M!==k),w()}},registerSeparator:k=>{const j=v.current;return j.separators=Xt(p,[...j.separators,k]),w(),()=>{j.separators=j.separators.filter(M=>M!==k),w()}}}),[S,b,w,p]),D=Al({defaultLayout:t,disableCursor:r}),O=y.useRef(null);return tn(()=>{const k=N.current;if(k===null)return;const j=v.current,M={defaultLayout:D.defaultLayout,disableCursor:!!D.disableCursor,disabled:!!a,element:k,id:b,inMemoryLastExpandedPanelSizes:v.current.lastExpandedPanelSizes,inMemoryLayouts:v.current.layouts,orientation:p,panels:j.panels,separators:j.separators};O.current=M;const _=kl(M),$=Ie().mountedGroups.get(M);if($){const{defaultLayoutDeferred:A,derivedPanelConstraints:R,layout:U}=$;!A&&R.length>0&&(d(U),g(U),j.panels.forEach(T=>{T.scheduleUpdate()}))}const K=Je.addListener("interactionStateChange",()=>{j.panels.forEach(A=>{A.scheduleUpdate()})}),W=Je.addListener("mountedGroupsChange",A=>{const R=A.get(M);if(R){const{defaultLayoutDeferred:U,derivedPanelConstraints:T,layout:G}=R;if(U||T.length===0)return;const{interactionState:Z}=Ie(),ce=Z.state!=="active";d(G),ce&&g(G),j.panels.forEach(V=>{V.scheduleUpdate()})}});return()=>{O.current=null,_(),K(),W()}},[a,b,g,d,p,x,D]),y.useEffect(()=>{const k=O.current;k&&(k.defaultLayout=t,k.disableCursor=!!r)}),L.jsx(Wi.Provider,{value:C,children:L.jsx("div",{...h,"aria-orientation":p,className:n,"data-group":!0,"data-testid":b,id:b,ref:E,style:{height:"100%",width:"100%",overflow:"hidden",...m,display:"flex",flexDirection:p==="horizontal"?"row":"column",flexWrap:"nowrap"},children:e})})}Yi.displayName="Group";function zt(e,n){return`react-resizable-panels:${[e,...n].join(":")}`}function pd({debounceSaveMs:e=100,panelIds:n,storage:t=localStorage,...r}){const a=n!==void 0,i="id"in r?r.id:r.groupId,s=zt(i,n??[]),o=y.useSyncExternalStore(_l,()=>t.getItem(s),()=>t.getItem(s)),l=y.useMemo(()=>o?JSON.parse(o):void 0,[o]),c=y.useRef(null),p=y.useCallback(()=>{const f=c.current;f&&(c.current=null,clearTimeout(f))},[]);y.useLayoutEffect(()=>()=>{p()},[p]);const m=y.useCallback(f=>{p();let d;a?d=zt(i,Object.keys(f)):d=zt(i,[]);try{t.setItem(d,JSON.stringify(f))}catch(g){console.error(g)}},[p,a,i,t]),h=y.useCallback(f=>{p(),e===0?m(f):c.current=setTimeout(()=>{m(f)},e)},[p,e,m]);return{defaultLayout:l,onLayoutChange:h,onLayoutChanged:m}}function _l(){return function(){}}function Sr(){const e=y.useContext(Wi);return te(e,"Group Context not found; did you render a Panel or Separator outside of a Group?"),e}function Rl({groupId:e,panelId:n}){const t=()=>{const{mountedGroups:o}=Ie();for(const[l,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:m,separatorToPanels:h}]of o)if(l.id===e)return{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:l,layout:m,separatorToPanels:h};throw Error(`Group ${e} not found`)},r=()=>{const o=t().derivedPanelConstraints.find(l=>l.panelId===n);if(o!==void 0)return o;throw Error(`Panel constraints not found for Panel ${n}`)},a=()=>{const o=t().group.panels.find(l=>l.id===n);if(o!==void 0)return o;throw Error(`Layout not found for Panel ${n}`)},i=()=>{const o=t().layout[n];if(o!==void 0)return o;throw Error(`Layout not found for Panel ${n}`)},s=o=>{const l=i();if(o===l)return;const{defaultLayoutDeferred:c,derivedPanelConstraints:p,group:m,layout:h,separatorToPanels:f}=t(),d=m.panels.findIndex(x=>x.id===n),g=d===m.panels.length-1,b=On({delta:g?l-o:o-l,initialLayout:h,panelConstraints:p,pivotIndices:g?[d-1,d]:[d,d+1],prevLayout:h,trigger:"imperative-api"}),N=nn({layout:b,panelConstraints:p});en(h,N)||be(x=>({mountedGroups:new Map(x.mountedGroups).set(m,{defaultLayoutDeferred:c,derivedPanelConstraints:p,layout:N,separatorToPanels:f})}))};return{collapse:()=>{const{collapsible:o,collapsedSize:l}=r(),{mutableValues:c}=a(),p=i();o&&p!==l&&(c.expandToSize=p,s(l))},expand:()=>{const{collapsible:o,collapsedSize:l,minSize:c}=r(),{mutableValues:p}=a(),m=i();if(o&&m===l){let h=p.expandToSize??c;h===0&&(h=1),s(h)}},getSize:()=>{const{group:o}=t(),l=i(),{element:c}=a(),p=o.orientation==="horizontal"?c.offsetWidth:c.offsetHeight;return{asPercentage:l,inPixels:p}},isCollapsed:()=>{const{collapsible:o,collapsedSize:l}=r(),c=i();return o&&fe(l,c)},resize:o=>{if(i()!==o){let l;switch(typeof o){case"number":{const{group:c}=t(),p=bn({group:c});l=Re(o/p*100);break}case"string":{l=parseFloat(o);break}}s(l)}}}}function jl(e,n){const{id:t}=Sr(),r=y.useRef({collapse:$t,expand:$t,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:$t});y.useImperativeHandle(n,()=>r.current,[]),tn(()=>{Object.assign(r.current,Rl({groupId:t,panelId:e}))})}function Xi({children:e,className:n,collapsedSize:t="0%",collapsible:r=!1,defaultSize:a,elementRef:i,id:s,maxSize:o="100%",minSize:l="0%",onResize:c,panelRef:p,style:m,...h}){const f=!!s,d=yr(s),g=y.useRef(null),b=Er(g,i),[,N]=Ki(),{getPanelStyles:x,id:w,registerPanel:v}=Sr(),E=c!==null,S=In((D,O,k)=>{c==null||c(D,s,k)});tn(()=>{const D=g.current;if(D!==null)return v({element:D,id:d,idIsStable:f,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:E?S:void 0,panelConstraints:{collapsedSize:t,collapsible:r,defaultSize:a,maxSize:o,minSize:l},scheduleUpdate:N})},[t,r,a,N,E,d,f,o,l,S,v]),jl(d,p);const C=x(w,d);return L.jsx("div",{...h,"data-panel":!0,"data-testid":d,id:d,ref:b,style:{...Ol,flexBasis:0,flexShrink:1,overflow:"hidden",...C},children:L.jsx("div",{className:n,style:{width:"100%",height:"100%",...m},children:e})})}Xi.displayName="Panel";const Ol={minHeight:0,maxHeight:"100%",height:"auto",minWidth:0,maxWidth:"100%",width:"auto",border:"none",borderWidth:0,padding:0,margin:0};function Vl({layout:e,panelConstraints:n,panelId:t,panelIndex:r}){let a,i;const s=e[t],o=n.find(l=>l.panelId===t);if(o){const l=o.maxSize,c=i=o.collapsible?o.collapsedSize:o.minSize,p=[r,r+1];i=nn({layout:On({delta:c-s,initialLayout:e,panelConstraints:n,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:n})[t],a=nn({layout:On({delta:l-s,initialLayout:e,panelConstraints:n,pivotIndices:p,prevLayout:e,trigger:"keyboard"}),panelConstraints:n})[t]}return{valueControls:t,valueMax:a,valueMin:i,valueNow:s}}function qi({children:e,className:n,elementRef:t,id:r,style:a,...i}){const s=yr(r),[o,l]=y.useState({}),[c,p]=y.useState("inactive"),m=y.useRef(null),h=Er(m,t),{id:f,orientation:d,registerSeparator:g}=Sr(),b=d==="horizontal"?"vertical":"horizontal";return tn(()=>{const N=m.current;if(N!==null){const x={element:N,id:s},w=g(x),v=Je.addListener("interactionStateChange",S=>{p(S.state!=="inactive"&&S.hitRegions.some(C=>C.separator===x)?S.state:"inactive")}),E=Je.addListener("mountedGroupsChange",S=>{S.forEach(({derivedPanelConstraints:C,layout:D,separatorToPanels:O},k)=>{if(k.id===f){const j=O.get(x);if(j){const M=j[0],_=k.panels.indexOf(M);l(Vl({layout:D,panelConstraints:C,panelId:M.id,panelIndex:_}))}}})});return()=>{v(),E(),w()}}},[f,s,g]),L.jsx("div",{...i,"aria-controls":o.valueControls,"aria-orientation":b,"aria-valuemax":o.valueMax,"aria-valuemin":o.valueMin,"aria-valuenow":o.valueNow,children:e,className:n,"data-separator":c,"data-testid":s,id:s,ref:h,role:"separator",style:{flexBasis:"auto",...a,flexGrow:0,flexShrink:0},tabIndex:0})}qi.displayName="Separator";const md=({className:e,...n})=>u.jsxDEV(Yi,{className:X("flex h-full w-full data-[panel-group-direction=vertical]:flex-col",e),...n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:9,columnNumber:3},void 0),dd=Xi,hd=({withHandle:e,className:n,...t})=>u.jsxDEV(qi,{className:X("relative flex w-2 items-center justify-center bg-transparent after:absolute after:inset-y-0 after:left-1/2 after:w-px after:bg-border after:-translate-x-1/2 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1","aria-[orientation=horizontal]:h-2 aria-[orientation=horizontal]:w-full aria-[orientation=horizontal]:after:inset-y-auto aria-[orientation=horizontal]:after:top-1/2 aria-[orientation=horizontal]:after:left-0 aria-[orientation=horizontal]:after:h-px aria-[orientation=horizontal]:after:w-full aria-[orientation=horizontal]:after:-translate-y-1/2 aria-[orientation=horizontal]:after:translate-x-0 [&[aria-orientation=horizontal]>div]:rotate-90",n),...t,children:e&&u.jsxDEV("div",{className:"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border",children:u.jsxDEV(no,{className:"h-2.5 w-2.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:38,columnNumber:9},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:37,columnNumber:7},void 0)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/ui/resizable.tsx",lineNumber:24,columnNumber:3},void 0),Ll=40,Zi={added:{label:"A",className:"bg-green-500 text-white",iconColor:"text-green-600 dark:text-green-400"},modified:{label:"M",className:"bg-yellow-500 text-white",iconColor:"text-amber-700 dark:text-amber-400"},deleted:{label:"D",className:"bg-red-500 text-white",iconColor:"text-red-600 dark:text-red-400"},renamed:{label:"R",className:"bg-blue-500 text-white",iconColor:"text-blue-600 dark:text-blue-400"},copied:{label:"C",className:"bg-purple-500 text-white",iconColor:"text-purple-600 dark:text-purple-400"}};function Ml(e){const n=[],t=new Map,r=[...e].sort((a,i)=>a.path.localeCompare(i.path));for(const a of r){const i=a.path.split("/");let s="",o=n;for(let c=0;c<i.length-1;c++){const p=i[c];s=s?`${s}/${p}`:p;let m=t.get(s);m||(m={name:p,path:s,isFolder:!0,children:[]},t.set(s,m),o.push(m)),o=m.children}const l=i[i.length-1];o.push({name:l,path:a.path,isFolder:!1,file:a})}return n}function qt(e){return e.map(n=>{if(!n.isFolder||!n.children)return n;let t=qt(n.children),r={...n};for(;t.length===1&&t[0].isFolder;){const a=t[0];r={...r,name:`${r.name}/${a.name}`,path:a.path,children:a.children},t=a.children?qt(a.children):[]}return{...r,children:t}})}function Fl(e){const n=Ml(e);return qt(n)}function Qi({additions:e,deletions:n}){const t=[e>0?`${e} additions`:null,n>0?`${n} deletions`:null].filter(Boolean).join(", ");return u.jsxDEV("span",{className:"text-xs shrink-0 font-mono","aria-label":t||"No changes",children:[e>0&&u.jsxDEV("span",{className:"text-green-600","aria-hidden":"true",children:["+",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:151,columnNumber:9},this),e>0&&n>0&&u.jsxDEV("span",{className:"text-muted-foreground","aria-hidden":"true",children:"/"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:156,columnNumber:9},this),n>0&&u.jsxDEV("span",{className:"text-red-600","aria-hidden":"true",children:["-",n]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:161,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:149,columnNumber:5},this)}function Ji({node:e,depth:n,selectedFile:t,onSelectFile:r,expandedFolders:a,onToggleFolder:i,commentCounts:s,searchQuery:o}){var f,d;const l=a.has(e.path),c=8+n*16;if(e.isFolder){const g=o.toLowerCase(),b=o?e.name.toLowerCase().includes(g)||e.path.toLowerCase().includes(g):!1;return(o?b||((f=e.children)==null?void 0:f.some(x=>x.path.toLowerCase().includes(g)||x.isFolder&&es(x,o))):!0)?u.jsxDEV("div",{role:"treeitem","aria-expanded":l,children:[u.jsxDEV("button",{className:X("w-full text-left px-2 py-1.5 flex items-center gap-1.5 hover:bg-accent rounded-sm transition-colors"),style:{paddingLeft:c},onClick:()=>i(e.path),"aria-expanded":l,"aria-label":`${e.name} folder, ${l?"expanded":"collapsed"}`,title:e.path,children:[l?u.jsxDEV(dt,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:221,columnNumber:13},this):u.jsxDEV(ht,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:223,columnNumber:13},this),u.jsxDEV(ro,{className:"h-4 w-4 shrink-0 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:225,columnNumber:11},this),u.jsxDEV("span",{className:"truncate text-sm font-medium",children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:226,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:210,columnNumber:9},this),l&&u.jsxDEV("div",{role:"group",children:(d=e.children)==null?void 0:d.map(x=>u.jsxDEV(Ji,{node:x,depth:n+1,selectedFile:t,onSelectFile:r,expandedFolders:a,onToggleFolder:i,commentCounts:s,searchQuery:o},x.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:231,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:229,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:209,columnNumber:7},this):null}const p=e.file,m=t===e.path,h=(s==null?void 0:s[e.path])??0;return o&&!e.path.toLowerCase().includes(o.toLowerCase())?null:u.jsxDEV("button",{className:X("w-full text-left px-2 py-1.5 flex items-center gap-1.5 rounded-sm transition-colors",m?"bg-accent":"hover:bg-accent/50"),style:{paddingLeft:c+20},onClick:()=>r(e.path),role:"treeitem","aria-selected":m,"aria-label":`${e.name}, ${p.status}, ${p.additions} additions, ${p.deletions} deletions${h>0?`, ${h} comments`:""}`,children:[u.jsxDEV("span",{title:p.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:X("h-4 w-4",Zi[p.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:272,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:271,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:p.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:277,columnNumber:7},this),u.jsxDEV("span",{className:X("truncate flex-1 text-sm",m&&"font-medium",p.status==="deleted"&&"opacity-70"),children:e.name},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:278,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[h>0&&u.jsxDEV(ye,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(Ae,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:290,columnNumber:13},this),h]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV(Qi,{additions:p.additions,deletions:p.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:294,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:287,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:260,columnNumber:5},this)}function es(e,n){if(!e.children)return!1;const t=n.toLowerCase();return e.children.some(r=>r.path.toLowerCase().includes(t)||r.name.toLowerCase().includes(t)||r.isFolder&&es(r,n))}function Pl({file:e,isSelected:n,onSelect:t,commentCount:r}){return u.jsxDEV("button",{className:X("w-full text-left px-3 py-2 flex items-center gap-2 rounded-md transition-colors",n?"bg-accent":"hover:bg-accent/50"),onClick:t,role:"option","aria-selected":n,"aria-label":`${e.path}, ${e.status}, ${e.additions} additions, ${e.deletions} deletions${r>0?`, ${r} comments`:""}`,children:[u.jsxDEV("span",{title:e.status,className:"shrink-0",children:u.jsxDEV(Oe,{className:X("h-4 w-4",Zi[e.status].iconColor),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:334,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:333,columnNumber:7},this),u.jsxDEV("span",{className:"sr-only",children:e.status},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:339,columnNumber:7},this),u.jsxDEV("span",{className:X("truncate flex-1 text-sm",n&&"font-medium",e.status==="deleted"&&"opacity-70"),children:e.path},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:340,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[r>0&&u.jsxDEV(ye,{variant:"secondary",className:"h-5 px-1.5 text-xs gap-0.5","aria-hidden":"true",children:[u.jsxDEV(Ae,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:352,columnNumber:13},this),r]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:351,columnNumber:11},this),u.jsxDEV(Qi,{additions:e.additions,deletions:e.deletions},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:356,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:349,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:323,columnNumber:5},this)}function fd({files:e,selectedFile:n,onSelectFile:t,commentCounts:r,isLoading:a}){const[i,s]=y.useState(""),[o,l]=y.useState("tree"),[c,p]=y.useState(new Set),[m,h]=y.useState(!1),f=y.useRef(null);y.useEffect(()=>{if(e.length>0&&!m){const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v),h(!0)}},[e,m]);const d=y.useMemo(()=>Fl(e),[e]),g=y.useMemo(()=>{if(!i)return e;const v=i.toLowerCase();return e.filter(E=>E.path.toLowerCase().includes(v))},[e,i]),b=to({count:g.length,getScrollElement:()=>f.current,estimateSize:()=>Ll,overscan:5});y.useEffect(()=>{if(o==="flat"&&n){const v=g.findIndex(E=>E.path===n);v!==-1&&b.scrollToIndex(v,{align:"auto"})}},[o,n,g,b]);const N=v=>{p(E=>{const S=new Set(E);return S.has(v)?S.delete(v):S.add(v),S})},x=()=>{const v=new Set;for(const E of e){const S=E.path.split("/");let C="";for(let D=0;D<S.length-1;D++)C=C?`${C}/${S[D]}`:S[D],v.add(C)}p(v)},w=()=>{p(new Set)};return a?u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b",children:u.jsxDEV("div",{className:"h-9 bg-muted rounded-md animate-pulse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:453,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:452,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 p-2 space-y-1",children:Array.from({length:8}).map((v,E)=>u.jsxDEV("div",{className:"h-7 bg-muted rounded-sm animate-pulse"},E,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:457,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:455,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:451,columnNumber:7},this):e.length===0?u.jsxDEV("div",{className:"h-full flex flex-col items-center justify-center p-4 text-center text-muted-foreground",children:[u.jsxDEV(Oe,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:467,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm",children:"No files changed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:468,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:466,columnNumber:7},this):u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-2 border-b space-y-2",children:[u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(pr,{className:"absolute left-2.5 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:478,columnNumber:11},this),u.jsxDEV(mr,{placeholder:"Filter files...",value:i,onChange:v=>s(v.target.value),className:"pl-8 h-8 text-sm","aria-label":"Filter files by name"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:482,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:477,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 text-xs",role:"group","aria-label":"View options",children:[u.jsxDEV("button",{className:X("px-2 py-1 rounded-sm transition-colors",o==="tree"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("tree"),"aria-pressed":o==="tree",children:"Tree"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:491,columnNumber:11},this),u.jsxDEV("button",{className:X("px-2 py-1 rounded-sm transition-colors",o==="flat"?"bg-accent":"hover:bg-accent/50"),onClick:()=>l("flat"),"aria-pressed":o==="flat",children:"Flat"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:501,columnNumber:11},this),o==="tree"&&u.jsxDEV(u.Fragment,{children:[u.jsxDEV("span",{className:"mx-1 text-muted-foreground","aria-hidden":"true",children:"|"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:513,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:x,"aria-label":"Expand all folders",children:"Expand"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:516,columnNumber:15},this),u.jsxDEV("button",{className:"px-2 py-1 rounded-sm hover:bg-accent/50 transition-colors",onClick:w,"aria-label":"Collapse all folders",children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:523,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:512,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:490,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:476,columnNumber:7},this),o==="tree"?u.jsxDEV(dr,{className:"flex-1",children:u.jsxDEV("div",{className:"py-1",children:[u.jsxDEV("div",{role:"tree","aria-label":"Changed files",children:d.map(v=>u.jsxDEV(Ji,{node:v,depth:0,selectedFile:n,onSelectFile:t,expandedFolders:c,onToggleFolder:N,commentCounts:r,searchQuery:i},v.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:541,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:539,columnNumber:13},this),i&&g.length===0&&u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',i,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:555,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:538,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:537,columnNumber:9},this):u.jsxDEV("div",{ref:f,className:"flex-1 overflow-auto",role:"listbox","aria-label":"Changed files",children:g.length>0?u.jsxDEV("div",{className:"relative w-full px-1",style:{height:`${b.getTotalSize()}px`},children:b.getVirtualItems().map(v=>{const E=g[v.index];return u.jsxDEV("div",{className:"absolute top-0 left-0 w-full px-1",style:{height:`${v.size}px`,transform:`translateY(${v.start}px)`},children:u.jsxDEV(Pl,{file:E,isSelected:n===E.path,onSelect:()=>t(E.path),commentCount:(r==null?void 0:r[E.path])??0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:591,columnNumber:21},this)},E.path,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:583,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:576,columnNumber:13},this):i?u.jsxDEV("div",{className:"p-4 text-center text-sm text-muted-foreground",role:"status",children:['No files match "',i,'"']},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:602,columnNumber:13},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:569,columnNumber:9},this),u.jsxDEV("div",{className:"p-2 border-t text-xs text-muted-foreground",children:[e.length," file",e.length!==1?"s":""," changed",i&&g.length!==e.length&&u.jsxDEV("span",{children:[" (",g.length," shown)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:613,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:610,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/FileNavigator.tsx",lineNumber:474,columnNumber:5},this)}function _a(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),t.push.apply(t,r)}return t}function Q(e){for(var n=1;n<arguments.length;n++){var t=arguments[n]!=null?arguments[n]:{};n%2?_a(Object(t),!0).forEach(function(r){Zt(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):_a(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function Zt(e,n,t){return(n=function(r){var a=function(i,s){if(typeof i!="object"||i===null)return i;var o=i[Symbol.toPrimitive];if(o!==void 0){var l=o.call(i,s);if(typeof l!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(s==="string"?String:Number)(i)}(r,"string");return typeof a=="symbol"?a:String(a)}(n))in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function He(e,n){if(e==null)return{};var t,r,a=function(s,o){if(s==null)return{};var l,c,p={},m=Object.keys(s);for(c=0;c<m.length;c++)l=m[c],o.indexOf(l)>=0||(p[l]=s[l]);return p}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function q(e,n){return ts(e)||function(t,r){var a=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(a!=null){var i,s,o,l,c=[],p=!0,m=!1;try{if(o=(a=a.call(t)).next,r===0){if(Object(a)!==a)return;p=!1}else for(;!(p=(i=o.call(a)).done)&&(c.push(i.value),c.length!==r);p=!0);}catch(h){m=!0,s=h}finally{try{if(!p&&a.return!=null&&(l=a.return(),Object(l)!==l))return}finally{if(m)throw s}}return c}}(e,n)||gt(e,n)||as()}function ns(e){return ts(e)||rs(e)||gt(e)||as()}function Ee(e){return function(n){if(Array.isArray(n))return Qt(n)}(e)||rs(e)||gt(e)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
47
42
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ts(e){if(Array.isArray(e))return e}function rs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function gt(e,n){if(e){if(typeof e=="string")return Qt(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set"?Array.from(e):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?Qt(e,n):void 0}}function Qt(e,n){(n==null||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function as(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
48
43
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dr(e,n){var t=typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=gt(e))||n){t&&(e=t);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(l){throw l},f:a}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
49
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,s=!0,o=!1;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return s=l.done,l},e:function(l){o=!0,i=l},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw i}}}}var Yn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zn(e,n){return e(n={exports:{}},n.exports),n.exports}var ye=zn(function(e){/*!
44
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i,s=!0,o=!1;return{s:function(){t=t.call(e)},n:function(){var l=t.next();return s=l.done,l},e:function(l){o=!0,i=l},f:function(){try{s||t.return==null||t.return()}finally{if(o)throw i}}}}var Yn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zn(e,n){return e(n={exports:{}},n.exports),n.exports}var xe=zn(function(e){/*!
50
45
  Copyright (c) 2018 Jed Watson.
51
46
  Licensed under the MIT License (MIT), see
52
47
  http://jedwatson.github.io/classnames
53
- */(function(){var n={}.hasOwnProperty;function t(){for(var r=[],a=0;a<arguments.length;a++){var i=arguments[a];if(i){var s=typeof i;if(s==="string"||s==="number")r.push(i);else if(Array.isArray(i)){if(i.length){var o=t.apply(null,i);o&&r.push(o)}}else if(s==="object"){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){r.push(i.toString());continue}for(var l in i)n.call(i,l)&&i[l]&&r.push(l)}}}return r.join(" ")}e.exports?(t.default=t,e.exports=t):window.classNames=t})()}),ge={hunkClassName:"",lineClassName:"",gutterClassName:"",codeClassName:"",monotonous:!1,gutterType:"default",viewType:"split",widgets:{},hideGutter:!1,selectedChanges:[],generateAnchorID:function(){},generateLineClassName:function(){},renderGutter:function(e){var n=e.renderDefault;return(0,e.wrapInAnchor)(n())},codeEvents:{},gutterEvents:{}},is=x.createContext(ge),zl=is.Provider,Bl=function(){return x.useContext(is)},Gl=zn(function(e,n){(function(t){function r(i){var s=i.slice(11),o=null,l=null;switch(s.indexOf('"')){case-1:o=(m=s.split(" "))[0].slice(2),l=m[1].slice(2);break;case 0:var c=s.indexOf('"',2);o=s.slice(3,c);var p=s.indexOf('"',c+1);l=p<0?s.slice(c+4):s.slice(p+3,-1);break;default:var m;o=(m=s.split(" "))[0].slice(2),l=m[1].slice(3,-1)}return{oldPath:o,newPath:l}}var a={parse:function(i){for(var s,o,l,c,p,m=[],h=2,f=i.split(`
54
- `),d=f.length,g=0;g<d;){var b=f[g];if(b.indexOf("diff --git")===0){s={hunks:[],oldEndingNewLine:!0,newEndingNewLine:!0,oldPath:(p=r(b)).oldPath,newPath:p.newPath},m.push(s);var N,y=null;e:for(;N=f[++g];){var w=N.indexOf(" "),v=w>-1?N.slice(0,w):v;switch(v){case"diff":g--;break e;case"deleted":case"new":var E=N.slice(w+1);E.indexOf("file mode")===0&&(s[v==="new"?"newMode":"oldMode"]=E.slice(10));break;case"similarity":s.similarity=parseInt(N.split(" ")[2],10);break;case"index":var S=N.slice(w+1).split(" "),C=S[0].split("..");s.oldRevision=C[0],s.newRevision=C[1],S[1]&&(s.oldMode=s.newMode=S[1]);break;case"copy":case"rename":var D=N.slice(w+1);D.indexOf("from")===0?s.oldPath=D.slice(5):s.newPath=D.slice(3),y=v;break;case"---":var O=N.slice(w+1),k=f[++g].slice(4);O==="/dev/null"?(k=k.slice(2),y="add"):k==="/dev/null"?(O=O.slice(2),y="delete"):(y="modify",O=O.slice(2),k=k.slice(2)),O&&(s.oldPath=O),k&&(s.newPath=k),h=5;break e}}s.type=y||"modify"}else if(b.indexOf("Binary")===0)s.isBinary=!0,s.type=b.indexOf("/dev/null and")>=0?"add":b.indexOf("and /dev/null")>=0?"delete":"modify",h=2,s=null;else if(h===5)if(b.indexOf("@@")===0){var j=/^@@\s+-([0-9]+)(,([0-9]+))?\s+\+([0-9]+)(,([0-9]+))?/.exec(b);o={content:b,oldStart:j[1]-0,newStart:j[4]-0,oldLines:j[3]-0||1,newLines:j[6]-0||1,changes:[]},s.hunks.push(o),l=o.oldStart,c=o.newStart}else{var M=b.slice(0,1),_={content:b.slice(1)};switch(M){case"+":_.type="insert",_.isInsert=!0,_.lineNumber=c,c++;break;case"-":_.type="delete",_.isDelete=!0,_.lineNumber=l,l++;break;case" ":_.type="normal",_.isNormal=!0,_.oldLineNumber=l,_.newLineNumber=c,l++,c++;break;case"\\":var $=o.changes[o.changes.length-1];$.isDelete||(s.newEndingNewLine=!1),$.isInsert||(s.oldEndingNewLine=!1)}_.type&&o.changes.push(_)}g++}return m}};e.exports=a})()});function Ye(e){return e.type==="insert"}function Se(e){return e.type==="delete"}function ze(e){return e.type==="normal"}function Ul(e,n){var t=n.nearbySequences==="zip"?function(r){var a=r.reduce(function(i,s,o){var l=q(i,3),c=l[0],p=l[1],m=l[2];return p?Ye(s)&&m>=0?(c.splice(m+1,0,s),[c,s,m+2]):(c.push(s),[c,s,Se(s)&&Se(p)?m:o]):(c.push(s),[c,s,Se(s)?o:-1])},[[],null,-1]);return q(a,1)[0]}(e.changes):e.changes;return Q(Q({},e),{},{isPlain:!1,changes:t})}function Hl(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=function(r){if(r.startsWith("diff --git"))return r;var a=r.indexOf(`
48
+ */(function(){var n={}.hasOwnProperty;function t(){for(var r=[],a=0;a<arguments.length;a++){var i=arguments[a];if(i){var s=typeof i;if(s==="string"||s==="number")r.push(i);else if(Array.isArray(i)){if(i.length){var o=t.apply(null,i);o&&r.push(o)}}else if(s==="object"){if(i.toString!==Object.prototype.toString&&!i.toString.toString().includes("[native code]")){r.push(i.toString());continue}for(var l in i)n.call(i,l)&&i[l]&&r.push(l)}}}return r.join(" ")}e.exports?(t.default=t,e.exports=t):window.classNames=t})()}),ge={hunkClassName:"",lineClassName:"",gutterClassName:"",codeClassName:"",monotonous:!1,gutterType:"default",viewType:"split",widgets:{},hideGutter:!1,selectedChanges:[],generateAnchorID:function(){},generateLineClassName:function(){},renderGutter:function(e){var n=e.renderDefault;return(0,e.wrapInAnchor)(n())},codeEvents:{},gutterEvents:{}},is=y.createContext(ge),$l=is.Provider,zl=function(){return y.useContext(is)},Bl=zn(function(e,n){(function(t){function r(i){var s=i.slice(11),o=null,l=null;switch(s.indexOf('"')){case-1:o=(m=s.split(" "))[0].slice(2),l=m[1].slice(2);break;case 0:var c=s.indexOf('"',2);o=s.slice(3,c);var p=s.indexOf('"',c+1);l=p<0?s.slice(c+4):s.slice(p+3,-1);break;default:var m;o=(m=s.split(" "))[0].slice(2),l=m[1].slice(3,-1)}return{oldPath:o,newPath:l}}var a={parse:function(i){for(var s,o,l,c,p,m=[],h=2,f=i.split(`
49
+ `),d=f.length,g=0;g<d;){var b=f[g];if(b.indexOf("diff --git")===0){s={hunks:[],oldEndingNewLine:!0,newEndingNewLine:!0,oldPath:(p=r(b)).oldPath,newPath:p.newPath},m.push(s);var N,x=null;e:for(;N=f[++g];){var w=N.indexOf(" "),v=w>-1?N.slice(0,w):v;switch(v){case"diff":g--;break e;case"deleted":case"new":var E=N.slice(w+1);E.indexOf("file mode")===0&&(s[v==="new"?"newMode":"oldMode"]=E.slice(10));break;case"similarity":s.similarity=parseInt(N.split(" ")[2],10);break;case"index":var S=N.slice(w+1).split(" "),C=S[0].split("..");s.oldRevision=C[0],s.newRevision=C[1],S[1]&&(s.oldMode=s.newMode=S[1]);break;case"copy":case"rename":var D=N.slice(w+1);D.indexOf("from")===0?s.oldPath=D.slice(5):s.newPath=D.slice(3),x=v;break;case"---":var O=N.slice(w+1),k=f[++g].slice(4);O==="/dev/null"?(k=k.slice(2),x="add"):k==="/dev/null"?(O=O.slice(2),x="delete"):(x="modify",O=O.slice(2),k=k.slice(2)),O&&(s.oldPath=O),k&&(s.newPath=k),h=5;break e}}s.type=x||"modify"}else if(b.indexOf("Binary")===0)s.isBinary=!0,s.type=b.indexOf("/dev/null and")>=0?"add":b.indexOf("and /dev/null")>=0?"delete":"modify",h=2,s=null;else if(h===5)if(b.indexOf("@@")===0){var j=/^@@\s+-([0-9]+)(,([0-9]+))?\s+\+([0-9]+)(,([0-9]+))?/.exec(b);o={content:b,oldStart:j[1]-0,newStart:j[4]-0,oldLines:j[3]-0||1,newLines:j[6]-0||1,changes:[]},s.hunks.push(o),l=o.oldStart,c=o.newStart}else{var M=b.slice(0,1),_={content:b.slice(1)};switch(M){case"+":_.type="insert",_.isInsert=!0,_.lineNumber=c,c++;break;case"-":_.type="delete",_.isDelete=!0,_.lineNumber=l,l++;break;case" ":_.type="normal",_.isNormal=!0,_.oldLineNumber=l,_.newLineNumber=c,l++,c++;break;case"\\":var $=o.changes[o.changes.length-1];$.isDelete||(s.newEndingNewLine=!1),$.isInsert||(s.oldEndingNewLine=!1)}_.type&&o.changes.push(_)}g++}return m}};e.exports=a})()});function Ye(e){return e.type==="insert"}function Se(e){return e.type==="delete"}function ze(e){return e.type==="normal"}function Gl(e,n){var t=n.nearbySequences==="zip"?function(r){var a=r.reduce(function(i,s,o){var l=q(i,3),c=l[0],p=l[1],m=l[2];return p?Ye(s)&&m>=0?(c.splice(m+1,0,s),[c,s,m+2]):(c.push(s),[c,s,Se(s)&&Se(p)?m:o]):(c.push(s),[c,s,Se(s)?o:-1])},[[],null,-1]);return q(a,1)[0]}(e.changes):e.changes;return Q(Q({},e),{},{isPlain:!1,changes:t})}function Ul(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},t=function(r){if(r.startsWith("diff --git"))return r;var a=r.indexOf(`
55
50
  `),i=r.indexOf(`
56
51
  `,a+1),s=r.slice(0,a),o=r.slice(a+1,i),l=s.split(" ").slice(1,-3).join(" "),c=o.split(" ").slice(1,-3).join(" ");return["diff --git a/".concat(l," b/").concat(c),"index 1111111..2222222 100644","--- a/".concat(l),"+++ b/".concat(c),r.slice(i+1)].join(`
57
- `)}(e.trimStart());return Gl.parse(t).map(function(r){return function(a,i){var s=a.hunks.map(function(o){return Ul(o,i)});return Q(Q({},a),{},{hunks:s})}(r,n)})}function Kl(e){return e[0]}function Wl(e){return e[e.length-1]}function Jt(e){return["".concat(e,"Start"),"".concat(e,"Lines")]}function Vn(e){return e==="old"?function(n){return Ye(n)?-1:ze(n)?n.oldLineNumber:n.lineNumber}:function(n){return Se(n)?-1:ze(n)?n.newLineNumber:n.lineNumber}}function ss(e,n){return function(t,r){var a=t[e],i=a+t[n];return r>=a&&r<i}}function Yl(e,n){return function(t,r,a){var i=t[e]+t[n],s=r[e];return a>=i&&a<s}}function os(e){var n=Vn(e),t=function(r){var a=q(Jt(r),2),i=ss(a[0],a[1]);return function(s,o){return s.find(function(l){return i(l,o)})}}(e);return function(r,a){var i=t(r,a);if(i)return i.changes.find(function(s){return n(s)===a})}}function Cr(e){var n=e==="old"?"new":"old",t=q(Jt(e),2),r=t[0],a=t[1],i=q(Jt(n),2),s=i[0],o=i[1],l=Vn(e),c=Vn(n),p=ss(r,a),m=Yl(r,a);return function(h,f){var d=Kl(h);if(f<d[r]){var g=d[r]-f;return d[s]-g}var b=Wl(h);if(b[r]+b[a]<=f){var N=f-b[r]-b[a];return b[s]+b[o]+N}for(var y=0;y<h.length;y++){var w=h[y],v=h[y+1];if(p(w,f)){var E=w.changes.findIndex(function(j){return l(j)===f}),S=w.changes[E];if(ze(S))return c(S);var C=Se(S)?E+1:E-1,D=w.changes[C];if(!D)return-1;var O=Ye(S)?"delete":"insert";return D.type===O?c(D):-1}if(m(w,v,f)){var k=f-w[r]-w[a];return w[s]+w[o]+k}}throw new Error("Unexpected line position ".concat(f))}}var Xl=function(e,n,t,r){for(var a=e.length,i=t+-1;++i<a;)if(n(e[i],i,e))return i;return-1},ql=function(){this.__data__=[],this.size=0},ls=function(e,n){return e===n||e!=e&&n!=n},bt=function(e,n){for(var t=e.length;t--;)if(ls(e[t][0],n))return t;return-1},Zl=Array.prototype.splice,Ql=function(e){var n=this.__data__,t=bt(n,e);return!(t<0)&&(t==n.length-1?n.pop():Zl.call(n,t,1),--this.size,!0)},Jl=function(e){var n=this.__data__,t=bt(n,e);return t<0?void 0:n[t][1]},eu=function(e){return bt(this.__data__,e)>-1},nu=function(e,n){var t=this.__data__,r=bt(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this};function un(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}un.prototype.clear=ql,un.prototype.delete=Ql,un.prototype.get=Jl,un.prototype.has=eu,un.prototype.set=nu;var vt=un,tu=function(){this.__data__=new vt,this.size=0},ru=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},au=function(e){return this.__data__.get(e)},iu=function(e){return this.__data__.has(e)},us=typeof Yn=="object"&&Yn&&Yn.Object===Object&&Yn,su=typeof self=="object"&&self&&self.Object===Object&&self,Ge=us||su||Function("return this")(),Ve=Ge.Symbol,cs=Object.prototype,ou=cs.hasOwnProperty,lu=cs.toString,kn=Ve?Ve.toStringTag:void 0,uu=function(e){var n=ou.call(e,kn),t=e[kn];try{e[kn]=void 0;var r=!0}catch{}var a=lu.call(e);return r&&(n?e[kn]=t:delete e[kn]),a},cu=Object.prototype.toString,pu=function(e){return cu.call(e)},Ra=Ve?Ve.toStringTag:void 0,yn=function(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Ra&&Ra in Object(e)?uu(e):pu(e)},Ln=function(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")},ps=function(e){if(!Ln(e))return!1;var n=yn(e);return n=="[object Function]"||n=="[object GeneratorFunction]"||n=="[object AsyncFunction]"||n=="[object Proxy]"},Bt=Ge["__core-js_shared__"],ja=function(){var e=/[^.]+$/.exec(Bt&&Bt.keys&&Bt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),mu=function(e){return!!ja&&ja in e},du=Function.prototype.toString,rn=function(e){if(e!=null){try{return du.call(e)}catch{}try{return e+""}catch{}}return""},hu=/^\[object .+?Constructor\]$/,fu=Function.prototype,gu=Object.prototype,bu=fu.toString,vu=gu.hasOwnProperty,Nu=RegExp("^"+bu.call(vu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),wu=function(e){return!(!Ln(e)||mu(e))&&(ps(e)?Nu:hu).test(rn(e))},yu=function(e,n){return e==null?void 0:e[n]},an=function(e,n){var t=yu(e,n);return wu(t)?t:void 0},Mn=an(Ge,"Map"),Fn=an(Object,"create"),xu=function(){this.__data__=Fn?Fn(null):{},this.size=0},Eu=function(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n},Su=Object.prototype.hasOwnProperty,Du=function(e){var n=this.__data__;if(Fn){var t=n[e];return t==="__lodash_hash_undefined__"?void 0:t}return Su.call(n,e)?n[e]:void 0},Cu=Object.prototype.hasOwnProperty,Tu=function(e){var n=this.__data__;return Fn?n[e]!==void 0:Cu.call(n,e)},ku=function(e,n){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=Fn&&n===void 0?"__lodash_hash_undefined__":n,this};function cn(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}cn.prototype.clear=xu,cn.prototype.delete=Eu,cn.prototype.get=Du,cn.prototype.has=Tu,cn.prototype.set=ku;var Oa=cn,Au=function(){this.size=0,this.__data__={hash:new Oa,map:new(Mn||vt),string:new Oa}},Iu=function(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null},Nt=function(e,n){var t=e.__data__;return Iu(n)?t[typeof n=="string"?"string":"hash"]:t.map},_u=function(e){var n=Nt(this,e).delete(e);return this.size-=n?1:0,n},Ru=function(e){return Nt(this,e).get(e)},ju=function(e){return Nt(this,e).has(e)},Ou=function(e,n){var t=Nt(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this};function pn(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}pn.prototype.clear=Au,pn.prototype.delete=_u,pn.prototype.get=Ru,pn.prototype.has=ju,pn.prototype.set=Ou;var wt=pn,Vu=function(e,n){var t=this.__data__;if(t instanceof vt){var r=t.__data__;if(!Mn||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new wt(r)}return t.set(e,n),this.size=t.size,this};function mn(e){var n=this.__data__=new vt(e);this.size=n.size}mn.prototype.clear=tu,mn.prototype.delete=ru,mn.prototype.get=au,mn.prototype.has=iu,mn.prototype.set=Vu;var nt=mn,Lu=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Mu=function(e){return this.__data__.has(e)};function tt(e){var n=-1,t=e==null?0:e.length;for(this.__data__=new wt;++n<t;)this.add(e[n])}tt.prototype.add=tt.prototype.push=Lu,tt.prototype.has=Mu;var Fu=tt,Pu=function(e,n){for(var t=-1,r=e==null?0:e.length;++t<r;)if(n(e[t],t,e))return!0;return!1},$u=function(e,n){return e.has(n)},ms=function(e,n,t,r,a,i){var s=1&t,o=e.length,l=n.length;if(o!=l&&!(s&&l>o))return!1;var c=i.get(e),p=i.get(n);if(c&&p)return c==n&&p==e;var m=-1,h=!0,f=2&t?new Fu:void 0;for(i.set(e,n),i.set(n,e);++m<o;){var d=e[m],g=n[m];if(r)var b=s?r(g,d,m,n,e,i):r(d,g,m,e,n,i);if(b!==void 0){if(b)continue;h=!1;break}if(f){if(!Pu(n,function(N,y){if(!$u(f,y)&&(d===N||a(d,N,t,r,i)))return f.push(y)})){h=!1;break}}else if(d!==g&&!a(d,g,t,r,i)){h=!1;break}}return i.delete(e),i.delete(n),h},Va=Ge.Uint8Array,zu=function(e){var n=-1,t=Array(e.size);return e.forEach(function(r,a){t[++n]=[a,r]}),t},Bu=function(e){var n=-1,t=Array(e.size);return e.forEach(function(r){t[++n]=r}),t},La=Ve?Ve.prototype:void 0,Gt=La?La.valueOf:void 0,Gu=function(e,n,t,r,a,i,s){switch(t){case"[object DataView]":if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=n.byteLength||!i(new Va(e),new Va(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ls(+e,+n);case"[object Error]":return e.name==n.name&&e.message==n.message;case"[object RegExp]":case"[object String]":return e==n+"";case"[object Map]":var o=zu;case"[object Set]":var l=1&r;if(o||(o=Bu),e.size!=n.size&&!l)return!1;var c=s.get(e);if(c)return c==n;r|=2,s.set(e,n);var p=ms(o(e),o(n),r,a,i,s);return s.delete(e),p;case"[object Symbol]":if(Gt)return Gt.call(e)==Gt.call(n)}return!1},ds=function(e,n){for(var t=-1,r=n.length,a=e.length;++t<r;)e[a+t]=n[t];return e},De=Array.isArray,Uu=function(e,n,t){var r=n(e);return De(e)?r:ds(r,t(e))},Hu=function(e,n){for(var t=-1,r=e==null?0:e.length,a=0,i=[];++t<r;){var s=e[t];n(s,t,e)&&(i[a++]=s)}return i},Ku=function(){return[]},Wu=Object.prototype.propertyIsEnumerable,Ma=Object.getOwnPropertySymbols,Yu=Ma?function(e){return e==null?[]:(e=Object(e),Hu(Ma(e),function(n){return Wu.call(e,n)}))}:Ku,Xu=function(e,n){for(var t=-1,r=Array(e);++t<e;)r[t]=n(t);return r},vn=function(e){return e!=null&&typeof e=="object"},Fa=function(e){return vn(e)&&yn(e)=="[object Arguments]"},hs=Object.prototype,qu=hs.hasOwnProperty,Zu=hs.propertyIsEnumerable,yt=Fa(function(){return arguments}())?Fa:function(e){return vn(e)&&qu.call(e,"callee")&&!Zu.call(e,"callee")},Qu=function(){return!1},pt=zn(function(e,n){var t=n&&!n.nodeType&&n,r=t&&e&&!e.nodeType&&e,a=r&&r.exports===t?Ge.Buffer:void 0,i=(a?a.isBuffer:void 0)||Qu;e.exports=i}),Ju=/^(?:0|[1-9]\d*)$/,fs=function(e,n){var t=typeof e;return!!(n=n??9007199254740991)&&(t=="number"||t!="symbol"&&Ju.test(e))&&e>-1&&e%1==0&&e<n},Tr=function(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=9007199254740991},se={};se["[object Float32Array]"]=se["[object Float64Array]"]=se["[object Int8Array]"]=se["[object Int16Array]"]=se["[object Int32Array]"]=se["[object Uint8Array]"]=se["[object Uint8ClampedArray]"]=se["[object Uint16Array]"]=se["[object Uint32Array]"]=!0,se["[object Arguments]"]=se["[object Array]"]=se["[object ArrayBuffer]"]=se["[object Boolean]"]=se["[object DataView]"]=se["[object Date]"]=se["[object Error]"]=se["[object Function]"]=se["[object Map]"]=se["[object Number]"]=se["[object Object]"]=se["[object RegExp]"]=se["[object Set]"]=se["[object String]"]=se["[object WeakMap]"]=!1;var ec=function(e){return vn(e)&&Tr(e.length)&&!!se[yn(e)]},nc=function(e){return function(n){return e(n)}},Pa=zn(function(e,n){var t=n&&!n.nodeType&&n,r=t&&e&&!e.nodeType&&e,a=r&&r.exports===t&&us.process,i=function(){try{var s=r&&r.require&&r.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();e.exports=i}),$a=Pa&&Pa.isTypedArray,kr=$a?nc($a):ec,tc=Object.prototype.hasOwnProperty,rc=function(e,n){var t=De(e),r=!t&&yt(e),a=!t&&!r&&pt(e),i=!t&&!r&&!a&&kr(e),s=t||r||a||i,o=s?Xu(e.length,String):[],l=o.length;for(var c in e)!tc.call(e,c)||s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||fs(c,l))||o.push(c);return o},ac=Object.prototype,gs=function(e){var n=e&&e.constructor;return e===(typeof n=="function"&&n.prototype||ac)},ic=function(e,n){return function(t){return e(n(t))}}(Object.keys,Object),sc=Object.prototype.hasOwnProperty,bs=function(e){if(!gs(e))return ic(e);var n=[];for(var t in Object(e))sc.call(e,t)&&t!="constructor"&&n.push(t);return n},xt=function(e){return e!=null&&Tr(e.length)&&!ps(e)},Ar=function(e){return xt(e)?rc(e):bs(e)},za=function(e){return Uu(e,Ar,Yu)},oc=Object.prototype.hasOwnProperty,lc=function(e,n,t,r,a,i){var s=1&t,o=za(e),l=o.length;if(l!=za(n).length&&!s)return!1;for(var c=l;c--;){var p=o[c];if(!(s?p in n:oc.call(n,p)))return!1}var m=i.get(e),h=i.get(n);if(m&&h)return m==n&&h==e;var f=!0;i.set(e,n),i.set(n,e);for(var d=s;++c<l;){var g=e[p=o[c]],b=n[p];if(r)var N=s?r(b,g,p,n,e,i):r(g,b,p,e,n,i);if(!(N===void 0?g===b||a(g,b,t,r,i):N)){f=!1;break}d||(d=p=="constructor")}if(f&&!d){var y=e.constructor,w=n.constructor;y==w||!("constructor"in e)||!("constructor"in n)||typeof y=="function"&&y instanceof y&&typeof w=="function"&&w instanceof w||(f=!1)}return i.delete(e),i.delete(n),f},er=an(Ge,"DataView"),nr=an(Ge,"Promise"),tr=an(Ge,"Set"),rr=an(Ge,"WeakMap"),uc=rn(er),cc=rn(Mn),pc=rn(nr),mc=rn(tr),dc=rn(rr),Qe=yn;(er&&Qe(new er(new ArrayBuffer(1)))!="[object DataView]"||Mn&&Qe(new Mn)!="[object Map]"||nr&&Qe(nr.resolve())!="[object Promise]"||tr&&Qe(new tr)!="[object Set]"||rr&&Qe(new rr)!="[object WeakMap]")&&(Qe=function(e){var n=yn(e),t=n=="[object Object]"?e.constructor:void 0,r=t?rn(t):"";if(r)switch(r){case uc:return"[object DataView]";case cc:return"[object Map]";case pc:return"[object Promise]";case mc:return"[object Set]";case dc:return"[object WeakMap]"}return n});var ar=Qe,Xn="[object Object]",Ba=Object.prototype.hasOwnProperty,hc=function(e,n,t,r,a,i){var s=De(e),o=De(n),l=s?"[object Array]":ar(e),c=o?"[object Array]":ar(n),p=(l=l=="[object Arguments]"?Xn:l)==Xn,m=(c=c=="[object Arguments]"?Xn:c)==Xn,h=l==c;if(h&&pt(e)){if(!pt(n))return!1;s=!0,p=!1}if(h&&!p)return i||(i=new nt),s||kr(e)?ms(e,n,t,r,a,i):Gu(e,n,l,t,r,a,i);if(!(1&t)){var f=p&&Ba.call(e,"__wrapped__"),d=m&&Ba.call(n,"__wrapped__");if(f||d){var g=f?e.value():e,b=d?n.value():n;return i||(i=new nt),a(g,b,t,r,i)}}return!!h&&(i||(i=new nt),lc(e,n,t,r,a,i))},Et=function e(n,t,r,a,i){return n===t||(n==null||t==null||!vn(n)&&!vn(t)?n!=n&&t!=t:hc(n,t,r,a,e,i))},fc=function(e,n,t,r){var a=t.length,i=a;if(e==null)return!i;for(e=Object(e);a--;){var s=t[a];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++a<i;){var o=(s=t[a])[0],l=e[o],c=s[1];if(s[2]){if(l===void 0&&!(o in e))return!1}else{var p=new nt,m;if(!(m===void 0?Et(c,l,3,r,p):m))return!1}}return!0},vs=function(e){return e==e&&!Ln(e)},gc=function(e){for(var n=Ar(e),t=n.length;t--;){var r=n[t],a=e[r];n[t]=[r,a,vs(a)]}return n},Ns=function(e,n){return function(t){return t!=null&&t[e]===n&&(n!==void 0||e in Object(t))}},bc=function(e){var n=gc(e);return n.length==1&&n[0][2]?Ns(n[0][0],n[0][1]):function(t){return t===e||fc(t,e,n)}},St=function(e){return typeof e=="symbol"||vn(e)&&yn(e)=="[object Symbol]"},vc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Nc=/^\w*$/,Ir=function(e,n){if(De(e))return!1;var t=typeof e;return!(t!="number"&&t!="symbol"&&t!="boolean"&&e!=null&&!St(e))||Nc.test(e)||!vc.test(e)||n!=null&&e in Object(n)};function _r(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError("Expected a function");var t=function(){var r=arguments,a=n?n.apply(this,r):r[0],i=t.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return t.cache=i.set(a,s)||i,s};return t.cache=new(_r.Cache||wt),t}_r.Cache=wt;var wc=_r,yc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xc=/\\(\\)?/g,Ec=function(e){var n=wc(e,function(r){return t.size===500&&t.clear(),r}),t=n.cache;return n}(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(yc,function(t,r,a,i){n.push(a?i.replace(xc,"$1"):r||t)}),n}),ws=function(e,n){for(var t=-1,r=e==null?0:e.length,a=Array(r);++t<r;)a[t]=n(e[t],t,e);return a},Ga=Ve?Ve.prototype:void 0,Ua=Ga?Ga.toString:void 0,Sc=function e(n){if(typeof n=="string")return n;if(De(n))return ws(n,e)+"";if(St(n))return Ua?Ua.call(n):"";var t=n+"";return t=="0"&&1/n==-1/0?"-0":t},Dc=function(e){return e==null?"":Sc(e)},ys=function(e,n){return De(e)?e:Ir(e,n)?[e]:Ec(Dc(e))},Dt=function(e){if(typeof e=="string"||St(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n},xs=function(e,n){for(var t=0,r=(n=ys(n,e)).length;e!=null&&t<r;)e=e[Dt(n[t++])];return t&&t==r?e:void 0},Cc=function(e,n,t){var r=e==null?void 0:xs(e,n);return r===void 0?t:r},Tc=function(e,n){return e!=null&&n in Object(e)},kc=function(e,n,t){for(var r=-1,a=(n=ys(n,e)).length,i=!1;++r<a;){var s=Dt(n[r]);if(!(i=e!=null&&t(e,s)))break;e=e[s]}return i||++r!=a?i:!!(a=e==null?0:e.length)&&Tr(a)&&fs(s,a)&&(De(e)||yt(e))},Ac=function(e,n){return e!=null&&kc(e,n,Tc)},Ic=function(e,n){return Ir(e)&&vs(n)?Ns(Dt(e),n):function(t){var r=Cc(t,e);return r===void 0&&r===n?Ac(t,e):Et(n,r,3)}},_c=function(e){return e},Rc=function(e){return function(n){return n==null?void 0:n[e]}},jc=function(e){return function(n){return xs(n,e)}},Oc=function(e){return Ir(e)?Rc(Dt(e)):jc(e)},Ct=function(e){return typeof e=="function"?e:e==null?_c:typeof e=="object"?De(e)?Ic(e[0],e[1]):bc(e):Oc(e)},Vc=/\s/,Lc=function(e){for(var n=e.length;n--&&Vc.test(e.charAt(n)););return n},Mc=/^\s+/,Fc=function(e){return e&&e.slice(0,Lc(e)+1).replace(Mc,"")},Pc=/^[-+]0x[0-9a-f]+$/i,$c=/^0b[01]+$/i,zc=/^0o[0-7]+$/i,Bc=parseInt,Gc=function(e){if(typeof e=="number")return e;if(St(e))return NaN;if(Ln(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ln(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Fc(e);var t=$c.test(e);return t||zc.test(e)?Bc(e.slice(2),t?2:8):Pc.test(e)?NaN:+e},Uc=function(e){return e?(e=Gc(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:e===0?e:0},Hc=function(e){var n=Uc(e),t=n%1;return n==n?t?n-t:n:0};function ke(e){if(!e)throw new Error("change is not provided");if(ze(e))return"N".concat(e.oldLineNumber);var n=Ye(e)?"I":"D";return"".concat(n).concat(e.lineNumber)}Cr("old");var Tt=Vn("old"),kt=Vn("new");os("old");os("new");Cr("new");Cr("old");var Ha=function(){try{var e=an(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Rr=function(e,n,t){n=="__proto__"&&Ha?Ha(e,n,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[n]=t},Kc=function(e){return function(n,t,r){for(var a=-1,i=Object(n),s=r(n),o=s.length;o--;){var l=s[++a];if(t(i[l],l,i)===!1)break}return n}},Wc=Kc(),Es=function(e,n){return e&&Wc(e,n,Ar)},Ss=function(e,n){var t={};return n=Ct(n),Es(e,function(r,a,i){Rr(t,a,n(r,a,i))}),t},Yc=["changeKey","text","tokens","renderToken"],Ka=function e(n,t){var r=n.type,a=n.value,i=n.markType,s=n.properties,o=n.className,l=n.children,c=function(m){return L.jsx("span",{className:m,children:a||l&&l.map(e)},t)};switch(r){case"text":return a;case"mark":return c("diff-code-mark diff-code-mark-".concat(i));case"edit":return c("diff-code-edit");default:var p=s&&s.className;return c(ye(o||p))}};function Xc(e){if(!Array.isArray(e))return!0;if(e.length>1)return!1;if(e.length===1){var n=q(e,1)[0];return n.type==="text"&&!n.value}return!0}function qc(e){var n=e.changeKey,t=e.text,r=e.tokens,a=e.renderToken,i=Ke(e,Yc),s=a?function(o,l){return a(o,Ka,l)}:Ka;return L.jsx("td",Q(Q({},i),{},{"data-change-key":n,children:r?Xc(r)?" ":r.map(s):t||" "}))}var Ds=x.memo(qc);function Cs(e,n){return function(){var t=n==="old"?Tt(e):kt(e);return t===-1?void 0:t}}function Ts(e,n){return function(t){return e&&t?L.jsx("a",{href:n?"#"+n:void 0,children:t}):t}}function mt(e,n){return n?function(t){e(),n(t)}:e}function Wa(e,n,t,r){return x.useMemo(function(){var a=Ss(e,function(i){return function(s){return i&&i(n,s)}});return a.onMouseEnter=mt(t,a.onMouseEnter),a.onMouseLeave=mt(r,a.onMouseLeave),a},[e,t,r,n])}function Ya(e,n,t,r,a,i,s,o,l){var c={change:n,side:r,inHoverState:o,renderDefault:Cs(n,r),wrapInAnchor:Ts(a,i)};return L.jsx("td",Q(Q({className:e},s),{},{"data-change-key":t,children:l(c)}))}function Zc(e){var n,t,r,a=e.change,i=e.selected,s=e.tokens,o=e.className,l=e.generateLineClassName,c=e.gutterClassName,p=e.codeClassName,m=e.gutterEvents,h=e.codeEvents,f=e.hideGutter,d=e.gutterAnchor,g=e.generateAnchorID,b=e.renderToken,N=e.renderGutter,y=a.type,w=a.content,v=ke(a),E=(n=q(x.useState(!1),2),t=n[0],r=n[1],[t,x.useCallback(function(){return r(!0)},[]),x.useCallback(function(){return r(!1)},[])]),S=q(E,3),C=S[0],D=S[1],O=S[2],k=x.useMemo(function(){return{change:a}},[a]),j=Wa(m,k,D,O),M=Wa(h,k,D,O),_=g(a),$=l({changes:[a],defaultGenerate:function(){return o}}),K=ye("diff-gutter","diff-gutter-".concat(y),c,{"diff-gutter-selected":i}),W=ye("diff-code","diff-code-".concat(y),p,{"diff-code-selected":i});return L.jsxs("tr",{id:_,className:ye("diff-line",$),children:[!f&&Ya(K,a,v,"old",d,_,j,C,N),!f&&Ya(K,a,v,"new",d,_,j,C,N),L.jsx(Ds,Q({className:W,changeKey:v,text:w,tokens:s,renderToken:b},M))]})}var Qc=x.memo(Zc);function Jc(e){var n=e.hideGutter,t=e.element;return L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?1:3,className:"diff-widget-content",children:t})})}var ep=["hideGutter","selectedChanges","tokens","lineClassName"],np=["hunk","widgets","className"];function tp(e){var n=e.hunk,t=e.widgets,r=e.className,a=Ke(e,np),i=function(s,o){return s.reduce(function(l,c){var p=ke(c);l.push(["change",p,c]);var m=o[p];return m&&l.push(["widget",p,m]),l},[])}(n.changes,t);return L.jsx("tbody",{className:ye("diff-hunk",r),children:i.map(function(s){return function(o,l){var c=q(o,3),p=c[0],m=c[1],h=c[2],f=l.hideGutter,d=l.selectedChanges,g=l.tokens,b=l.lineClassName,N=Ke(l,ep);if(p==="change"){var y=Se(h)?"old":"new",w=Se(h)?Tt(h):kt(h),v=g?g[y][w-1]:null;return L.jsx(Qc,Q({className:b,change:h,hideGutter:f,selected:d.includes(m),tokens:v},N),"change".concat(m))}return p==="widget"?L.jsx(Jc,{hideGutter:f,element:h},"widget".concat(m)):null}(s,a)})})}var ks=0;function qn(e,n,t,r){var a=x.useCallback(function(){return n(e)},[e,n]),i=x.useCallback(function(){return n("")},[n]);return x.useMemo(function(){var s=Ss(r,function(o){return function(l){return o&&o({side:e,change:t},l)}});return s.onMouseEnter=mt(a,s.onMouseEnter),s.onMouseLeave=mt(i,s.onMouseLeave),s},[t,r,a,e,i])}function Ut(e){var n=e.change,t=e.side,r=e.selected,a=e.tokens,i=e.gutterClassName,s=e.codeClassName,o=e.gutterEvents,l=e.codeEvents,c=e.anchorID,p=e.gutterAnchor,m=e.gutterAnchorTarget,h=e.hideGutter,f=e.hover,d=e.renderToken,g=e.renderGutter;if(!n){var b=ye("diff-gutter","diff-gutter-omit",i),N=ye("diff-code","diff-code-omit",s);return[!h&&L.jsx("td",{className:b},"gutter"),L.jsx("td",{className:N},"code")]}var y=n.type,w=n.content,v=ke(n),E=t===ks?"old":"new",S=Q({id:c||void 0,className:ye("diff-gutter","diff-gutter-".concat(y),Zt({"diff-gutter-selected":r},"diff-line-hover-"+E,f),i),children:g({change:n,side:E,inHoverState:f,renderDefault:Cs(n,E),wrapInAnchor:Ts(p,m)})},o),C=ye("diff-code","diff-code-".concat(y),Zt({"diff-code-selected":r},"diff-line-hover-"+E,f),s);return[!h&&L.jsx("td",Q(Q({},S),{},{"data-change-key":v}),"gutter"),L.jsx(Ds,Q({className:C,changeKey:v,text:w,tokens:a,renderToken:d},l),"code")]}function rp(e){var n=e.className,t=e.oldChange,r=e.newChange,a=e.oldSelected,i=e.newSelected,s=e.oldTokens,o=e.newTokens,l=e.monotonous,c=e.gutterClassName,p=e.codeClassName,m=e.gutterEvents,h=e.codeEvents,f=e.hideGutter,d=e.generateAnchorID,g=e.generateLineClassName,b=e.gutterAnchor,N=e.renderToken,y=e.renderGutter,w=q(x.useState(""),2),v=w[0],E=w[1],S=qn("old",E,t,m),C=qn("new",E,r,m),D=qn("old",E,t,h),O=qn("new",E,r,h),k=t&&d(t),j=r&&d(r),M=g({changes:[t,r],defaultGenerate:function(){return n}}),_={monotonous:l,hideGutter:f,gutterClassName:c,codeClassName:p,gutterEvents:m,codeEvents:h,renderToken:N,renderGutter:y},$=Q(Q({},_),{},{change:t,side:ks,selected:a,tokens:s,gutterEvents:S,codeEvents:D,anchorID:k,gutterAnchor:b,gutterAnchorTarget:k,hover:v==="old"}),K=Q(Q({},_),{},{change:r,side:1,selected:i,tokens:o,gutterEvents:C,codeEvents:O,anchorID:t===r?null:j,gutterAnchor:b,gutterAnchorTarget:t===r?k:j,hover:v==="new"});if(l)return L.jsx("tr",{className:ye("diff-line",M),children:Ut(t?$:K)});var W=function(A,R){return A&&!R?"diff-line-old-only":!A&&R?"diff-line-new-only":A===R?"diff-line-normal":"diff-line-compare"}(t,r);return L.jsxs("tr",{className:ye("diff-line",W,M),children:[Ut($),Ut(K)]})}var ap=x.memo(rp);function ip(e){var n=e.hideGutter,t=e.oldElement,r=e.newElement;return e.monotonous?L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:t||r})}):t===r?L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?2:4,className:"diff-widget-content",children:t})}):L.jsxs("tr",{className:"diff-widget",children:[L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:t}),L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:r})]})}var sp=["selectedChanges","monotonous","hideGutter","tokens","lineClassName"],op=["hunk","widgets","className"];function Zn(e,n){return(e?ke(e):"00")+(n?ke(n):"00")}function lp(e){var n=e.hunk,t=e.widgets,r=e.className,a=Ke(e,op),i=function(s,o){for(var l=function(N){if(!N)return null;var y=ke(N);return o[y]||null},c=[],p=0;p<s.length;p++){var m=s[p];if(ze(m))c.push(["change",Zn(m,m),m,m]);else if(Se(m)){var h=s[p+1];h&&Ye(h)?(p+=1,c.push(["change",Zn(m,h),m,h])):c.push(["change",Zn(m,null),m,null])}else c.push(["change",Zn(null,m),null,m]);var f=c[c.length-1],d=l(f[2]),g=l(f[3]);if(d||g){var b=f[1];c.push(["widget",b,d,g])}}return c}(n.changes,t);return L.jsx("tbody",{className:ye("diff-hunk",r),children:i.map(function(s){return function(o,l){var c=q(o,4),p=c[0],m=c[1],h=c[2],f=c[3],d=l.selectedChanges,g=l.monotonous,b=l.hideGutter,N=l.tokens,y=l.lineClassName,w=Ke(l,sp);if(p==="change"){var v=!!h&&d.includes(ke(h)),E=!!f&&d.includes(ke(f)),S=h&&N?N.old[Tt(h)-1]:null,C=f&&N?N.new[kt(f)-1]:null;return L.jsx(ap,Q({className:y,oldChange:h,newChange:f,monotonous:g,hideGutter:b,oldSelected:v,newSelected:E,oldTokens:S,newTokens:C},w),"change".concat(m))}return p==="widget"?L.jsx(ip,{monotonous:g,hideGutter:b,oldElement:h,newElement:f},"widget".concat(m)):null}(s,a)})})}var up=["gutterType","hunkClassName"];function As(e){var n=e.hunk,t=Bl(),r=t.gutterType,a=t.hunkClassName,i=Ke(t,up),s=r==="none",o=r==="anchor",l=i.viewType==="unified"?tp:lp;return L.jsx(l,Q(Q({},i),{},{hunk:n,hideGutter:s,gutterAnchor:o,className:a}))}function cp(){}function Xa(e,n){var t=n?"auto":"none";e instanceof HTMLElement&&e.style.userSelect!==t&&(e.style.userSelect=t)}function pp(e){return e.map(function(n){return L.jsx(As,{hunk:n},function(t){return"-".concat(t.oldStart,",").concat(t.oldLines," +").concat(t.newStart,",").concat(t.newLines)}(n))})}function mp(e){var n=e.diffType,t=e.hunks,r=e.optimizeSelection,a=e.className,i=e.hunkClassName,s=i===void 0?ge.hunkClassName:i,o=e.lineClassName,l=o===void 0?ge.lineClassName:o,c=e.generateLineClassName,p=c===void 0?ge.generateLineClassName:c,m=e.gutterClassName,h=m===void 0?ge.gutterClassName:m,f=e.codeClassName,d=f===void 0?ge.codeClassName:f,g=e.gutterType,b=g===void 0?ge.gutterType:g,N=e.viewType,y=N===void 0?ge.viewType:N,w=e.gutterEvents,v=w===void 0?ge.gutterEvents:w,E=e.codeEvents,S=E===void 0?ge.codeEvents:E,C=e.generateAnchorID,D=C===void 0?ge.generateAnchorID:C,O=e.selectedChanges,k=O===void 0?ge.selectedChanges:O,j=e.widgets,M=j===void 0?ge.widgets:j,_=e.renderGutter,$=_===void 0?ge.renderGutter:_,K=e.tokens,W=e.renderToken,A=e.children,R=A===void 0?pp:A,U=x.useRef(null),T=x.useCallback(function(Me){var Sn=Me.target;if(Me.button===0){var Ue=function(qe,F){for(var B=qe;B&&B!==document.documentElement&&!B.classList.contains(F);)B=B.parentElement;return B===document.documentElement?null:B}(Sn,"diff-code");if(Ue&&Ue.parentElement){var Dn=window.getSelection();Dn&&Dn.removeAllRanges();var on=Ee(Ue.parentElement.children).indexOf(Ue);if(on===1||on===3){var Hn,Xe=Dr(U.current?U.current.querySelectorAll(".diff-line"):[]);try{for(Xe.s();!(Hn=Xe.n()).done;){var Cn=Hn.value.children;Xa(Cn[1],on===1),Xa(Cn[3],on===3)}}catch(qe){Xe.e(qe)}finally{Xe.f()}}}}},[]),G=b==="none",Z=n==="add"||n==="delete",ce=y==="split"&&!Z&&r?T:cp,V=x.useMemo(function(){return L.jsxs("colgroup",y==="unified"?{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]}:Z?{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]}:{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{}),!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]})},[y,Z,G]),oe=x.useMemo(function(){return{hunkClassName:s,lineClassName:l,generateLineClassName:p,gutterClassName:h,codeClassName:d,monotonous:Z,hideGutter:G,viewType:y,gutterType:b,codeEvents:S,gutterEvents:v,generateAnchorID:D,selectedChanges:k,widgets:M,renderGutter:$,tokens:K,renderToken:W}},[d,S,D,h,v,b,G,s,l,p,Z,$,W,k,K,y,M]);return L.jsx(zl,{value:oe,children:L.jsxs("table",{ref:U,className:ye("diff","diff-".concat(y),a),onMouseDown:ce,children:[V,R(t)]})})}var dp=x.memo(mp),hp=function(e,n,t,r){for(var a=-1,i=e==null?0:e.length;++a<i;){var s=e[a];n(r,s,t(s),e)}return r},fp=function(e,n){return function(t,r){if(t==null)return t;if(!xt(t))return e(t,r);for(var a=t.length,i=-1,s=Object(t);++i<a&&r(s[i],i,s)!==!1;);return t}},Is=fp(Es),gp=function(e,n,t,r){return Is(e,function(a,i,s){n(r,a,t(a),s)}),r},_s=function(e,n){return function(t,r){var a=De(t)?hp:gp,i=n?n():{};return a(t,e,Ct(r),i)}},bp=_s(function(e,n,t){Rr(e,t,n)}),qa=Ve?Ve.isConcatSpreadable:void 0,vp=function(e){return De(e)||yt(e)||!!(qa&&e&&e[qa])},Rs=function(n,t,r,a,i){var s=-1,o=n.length;for(r||(r=vp),i||(i=[]);++s<o;){var l=n[s];r(l)?ds(i,l):i[i.length]=l}return i},Np=function(e,n){var t=-1,r=xt(e)?Array(e.length):[];return Is(e,function(a,i,s){r[++t]=n(a,i,s)}),r},wp=function(e,n){return(De(e)?ws:Np)(e,Ct(n))},jr=function(e,n){return Rs(wp(e,n))};function yp(e,n){var t=n.newStart,r=n.changes.reduce(function(a,i){var s=q(a,2),o=s[0],l=s[1];return Se(i)?(o.splice(l,1),[o,l]):(Ye(i)&&o.splice(l,0,i.content),[o,l+1])},[e,t-1]);return q(r,1)[0]}function Za(e,n,t){if(!e.length)return[];var r=n==="old"?Tt:kt,a=bp(e,r),i=r(e[e.length-1]);return Array.from({length:i}).map(function(s,o){return t(a[o+1])})}function xp(e){var n=function(s){return jr(s,function(o){return o.changes}).reduce(function(o,l){var c=q(o,2),p=c[0],m=c[1];return ze(l)?(p.push(l),m.push(l)):Se(l)?p.push(l):m.push(l),[p,m]},[[],[]])}(e),t=q(n,2),r=t[0],a=t[1],i=function(s){return s?s.content:""};return[Za(r,"old",i).join(`
52
+ `)}(e.trimStart());return Bl.parse(t).map(function(r){return function(a,i){var s=a.hunks.map(function(o){return Gl(o,i)});return Q(Q({},a),{},{hunks:s})}(r,n)})}function Hl(e){return e[0]}function Kl(e){return e[e.length-1]}function Jt(e){return["".concat(e,"Start"),"".concat(e,"Lines")]}function Vn(e){return e==="old"?function(n){return Ye(n)?-1:ze(n)?n.oldLineNumber:n.lineNumber}:function(n){return Se(n)?-1:ze(n)?n.newLineNumber:n.lineNumber}}function ss(e,n){return function(t,r){var a=t[e],i=a+t[n];return r>=a&&r<i}}function Wl(e,n){return function(t,r,a){var i=t[e]+t[n],s=r[e];return a>=i&&a<s}}function os(e){var n=Vn(e),t=function(r){var a=q(Jt(r),2),i=ss(a[0],a[1]);return function(s,o){return s.find(function(l){return i(l,o)})}}(e);return function(r,a){var i=t(r,a);if(i)return i.changes.find(function(s){return n(s)===a})}}function Cr(e){var n=e==="old"?"new":"old",t=q(Jt(e),2),r=t[0],a=t[1],i=q(Jt(n),2),s=i[0],o=i[1],l=Vn(e),c=Vn(n),p=ss(r,a),m=Wl(r,a);return function(h,f){var d=Hl(h);if(f<d[r]){var g=d[r]-f;return d[s]-g}var b=Kl(h);if(b[r]+b[a]<=f){var N=f-b[r]-b[a];return b[s]+b[o]+N}for(var x=0;x<h.length;x++){var w=h[x],v=h[x+1];if(p(w,f)){var E=w.changes.findIndex(function(j){return l(j)===f}),S=w.changes[E];if(ze(S))return c(S);var C=Se(S)?E+1:E-1,D=w.changes[C];if(!D)return-1;var O=Ye(S)?"delete":"insert";return D.type===O?c(D):-1}if(m(w,v,f)){var k=f-w[r]-w[a];return w[s]+w[o]+k}}throw new Error("Unexpected line position ".concat(f))}}var Yl=function(e,n,t,r){for(var a=e.length,i=t+-1;++i<a;)if(n(e[i],i,e))return i;return-1},Xl=function(){this.__data__=[],this.size=0},ls=function(e,n){return e===n||e!=e&&n!=n},bt=function(e,n){for(var t=e.length;t--;)if(ls(e[t][0],n))return t;return-1},ql=Array.prototype.splice,Zl=function(e){var n=this.__data__,t=bt(n,e);return!(t<0)&&(t==n.length-1?n.pop():ql.call(n,t,1),--this.size,!0)},Ql=function(e){var n=this.__data__,t=bt(n,e);return t<0?void 0:n[t][1]},Jl=function(e){return bt(this.__data__,e)>-1},eu=function(e,n){var t=this.__data__,r=bt(t,e);return r<0?(++this.size,t.push([e,n])):t[r][1]=n,this};function un(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}un.prototype.clear=Xl,un.prototype.delete=Zl,un.prototype.get=Ql,un.prototype.has=Jl,un.prototype.set=eu;var vt=un,nu=function(){this.__data__=new vt,this.size=0},tu=function(e){var n=this.__data__,t=n.delete(e);return this.size=n.size,t},ru=function(e){return this.__data__.get(e)},au=function(e){return this.__data__.has(e)},us=typeof Yn=="object"&&Yn&&Yn.Object===Object&&Yn,iu=typeof self=="object"&&self&&self.Object===Object&&self,Be=us||iu||Function("return this")(),Ve=Be.Symbol,cs=Object.prototype,su=cs.hasOwnProperty,ou=cs.toString,kn=Ve?Ve.toStringTag:void 0,lu=function(e){var n=su.call(e,kn),t=e[kn];try{e[kn]=void 0;var r=!0}catch{}var a=ou.call(e);return r&&(n?e[kn]=t:delete e[kn]),a},uu=Object.prototype.toString,cu=function(e){return uu.call(e)},Ra=Ve?Ve.toStringTag:void 0,xn=function(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Ra&&Ra in Object(e)?lu(e):cu(e)},Ln=function(e){var n=typeof e;return e!=null&&(n=="object"||n=="function")},ps=function(e){if(!Ln(e))return!1;var n=xn(e);return n=="[object Function]"||n=="[object GeneratorFunction]"||n=="[object AsyncFunction]"||n=="[object Proxy]"},Bt=Be["__core-js_shared__"],ja=function(){var e=/[^.]+$/.exec(Bt&&Bt.keys&&Bt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),pu=function(e){return!!ja&&ja in e},mu=Function.prototype.toString,rn=function(e){if(e!=null){try{return mu.call(e)}catch{}try{return e+""}catch{}}return""},du=/^\[object .+?Constructor\]$/,hu=Function.prototype,fu=Object.prototype,gu=hu.toString,bu=fu.hasOwnProperty,vu=RegExp("^"+gu.call(bu).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Nu=function(e){return!(!Ln(e)||pu(e))&&(ps(e)?vu:du).test(rn(e))},wu=function(e,n){return e==null?void 0:e[n]},an=function(e,n){var t=wu(e,n);return Nu(t)?t:void 0},Mn=an(Be,"Map"),Fn=an(Object,"create"),xu=function(){this.__data__=Fn?Fn(null):{},this.size=0},yu=function(e){var n=this.has(e)&&delete this.__data__[e];return this.size-=n?1:0,n},Eu=Object.prototype.hasOwnProperty,Su=function(e){var n=this.__data__;if(Fn){var t=n[e];return t==="__lodash_hash_undefined__"?void 0:t}return Eu.call(n,e)?n[e]:void 0},Du=Object.prototype.hasOwnProperty,Cu=function(e){var n=this.__data__;return Fn?n[e]!==void 0:Du.call(n,e)},Tu=function(e,n){var t=this.__data__;return this.size+=this.has(e)?0:1,t[e]=Fn&&n===void 0?"__lodash_hash_undefined__":n,this};function cn(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}cn.prototype.clear=xu,cn.prototype.delete=yu,cn.prototype.get=Su,cn.prototype.has=Cu,cn.prototype.set=Tu;var Oa=cn,ku=function(){this.size=0,this.__data__={hash:new Oa,map:new(Mn||vt),string:new Oa}},Au=function(e){var n=typeof e;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?e!=="__proto__":e===null},Nt=function(e,n){var t=e.__data__;return Au(n)?t[typeof n=="string"?"string":"hash"]:t.map},Iu=function(e){var n=Nt(this,e).delete(e);return this.size-=n?1:0,n},_u=function(e){return Nt(this,e).get(e)},Ru=function(e){return Nt(this,e).has(e)},ju=function(e,n){var t=Nt(this,e),r=t.size;return t.set(e,n),this.size+=t.size==r?0:1,this};function pn(e){var n=-1,t=e==null?0:e.length;for(this.clear();++n<t;){var r=e[n];this.set(r[0],r[1])}}pn.prototype.clear=ku,pn.prototype.delete=Iu,pn.prototype.get=_u,pn.prototype.has=Ru,pn.prototype.set=ju;var wt=pn,Ou=function(e,n){var t=this.__data__;if(t instanceof vt){var r=t.__data__;if(!Mn||r.length<199)return r.push([e,n]),this.size=++t.size,this;t=this.__data__=new wt(r)}return t.set(e,n),this.size=t.size,this};function mn(e){var n=this.__data__=new vt(e);this.size=n.size}mn.prototype.clear=nu,mn.prototype.delete=tu,mn.prototype.get=ru,mn.prototype.has=au,mn.prototype.set=Ou;var nt=mn,Vu=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this},Lu=function(e){return this.__data__.has(e)};function tt(e){var n=-1,t=e==null?0:e.length;for(this.__data__=new wt;++n<t;)this.add(e[n])}tt.prototype.add=tt.prototype.push=Vu,tt.prototype.has=Lu;var Mu=tt,Fu=function(e,n){for(var t=-1,r=e==null?0:e.length;++t<r;)if(n(e[t],t,e))return!0;return!1},Pu=function(e,n){return e.has(n)},ms=function(e,n,t,r,a,i){var s=1&t,o=e.length,l=n.length;if(o!=l&&!(s&&l>o))return!1;var c=i.get(e),p=i.get(n);if(c&&p)return c==n&&p==e;var m=-1,h=!0,f=2&t?new Mu:void 0;for(i.set(e,n),i.set(n,e);++m<o;){var d=e[m],g=n[m];if(r)var b=s?r(g,d,m,n,e,i):r(d,g,m,e,n,i);if(b!==void 0){if(b)continue;h=!1;break}if(f){if(!Fu(n,function(N,x){if(!Pu(f,x)&&(d===N||a(d,N,t,r,i)))return f.push(x)})){h=!1;break}}else if(d!==g&&!a(d,g,t,r,i)){h=!1;break}}return i.delete(e),i.delete(n),h},Va=Be.Uint8Array,$u=function(e){var n=-1,t=Array(e.size);return e.forEach(function(r,a){t[++n]=[a,r]}),t},zu=function(e){var n=-1,t=Array(e.size);return e.forEach(function(r){t[++n]=r}),t},La=Ve?Ve.prototype:void 0,Gt=La?La.valueOf:void 0,Bu=function(e,n,t,r,a,i,s){switch(t){case"[object DataView]":if(e.byteLength!=n.byteLength||e.byteOffset!=n.byteOffset)return!1;e=e.buffer,n=n.buffer;case"[object ArrayBuffer]":return!(e.byteLength!=n.byteLength||!i(new Va(e),new Va(n)));case"[object Boolean]":case"[object Date]":case"[object Number]":return ls(+e,+n);case"[object Error]":return e.name==n.name&&e.message==n.message;case"[object RegExp]":case"[object String]":return e==n+"";case"[object Map]":var o=$u;case"[object Set]":var l=1&r;if(o||(o=zu),e.size!=n.size&&!l)return!1;var c=s.get(e);if(c)return c==n;r|=2,s.set(e,n);var p=ms(o(e),o(n),r,a,i,s);return s.delete(e),p;case"[object Symbol]":if(Gt)return Gt.call(e)==Gt.call(n)}return!1},ds=function(e,n){for(var t=-1,r=n.length,a=e.length;++t<r;)e[a+t]=n[t];return e},De=Array.isArray,Gu=function(e,n,t){var r=n(e);return De(e)?r:ds(r,t(e))},Uu=function(e,n){for(var t=-1,r=e==null?0:e.length,a=0,i=[];++t<r;){var s=e[t];n(s,t,e)&&(i[a++]=s)}return i},Hu=function(){return[]},Ku=Object.prototype.propertyIsEnumerable,Ma=Object.getOwnPropertySymbols,Wu=Ma?function(e){return e==null?[]:(e=Object(e),Uu(Ma(e),function(n){return Ku.call(e,n)}))}:Hu,Yu=function(e,n){for(var t=-1,r=Array(e);++t<e;)r[t]=n(t);return r},vn=function(e){return e!=null&&typeof e=="object"},Fa=function(e){return vn(e)&&xn(e)=="[object Arguments]"},hs=Object.prototype,Xu=hs.hasOwnProperty,qu=hs.propertyIsEnumerable,xt=Fa(function(){return arguments}())?Fa:function(e){return vn(e)&&Xu.call(e,"callee")&&!qu.call(e,"callee")},Zu=function(){return!1},pt=zn(function(e,n){var t=n&&!n.nodeType&&n,r=t&&e&&!e.nodeType&&e,a=r&&r.exports===t?Be.Buffer:void 0,i=(a?a.isBuffer:void 0)||Zu;e.exports=i}),Qu=/^(?:0|[1-9]\d*)$/,fs=function(e,n){var t=typeof e;return!!(n=n??9007199254740991)&&(t=="number"||t!="symbol"&&Qu.test(e))&&e>-1&&e%1==0&&e<n},Tr=function(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=9007199254740991},se={};se["[object Float32Array]"]=se["[object Float64Array]"]=se["[object Int8Array]"]=se["[object Int16Array]"]=se["[object Int32Array]"]=se["[object Uint8Array]"]=se["[object Uint8ClampedArray]"]=se["[object Uint16Array]"]=se["[object Uint32Array]"]=!0,se["[object Arguments]"]=se["[object Array]"]=se["[object ArrayBuffer]"]=se["[object Boolean]"]=se["[object DataView]"]=se["[object Date]"]=se["[object Error]"]=se["[object Function]"]=se["[object Map]"]=se["[object Number]"]=se["[object Object]"]=se["[object RegExp]"]=se["[object Set]"]=se["[object String]"]=se["[object WeakMap]"]=!1;var Ju=function(e){return vn(e)&&Tr(e.length)&&!!se[xn(e)]},ec=function(e){return function(n){return e(n)}},Pa=zn(function(e,n){var t=n&&!n.nodeType&&n,r=t&&e&&!e.nodeType&&e,a=r&&r.exports===t&&us.process,i=function(){try{var s=r&&r.require&&r.require("util").types;return s||a&&a.binding&&a.binding("util")}catch{}}();e.exports=i}),$a=Pa&&Pa.isTypedArray,kr=$a?ec($a):Ju,nc=Object.prototype.hasOwnProperty,tc=function(e,n){var t=De(e),r=!t&&xt(e),a=!t&&!r&&pt(e),i=!t&&!r&&!a&&kr(e),s=t||r||a||i,o=s?Yu(e.length,String):[],l=o.length;for(var c in e)!nc.call(e,c)||s&&(c=="length"||a&&(c=="offset"||c=="parent")||i&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||fs(c,l))||o.push(c);return o},rc=Object.prototype,gs=function(e){var n=e&&e.constructor;return e===(typeof n=="function"&&n.prototype||rc)},ac=function(e,n){return function(t){return e(n(t))}}(Object.keys,Object),ic=Object.prototype.hasOwnProperty,bs=function(e){if(!gs(e))return ac(e);var n=[];for(var t in Object(e))ic.call(e,t)&&t!="constructor"&&n.push(t);return n},yt=function(e){return e!=null&&Tr(e.length)&&!ps(e)},Ar=function(e){return yt(e)?tc(e):bs(e)},za=function(e){return Gu(e,Ar,Wu)},sc=Object.prototype.hasOwnProperty,oc=function(e,n,t,r,a,i){var s=1&t,o=za(e),l=o.length;if(l!=za(n).length&&!s)return!1;for(var c=l;c--;){var p=o[c];if(!(s?p in n:sc.call(n,p)))return!1}var m=i.get(e),h=i.get(n);if(m&&h)return m==n&&h==e;var f=!0;i.set(e,n),i.set(n,e);for(var d=s;++c<l;){var g=e[p=o[c]],b=n[p];if(r)var N=s?r(b,g,p,n,e,i):r(g,b,p,e,n,i);if(!(N===void 0?g===b||a(g,b,t,r,i):N)){f=!1;break}d||(d=p=="constructor")}if(f&&!d){var x=e.constructor,w=n.constructor;x==w||!("constructor"in e)||!("constructor"in n)||typeof x=="function"&&x instanceof x&&typeof w=="function"&&w instanceof w||(f=!1)}return i.delete(e),i.delete(n),f},er=an(Be,"DataView"),nr=an(Be,"Promise"),tr=an(Be,"Set"),rr=an(Be,"WeakMap"),lc=rn(er),uc=rn(Mn),cc=rn(nr),pc=rn(tr),mc=rn(rr),Qe=xn;(er&&Qe(new er(new ArrayBuffer(1)))!="[object DataView]"||Mn&&Qe(new Mn)!="[object Map]"||nr&&Qe(nr.resolve())!="[object Promise]"||tr&&Qe(new tr)!="[object Set]"||rr&&Qe(new rr)!="[object WeakMap]")&&(Qe=function(e){var n=xn(e),t=n=="[object Object]"?e.constructor:void 0,r=t?rn(t):"";if(r)switch(r){case lc:return"[object DataView]";case uc:return"[object Map]";case cc:return"[object Promise]";case pc:return"[object Set]";case mc:return"[object WeakMap]"}return n});var ar=Qe,Xn="[object Object]",Ba=Object.prototype.hasOwnProperty,dc=function(e,n,t,r,a,i){var s=De(e),o=De(n),l=s?"[object Array]":ar(e),c=o?"[object Array]":ar(n),p=(l=l=="[object Arguments]"?Xn:l)==Xn,m=(c=c=="[object Arguments]"?Xn:c)==Xn,h=l==c;if(h&&pt(e)){if(!pt(n))return!1;s=!0,p=!1}if(h&&!p)return i||(i=new nt),s||kr(e)?ms(e,n,t,r,a,i):Bu(e,n,l,t,r,a,i);if(!(1&t)){var f=p&&Ba.call(e,"__wrapped__"),d=m&&Ba.call(n,"__wrapped__");if(f||d){var g=f?e.value():e,b=d?n.value():n;return i||(i=new nt),a(g,b,t,r,i)}}return!!h&&(i||(i=new nt),oc(e,n,t,r,a,i))},Et=function e(n,t,r,a,i){return n===t||(n==null||t==null||!vn(n)&&!vn(t)?n!=n&&t!=t:dc(n,t,r,a,e,i))},hc=function(e,n,t,r){var a=t.length,i=a;if(e==null)return!i;for(e=Object(e);a--;){var s=t[a];if(s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++a<i;){var o=(s=t[a])[0],l=e[o],c=s[1];if(s[2]){if(l===void 0&&!(o in e))return!1}else{var p=new nt,m;if(!(m===void 0?Et(c,l,3,r,p):m))return!1}}return!0},vs=function(e){return e==e&&!Ln(e)},fc=function(e){for(var n=Ar(e),t=n.length;t--;){var r=n[t],a=e[r];n[t]=[r,a,vs(a)]}return n},Ns=function(e,n){return function(t){return t!=null&&t[e]===n&&(n!==void 0||e in Object(t))}},gc=function(e){var n=fc(e);return n.length==1&&n[0][2]?Ns(n[0][0],n[0][1]):function(t){return t===e||hc(t,e,n)}},St=function(e){return typeof e=="symbol"||vn(e)&&xn(e)=="[object Symbol]"},bc=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,vc=/^\w*$/,Ir=function(e,n){if(De(e))return!1;var t=typeof e;return!(t!="number"&&t!="symbol"&&t!="boolean"&&e!=null&&!St(e))||vc.test(e)||!bc.test(e)||n!=null&&e in Object(n)};function _r(e,n){if(typeof e!="function"||n!=null&&typeof n!="function")throw new TypeError("Expected a function");var t=function(){var r=arguments,a=n?n.apply(this,r):r[0],i=t.cache;if(i.has(a))return i.get(a);var s=e.apply(this,r);return t.cache=i.set(a,s)||i,s};return t.cache=new(_r.Cache||wt),t}_r.Cache=wt;var Nc=_r,wc=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,xc=/\\(\\)?/g,yc=function(e){var n=Nc(e,function(r){return t.size===500&&t.clear(),r}),t=n.cache;return n}(function(e){var n=[];return e.charCodeAt(0)===46&&n.push(""),e.replace(wc,function(t,r,a,i){n.push(a?i.replace(xc,"$1"):r||t)}),n}),ws=function(e,n){for(var t=-1,r=e==null?0:e.length,a=Array(r);++t<r;)a[t]=n(e[t],t,e);return a},Ga=Ve?Ve.prototype:void 0,Ua=Ga?Ga.toString:void 0,Ec=function e(n){if(typeof n=="string")return n;if(De(n))return ws(n,e)+"";if(St(n))return Ua?Ua.call(n):"";var t=n+"";return t=="0"&&1/n==-1/0?"-0":t},Sc=function(e){return e==null?"":Ec(e)},xs=function(e,n){return De(e)?e:Ir(e,n)?[e]:yc(Sc(e))},Dt=function(e){if(typeof e=="string"||St(e))return e;var n=e+"";return n=="0"&&1/e==-1/0?"-0":n},ys=function(e,n){for(var t=0,r=(n=xs(n,e)).length;e!=null&&t<r;)e=e[Dt(n[t++])];return t&&t==r?e:void 0},Dc=function(e,n,t){var r=e==null?void 0:ys(e,n);return r===void 0?t:r},Cc=function(e,n){return e!=null&&n in Object(e)},Tc=function(e,n,t){for(var r=-1,a=(n=xs(n,e)).length,i=!1;++r<a;){var s=Dt(n[r]);if(!(i=e!=null&&t(e,s)))break;e=e[s]}return i||++r!=a?i:!!(a=e==null?0:e.length)&&Tr(a)&&fs(s,a)&&(De(e)||xt(e))},kc=function(e,n){return e!=null&&Tc(e,n,Cc)},Ac=function(e,n){return Ir(e)&&vs(n)?Ns(Dt(e),n):function(t){var r=Dc(t,e);return r===void 0&&r===n?kc(t,e):Et(n,r,3)}},Ic=function(e){return e},_c=function(e){return function(n){return n==null?void 0:n[e]}},Rc=function(e){return function(n){return ys(n,e)}},jc=function(e){return Ir(e)?_c(Dt(e)):Rc(e)},Ct=function(e){return typeof e=="function"?e:e==null?Ic:typeof e=="object"?De(e)?Ac(e[0],e[1]):gc(e):jc(e)},Oc=/\s/,Vc=function(e){for(var n=e.length;n--&&Oc.test(e.charAt(n)););return n},Lc=/^\s+/,Mc=function(e){return e&&e.slice(0,Vc(e)+1).replace(Lc,"")},Fc=/^[-+]0x[0-9a-f]+$/i,Pc=/^0b[01]+$/i,$c=/^0o[0-7]+$/i,zc=parseInt,Bc=function(e){if(typeof e=="number")return e;if(St(e))return NaN;if(Ln(e)){var n=typeof e.valueOf=="function"?e.valueOf():e;e=Ln(n)?n+"":n}if(typeof e!="string")return e===0?e:+e;e=Mc(e);var t=Pc.test(e);return t||$c.test(e)?zc(e.slice(2),t?2:8):Fc.test(e)?NaN:+e},Gc=function(e){return e?(e=Bc(e))===1/0||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:e===0?e:0},Uc=function(e){var n=Gc(e),t=n%1;return n==n?t?n-t:n:0};function ke(e){if(!e)throw new Error("change is not provided");if(ze(e))return"N".concat(e.oldLineNumber);var n=Ye(e)?"I":"D";return"".concat(n).concat(e.lineNumber)}Cr("old");var Tt=Vn("old"),kt=Vn("new");os("old");os("new");Cr("new");Cr("old");var Ha=function(){try{var e=an(Object,"defineProperty");return e({},"",{}),e}catch{}}(),Rr=function(e,n,t){n=="__proto__"&&Ha?Ha(e,n,{configurable:!0,enumerable:!0,value:t,writable:!0}):e[n]=t},Hc=function(e){return function(n,t,r){for(var a=-1,i=Object(n),s=r(n),o=s.length;o--;){var l=s[++a];if(t(i[l],l,i)===!1)break}return n}},Kc=Hc(),Es=function(e,n){return e&&Kc(e,n,Ar)},Ss=function(e,n){var t={};return n=Ct(n),Es(e,function(r,a,i){Rr(t,a,n(r,a,i))}),t},Wc=["changeKey","text","tokens","renderToken"],Ka=function e(n,t){var r=n.type,a=n.value,i=n.markType,s=n.properties,o=n.className,l=n.children,c=function(m){return L.jsx("span",{className:m,children:a||l&&l.map(e)},t)};switch(r){case"text":return a;case"mark":return c("diff-code-mark diff-code-mark-".concat(i));case"edit":return c("diff-code-edit");default:var p=s&&s.className;return c(xe(o||p))}};function Yc(e){if(!Array.isArray(e))return!0;if(e.length>1)return!1;if(e.length===1){var n=q(e,1)[0];return n.type==="text"&&!n.value}return!0}function Xc(e){var n=e.changeKey,t=e.text,r=e.tokens,a=e.renderToken,i=He(e,Wc),s=a?function(o,l){return a(o,Ka,l)}:Ka;return L.jsx("td",Q(Q({},i),{},{"data-change-key":n,children:r?Yc(r)?" ":r.map(s):t||" "}))}var Ds=y.memo(Xc);function Cs(e,n){return function(){var t=n==="old"?Tt(e):kt(e);return t===-1?void 0:t}}function Ts(e,n){return function(t){return e&&t?L.jsx("a",{href:n?"#"+n:void 0,children:t}):t}}function mt(e,n){return n?function(t){e(),n(t)}:e}function Wa(e,n,t,r){return y.useMemo(function(){var a=Ss(e,function(i){return function(s){return i&&i(n,s)}});return a.onMouseEnter=mt(t,a.onMouseEnter),a.onMouseLeave=mt(r,a.onMouseLeave),a},[e,t,r,n])}function Ya(e,n,t,r,a,i,s,o,l){var c={change:n,side:r,inHoverState:o,renderDefault:Cs(n,r),wrapInAnchor:Ts(a,i)};return L.jsx("td",Q(Q({className:e},s),{},{"data-change-key":t,children:l(c)}))}function qc(e){var n,t,r,a=e.change,i=e.selected,s=e.tokens,o=e.className,l=e.generateLineClassName,c=e.gutterClassName,p=e.codeClassName,m=e.gutterEvents,h=e.codeEvents,f=e.hideGutter,d=e.gutterAnchor,g=e.generateAnchorID,b=e.renderToken,N=e.renderGutter,x=a.type,w=a.content,v=ke(a),E=(n=q(y.useState(!1),2),t=n[0],r=n[1],[t,y.useCallback(function(){return r(!0)},[]),y.useCallback(function(){return r(!1)},[])]),S=q(E,3),C=S[0],D=S[1],O=S[2],k=y.useMemo(function(){return{change:a}},[a]),j=Wa(m,k,D,O),M=Wa(h,k,D,O),_=g(a),$=l({changes:[a],defaultGenerate:function(){return o}}),K=xe("diff-gutter","diff-gutter-".concat(x),c,{"diff-gutter-selected":i}),W=xe("diff-code","diff-code-".concat(x),p,{"diff-code-selected":i});return L.jsxs("tr",{id:_,className:xe("diff-line",$),children:[!f&&Ya(K,a,v,"old",d,_,j,C,N),!f&&Ya(K,a,v,"new",d,_,j,C,N),L.jsx(Ds,Q({className:W,changeKey:v,text:w,tokens:s,renderToken:b},M))]})}var Zc=y.memo(qc);function Qc(e){var n=e.hideGutter,t=e.element;return L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?1:3,className:"diff-widget-content",children:t})})}var Jc=["hideGutter","selectedChanges","tokens","lineClassName"],ep=["hunk","widgets","className"];function np(e){var n=e.hunk,t=e.widgets,r=e.className,a=He(e,ep),i=function(s,o){return s.reduce(function(l,c){var p=ke(c);l.push(["change",p,c]);var m=o[p];return m&&l.push(["widget",p,m]),l},[])}(n.changes,t);return L.jsx("tbody",{className:xe("diff-hunk",r),children:i.map(function(s){return function(o,l){var c=q(o,3),p=c[0],m=c[1],h=c[2],f=l.hideGutter,d=l.selectedChanges,g=l.tokens,b=l.lineClassName,N=He(l,Jc);if(p==="change"){var x=Se(h)?"old":"new",w=Se(h)?Tt(h):kt(h),v=g?g[x][w-1]:null;return L.jsx(Zc,Q({className:b,change:h,hideGutter:f,selected:d.includes(m),tokens:v},N),"change".concat(m))}return p==="widget"?L.jsx(Qc,{hideGutter:f,element:h},"widget".concat(m)):null}(s,a)})})}var ks=0;function qn(e,n,t,r){var a=y.useCallback(function(){return n(e)},[e,n]),i=y.useCallback(function(){return n("")},[n]);return y.useMemo(function(){var s=Ss(r,function(o){return function(l){return o&&o({side:e,change:t},l)}});return s.onMouseEnter=mt(a,s.onMouseEnter),s.onMouseLeave=mt(i,s.onMouseLeave),s},[t,r,a,e,i])}function Ut(e){var n=e.change,t=e.side,r=e.selected,a=e.tokens,i=e.gutterClassName,s=e.codeClassName,o=e.gutterEvents,l=e.codeEvents,c=e.anchorID,p=e.gutterAnchor,m=e.gutterAnchorTarget,h=e.hideGutter,f=e.hover,d=e.renderToken,g=e.renderGutter;if(!n){var b=xe("diff-gutter","diff-gutter-omit",i),N=xe("diff-code","diff-code-omit",s);return[!h&&L.jsx("td",{className:b},"gutter"),L.jsx("td",{className:N},"code")]}var x=n.type,w=n.content,v=ke(n),E=t===ks?"old":"new",S=Q({id:c||void 0,className:xe("diff-gutter","diff-gutter-".concat(x),Zt({"diff-gutter-selected":r},"diff-line-hover-"+E,f),i),children:g({change:n,side:E,inHoverState:f,renderDefault:Cs(n,E),wrapInAnchor:Ts(p,m)})},o),C=xe("diff-code","diff-code-".concat(x),Zt({"diff-code-selected":r},"diff-line-hover-"+E,f),s);return[!h&&L.jsx("td",Q(Q({},S),{},{"data-change-key":v}),"gutter"),L.jsx(Ds,Q({className:C,changeKey:v,text:w,tokens:a,renderToken:d},l),"code")]}function tp(e){var n=e.className,t=e.oldChange,r=e.newChange,a=e.oldSelected,i=e.newSelected,s=e.oldTokens,o=e.newTokens,l=e.monotonous,c=e.gutterClassName,p=e.codeClassName,m=e.gutterEvents,h=e.codeEvents,f=e.hideGutter,d=e.generateAnchorID,g=e.generateLineClassName,b=e.gutterAnchor,N=e.renderToken,x=e.renderGutter,w=q(y.useState(""),2),v=w[0],E=w[1],S=qn("old",E,t,m),C=qn("new",E,r,m),D=qn("old",E,t,h),O=qn("new",E,r,h),k=t&&d(t),j=r&&d(r),M=g({changes:[t,r],defaultGenerate:function(){return n}}),_={monotonous:l,hideGutter:f,gutterClassName:c,codeClassName:p,gutterEvents:m,codeEvents:h,renderToken:N,renderGutter:x},$=Q(Q({},_),{},{change:t,side:ks,selected:a,tokens:s,gutterEvents:S,codeEvents:D,anchorID:k,gutterAnchor:b,gutterAnchorTarget:k,hover:v==="old"}),K=Q(Q({},_),{},{change:r,side:1,selected:i,tokens:o,gutterEvents:C,codeEvents:O,anchorID:t===r?null:j,gutterAnchor:b,gutterAnchorTarget:t===r?k:j,hover:v==="new"});if(l)return L.jsx("tr",{className:xe("diff-line",M),children:Ut(t?$:K)});var W=function(A,R){return A&&!R?"diff-line-old-only":!A&&R?"diff-line-new-only":A===R?"diff-line-normal":"diff-line-compare"}(t,r);return L.jsxs("tr",{className:xe("diff-line",W,M),children:[Ut($),Ut(K)]})}var rp=y.memo(tp);function ap(e){var n=e.hideGutter,t=e.oldElement,r=e.newElement;return e.monotonous?L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:t||r})}):t===r?L.jsx("tr",{className:"diff-widget",children:L.jsx("td",{colSpan:n?2:4,className:"diff-widget-content",children:t})}):L.jsxs("tr",{className:"diff-widget",children:[L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:t}),L.jsx("td",{colSpan:n?1:2,className:"diff-widget-content",children:r})]})}var ip=["selectedChanges","monotonous","hideGutter","tokens","lineClassName"],sp=["hunk","widgets","className"];function Zn(e,n){return(e?ke(e):"00")+(n?ke(n):"00")}function op(e){var n=e.hunk,t=e.widgets,r=e.className,a=He(e,sp),i=function(s,o){for(var l=function(N){if(!N)return null;var x=ke(N);return o[x]||null},c=[],p=0;p<s.length;p++){var m=s[p];if(ze(m))c.push(["change",Zn(m,m),m,m]);else if(Se(m)){var h=s[p+1];h&&Ye(h)?(p+=1,c.push(["change",Zn(m,h),m,h])):c.push(["change",Zn(m,null),m,null])}else c.push(["change",Zn(null,m),null,m]);var f=c[c.length-1],d=l(f[2]),g=l(f[3]);if(d||g){var b=f[1];c.push(["widget",b,d,g])}}return c}(n.changes,t);return L.jsx("tbody",{className:xe("diff-hunk",r),children:i.map(function(s){return function(o,l){var c=q(o,4),p=c[0],m=c[1],h=c[2],f=c[3],d=l.selectedChanges,g=l.monotonous,b=l.hideGutter,N=l.tokens,x=l.lineClassName,w=He(l,ip);if(p==="change"){var v=!!h&&d.includes(ke(h)),E=!!f&&d.includes(ke(f)),S=h&&N?N.old[Tt(h)-1]:null,C=f&&N?N.new[kt(f)-1]:null;return L.jsx(rp,Q({className:x,oldChange:h,newChange:f,monotonous:g,hideGutter:b,oldSelected:v,newSelected:E,oldTokens:S,newTokens:C},w),"change".concat(m))}return p==="widget"?L.jsx(ap,{monotonous:g,hideGutter:b,oldElement:h,newElement:f},"widget".concat(m)):null}(s,a)})})}var lp=["gutterType","hunkClassName"];function As(e){var n=e.hunk,t=zl(),r=t.gutterType,a=t.hunkClassName,i=He(t,lp),s=r==="none",o=r==="anchor",l=i.viewType==="unified"?np:op;return L.jsx(l,Q(Q({},i),{},{hunk:n,hideGutter:s,gutterAnchor:o,className:a}))}function up(){}function Xa(e,n){var t=n?"auto":"none";e instanceof HTMLElement&&e.style.userSelect!==t&&(e.style.userSelect=t)}function cp(e){return e.map(function(n){return L.jsx(As,{hunk:n},function(t){return"-".concat(t.oldStart,",").concat(t.oldLines," +").concat(t.newStart,",").concat(t.newLines)}(n))})}function pp(e){var n=e.diffType,t=e.hunks,r=e.optimizeSelection,a=e.className,i=e.hunkClassName,s=i===void 0?ge.hunkClassName:i,o=e.lineClassName,l=o===void 0?ge.lineClassName:o,c=e.generateLineClassName,p=c===void 0?ge.generateLineClassName:c,m=e.gutterClassName,h=m===void 0?ge.gutterClassName:m,f=e.codeClassName,d=f===void 0?ge.codeClassName:f,g=e.gutterType,b=g===void 0?ge.gutterType:g,N=e.viewType,x=N===void 0?ge.viewType:N,w=e.gutterEvents,v=w===void 0?ge.gutterEvents:w,E=e.codeEvents,S=E===void 0?ge.codeEvents:E,C=e.generateAnchorID,D=C===void 0?ge.generateAnchorID:C,O=e.selectedChanges,k=O===void 0?ge.selectedChanges:O,j=e.widgets,M=j===void 0?ge.widgets:j,_=e.renderGutter,$=_===void 0?ge.renderGutter:_,K=e.tokens,W=e.renderToken,A=e.children,R=A===void 0?cp:A,U=y.useRef(null),T=y.useCallback(function(Me){var Sn=Me.target;if(Me.button===0){var Ge=function(qe,F){for(var B=qe;B&&B!==document.documentElement&&!B.classList.contains(F);)B=B.parentElement;return B===document.documentElement?null:B}(Sn,"diff-code");if(Ge&&Ge.parentElement){var Dn=window.getSelection();Dn&&Dn.removeAllRanges();var on=Ee(Ge.parentElement.children).indexOf(Ge);if(on===1||on===3){var Hn,Xe=Dr(U.current?U.current.querySelectorAll(".diff-line"):[]);try{for(Xe.s();!(Hn=Xe.n()).done;){var Cn=Hn.value.children;Xa(Cn[1],on===1),Xa(Cn[3],on===3)}}catch(qe){Xe.e(qe)}finally{Xe.f()}}}}},[]),G=b==="none",Z=n==="add"||n==="delete",ce=x==="split"&&!Z&&r?T:up,V=y.useMemo(function(){return L.jsxs("colgroup",x==="unified"?{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]}:Z?{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]}:{children:[!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{}),!G&&L.jsx("col",{className:"diff-gutter-col"}),L.jsx("col",{})]})},[x,Z,G]),oe=y.useMemo(function(){return{hunkClassName:s,lineClassName:l,generateLineClassName:p,gutterClassName:h,codeClassName:d,monotonous:Z,hideGutter:G,viewType:x,gutterType:b,codeEvents:S,gutterEvents:v,generateAnchorID:D,selectedChanges:k,widgets:M,renderGutter:$,tokens:K,renderToken:W}},[d,S,D,h,v,b,G,s,l,p,Z,$,W,k,K,x,M]);return L.jsx($l,{value:oe,children:L.jsxs("table",{ref:U,className:xe("diff","diff-".concat(x),a),onMouseDown:ce,children:[V,R(t)]})})}var mp=y.memo(pp),dp=function(e,n,t,r){for(var a=-1,i=e==null?0:e.length;++a<i;){var s=e[a];n(r,s,t(s),e)}return r},hp=function(e,n){return function(t,r){if(t==null)return t;if(!yt(t))return e(t,r);for(var a=t.length,i=-1,s=Object(t);++i<a&&r(s[i],i,s)!==!1;);return t}},Is=hp(Es),fp=function(e,n,t,r){return Is(e,function(a,i,s){n(r,a,t(a),s)}),r},_s=function(e,n){return function(t,r){var a=De(t)?dp:fp,i=n?n():{};return a(t,e,Ct(r),i)}},gp=_s(function(e,n,t){Rr(e,t,n)}),qa=Ve?Ve.isConcatSpreadable:void 0,bp=function(e){return De(e)||xt(e)||!!(qa&&e&&e[qa])},Rs=function(n,t,r,a,i){var s=-1,o=n.length;for(r||(r=bp),i||(i=[]);++s<o;){var l=n[s];r(l)?ds(i,l):i[i.length]=l}return i},vp=function(e,n){var t=-1,r=yt(e)?Array(e.length):[];return Is(e,function(a,i,s){r[++t]=n(a,i,s)}),r},Np=function(e,n){return(De(e)?ws:vp)(e,Ct(n))},jr=function(e,n){return Rs(Np(e,n))};function wp(e,n){var t=n.newStart,r=n.changes.reduce(function(a,i){var s=q(a,2),o=s[0],l=s[1];return Se(i)?(o.splice(l,1),[o,l]):(Ye(i)&&o.splice(l,0,i.content),[o,l+1])},[e,t-1]);return q(r,1)[0]}function Za(e,n,t){if(!e.length)return[];var r=n==="old"?Tt:kt,a=gp(e,r),i=r(e[e.length-1]);return Array.from({length:i}).map(function(s,o){return t(a[o+1])})}function xp(e){var n=function(s){return jr(s,function(o){return o.changes}).reduce(function(o,l){var c=q(o,2),p=c[0],m=c[1];return ze(l)?(p.push(l),m.push(l)):Se(l)?p.push(l):m.push(l),[p,m]},[[],[]])}(e),t=q(n,2),r=t[0],a=t[1],i=function(s){return s?s.content:""};return[Za(r,"old",i).join(`
58
53
  `),Za(a,"new",i).join(`
59
- `)]}function Qn(e){return{type:"root",children:e}}function Ep(e,n){if(n.oldSource){var t=function(l,c){return c.reduce(yp,l.split(`
54
+ `)]}function Qn(e){return{type:"root",children:e}}function yp(e,n){if(n.oldSource){var t=function(l,c){return c.reduce(wp,l.split(`
60
55
  `)).join(`
61
- `)}(n.oldSource,e),r=n.highlight?function(l){return n.refractor.highlight(l,n.language)}:function(l){return[{type:"text",value:l}]};return[Qn(r(n.oldSource)),Qn(r(t))]}var a=q(xp(e),2),i=a[0],s=a[1],o=n.highlight?function(l){return Qn(n.refractor.highlight(l,n.language))}:function(l){return Qn([{type:"text",value:l}])};return[o(i),o(s)]}function hn(e){return e.map(function(n){return Q({},n)})}function Sp(e,n){return[].concat(Ee(hn(e.slice(0,-1))),[n])}function Or(e){var n=e[e.length-1];if(n.type==="text")return n;throw new Error("Invalid token path with leaf of type ".concat(n.type))}function Dp(e,n,t,r){var a=e.slice(0,-1),i=Or(e),s=[];if(t<=0||n>=(i==null?void 0:i.value.length))return[e];var o=function(m,h){var f=i.value.slice(m,h);return[].concat(Ee(a),[Q(Q({},i),{},{value:f})])};if(n>0){var l=o(0,n);s.push(hn(l))}var c=o(Math.max(n,0),t);if(s.push(r?function(m,h){return[h].concat(Ee(hn(m)))}(c,r):hn(c)),t<i.value.length){var p=o(t);s.push(hn(p))}return s}var Cp=["children"];function js(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(e.children){var r=e.children,a=Ke(e,Cp);t.push(a);var i,s=Dr(r);try{for(s.s();!(i=s.n()).done;)js(i.value,n,t)}catch(o){s.e(o)}finally{s.f()}t.pop()}else n.push(hn([].concat(Ee(t.slice(1)),[e])));return n}function Tp(e){return e.reduce(function(n,t){var r=n[n.length-1],a=function(l){var c=Or(l);return c.value.includes(`
56
+ `)}(n.oldSource,e),r=n.highlight?function(l){return n.refractor.highlight(l,n.language)}:function(l){return[{type:"text",value:l}]};return[Qn(r(n.oldSource)),Qn(r(t))]}var a=q(xp(e),2),i=a[0],s=a[1],o=n.highlight?function(l){return Qn(n.refractor.highlight(l,n.language))}:function(l){return Qn([{type:"text",value:l}])};return[o(i),o(s)]}function hn(e){return e.map(function(n){return Q({},n)})}function Ep(e,n){return[].concat(Ee(hn(e.slice(0,-1))),[n])}function Or(e){var n=e[e.length-1];if(n.type==="text")return n;throw new Error("Invalid token path with leaf of type ".concat(n.type))}function Sp(e,n,t,r){var a=e.slice(0,-1),i=Or(e),s=[];if(t<=0||n>=(i==null?void 0:i.value.length))return[e];var o=function(m,h){var f=i.value.slice(m,h);return[].concat(Ee(a),[Q(Q({},i),{},{value:f})])};if(n>0){var l=o(0,n);s.push(hn(l))}var c=o(Math.max(n,0),t);if(s.push(r?function(m,h){return[h].concat(Ee(hn(m)))}(c,r):hn(c)),t<i.value.length){var p=o(t);s.push(hn(p))}return s}var Dp=["children"];function js(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(e.children){var r=e.children,a=He(e,Dp);t.push(a);var i,s=Dr(r);try{for(s.s();!(i=s.n()).done;)js(i.value,n,t)}catch(o){s.e(o)}finally{s.f()}t.pop()}else n.push(hn([].concat(Ee(t.slice(1)),[e])));return n}function Cp(e){return e.reduce(function(n,t){var r=n[n.length-1],a=function(l){var c=Or(l);return c.value.includes(`
62
57
  `)?c.value.split(`
63
- `).map(function(p){return Sp(l,Q(Q({},c),{},{value:p}))}):[l]}(t),i=ns(a),s=i[0],o=i.slice(1);return[].concat(Ee(n.slice(0,-1)),[[].concat(Ee(r),[s])],Ee(o.map(function(l){return[l]})))},[[]])}function Qa(e){return Tp(js(e))}var kp=function(e,n,t){var r=(t=typeof t=="function"?t:void 0)?t(e,n):void 0;return r===void 0?Et(e,n,void 0,t):!!r},Ap=function(e,n){return Et(e,n)},Ip=function(e){var n=e==null?0:e.length;return n?e[n-1]:void 0};function _p(e,n){if(!e.children)throw new Error("parent node missing children property");var t,r,a=Ip(e.children);return a&&(r=n,(t=a).type===r.type&&(t.type==="text"||t.children&&r.children&&kp(t,r,function(i,s,o){return o==="chlidren"||Ap(i,s)})))?e.children[e.children.length-1]=function(i,s){return"value"in i&&"value"in s?Q(Q({},i),{},{value:"".concat(i.value).concat(s.value)}):i}(a,n):e.children.push(n),e.children[e.children.length-1]}function Ja(e){var n,t={type:"root",children:[]},r=Dr(e);try{var a=function(){var i=n.value;i.reduce(function(s,o,l){return _p(s,l===i.length-1?Q({},o):Q(Q({},o),{},{children:[]}))},t)};for(r.s();!(n=r.n()).done;)a()}catch(i){r.e(i)}finally{r.f()}return t}var Rp=Object.prototype.hasOwnProperty,jp=_s(function(e,n,t){Rp.call(e,t)?e[t].push(n):Rr(e,t,[n])}),Op=Object.prototype.hasOwnProperty,Vp=function(e){if(e==null)return!0;if(xt(e)&&(De(e)||typeof e=="string"||typeof e.splice=="function"||pt(e)||kr(e)||yt(e)))return!e.length;var n=ar(e);if(n=="[object Map]"||n=="[object Set]")return!e.size;if(gs(e))return!bs(e).length;for(var t in e)if(Op.call(e,t))return!1;return!0},Lp=function(e,n){var t=n.start,r=n.length,a=t+r,i=e.reduce(function(s,o){var l=q(s,2),c=l[0],p=l[1],m=p+Or(o).value.length;if(p>a||m<t)c.push(o);else{var h=Dp(o,t-p,a-p,n);c.push.apply(c,Ee(h))}return[c,m]},[[],0]);return q(i,1)[0]};function ei(e,n){var t=jp(n,"lineNumber");return e.map(function(r,a){return function(i,s){return Vp(s)?i:s.reduce(Lp,i)}(r,t[a+1])})}function Mp(e,n){return function(t){var r=q(t,2),a=r[0],i=r[1];return[ei(a,e),ei(i,n)]}}var ni=function(e){return e!=null&&e.length?Rs(e):[]},Fp=Math.max,ti=function(e,n,t){var r=e==null?0:e.length;if(!r)return-1;var a=t==null?0:Hc(t);return a<0&&(a=Fp(r+a,0)),Xl(e,Ct(n),a)},At=zn(function(e){var n=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};n.Diff=function(t,r){return[t,r]},n.prototype.diff_main=function(t,r,a,i){i===void 0&&(i=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+1e3*this.Diff_Timeout);var s=i;if(t==null||r==null)throw new Error("Null input. (diff_main)");if(t==r)return t?[new n.Diff(0,t)]:[];a===void 0&&(a=!0);var o=a,l=this.diff_commonPrefix(t,r),c=t.substring(0,l);t=t.substring(l),r=r.substring(l),l=this.diff_commonSuffix(t,r);var p=t.substring(t.length-l);t=t.substring(0,t.length-l),r=r.substring(0,r.length-l);var m=this.diff_compute_(t,r,o,s);return c&&m.unshift(new n.Diff(0,c)),p&&m.push(new n.Diff(0,p)),this.diff_cleanupMerge(m),m},n.prototype.diff_compute_=function(t,r,a,i){var s;if(!t)return[new n.Diff(1,r)];if(!r)return[new n.Diff(-1,t)];var o=t.length>r.length?t:r,l=t.length>r.length?r:t,c=o.indexOf(l);if(c!=-1)return s=[new n.Diff(1,o.substring(0,c)),new n.Diff(0,l),new n.Diff(1,o.substring(c+l.length))],t.length>r.length&&(s[0][0]=s[2][0]=-1),s;if(l.length==1)return[new n.Diff(-1,t),new n.Diff(1,r)];var p=this.diff_halfMatch_(t,r);if(p){var m=p[0],h=p[1],f=p[2],d=p[3],g=p[4],b=this.diff_main(m,f,a,i),N=this.diff_main(h,d,a,i);return b.concat([new n.Diff(0,g)],N)}return a&&t.length>100&&r.length>100?this.diff_lineMode_(t,r,i):this.diff_bisect_(t,r,i)},n.prototype.diff_lineMode_=function(t,r,a){var i=this.diff_linesToChars_(t,r);t=i.chars1,r=i.chars2;var s=i.lineArray,o=this.diff_main(t,r,!1,a);this.diff_charsToLines_(o,s),this.diff_cleanupSemantic(o),o.push(new n.Diff(0,""));for(var l=0,c=0,p=0,m="",h="";l<o.length;){switch(o[l][0]){case 1:p++,h+=o[l][1];break;case-1:c++,m+=o[l][1];break;case 0:if(c>=1&&p>=1){o.splice(l-c-p,c+p),l=l-c-p;for(var f=this.diff_main(m,h,!1,a),d=f.length-1;d>=0;d--)o.splice(l,0,f[d]);l+=f.length}p=0,c=0,m="",h=""}l++}return o.pop(),o},n.prototype.diff_bisect_=function(t,r,a){for(var i=t.length,s=r.length,o=Math.ceil((i+s)/2),l=o,c=2*o,p=new Array(c),m=new Array(c),h=0;h<c;h++)p[h]=-1,m[h]=-1;p[l+1]=0,m[l+1]=0;for(var f=i-s,d=f%2!=0,g=0,b=0,N=0,y=0,w=0;w<o&&!(new Date().getTime()>a);w++){for(var v=-w+g;v<=w-b;v+=2){for(var E=l+v,S=(j=v==-w||v!=w&&p[E-1]<p[E+1]?p[E+1]:p[E-1]+1)-v;j<i&&S<s&&t.charAt(j)==r.charAt(S);)j++,S++;if(p[E]=j,j>i)b+=2;else if(S>s)g+=2;else if(d&&(O=l+f-v)>=0&&O<c&&m[O]!=-1&&j>=(D=i-m[O]))return this.diff_bisectSplit_(t,r,j,S,a)}for(var C=-w+N;C<=w-y;C+=2){for(var D,O=l+C,k=(D=C==-w||C!=w&&m[O-1]<m[O+1]?m[O+1]:m[O-1]+1)-C;D<i&&k<s&&t.charAt(i-D-1)==r.charAt(s-k-1);)D++,k++;if(m[O]=D,D>i)y+=2;else if(k>s)N+=2;else if(!d&&(E=l+f-C)>=0&&E<c&&p[E]!=-1){var j;if(S=l+(j=p[E])-E,j>=(D=i-D))return this.diff_bisectSplit_(t,r,j,S,a)}}}return[new n.Diff(-1,t),new n.Diff(1,r)]},n.prototype.diff_bisectSplit_=function(t,r,a,i,s){var o=t.substring(0,a),l=r.substring(0,i),c=t.substring(a),p=r.substring(i),m=this.diff_main(o,l,!1,s),h=this.diff_main(c,p,!1,s);return m.concat(h)},n.prototype.diff_linesToChars_=function(t,r){var a=[],i={};function s(c){for(var p="",m=0,h=-1,f=a.length;h<c.length-1;){(h=c.indexOf(`
64
- `,m))==-1&&(h=c.length-1);var d=c.substring(m,h+1);(i.hasOwnProperty?i.hasOwnProperty(d):i[d]!==void 0)?p+=String.fromCharCode(i[d]):(f==o&&(d=c.substring(m),h=c.length),p+=String.fromCharCode(f),i[d]=f,a[f++]=d),m=h+1}return p}a[0]="";var o=4e4,l=s(t);return o=65535,{chars1:l,chars2:s(r),lineArray:a}},n.prototype.diff_charsToLines_=function(t,r){for(var a=0;a<t.length;a++){for(var i=t[a][1],s=[],o=0;o<i.length;o++)s[o]=r[i.charCodeAt(o)];t[a][1]=s.join("")}},n.prototype.diff_commonPrefix=function(t,r){if(!t||!r||t.charAt(0)!=r.charAt(0))return 0;for(var a=0,i=Math.min(t.length,r.length),s=i,o=0;a<s;)t.substring(o,s)==r.substring(o,s)?o=a=s:i=s,s=Math.floor((i-a)/2+a);return s},n.prototype.diff_commonSuffix=function(t,r){if(!t||!r||t.charAt(t.length-1)!=r.charAt(r.length-1))return 0;for(var a=0,i=Math.min(t.length,r.length),s=i,o=0;a<s;)t.substring(t.length-s,t.length-o)==r.substring(r.length-s,r.length-o)?o=a=s:i=s,s=Math.floor((i-a)/2+a);return s},n.prototype.diff_commonOverlap_=function(t,r){var a=t.length,i=r.length;if(a==0||i==0)return 0;a>i?t=t.substring(a-i):a<i&&(r=r.substring(0,a));var s=Math.min(a,i);if(t==r)return s;for(var o=0,l=1;;){var c=t.substring(s-l),p=r.indexOf(c);if(p==-1)return o;l+=p,p!=0&&t.substring(s-l)!=r.substring(0,l)||(o=l,l++)}},n.prototype.diff_halfMatch_=function(t,r){if(this.Diff_Timeout<=0)return null;var a=t.length>r.length?t:r,i=t.length>r.length?r:t;if(a.length<4||2*i.length<a.length)return null;var s=this;function o(g,b,N){for(var y,w,v,E,S=g.substring(N,N+Math.floor(g.length/4)),C=-1,D="";(C=b.indexOf(S,C+1))!=-1;){var O=s.diff_commonPrefix(g.substring(N),b.substring(C)),k=s.diff_commonSuffix(g.substring(0,N),b.substring(0,C));D.length<k+O&&(D=b.substring(C-k,C)+b.substring(C,C+O),y=g.substring(0,N-k),w=g.substring(N+O),v=b.substring(0,C-k),E=b.substring(C+O))}return 2*D.length>=g.length?[y,w,v,E,D]:null}var l,c,p,m,h,f=o(a,i,Math.ceil(a.length/4)),d=o(a,i,Math.ceil(a.length/2));return f||d?(l=d?f&&f[4].length>d[4].length?f:d:f,t.length>r.length?(c=l[0],p=l[1],m=l[2],h=l[3]):(m=l[0],h=l[1],c=l[2],p=l[3]),[c,p,m,h,l[4]]):null},n.prototype.diff_cleanupSemantic=function(t){for(var r=!1,a=[],i=0,s=null,o=0,l=0,c=0,p=0,m=0;o<t.length;)t[o][0]==0?(a[i++]=o,l=p,c=m,p=0,m=0,s=t[o][1]):(t[o][0]==1?p+=t[o][1].length:m+=t[o][1].length,s&&s.length<=Math.max(l,c)&&s.length<=Math.max(p,m)&&(t.splice(a[i-1],0,new n.Diff(-1,s)),t[a[i-1]+1][0]=1,i--,o=--i>0?a[i-1]:-1,l=0,c=0,p=0,m=0,s=null,r=!0)),o++;for(r&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),o=1;o<t.length;){if(t[o-1][0]==-1&&t[o][0]==1){var h=t[o-1][1],f=t[o][1],d=this.diff_commonOverlap_(h,f),g=this.diff_commonOverlap_(f,h);d>=g?(d>=h.length/2||d>=f.length/2)&&(t.splice(o,0,new n.Diff(0,f.substring(0,d))),t[o-1][1]=h.substring(0,h.length-d),t[o+1][1]=f.substring(d),o++):(g>=h.length/2||g>=f.length/2)&&(t.splice(o,0,new n.Diff(0,h.substring(0,g))),t[o-1][0]=1,t[o-1][1]=f.substring(0,f.length-g),t[o+1][0]=-1,t[o+1][1]=h.substring(g),o++),o++}o++}},n.prototype.diff_cleanupSemanticLossless=function(t){function r(g,b){if(!g||!b)return 6;var N=g.charAt(g.length-1),y=b.charAt(0),w=N.match(n.nonAlphaNumericRegex_),v=y.match(n.nonAlphaNumericRegex_),E=w&&N.match(n.whitespaceRegex_),S=v&&y.match(n.whitespaceRegex_),C=E&&N.match(n.linebreakRegex_),D=S&&y.match(n.linebreakRegex_),O=C&&g.match(n.blanklineEndRegex_),k=D&&b.match(n.blanklineStartRegex_);return O||k?5:C||D?4:w&&!E&&S?3:E||S?2:w||v?1:0}for(var a=1;a<t.length-1;){if(t[a-1][0]==0&&t[a+1][0]==0){var i=t[a-1][1],s=t[a][1],o=t[a+1][1],l=this.diff_commonSuffix(i,s);if(l){var c=s.substring(s.length-l);i=i.substring(0,i.length-l),s=c+s.substring(0,s.length-l),o=c+o}for(var p=i,m=s,h=o,f=r(i,s)+r(s,o);s.charAt(0)===o.charAt(0);){i+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var d=r(i,s)+r(s,o);d>=f&&(f=d,p=i,m=s,h=o)}t[a-1][1]!=p&&(p?t[a-1][1]=p:(t.splice(a-1,1),a--),t[a][1]=m,h?t[a+1][1]=h:(t.splice(a+1,1),a--))}a++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(t){for(var r=!1,a=[],i=0,s=null,o=0,l=!1,c=!1,p=!1,m=!1;o<t.length;)t[o][0]==0?(t[o][1].length<this.Diff_EditCost&&(p||m)?(a[i++]=o,l=p,c=m,s=t[o][1]):(i=0,s=null),p=m=!1):(t[o][0]==-1?m=!0:p=!0,s&&(l&&c&&p&&m||s.length<this.Diff_EditCost/2&&l+c+p+m==3)&&(t.splice(a[i-1],0,new n.Diff(-1,s)),t[a[i-1]+1][0]=1,i--,s=null,l&&c?(p=m=!0,i=0):(o=--i>0?a[i-1]:-1,p=m=!1),r=!0)),o++;r&&this.diff_cleanupMerge(t)},n.prototype.diff_cleanupMerge=function(t){t.push(new n.Diff(0,""));for(var r,a=0,i=0,s=0,o="",l="";a<t.length;)switch(t[a][0]){case 1:s++,l+=t[a][1],a++;break;case-1:i++,o+=t[a][1],a++;break;case 0:i+s>1?(i!==0&&s!==0&&((r=this.diff_commonPrefix(l,o))!==0&&(a-i-s>0&&t[a-i-s-1][0]==0?t[a-i-s-1][1]+=l.substring(0,r):(t.splice(0,0,new n.Diff(0,l.substring(0,r))),a++),l=l.substring(r),o=o.substring(r)),(r=this.diff_commonSuffix(l,o))!==0&&(t[a][1]=l.substring(l.length-r)+t[a][1],l=l.substring(0,l.length-r),o=o.substring(0,o.length-r))),a-=i+s,t.splice(a,i+s),o.length&&(t.splice(a,0,new n.Diff(-1,o)),a++),l.length&&(t.splice(a,0,new n.Diff(1,l)),a++),a++):a!==0&&t[a-1][0]==0?(t[a-1][1]+=t[a][1],t.splice(a,1)):a++,s=0,i=0,o="",l=""}t[t.length-1][1]===""&&t.pop();var c=!1;for(a=1;a<t.length-1;)t[a-1][0]==0&&t[a+1][0]==0&&(t[a][1].substring(t[a][1].length-t[a-1][1].length)==t[a-1][1]?(t[a][1]=t[a-1][1]+t[a][1].substring(0,t[a][1].length-t[a-1][1].length),t[a+1][1]=t[a-1][1]+t[a+1][1],t.splice(a-1,1),c=!0):t[a][1].substring(0,t[a+1][1].length)==t[a+1][1]&&(t[a-1][1]+=t[a+1][1],t[a][1]=t[a][1].substring(t[a+1][1].length)+t[a+1][1],t.splice(a+1,1),c=!0)),a++;c&&this.diff_cleanupMerge(t)},n.prototype.diff_xIndex=function(t,r){var a,i=0,s=0,o=0,l=0;for(a=0;a<t.length&&(t[a][0]!==1&&(i+=t[a][1].length),t[a][0]!==-1&&(s+=t[a][1].length),!(i>r));a++)o=i,l=s;return t.length!=a&&t[a][0]===-1?l:l+(r-o)},n.prototype.diff_prettyHtml=function(t){for(var r=[],a=/&/g,i=/</g,s=/>/g,o=/\n/g,l=0;l<t.length;l++){var c=t[l][0],p=t[l][1].replace(a,"&amp;").replace(i,"&lt;").replace(s,"&gt;").replace(o,"&para;<br>");switch(c){case 1:r[l]='<ins style="background:#e6ffe6;">'+p+"</ins>";break;case-1:r[l]='<del style="background:#ffe6e6;">'+p+"</del>";break;case 0:r[l]="<span>"+p+"</span>"}}return r.join("")},n.prototype.diff_text1=function(t){for(var r=[],a=0;a<t.length;a++)t[a][0]!==1&&(r[a]=t[a][1]);return r.join("")},n.prototype.diff_text2=function(t){for(var r=[],a=0;a<t.length;a++)t[a][0]!==-1&&(r[a]=t[a][1]);return r.join("")},n.prototype.diff_levenshtein=function(t){for(var r=0,a=0,i=0,s=0;s<t.length;s++){var o=t[s][0],l=t[s][1];switch(o){case 1:a+=l.length;break;case-1:i+=l.length;break;case 0:r+=Math.max(a,i),a=0,i=0}}return r+=Math.max(a,i)},n.prototype.diff_toDelta=function(t){for(var r=[],a=0;a<t.length;a++)switch(t[a][0]){case 1:r[a]="+"+encodeURI(t[a][1]);break;case-1:r[a]="-"+t[a][1].length;break;case 0:r[a]="="+t[a][1].length}return r.join(" ").replace(/%20/g," ")},n.prototype.diff_fromDelta=function(t,r){for(var a=[],i=0,s=0,o=r.split(/\t/g),l=0;l<o.length;l++){var c=o[l].substring(1);switch(o[l].charAt(0)){case"+":try{a[i++]=new n.Diff(1,decodeURI(c))}catch{throw new Error("Illegal escape in diff_fromDelta: "+c)}break;case"-":case"=":var p=parseInt(c,10);if(isNaN(p)||p<0)throw new Error("Invalid number in diff_fromDelta: "+c);var m=t.substring(s,s+=p);o[l].charAt(0)=="="?a[i++]=new n.Diff(0,m):a[i++]=new n.Diff(-1,m);break;default:if(o[l])throw new Error("Invalid diff operation in diff_fromDelta: "+o[l])}}if(s!=t.length)throw new Error("Delta length ("+s+") does not equal source text length ("+t.length+").");return a},n.prototype.match_main=function(t,r,a){if(t==null||r==null||a==null)throw new Error("Null input. (match_main)");return a=Math.max(0,Math.min(a,t.length)),t==r?0:t.length?t.substring(a,a+r.length)==r?a:this.match_bitap_(t,r,a):-1},n.prototype.match_bitap_=function(t,r,a){if(r.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(r),s=this;function o(S,C){var D=S/r.length,O=Math.abs(a-C);return s.Match_Distance?D+O/s.Match_Distance:O?1:D}var l=this.Match_Threshold,c=t.indexOf(r,a);c!=-1&&(l=Math.min(o(0,c),l),(c=t.lastIndexOf(r,a+r.length))!=-1&&(l=Math.min(o(0,c),l)));var p,m,h=1<<r.length-1;c=-1;for(var f,d=r.length+t.length,g=0;g<r.length;g++){for(p=0,m=d;p<m;)o(g,a+m)<=l?p=m:d=m,m=Math.floor((d-p)/2+p);d=m;var b=Math.max(1,a-m+1),N=Math.min(a+m,t.length)+r.length,y=Array(N+2);y[N+1]=(1<<g)-1;for(var w=N;w>=b;w--){var v=i[t.charAt(w-1)];if(y[w]=g===0?(y[w+1]<<1|1)&v:(y[w+1]<<1|1)&v|(f[w+1]|f[w])<<1|1|f[w+1],y[w]&h){var E=o(g,w-1);if(E<=l){if(l=E,!((c=w-1)>a))break;b=Math.max(1,2*a-c)}}}if(o(g+1,a)>l)break;f=y}return c},n.prototype.match_alphabet_=function(t){for(var r={},a=0;a<t.length;a++)r[t.charAt(a)]=0;for(a=0;a<t.length;a++)r[t.charAt(a)]|=1<<t.length-a-1;return r},n.prototype.patch_addContext_=function(t,r){if(r.length!=0){if(t.start2===null)throw Error("patch not initialized");for(var a=r.substring(t.start2,t.start2+t.length1),i=0;r.indexOf(a)!=r.lastIndexOf(a)&&a.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,a=r.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin;var s=r.substring(t.start2-i,t.start2);s&&t.diffs.unshift(new n.Diff(0,s));var o=r.substring(t.start2+t.length1,t.start2+t.length1+i);o&&t.diffs.push(new n.Diff(0,o)),t.start1-=s.length,t.start2-=s.length,t.length1+=s.length+o.length,t.length2+=s.length+o.length}},n.prototype.patch_make=function(t,r,a){var i,s;if(typeof t=="string"&&typeof r=="string"&&a===void 0)i=t,(s=this.diff_main(i,r,!0)).length>2&&(this.diff_cleanupSemantic(s),this.diff_cleanupEfficiency(s));else if(t&&typeof t=="object"&&r===void 0&&a===void 0)s=t,i=this.diff_text1(s);else if(typeof t=="string"&&r&&typeof r=="object"&&a===void 0)i=t,s=r;else{if(typeof t!="string"||typeof r!="string"||!a||typeof a!="object")throw new Error("Unknown call format to patch_make.");i=t,s=a}if(s.length===0)return[];for(var o=[],l=new n.patch_obj,c=0,p=0,m=0,h=i,f=i,d=0;d<s.length;d++){var g=s[d][0],b=s[d][1];switch(c||g===0||(l.start1=p,l.start2=m),g){case 1:l.diffs[c++]=s[d],l.length2+=b.length,f=f.substring(0,m)+b+f.substring(m);break;case-1:l.length1+=b.length,l.diffs[c++]=s[d],f=f.substring(0,m)+f.substring(m+b.length);break;case 0:b.length<=2*this.Patch_Margin&&c&&s.length!=d+1?(l.diffs[c++]=s[d],l.length1+=b.length,l.length2+=b.length):b.length>=2*this.Patch_Margin&&c&&(this.patch_addContext_(l,h),o.push(l),l=new n.patch_obj,c=0,h=f,p=m)}g!==1&&(p+=b.length),g!==-1&&(m+=b.length)}return c&&(this.patch_addContext_(l,h),o.push(l)),o},n.prototype.patch_deepCopy=function(t){for(var r=[],a=0;a<t.length;a++){var i=t[a],s=new n.patch_obj;s.diffs=[];for(var o=0;o<i.diffs.length;o++)s.diffs[o]=new n.Diff(i.diffs[o][0],i.diffs[o][1]);s.start1=i.start1,s.start2=i.start2,s.length1=i.length1,s.length2=i.length2,r[a]=s}return r},n.prototype.patch_apply=function(t,r){if(t.length==0)return[r,[]];t=this.patch_deepCopy(t);var a=this.patch_addPadding(t);r=a+r+a,this.patch_splitMax(t);for(var i=0,s=[],o=0;o<t.length;o++){var l,c,p=t[o].start2+i,m=this.diff_text1(t[o].diffs),h=-1;if(m.length>this.Match_MaxBits?(l=this.match_main(r,m.substring(0,this.Match_MaxBits),p))!=-1&&((h=this.match_main(r,m.substring(m.length-this.Match_MaxBits),p+m.length-this.Match_MaxBits))==-1||l>=h)&&(l=-1):l=this.match_main(r,m,p),l==-1)s[o]=!1,i-=t[o].length2-t[o].length1;else if(s[o]=!0,i=l-p,m==(c=h==-1?r.substring(l,l+m.length):r.substring(l,h+this.Match_MaxBits)))r=r.substring(0,l)+this.diff_text2(t[o].diffs)+r.substring(l+m.length);else{var f=this.diff_main(m,c,!1);if(m.length>this.Match_MaxBits&&this.diff_levenshtein(f)/m.length>this.Patch_DeleteThreshold)s[o]=!1;else{this.diff_cleanupSemanticLossless(f);for(var d,g=0,b=0;b<t[o].diffs.length;b++){var N=t[o].diffs[b];N[0]!==0&&(d=this.diff_xIndex(f,g)),N[0]===1?r=r.substring(0,l+d)+N[1]+r.substring(l+d):N[0]===-1&&(r=r.substring(0,l+d)+r.substring(l+this.diff_xIndex(f,g+N[1].length))),N[0]!==-1&&(g+=N[1].length)}}}}return[r=r.substring(a.length,r.length-a.length),s]},n.prototype.patch_addPadding=function(t){for(var r=this.Patch_Margin,a="",i=1;i<=r;i++)a+=String.fromCharCode(i);for(i=0;i<t.length;i++)t[i].start1+=r,t[i].start2+=r;var s=t[0],o=s.diffs;if(o.length==0||o[0][0]!=0)o.unshift(new n.Diff(0,a)),s.start1-=r,s.start2-=r,s.length1+=r,s.length2+=r;else if(r>o[0][1].length){var l=r-o[0][1].length;o[0][1]=a.substring(o[0][1].length)+o[0][1],s.start1-=l,s.start2-=l,s.length1+=l,s.length2+=l}return(o=(s=t[t.length-1]).diffs).length==0||o[o.length-1][0]!=0?(o.push(new n.Diff(0,a)),s.length1+=r,s.length2+=r):r>o[o.length-1][1].length&&(l=r-o[o.length-1][1].length,o[o.length-1][1]+=a.substring(0,l),s.length1+=l,s.length2+=l),a},n.prototype.patch_splitMax=function(t){for(var r=this.Match_MaxBits,a=0;a<t.length;a++)if(!(t[a].length1<=r)){var i=t[a];t.splice(a--,1);for(var s=i.start1,o=i.start2,l="";i.diffs.length!==0;){var c=new n.patch_obj,p=!0;for(c.start1=s-l.length,c.start2=o-l.length,l!==""&&(c.length1=c.length2=l.length,c.diffs.push(new n.Diff(0,l)));i.diffs.length!==0&&c.length1<r-this.Patch_Margin;){var m=i.diffs[0][0],h=i.diffs[0][1];m===1?(c.length2+=h.length,o+=h.length,c.diffs.push(i.diffs.shift()),p=!1):m===-1&&c.diffs.length==1&&c.diffs[0][0]==0&&h.length>2*r?(c.length1+=h.length,s+=h.length,p=!1,c.diffs.push(new n.Diff(m,h)),i.diffs.shift()):(h=h.substring(0,r-c.length1-this.Patch_Margin),c.length1+=h.length,s+=h.length,m===0?(c.length2+=h.length,o+=h.length):p=!1,c.diffs.push(new n.Diff(m,h)),h==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(h.length))}l=(l=this.diff_text2(c.diffs)).substring(l.length-this.Patch_Margin);var f=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);f!==""&&(c.length1+=f.length,c.length2+=f.length,c.diffs.length!==0&&c.diffs[c.diffs.length-1][0]===0?c.diffs[c.diffs.length-1][1]+=f:c.diffs.push(new n.Diff(0,f))),p||t.splice(++a,0,c)}}},n.prototype.patch_toText=function(t){for(var r=[],a=0;a<t.length;a++)r[a]=t[a];return r.join("")},n.prototype.patch_fromText=function(t){var r=[];if(!t)return r;for(var a=t.split(`
58
+ `).map(function(p){return Ep(l,Q(Q({},c),{},{value:p}))}):[l]}(t),i=ns(a),s=i[0],o=i.slice(1);return[].concat(Ee(n.slice(0,-1)),[[].concat(Ee(r),[s])],Ee(o.map(function(l){return[l]})))},[[]])}function Qa(e){return Cp(js(e))}var Tp=function(e,n,t){var r=(t=typeof t=="function"?t:void 0)?t(e,n):void 0;return r===void 0?Et(e,n,void 0,t):!!r},kp=function(e,n){return Et(e,n)},Ap=function(e){var n=e==null?0:e.length;return n?e[n-1]:void 0};function Ip(e,n){if(!e.children)throw new Error("parent node missing children property");var t,r,a=Ap(e.children);return a&&(r=n,(t=a).type===r.type&&(t.type==="text"||t.children&&r.children&&Tp(t,r,function(i,s,o){return o==="chlidren"||kp(i,s)})))?e.children[e.children.length-1]=function(i,s){return"value"in i&&"value"in s?Q(Q({},i),{},{value:"".concat(i.value).concat(s.value)}):i}(a,n):e.children.push(n),e.children[e.children.length-1]}function Ja(e){var n,t={type:"root",children:[]},r=Dr(e);try{var a=function(){var i=n.value;i.reduce(function(s,o,l){return Ip(s,l===i.length-1?Q({},o):Q(Q({},o),{},{children:[]}))},t)};for(r.s();!(n=r.n()).done;)a()}catch(i){r.e(i)}finally{r.f()}return t}var _p=Object.prototype.hasOwnProperty,Rp=_s(function(e,n,t){_p.call(e,t)?e[t].push(n):Rr(e,t,[n])}),jp=Object.prototype.hasOwnProperty,Op=function(e){if(e==null)return!0;if(yt(e)&&(De(e)||typeof e=="string"||typeof e.splice=="function"||pt(e)||kr(e)||xt(e)))return!e.length;var n=ar(e);if(n=="[object Map]"||n=="[object Set]")return!e.size;if(gs(e))return!bs(e).length;for(var t in e)if(jp.call(e,t))return!1;return!0},Vp=function(e,n){var t=n.start,r=n.length,a=t+r,i=e.reduce(function(s,o){var l=q(s,2),c=l[0],p=l[1],m=p+Or(o).value.length;if(p>a||m<t)c.push(o);else{var h=Sp(o,t-p,a-p,n);c.push.apply(c,Ee(h))}return[c,m]},[[],0]);return q(i,1)[0]};function ei(e,n){var t=Rp(n,"lineNumber");return e.map(function(r,a){return function(i,s){return Op(s)?i:s.reduce(Vp,i)}(r,t[a+1])})}function Lp(e,n){return function(t){var r=q(t,2),a=r[0],i=r[1];return[ei(a,e),ei(i,n)]}}var ni=function(e){return e!=null&&e.length?Rs(e):[]},Mp=Math.max,ti=function(e,n,t){var r=e==null?0:e.length;if(!r)return-1;var a=t==null?0:Uc(t);return a<0&&(a=Mp(r+a,0)),Yl(e,Ct(n),a)},At=zn(function(e){var n=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32};n.Diff=function(t,r){return[t,r]},n.prototype.diff_main=function(t,r,a,i){i===void 0&&(i=this.Diff_Timeout<=0?Number.MAX_VALUE:new Date().getTime()+1e3*this.Diff_Timeout);var s=i;if(t==null||r==null)throw new Error("Null input. (diff_main)");if(t==r)return t?[new n.Diff(0,t)]:[];a===void 0&&(a=!0);var o=a,l=this.diff_commonPrefix(t,r),c=t.substring(0,l);t=t.substring(l),r=r.substring(l),l=this.diff_commonSuffix(t,r);var p=t.substring(t.length-l);t=t.substring(0,t.length-l),r=r.substring(0,r.length-l);var m=this.diff_compute_(t,r,o,s);return c&&m.unshift(new n.Diff(0,c)),p&&m.push(new n.Diff(0,p)),this.diff_cleanupMerge(m),m},n.prototype.diff_compute_=function(t,r,a,i){var s;if(!t)return[new n.Diff(1,r)];if(!r)return[new n.Diff(-1,t)];var o=t.length>r.length?t:r,l=t.length>r.length?r:t,c=o.indexOf(l);if(c!=-1)return s=[new n.Diff(1,o.substring(0,c)),new n.Diff(0,l),new n.Diff(1,o.substring(c+l.length))],t.length>r.length&&(s[0][0]=s[2][0]=-1),s;if(l.length==1)return[new n.Diff(-1,t),new n.Diff(1,r)];var p=this.diff_halfMatch_(t,r);if(p){var m=p[0],h=p[1],f=p[2],d=p[3],g=p[4],b=this.diff_main(m,f,a,i),N=this.diff_main(h,d,a,i);return b.concat([new n.Diff(0,g)],N)}return a&&t.length>100&&r.length>100?this.diff_lineMode_(t,r,i):this.diff_bisect_(t,r,i)},n.prototype.diff_lineMode_=function(t,r,a){var i=this.diff_linesToChars_(t,r);t=i.chars1,r=i.chars2;var s=i.lineArray,o=this.diff_main(t,r,!1,a);this.diff_charsToLines_(o,s),this.diff_cleanupSemantic(o),o.push(new n.Diff(0,""));for(var l=0,c=0,p=0,m="",h="";l<o.length;){switch(o[l][0]){case 1:p++,h+=o[l][1];break;case-1:c++,m+=o[l][1];break;case 0:if(c>=1&&p>=1){o.splice(l-c-p,c+p),l=l-c-p;for(var f=this.diff_main(m,h,!1,a),d=f.length-1;d>=0;d--)o.splice(l,0,f[d]);l+=f.length}p=0,c=0,m="",h=""}l++}return o.pop(),o},n.prototype.diff_bisect_=function(t,r,a){for(var i=t.length,s=r.length,o=Math.ceil((i+s)/2),l=o,c=2*o,p=new Array(c),m=new Array(c),h=0;h<c;h++)p[h]=-1,m[h]=-1;p[l+1]=0,m[l+1]=0;for(var f=i-s,d=f%2!=0,g=0,b=0,N=0,x=0,w=0;w<o&&!(new Date().getTime()>a);w++){for(var v=-w+g;v<=w-b;v+=2){for(var E=l+v,S=(j=v==-w||v!=w&&p[E-1]<p[E+1]?p[E+1]:p[E-1]+1)-v;j<i&&S<s&&t.charAt(j)==r.charAt(S);)j++,S++;if(p[E]=j,j>i)b+=2;else if(S>s)g+=2;else if(d&&(O=l+f-v)>=0&&O<c&&m[O]!=-1&&j>=(D=i-m[O]))return this.diff_bisectSplit_(t,r,j,S,a)}for(var C=-w+N;C<=w-x;C+=2){for(var D,O=l+C,k=(D=C==-w||C!=w&&m[O-1]<m[O+1]?m[O+1]:m[O-1]+1)-C;D<i&&k<s&&t.charAt(i-D-1)==r.charAt(s-k-1);)D++,k++;if(m[O]=D,D>i)x+=2;else if(k>s)N+=2;else if(!d&&(E=l+f-C)>=0&&E<c&&p[E]!=-1){var j;if(S=l+(j=p[E])-E,j>=(D=i-D))return this.diff_bisectSplit_(t,r,j,S,a)}}}return[new n.Diff(-1,t),new n.Diff(1,r)]},n.prototype.diff_bisectSplit_=function(t,r,a,i,s){var o=t.substring(0,a),l=r.substring(0,i),c=t.substring(a),p=r.substring(i),m=this.diff_main(o,l,!1,s),h=this.diff_main(c,p,!1,s);return m.concat(h)},n.prototype.diff_linesToChars_=function(t,r){var a=[],i={};function s(c){for(var p="",m=0,h=-1,f=a.length;h<c.length-1;){(h=c.indexOf(`
59
+ `,m))==-1&&(h=c.length-1);var d=c.substring(m,h+1);(i.hasOwnProperty?i.hasOwnProperty(d):i[d]!==void 0)?p+=String.fromCharCode(i[d]):(f==o&&(d=c.substring(m),h=c.length),p+=String.fromCharCode(f),i[d]=f,a[f++]=d),m=h+1}return p}a[0]="";var o=4e4,l=s(t);return o=65535,{chars1:l,chars2:s(r),lineArray:a}},n.prototype.diff_charsToLines_=function(t,r){for(var a=0;a<t.length;a++){for(var i=t[a][1],s=[],o=0;o<i.length;o++)s[o]=r[i.charCodeAt(o)];t[a][1]=s.join("")}},n.prototype.diff_commonPrefix=function(t,r){if(!t||!r||t.charAt(0)!=r.charAt(0))return 0;for(var a=0,i=Math.min(t.length,r.length),s=i,o=0;a<s;)t.substring(o,s)==r.substring(o,s)?o=a=s:i=s,s=Math.floor((i-a)/2+a);return s},n.prototype.diff_commonSuffix=function(t,r){if(!t||!r||t.charAt(t.length-1)!=r.charAt(r.length-1))return 0;for(var a=0,i=Math.min(t.length,r.length),s=i,o=0;a<s;)t.substring(t.length-s,t.length-o)==r.substring(r.length-s,r.length-o)?o=a=s:i=s,s=Math.floor((i-a)/2+a);return s},n.prototype.diff_commonOverlap_=function(t,r){var a=t.length,i=r.length;if(a==0||i==0)return 0;a>i?t=t.substring(a-i):a<i&&(r=r.substring(0,a));var s=Math.min(a,i);if(t==r)return s;for(var o=0,l=1;;){var c=t.substring(s-l),p=r.indexOf(c);if(p==-1)return o;l+=p,p!=0&&t.substring(s-l)!=r.substring(0,l)||(o=l,l++)}},n.prototype.diff_halfMatch_=function(t,r){if(this.Diff_Timeout<=0)return null;var a=t.length>r.length?t:r,i=t.length>r.length?r:t;if(a.length<4||2*i.length<a.length)return null;var s=this;function o(g,b,N){for(var x,w,v,E,S=g.substring(N,N+Math.floor(g.length/4)),C=-1,D="";(C=b.indexOf(S,C+1))!=-1;){var O=s.diff_commonPrefix(g.substring(N),b.substring(C)),k=s.diff_commonSuffix(g.substring(0,N),b.substring(0,C));D.length<k+O&&(D=b.substring(C-k,C)+b.substring(C,C+O),x=g.substring(0,N-k),w=g.substring(N+O),v=b.substring(0,C-k),E=b.substring(C+O))}return 2*D.length>=g.length?[x,w,v,E,D]:null}var l,c,p,m,h,f=o(a,i,Math.ceil(a.length/4)),d=o(a,i,Math.ceil(a.length/2));return f||d?(l=d?f&&f[4].length>d[4].length?f:d:f,t.length>r.length?(c=l[0],p=l[1],m=l[2],h=l[3]):(m=l[0],h=l[1],c=l[2],p=l[3]),[c,p,m,h,l[4]]):null},n.prototype.diff_cleanupSemantic=function(t){for(var r=!1,a=[],i=0,s=null,o=0,l=0,c=0,p=0,m=0;o<t.length;)t[o][0]==0?(a[i++]=o,l=p,c=m,p=0,m=0,s=t[o][1]):(t[o][0]==1?p+=t[o][1].length:m+=t[o][1].length,s&&s.length<=Math.max(l,c)&&s.length<=Math.max(p,m)&&(t.splice(a[i-1],0,new n.Diff(-1,s)),t[a[i-1]+1][0]=1,i--,o=--i>0?a[i-1]:-1,l=0,c=0,p=0,m=0,s=null,r=!0)),o++;for(r&&this.diff_cleanupMerge(t),this.diff_cleanupSemanticLossless(t),o=1;o<t.length;){if(t[o-1][0]==-1&&t[o][0]==1){var h=t[o-1][1],f=t[o][1],d=this.diff_commonOverlap_(h,f),g=this.diff_commonOverlap_(f,h);d>=g?(d>=h.length/2||d>=f.length/2)&&(t.splice(o,0,new n.Diff(0,f.substring(0,d))),t[o-1][1]=h.substring(0,h.length-d),t[o+1][1]=f.substring(d),o++):(g>=h.length/2||g>=f.length/2)&&(t.splice(o,0,new n.Diff(0,h.substring(0,g))),t[o-1][0]=1,t[o-1][1]=f.substring(0,f.length-g),t[o+1][0]=-1,t[o+1][1]=h.substring(g),o++),o++}o++}},n.prototype.diff_cleanupSemanticLossless=function(t){function r(g,b){if(!g||!b)return 6;var N=g.charAt(g.length-1),x=b.charAt(0),w=N.match(n.nonAlphaNumericRegex_),v=x.match(n.nonAlphaNumericRegex_),E=w&&N.match(n.whitespaceRegex_),S=v&&x.match(n.whitespaceRegex_),C=E&&N.match(n.linebreakRegex_),D=S&&x.match(n.linebreakRegex_),O=C&&g.match(n.blanklineEndRegex_),k=D&&b.match(n.blanklineStartRegex_);return O||k?5:C||D?4:w&&!E&&S?3:E||S?2:w||v?1:0}for(var a=1;a<t.length-1;){if(t[a-1][0]==0&&t[a+1][0]==0){var i=t[a-1][1],s=t[a][1],o=t[a+1][1],l=this.diff_commonSuffix(i,s);if(l){var c=s.substring(s.length-l);i=i.substring(0,i.length-l),s=c+s.substring(0,s.length-l),o=c+o}for(var p=i,m=s,h=o,f=r(i,s)+r(s,o);s.charAt(0)===o.charAt(0);){i+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var d=r(i,s)+r(s,o);d>=f&&(f=d,p=i,m=s,h=o)}t[a-1][1]!=p&&(p?t[a-1][1]=p:(t.splice(a-1,1),a--),t[a][1]=m,h?t[a+1][1]=h:(t.splice(a+1,1),a--))}a++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\s/,n.linebreakRegex_=/[\r\n]/,n.blanklineEndRegex_=/\n\r?\n$/,n.blanklineStartRegex_=/^\r?\n\r?\n/,n.prototype.diff_cleanupEfficiency=function(t){for(var r=!1,a=[],i=0,s=null,o=0,l=!1,c=!1,p=!1,m=!1;o<t.length;)t[o][0]==0?(t[o][1].length<this.Diff_EditCost&&(p||m)?(a[i++]=o,l=p,c=m,s=t[o][1]):(i=0,s=null),p=m=!1):(t[o][0]==-1?m=!0:p=!0,s&&(l&&c&&p&&m||s.length<this.Diff_EditCost/2&&l+c+p+m==3)&&(t.splice(a[i-1],0,new n.Diff(-1,s)),t[a[i-1]+1][0]=1,i--,s=null,l&&c?(p=m=!0,i=0):(o=--i>0?a[i-1]:-1,p=m=!1),r=!0)),o++;r&&this.diff_cleanupMerge(t)},n.prototype.diff_cleanupMerge=function(t){t.push(new n.Diff(0,""));for(var r,a=0,i=0,s=0,o="",l="";a<t.length;)switch(t[a][0]){case 1:s++,l+=t[a][1],a++;break;case-1:i++,o+=t[a][1],a++;break;case 0:i+s>1?(i!==0&&s!==0&&((r=this.diff_commonPrefix(l,o))!==0&&(a-i-s>0&&t[a-i-s-1][0]==0?t[a-i-s-1][1]+=l.substring(0,r):(t.splice(0,0,new n.Diff(0,l.substring(0,r))),a++),l=l.substring(r),o=o.substring(r)),(r=this.diff_commonSuffix(l,o))!==0&&(t[a][1]=l.substring(l.length-r)+t[a][1],l=l.substring(0,l.length-r),o=o.substring(0,o.length-r))),a-=i+s,t.splice(a,i+s),o.length&&(t.splice(a,0,new n.Diff(-1,o)),a++),l.length&&(t.splice(a,0,new n.Diff(1,l)),a++),a++):a!==0&&t[a-1][0]==0?(t[a-1][1]+=t[a][1],t.splice(a,1)):a++,s=0,i=0,o="",l=""}t[t.length-1][1]===""&&t.pop();var c=!1;for(a=1;a<t.length-1;)t[a-1][0]==0&&t[a+1][0]==0&&(t[a][1].substring(t[a][1].length-t[a-1][1].length)==t[a-1][1]?(t[a][1]=t[a-1][1]+t[a][1].substring(0,t[a][1].length-t[a-1][1].length),t[a+1][1]=t[a-1][1]+t[a+1][1],t.splice(a-1,1),c=!0):t[a][1].substring(0,t[a+1][1].length)==t[a+1][1]&&(t[a-1][1]+=t[a+1][1],t[a][1]=t[a][1].substring(t[a+1][1].length)+t[a+1][1],t.splice(a+1,1),c=!0)),a++;c&&this.diff_cleanupMerge(t)},n.prototype.diff_xIndex=function(t,r){var a,i=0,s=0,o=0,l=0;for(a=0;a<t.length&&(t[a][0]!==1&&(i+=t[a][1].length),t[a][0]!==-1&&(s+=t[a][1].length),!(i>r));a++)o=i,l=s;return t.length!=a&&t[a][0]===-1?l:l+(r-o)},n.prototype.diff_prettyHtml=function(t){for(var r=[],a=/&/g,i=/</g,s=/>/g,o=/\n/g,l=0;l<t.length;l++){var c=t[l][0],p=t[l][1].replace(a,"&amp;").replace(i,"&lt;").replace(s,"&gt;").replace(o,"&para;<br>");switch(c){case 1:r[l]='<ins style="background:#e6ffe6;">'+p+"</ins>";break;case-1:r[l]='<del style="background:#ffe6e6;">'+p+"</del>";break;case 0:r[l]="<span>"+p+"</span>"}}return r.join("")},n.prototype.diff_text1=function(t){for(var r=[],a=0;a<t.length;a++)t[a][0]!==1&&(r[a]=t[a][1]);return r.join("")},n.prototype.diff_text2=function(t){for(var r=[],a=0;a<t.length;a++)t[a][0]!==-1&&(r[a]=t[a][1]);return r.join("")},n.prototype.diff_levenshtein=function(t){for(var r=0,a=0,i=0,s=0;s<t.length;s++){var o=t[s][0],l=t[s][1];switch(o){case 1:a+=l.length;break;case-1:i+=l.length;break;case 0:r+=Math.max(a,i),a=0,i=0}}return r+=Math.max(a,i)},n.prototype.diff_toDelta=function(t){for(var r=[],a=0;a<t.length;a++)switch(t[a][0]){case 1:r[a]="+"+encodeURI(t[a][1]);break;case-1:r[a]="-"+t[a][1].length;break;case 0:r[a]="="+t[a][1].length}return r.join(" ").replace(/%20/g," ")},n.prototype.diff_fromDelta=function(t,r){for(var a=[],i=0,s=0,o=r.split(/\t/g),l=0;l<o.length;l++){var c=o[l].substring(1);switch(o[l].charAt(0)){case"+":try{a[i++]=new n.Diff(1,decodeURI(c))}catch{throw new Error("Illegal escape in diff_fromDelta: "+c)}break;case"-":case"=":var p=parseInt(c,10);if(isNaN(p)||p<0)throw new Error("Invalid number in diff_fromDelta: "+c);var m=t.substring(s,s+=p);o[l].charAt(0)=="="?a[i++]=new n.Diff(0,m):a[i++]=new n.Diff(-1,m);break;default:if(o[l])throw new Error("Invalid diff operation in diff_fromDelta: "+o[l])}}if(s!=t.length)throw new Error("Delta length ("+s+") does not equal source text length ("+t.length+").");return a},n.prototype.match_main=function(t,r,a){if(t==null||r==null||a==null)throw new Error("Null input. (match_main)");return a=Math.max(0,Math.min(a,t.length)),t==r?0:t.length?t.substring(a,a+r.length)==r?a:this.match_bitap_(t,r,a):-1},n.prototype.match_bitap_=function(t,r,a){if(r.length>this.Match_MaxBits)throw new Error("Pattern too long for this browser.");var i=this.match_alphabet_(r),s=this;function o(S,C){var D=S/r.length,O=Math.abs(a-C);return s.Match_Distance?D+O/s.Match_Distance:O?1:D}var l=this.Match_Threshold,c=t.indexOf(r,a);c!=-1&&(l=Math.min(o(0,c),l),(c=t.lastIndexOf(r,a+r.length))!=-1&&(l=Math.min(o(0,c),l)));var p,m,h=1<<r.length-1;c=-1;for(var f,d=r.length+t.length,g=0;g<r.length;g++){for(p=0,m=d;p<m;)o(g,a+m)<=l?p=m:d=m,m=Math.floor((d-p)/2+p);d=m;var b=Math.max(1,a-m+1),N=Math.min(a+m,t.length)+r.length,x=Array(N+2);x[N+1]=(1<<g)-1;for(var w=N;w>=b;w--){var v=i[t.charAt(w-1)];if(x[w]=g===0?(x[w+1]<<1|1)&v:(x[w+1]<<1|1)&v|(f[w+1]|f[w])<<1|1|f[w+1],x[w]&h){var E=o(g,w-1);if(E<=l){if(l=E,!((c=w-1)>a))break;b=Math.max(1,2*a-c)}}}if(o(g+1,a)>l)break;f=x}return c},n.prototype.match_alphabet_=function(t){for(var r={},a=0;a<t.length;a++)r[t.charAt(a)]=0;for(a=0;a<t.length;a++)r[t.charAt(a)]|=1<<t.length-a-1;return r},n.prototype.patch_addContext_=function(t,r){if(r.length!=0){if(t.start2===null)throw Error("patch not initialized");for(var a=r.substring(t.start2,t.start2+t.length1),i=0;r.indexOf(a)!=r.lastIndexOf(a)&&a.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)i+=this.Patch_Margin,a=r.substring(t.start2-i,t.start2+t.length1+i);i+=this.Patch_Margin;var s=r.substring(t.start2-i,t.start2);s&&t.diffs.unshift(new n.Diff(0,s));var o=r.substring(t.start2+t.length1,t.start2+t.length1+i);o&&t.diffs.push(new n.Diff(0,o)),t.start1-=s.length,t.start2-=s.length,t.length1+=s.length+o.length,t.length2+=s.length+o.length}},n.prototype.patch_make=function(t,r,a){var i,s;if(typeof t=="string"&&typeof r=="string"&&a===void 0)i=t,(s=this.diff_main(i,r,!0)).length>2&&(this.diff_cleanupSemantic(s),this.diff_cleanupEfficiency(s));else if(t&&typeof t=="object"&&r===void 0&&a===void 0)s=t,i=this.diff_text1(s);else if(typeof t=="string"&&r&&typeof r=="object"&&a===void 0)i=t,s=r;else{if(typeof t!="string"||typeof r!="string"||!a||typeof a!="object")throw new Error("Unknown call format to patch_make.");i=t,s=a}if(s.length===0)return[];for(var o=[],l=new n.patch_obj,c=0,p=0,m=0,h=i,f=i,d=0;d<s.length;d++){var g=s[d][0],b=s[d][1];switch(c||g===0||(l.start1=p,l.start2=m),g){case 1:l.diffs[c++]=s[d],l.length2+=b.length,f=f.substring(0,m)+b+f.substring(m);break;case-1:l.length1+=b.length,l.diffs[c++]=s[d],f=f.substring(0,m)+f.substring(m+b.length);break;case 0:b.length<=2*this.Patch_Margin&&c&&s.length!=d+1?(l.diffs[c++]=s[d],l.length1+=b.length,l.length2+=b.length):b.length>=2*this.Patch_Margin&&c&&(this.patch_addContext_(l,h),o.push(l),l=new n.patch_obj,c=0,h=f,p=m)}g!==1&&(p+=b.length),g!==-1&&(m+=b.length)}return c&&(this.patch_addContext_(l,h),o.push(l)),o},n.prototype.patch_deepCopy=function(t){for(var r=[],a=0;a<t.length;a++){var i=t[a],s=new n.patch_obj;s.diffs=[];for(var o=0;o<i.diffs.length;o++)s.diffs[o]=new n.Diff(i.diffs[o][0],i.diffs[o][1]);s.start1=i.start1,s.start2=i.start2,s.length1=i.length1,s.length2=i.length2,r[a]=s}return r},n.prototype.patch_apply=function(t,r){if(t.length==0)return[r,[]];t=this.patch_deepCopy(t);var a=this.patch_addPadding(t);r=a+r+a,this.patch_splitMax(t);for(var i=0,s=[],o=0;o<t.length;o++){var l,c,p=t[o].start2+i,m=this.diff_text1(t[o].diffs),h=-1;if(m.length>this.Match_MaxBits?(l=this.match_main(r,m.substring(0,this.Match_MaxBits),p))!=-1&&((h=this.match_main(r,m.substring(m.length-this.Match_MaxBits),p+m.length-this.Match_MaxBits))==-1||l>=h)&&(l=-1):l=this.match_main(r,m,p),l==-1)s[o]=!1,i-=t[o].length2-t[o].length1;else if(s[o]=!0,i=l-p,m==(c=h==-1?r.substring(l,l+m.length):r.substring(l,h+this.Match_MaxBits)))r=r.substring(0,l)+this.diff_text2(t[o].diffs)+r.substring(l+m.length);else{var f=this.diff_main(m,c,!1);if(m.length>this.Match_MaxBits&&this.diff_levenshtein(f)/m.length>this.Patch_DeleteThreshold)s[o]=!1;else{this.diff_cleanupSemanticLossless(f);for(var d,g=0,b=0;b<t[o].diffs.length;b++){var N=t[o].diffs[b];N[0]!==0&&(d=this.diff_xIndex(f,g)),N[0]===1?r=r.substring(0,l+d)+N[1]+r.substring(l+d):N[0]===-1&&(r=r.substring(0,l+d)+r.substring(l+this.diff_xIndex(f,g+N[1].length))),N[0]!==-1&&(g+=N[1].length)}}}}return[r=r.substring(a.length,r.length-a.length),s]},n.prototype.patch_addPadding=function(t){for(var r=this.Patch_Margin,a="",i=1;i<=r;i++)a+=String.fromCharCode(i);for(i=0;i<t.length;i++)t[i].start1+=r,t[i].start2+=r;var s=t[0],o=s.diffs;if(o.length==0||o[0][0]!=0)o.unshift(new n.Diff(0,a)),s.start1-=r,s.start2-=r,s.length1+=r,s.length2+=r;else if(r>o[0][1].length){var l=r-o[0][1].length;o[0][1]=a.substring(o[0][1].length)+o[0][1],s.start1-=l,s.start2-=l,s.length1+=l,s.length2+=l}return(o=(s=t[t.length-1]).diffs).length==0||o[o.length-1][0]!=0?(o.push(new n.Diff(0,a)),s.length1+=r,s.length2+=r):r>o[o.length-1][1].length&&(l=r-o[o.length-1][1].length,o[o.length-1][1]+=a.substring(0,l),s.length1+=l,s.length2+=l),a},n.prototype.patch_splitMax=function(t){for(var r=this.Match_MaxBits,a=0;a<t.length;a++)if(!(t[a].length1<=r)){var i=t[a];t.splice(a--,1);for(var s=i.start1,o=i.start2,l="";i.diffs.length!==0;){var c=new n.patch_obj,p=!0;for(c.start1=s-l.length,c.start2=o-l.length,l!==""&&(c.length1=c.length2=l.length,c.diffs.push(new n.Diff(0,l)));i.diffs.length!==0&&c.length1<r-this.Patch_Margin;){var m=i.diffs[0][0],h=i.diffs[0][1];m===1?(c.length2+=h.length,o+=h.length,c.diffs.push(i.diffs.shift()),p=!1):m===-1&&c.diffs.length==1&&c.diffs[0][0]==0&&h.length>2*r?(c.length1+=h.length,s+=h.length,p=!1,c.diffs.push(new n.Diff(m,h)),i.diffs.shift()):(h=h.substring(0,r-c.length1-this.Patch_Margin),c.length1+=h.length,s+=h.length,m===0?(c.length2+=h.length,o+=h.length):p=!1,c.diffs.push(new n.Diff(m,h)),h==i.diffs[0][1]?i.diffs.shift():i.diffs[0][1]=i.diffs[0][1].substring(h.length))}l=(l=this.diff_text2(c.diffs)).substring(l.length-this.Patch_Margin);var f=this.diff_text1(i.diffs).substring(0,this.Patch_Margin);f!==""&&(c.length1+=f.length,c.length2+=f.length,c.diffs.length!==0&&c.diffs[c.diffs.length-1][0]===0?c.diffs[c.diffs.length-1][1]+=f:c.diffs.push(new n.Diff(0,f))),p||t.splice(++a,0,c)}}},n.prototype.patch_toText=function(t){for(var r=[],a=0;a<t.length;a++)r[a]=t[a];return r.join("")},n.prototype.patch_fromText=function(t){var r=[];if(!t)return r;for(var a=t.split(`
65
60
  `),i=0,s=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;i<a.length;){var o=a[i].match(s);if(!o)throw new Error("Invalid patch string: "+a[i]);var l=new n.patch_obj;for(r.push(l),l.start1=parseInt(o[1],10),o[2]===""?(l.start1--,l.length1=1):o[2]=="0"?l.length1=0:(l.start1--,l.length1=parseInt(o[2],10)),l.start2=parseInt(o[3],10),o[4]===""?(l.start2--,l.length2=1):o[4]=="0"?l.length2=0:(l.start2--,l.length2=parseInt(o[4],10)),i++;i<a.length;){var c=a[i].charAt(0);try{var p=decodeURI(a[i].substring(1))}catch{throw new Error("Illegal escape in patch_fromText: "+p)}if(c=="-")l.diffs.push(new n.Diff(-1,p));else if(c=="+")l.diffs.push(new n.Diff(1,p));else if(c==" ")l.diffs.push(new n.Diff(0,p));else{if(c=="@")break;if(c!=="")throw new Error('Invalid patch mode "'+c+'" in: '+p)}i++}}return r},(n.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0}).prototype.toString=function(){for(var t,r=["@@ -"+(this.length1===0?this.start1+",0":this.length1==1?this.start1+1:this.start1+1+","+this.length1)+" +"+(this.length2===0?this.start2+",0":this.length2==1?this.start2+1:this.start2+1+","+this.length2)+` @@
66
61
  `],a=0;a<this.diffs.length;a++){switch(this.diffs[a][0]){case 1:t="+";break;case-1:t="-";break;case 0:t=" "}r[a+1]=t+encodeURI(this.diffs[a][1])+`
67
- `}return r.join("").replace(/%20/g," ")},e.exports=n,e.exports.diff_match_patch=n,e.exports.DIFF_DELETE=-1,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0}),Pp=At.DIFF_EQUAL,$p=At.DIFF_DELETE,zp=At.DIFF_INSERT;function Os(e){var n=ti(e,function(r){return!ze(r)});if(n===-1)return[];var t=ti(e,function(r){return!!ze(r)},n);return t===-1?[e.slice(n)]:[e.slice(n,t)].concat(Ee(Os(e.slice(t))))}function ri(e){return e.reduce(function(n,t){var r=q(t,2),a=r[0],i=ns(r[1].split(`
68
- `).map(function(l){return[a,l]})),s=i[0],o=i.slice(1);return[].concat(Ee(n.slice(0,-1)),[[].concat(Ee(n[n.length-1]),[s])],Ee(o.map(function(l){return[l]})))},[[]])}function ir(e,n){return e.reduce(function(t,r){var a=q(t,2),i=a[0],s=a[1],o=q(r,2),l=o[0],c=o[1];if(l!==Pp){var p={type:"edit",lineNumber:n,start:s,length:c.length};i.push(p)}return[i,s+c.length]},[[],0])[0]}function ai(e,n){return jr(e,function(t,r){return ir(t,n+r)})}function Vs(e,n){var t=new At,r=t.diff_main(e,n);return t.diff_cleanupSemantic(r),r.length<=1?[[],[]]:function(a){return a.reduce(function(i,s){var o=q(i,2),l=o[0],c=o[1];switch(q(s,1)[0]){case zp:c.push(s);break;case $p:l.push(s);break;default:l.push(s),c.push(s)}return[l,c]},[[],[]])}(r)}function Bp(e){var n=e.reduce(function(c,p){var m=q(c,2),h=m[0],f=m[1];return Se(p)?[h+(h?`
62
+ `}return r.join("").replace(/%20/g," ")},e.exports=n,e.exports.diff_match_patch=n,e.exports.DIFF_DELETE=-1,e.exports.DIFF_INSERT=1,e.exports.DIFF_EQUAL=0}),Fp=At.DIFF_EQUAL,Pp=At.DIFF_DELETE,$p=At.DIFF_INSERT;function Os(e){var n=ti(e,function(r){return!ze(r)});if(n===-1)return[];var t=ti(e,function(r){return!!ze(r)},n);return t===-1?[e.slice(n)]:[e.slice(n,t)].concat(Ee(Os(e.slice(t))))}function ri(e){return e.reduce(function(n,t){var r=q(t,2),a=r[0],i=ns(r[1].split(`
63
+ `).map(function(l){return[a,l]})),s=i[0],o=i.slice(1);return[].concat(Ee(n.slice(0,-1)),[[].concat(Ee(n[n.length-1]),[s])],Ee(o.map(function(l){return[l]})))},[[]])}function ir(e,n){return e.reduce(function(t,r){var a=q(t,2),i=a[0],s=a[1],o=q(r,2),l=o[0],c=o[1];if(l!==Fp){var p={type:"edit",lineNumber:n,start:s,length:c.length};i.push(p)}return[i,s+c.length]},[[],0])[0]}function ai(e,n){return jr(e,function(t,r){return ir(t,n+r)})}function Vs(e,n){var t=new At,r=t.diff_main(e,n);return t.diff_cleanupSemantic(r),r.length<=1?[[],[]]:function(a){return a.reduce(function(i,s){var o=q(i,2),l=o[0],c=o[1];switch(q(s,1)[0]){case $p:c.push(s);break;case Pp:l.push(s);break;default:l.push(s),c.push(s)}return[l,c]},[[],[]])}(r)}function zp(e){var n=e.reduce(function(c,p){var m=q(c,2),h=m[0],f=m[1];return Se(p)?[h+(h?`
69
64
  `:"")+p.content,f]:[h,f+(f?`
70
- `:"")+p.content]},["",""]),t=q(n,2),r=q(Vs(t[0],t[1]),2),a=r[0],i=r[1];if(a.length===0&&i.length===0)return[[],[]];var s=function(c){if(c&&!ze(c))return c.lineNumber},o=s(e.find(Se)),l=s(e.find(Ye));if(o===void 0||l===void 0)throw new Error("Could not find start line number for edit");return[ai(ri(a),o),ai(ri(i),l)]}function Gp(e){var n=e.reduce(function(r,a){var i=q(r,3),s=i[0],o=i[1],l=i[2];if(!l||!Se(l)||!Ye(a))return[s,o,a];var c=q(Vs(l.content,a.content),2),p=c[0],m=c[1];return[s.concat(ir(p,l.lineNumber)),o.concat(ir(m,a.lineNumber)),a]},[[],[],null]),t=q(n,2);return[t[0],t[1]]}function Up(e){var n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).type,t=(n===void 0?"block":n)==="block"?Bp:Gp,r=jr(e.map(function(o){return o.changes}),Os).map(t).reduce(function(o,l){var c=q(o,2),p=c[0],m=c[1],h=q(l,2),f=h[0],d=h[1];return[p.concat(f),m.concat(d)]},[[],[]]),a=q(r,2),i=a[0],s=a[1];return Mp(ni(i),ni(s))}var Hp=["enhancers"],Kp=function(e){var n,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.enhancers,a=r===void 0?[]:r,i=q(Ep(e,Ke(t,Hp)),2),s=i[0],o=i[1],l=[Qa(s),Qa(o)],c=(n=[l[0],l[1]],a.reduce(function(g,b){return b(g)},n)),p=q(c,2),m=p[0],h=p[1],f=[m.map(Ja),h.map(Ja)],d=f[1];return{old:f[0].map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]}),new:d.map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]})}};Le.displayName="clike";Le.aliases=[];function Le(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Bn.displayName="c";Bn.aliases=[];function Bn(e){e.register(Le),e.languages.c=e.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}It.displayName="cpp";It.aliases=[];function It(e){e.register(Bn),function(n){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,r=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return t.source});n.languages.cpp=n.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),n.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return r})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),n.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n.languages.cpp}}}}),n.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),n.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:n.languages.extend("cpp",{})}}),n.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},n.languages.cpp["base-clause"])}(e)}Vr.displayName="arduino";Vr.aliases=["ino"];function Vr(e){e.register(It),e.languages.arduino=e.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}Lr.displayName="bash";Lr.aliases=["sh","shell"];function Lr(e){(function(n){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:r,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=n.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],s=a.variable[1].inside,o=0;o<i.length;o++)s[i[o]]=n.languages.bash[i[o]];n.languages.sh=n.languages.bash,n.languages.shell=n.languages.bash})(e)}Mr.displayName="csharp";Mr.aliases=["cs","dotnet"];function Mr(e){e.register(Le),function(n){function t(T,G){return T.replace(/<<(\d+)>>/g,function(Z,ce){return"(?:"+G[+ce]+")"})}function r(T,G,Z){return RegExp(t(T,G),"")}function a(T,G){for(var Z=0;Z<G;Z++)T=T.replace(/<<self>>/g,function(){return"(?:"+T+")"});return T.replace(/<<self>>/g,"[^\\s\\S]")}var i={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function s(T){return"\\b(?:"+T.trim().replace(/ /g,"|")+")\\b"}var o=s(i.typeDeclaration),l=RegExp(s(i.type+" "+i.typeDeclaration+" "+i.contextual+" "+i.other)),c=s(i.typeDeclaration+" "+i.contextual+" "+i.other),p=s(i.type+" "+i.typeDeclaration+" "+i.other),m=a(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),h=a(/\((?:[^()]|<<self>>)*\)/.source,2),f=/@?\b[A-Za-z_]\w*\b/.source,d=t(/<<0>>(?:\s*<<1>>)?/.source,[f,m]),g=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[c,d]),b=/\[\s*(?:,\s*)*\]/.source,N=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[g,b]),y=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[m,h,b]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[y]),v=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,g,b]),E={keyword:l,punctuation:/[<>()?,.:[\]]/},S=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,C=/"(?:\\.|[^\\"\r\n])*"/.source,D=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;n.languages.csharp=n.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[D]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[C]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[f,v]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[f]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[o,d]),lookbehind:!0,inside:E},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\bwhere\s+)<<0>>/.source,[f]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[N]),lookbehind:!0,inside:E},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[v,p,f]),inside:E}],keyword:l,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),n.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),n.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[f]),lookbehind:!0,alias:"punctuation"}}),n.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:E},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[v,g]),inside:E,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[v]),lookbehind:!0,inside:E,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[f,m]),inside:{function:r(/^<<0>>/.source,[f]),generic:{pattern:RegExp(m),alias:"class-name",inside:E}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[o,d,f,v,l.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[d,h]),lookbehind:!0,greedy:!0,inside:n.languages.csharp},keyword:l,"class-name":{pattern:RegExp(v),greedy:!0,inside:E},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var O=C+"|"+S,k=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[O]),j=a(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[k]),2),M=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,_=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[g,j]);n.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[M,_]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[M]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[j]),inside:n.languages.csharp},"class-name":{pattern:RegExp(g),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var $=/:[^}\r\n]+/.source,K=a(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[k]),2),W=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[K,$]),A=a(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[O]),2),R=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[A,$]);function U(T,G){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[T]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[G,$]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:n.languages.csharp}}},string:/[\s\S]+/}}n.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[W]),lookbehind:!0,greedy:!0,inside:U(W,K)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[R]),lookbehind:!0,greedy:!0,inside:U(R,A)}],char:{pattern:RegExp(S),greedy:!0}}),n.languages.dotnet=n.languages.cs=n.languages.csharp}(e)}Gn.displayName="markup";Gn.aliases=["atom","html","mathml","rss","ssml","svg","xml"];function Gn(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.value.replace(/&amp;/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,r){var a={};a["language-"+r]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[r]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};i["language-"+r]={pattern:/[\s\S]+/,inside:e.languages[r]};var s={};s[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore("markup","cdata",s)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(n,t){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:e.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}xn.displayName="css";xn.aliases=[];function xn(e){(function(n){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var r=n.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}Fr.displayName="diff";Fr.aliases=[];function Fr(e){(function(n){n.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach(function(r){var a=t[r],i=[];/^\w+$/.test(r)||i.push(/\w+/.exec(r)[0]),r==="diff"&&i.push("bold"),n.languages.diff[r]={pattern:RegExp("^(?:["+a+`].*(?:\r
65
+ `:"")+p.content]},["",""]),t=q(n,2),r=q(Vs(t[0],t[1]),2),a=r[0],i=r[1];if(a.length===0&&i.length===0)return[[],[]];var s=function(c){if(c&&!ze(c))return c.lineNumber},o=s(e.find(Se)),l=s(e.find(Ye));if(o===void 0||l===void 0)throw new Error("Could not find start line number for edit");return[ai(ri(a),o),ai(ri(i),l)]}function Bp(e){var n=e.reduce(function(r,a){var i=q(r,3),s=i[0],o=i[1],l=i[2];if(!l||!Se(l)||!Ye(a))return[s,o,a];var c=q(Vs(l.content,a.content),2),p=c[0],m=c[1];return[s.concat(ir(p,l.lineNumber)),o.concat(ir(m,a.lineNumber)),a]},[[],[],null]),t=q(n,2);return[t[0],t[1]]}function Gp(e){var n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:{}).type,t=(n===void 0?"block":n)==="block"?zp:Bp,r=jr(e.map(function(o){return o.changes}),Os).map(t).reduce(function(o,l){var c=q(o,2),p=c[0],m=c[1],h=q(l,2),f=h[0],d=h[1];return[p.concat(f),m.concat(d)]},[[],[]]),a=q(r,2),i=a[0],s=a[1];return Lp(ni(i),ni(s))}var Up=["enhancers"],Hp=function(e){var n,t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},r=t.enhancers,a=r===void 0?[]:r,i=q(yp(e,He(t,Up)),2),s=i[0],o=i[1],l=[Qa(s),Qa(o)],c=(n=[l[0],l[1]],a.reduce(function(g,b){return b(g)},n)),p=q(c,2),m=p[0],h=p[1],f=[m.map(Ja),h.map(Ja)],d=f[1];return{old:f[0].map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]}),new:d.map(function(g){var b;return(b=g.children)!==null&&b!==void 0?b:[]})}};Le.displayName="clike";Le.aliases=[];function Le(e){e.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}}Bn.displayName="c";Bn.aliases=[];function Bn(e){e.register(Le),e.languages.c=e.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),e.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),e.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},e.languages.c.string],char:e.languages.c.char,comment:e.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:e.languages.c}}}}),e.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete e.languages.c.boolean}It.displayName="cpp";It.aliases=[];function It(e){e.register(Bn),function(n){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,r=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return t.source});n.languages.cpp=n.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),n.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return r})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),n.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n.languages.cpp}}}}),n.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),n.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:n.languages.extend("cpp",{})}}),n.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},n.languages.cpp["base-clause"])}(e)}Vr.displayName="arduino";Vr.aliases=["ino"];function Vr(e){e.register(It),e.languages.arduino=e.languages.extend("cpp",{keyword:/\b(?:String|array|bool|boolean|break|byte|case|catch|continue|default|do|double|else|finally|for|function|goto|if|in|instanceof|int|integer|long|loop|new|null|return|setup|string|switch|throw|try|void|while|word)\b/,constant:/\b(?:ANALOG_MESSAGE|DEFAULT|DIGITAL_MESSAGE|EXTERNAL|FIRMATA_STRING|HIGH|INPUT|INPUT_PULLUP|INTERNAL|INTERNAL1V1|INTERNAL2V56|LED_BUILTIN|LOW|OUTPUT|REPORT_ANALOG|REPORT_DIGITAL|SET_PIN_MODE|SYSEX_START|SYSTEM_RESET)\b/,builtin:/\b(?:Audio|BSSID|Bridge|Client|Console|EEPROM|Esplora|EsploraTFT|Ethernet|EthernetClient|EthernetServer|EthernetUDP|File|FileIO|FileSystem|Firmata|GPRS|GSM|GSMBand|GSMClient|GSMModem|GSMPIN|GSMScanner|GSMServer|GSMVoiceCall|GSM_SMS|HttpClient|IPAddress|IRread|Keyboard|KeyboardController|LiquidCrystal|LiquidCrystal_I2C|Mailbox|Mouse|MouseController|PImage|Process|RSSI|RobotControl|RobotMotor|SD|SPI|SSID|Scheduler|Serial|Server|Servo|SoftwareSerial|Stepper|Stream|TFT|Task|USBHost|WiFi|WiFiClient|WiFiServer|WiFiUDP|Wire|YunClient|YunServer|abs|addParameter|analogRead|analogReadResolution|analogReference|analogWrite|analogWriteResolution|answerCall|attach|attachGPRS|attachInterrupt|attached|autoscroll|available|background|beep|begin|beginPacket|beginSD|beginSMS|beginSpeaker|beginTFT|beginTransmission|beginWrite|bit|bitClear|bitRead|bitSet|bitWrite|blink|blinkVersion|buffer|changePIN|checkPIN|checkPUK|checkReg|circle|cityNameRead|cityNameWrite|clear|clearScreen|click|close|compassRead|config|connect|connected|constrain|cos|countryNameRead|countryNameWrite|createChar|cursor|debugPrint|delay|delayMicroseconds|detach|detachInterrupt|digitalRead|digitalWrite|disconnect|display|displayLogos|drawBMP|drawCompass|encryptionType|end|endPacket|endSMS|endTransmission|endWrite|exists|exitValue|fill|find|findUntil|flush|gatewayIP|get|getAsynchronously|getBand|getButton|getCurrentCarrier|getIMEI|getKey|getModifiers|getOemKey|getPINUsed|getResult|getSignalStrength|getSocket|getVoiceCallStatus|getXChange|getYChange|hangCall|height|highByte|home|image|interrupts|isActionDone|isDirectory|isListening|isPIN|isPressed|isValid|keyPressed|keyReleased|keyboardRead|knobRead|leftToRight|line|lineFollowConfig|listen|listenOnLocalhost|loadImage|localIP|lowByte|macAddress|maintain|map|max|messageAvailable|micros|millis|min|mkdir|motorsStop|motorsWrite|mouseDragged|mouseMoved|mousePressed|mouseReleased|move|noAutoscroll|noBlink|noBuffer|noCursor|noDisplay|noFill|noInterrupts|noListenOnLocalhost|noStroke|noTone|onReceive|onRequest|open|openNextFile|overflow|parseCommand|parseFloat|parseInt|parsePacket|pauseMode|peek|pinMode|playFile|playMelody|point|pointTo|position|pow|prepare|press|print|printFirmwareVersion|printVersion|println|process|processInput|pulseIn|put|random|randomSeed|read|readAccelerometer|readBlue|readButton|readBytes|readBytesUntil|readGreen|readJoystickButton|readJoystickSwitch|readJoystickX|readJoystickY|readLightSensor|readMessage|readMicrophone|readNetworks|readRed|readSlider|readString|readStringUntil|readTemperature|ready|rect|release|releaseAll|remoteIP|remoteNumber|remotePort|remove|requestFrom|retrieveCallingNumber|rewindDirectory|rightToLeft|rmdir|robotNameRead|robotNameWrite|run|runAsynchronously|runShellCommand|runShellCommandAsynchronously|running|scanNetworks|scrollDisplayLeft|scrollDisplayRight|seek|sendAnalog|sendDigitalPortPair|sendDigitalPorts|sendString|sendSysex|serialEvent|setBand|setBitOrder|setClockDivider|setCursor|setDNS|setDataMode|setFirmwareVersion|setMode|setPINUsed|setSpeed|setTextSize|setTimeout|shiftIn|shiftOut|shutdown|sin|size|sqrt|startLoop|step|stop|stroke|subnetMask|switchPIN|tan|tempoWrite|text|tone|transfer|tuneWrite|turn|updateIR|userNameRead|userNameWrite|voiceCall|waitContinue|width|write|writeBlue|writeGreen|writeJSON|writeMessage|writeMicroseconds|writeRGB|writeRed|yield)\b/}),e.languages.ino=e.languages.arduino}Lr.displayName="bash";Lr.aliases=["sh","shell"];function Lr(e){(function(n){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",r={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:r,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};n.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:r}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:a},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:a.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},r.inside=n.languages.bash;for(var i=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],s=a.variable[1].inside,o=0;o<i.length;o++)s[i[o]]=n.languages.bash[i[o]];n.languages.sh=n.languages.bash,n.languages.shell=n.languages.bash})(e)}Mr.displayName="csharp";Mr.aliases=["cs","dotnet"];function Mr(e){e.register(Le),function(n){function t(T,G){return T.replace(/<<(\d+)>>/g,function(Z,ce){return"(?:"+G[+ce]+")"})}function r(T,G,Z){return RegExp(t(T,G),"")}function a(T,G){for(var Z=0;Z<G;Z++)T=T.replace(/<<self>>/g,function(){return"(?:"+T+")"});return T.replace(/<<self>>/g,"[^\\s\\S]")}var i={type:"bool byte char decimal double dynamic float int long object sbyte short string uint ulong ushort var void",typeDeclaration:"class enum interface record struct",contextual:"add alias and ascending async await by descending from(?=\\s*(?:\\w|$)) get global group into init(?=\\s*;) join let nameof not notnull on or orderby partial remove select set unmanaged value when where with(?=\\s*{)",other:"abstract as base break case catch checked const continue default delegate do else event explicit extern finally fixed for foreach goto if implicit in internal is lock namespace new null operator out override params private protected public readonly ref return sealed sizeof stackalloc static switch this throw try typeof unchecked unsafe using virtual volatile while yield"};function s(T){return"\\b(?:"+T.trim().replace(/ /g,"|")+")\\b"}var o=s(i.typeDeclaration),l=RegExp(s(i.type+" "+i.typeDeclaration+" "+i.contextual+" "+i.other)),c=s(i.typeDeclaration+" "+i.contextual+" "+i.other),p=s(i.type+" "+i.typeDeclaration+" "+i.other),m=a(/<(?:[^<>;=+\-*/%&|^]|<<self>>)*>/.source,2),h=a(/\((?:[^()]|<<self>>)*\)/.source,2),f=/@?\b[A-Za-z_]\w*\b/.source,d=t(/<<0>>(?:\s*<<1>>)?/.source,[f,m]),g=t(/(?!<<0>>)<<1>>(?:\s*\.\s*<<1>>)*/.source,[c,d]),b=/\[\s*(?:,\s*)*\]/.source,N=t(/<<0>>(?:\s*(?:\?\s*)?<<1>>)*(?:\s*\?)?/.source,[g,b]),x=t(/[^,()<>[\];=+\-*/%&|^]|<<0>>|<<1>>|<<2>>/.source,[m,h,b]),w=t(/\(<<0>>+(?:,<<0>>+)+\)/.source,[x]),v=t(/(?:<<0>>|<<1>>)(?:\s*(?:\?\s*)?<<2>>)*(?:\s*\?)?/.source,[w,g,b]),E={keyword:l,punctuation:/[<>()?,.:[\]]/},S=/'(?:[^\r\n'\\]|\\.|\\[Uux][\da-fA-F]{1,8})'/.source,C=/"(?:\\.|[^\\"\r\n])*"/.source,D=/@"(?:""|\\[\s\S]|[^\\"])*"(?!")/.source;n.languages.csharp=n.languages.extend("clike",{string:[{pattern:r(/(^|[^$\\])<<0>>/.source,[D]),lookbehind:!0,greedy:!0},{pattern:r(/(^|[^@$\\])<<0>>/.source,[C]),lookbehind:!0,greedy:!0}],"class-name":[{pattern:r(/(\busing\s+static\s+)<<0>>(?=\s*;)/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+<<0>>\s*=\s*)<<1>>(?=\s*;)/.source,[f,v]),lookbehind:!0,inside:E},{pattern:r(/(\busing\s+)<<0>>(?=\s*=)/.source,[f]),lookbehind:!0},{pattern:r(/(\b<<0>>\s+)<<1>>/.source,[o,d]),lookbehind:!0,inside:E},{pattern:r(/(\bcatch\s*\(\s*)<<0>>/.source,[g]),lookbehind:!0,inside:E},{pattern:r(/(\bwhere\s+)<<0>>/.source,[f]),lookbehind:!0},{pattern:r(/(\b(?:is(?:\s+not)?|as)\s+)<<0>>/.source,[N]),lookbehind:!0,inside:E},{pattern:r(/\b<<0>>(?=\s+(?!<<1>>|with\s*\{)<<2>>(?:\s*[=,;:{)\]]|\s+(?:in|when)\b))/.source,[v,p,f]),inside:E}],keyword:l,number:/(?:\b0(?:x[\da-f_]*[\da-f]|b[01_]*[01])|(?:\B\.\d+(?:_+\d+)*|\b\d+(?:_+\d+)*(?:\.\d+(?:_+\d+)*)?)(?:e[-+]?\d+(?:_+\d+)*)?)(?:[dflmu]|lu|ul)?\b/i,operator:/>>=?|<<=?|[-=]>|([-+&|])\1|~|\?\?=?|[-+*/%&|^!=<>]=?/,punctuation:/\?\.?|::|[{}[\];(),.:]/}),n.languages.insertBefore("csharp","number",{range:{pattern:/\.\./,alias:"operator"}}),n.languages.insertBefore("csharp","punctuation",{"named-parameter":{pattern:r(/([(,]\s*)<<0>>(?=\s*:)/.source,[f]),lookbehind:!0,alias:"punctuation"}}),n.languages.insertBefore("csharp","class-name",{namespace:{pattern:r(/(\b(?:namespace|using)\s+)<<0>>(?:\s*\.\s*<<0>>)*(?=\s*[;{])/.source,[f]),lookbehind:!0,inside:{punctuation:/\./}},"type-expression":{pattern:r(/(\b(?:default|sizeof|typeof)\s*\(\s*(?!\s))(?:[^()\s]|\s(?!\s)|<<0>>)*(?=\s*\))/.source,[h]),lookbehind:!0,alias:"class-name",inside:E},"return-type":{pattern:r(/<<0>>(?=\s+(?:<<1>>\s*(?:=>|[({]|\.\s*this\s*\[)|this\s*\[))/.source,[v,g]),inside:E,alias:"class-name"},"constructor-invocation":{pattern:r(/(\bnew\s+)<<0>>(?=\s*[[({])/.source,[v]),lookbehind:!0,inside:E,alias:"class-name"},"generic-method":{pattern:r(/<<0>>\s*<<1>>(?=\s*\()/.source,[f,m]),inside:{function:r(/^<<0>>/.source,[f]),generic:{pattern:RegExp(m),alias:"class-name",inside:E}}},"type-list":{pattern:r(/\b((?:<<0>>\s+<<1>>|record\s+<<1>>\s*<<5>>|where\s+<<2>>)\s*:\s*)(?:<<3>>|<<4>>|<<1>>\s*<<5>>|<<6>>)(?:\s*,\s*(?:<<3>>|<<4>>|<<6>>))*(?=\s*(?:where|[{;]|=>|$))/.source,[o,d,f,v,l.source,h,/\bnew\s*\(\s*\)/.source]),lookbehind:!0,inside:{"record-arguments":{pattern:r(/(^(?!new\s*\()<<0>>\s*)<<1>>/.source,[d,h]),lookbehind:!0,greedy:!0,inside:n.languages.csharp},keyword:l,"class-name":{pattern:RegExp(v),greedy:!0,inside:E},punctuation:/[,()]/}},preprocessor:{pattern:/(^[\t ]*)#.*/m,lookbehind:!0,alias:"property",inside:{directive:{pattern:/(#)\b(?:define|elif|else|endif|endregion|error|if|line|nullable|pragma|region|undef|warning)\b/,lookbehind:!0,alias:"keyword"}}}});var O=C+"|"+S,k=t(/\/(?![*/])|\/\/[^\r\n]*[\r\n]|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>/.source,[O]),j=a(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[k]),2),M=/\b(?:assembly|event|field|method|module|param|property|return|type)\b/.source,_=t(/<<0>>(?:\s*\(<<1>>*\))?/.source,[g,j]);n.languages.insertBefore("csharp","class-name",{attribute:{pattern:r(/((?:^|[^\s\w>)?])\s*\[\s*)(?:<<0>>\s*:\s*)?<<1>>(?:\s*,\s*<<1>>)*(?=\s*\])/.source,[M,_]),lookbehind:!0,greedy:!0,inside:{target:{pattern:r(/^<<0>>(?=\s*:)/.source,[M]),alias:"keyword"},"attribute-arguments":{pattern:r(/\(<<0>>*\)/.source,[j]),inside:n.languages.csharp},"class-name":{pattern:RegExp(g),inside:{punctuation:/\./}},punctuation:/[:,]/}}});var $=/:[^}\r\n]+/.source,K=a(t(/[^"'/()]|<<0>>|\(<<self>>*\)/.source,[k]),2),W=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[K,$]),A=a(t(/[^"'/()]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|<<0>>|\(<<self>>*\)/.source,[O]),2),R=t(/\{(?!\{)(?:(?![}:])<<0>>)*<<1>>?\}/.source,[A,$]);function U(T,G){return{interpolation:{pattern:r(/((?:^|[^{])(?:\{\{)*)<<0>>/.source,[T]),lookbehind:!0,inside:{"format-string":{pattern:r(/(^\{(?:(?![}:])<<0>>)*)<<1>>(?=\}$)/.source,[G,$]),lookbehind:!0,inside:{punctuation:/^:/}},punctuation:/^\{|\}$/,expression:{pattern:/[\s\S]+/,alias:"language-csharp",inside:n.languages.csharp}}},string:/[\s\S]+/}}n.languages.insertBefore("csharp","string",{"interpolation-string":[{pattern:r(/(^|[^\\])(?:\$@|@\$)"(?:""|\\[\s\S]|\{\{|<<0>>|[^\\{"])*"/.source,[W]),lookbehind:!0,greedy:!0,inside:U(W,K)},{pattern:r(/(^|[^@\\])\$"(?:\\.|\{\{|<<0>>|[^\\"{])*"/.source,[R]),lookbehind:!0,greedy:!0,inside:U(R,A)}],char:{pattern:RegExp(S),greedy:!0}}),n.languages.dotnet=n.languages.cs=n.languages.csharp}(e)}Gn.displayName="markup";Gn.aliases=["atom","html","mathml","rss","ssml","svg","xml"];function Gn(e){e.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},e.languages.markup.tag.inside["attr-value"].inside.entity=e.languages.markup.entity,e.languages.markup.doctype.inside["internal-subset"].inside=e.languages.markup,e.hooks.add("wrap",function(n){n.type==="entity"&&(n.attributes.title=n.content.value.replace(/&amp;/,"&"))}),Object.defineProperty(e.languages.markup.tag,"addInlined",{value:function(t,r){var a={};a["language-"+r]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:e.languages[r]},a.cdata=/^<!\[CDATA\[|\]\]>$/i;var i={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:a}};i["language-"+r]={pattern:/[\s\S]+/,inside:e.languages[r]};var s={};s[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:i},e.languages.insertBefore("markup","cdata",s)}}),Object.defineProperty(e.languages.markup.tag,"addAttribute",{value:function(n,t){e.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+n+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:e.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),e.languages.html=e.languages.markup,e.languages.mathml=e.languages.markup,e.languages.svg=e.languages.markup,e.languages.xml=e.languages.extend("markup",{}),e.languages.ssml=e.languages.xml,e.languages.atom=e.languages.xml,e.languages.rss=e.languages.xml}yn.displayName="css";yn.aliases=[];function yn(e){(function(n){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;n.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},n.languages.css.atrule.inside.rest=n.languages.css;var r=n.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))})(e)}Fr.displayName="diff";Fr.aliases=[];function Fr(e){(function(n){n.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach(function(r){var a=t[r],i=[];/^\w+$/.test(r)||i.push(/\w+/.exec(r)[0]),r==="diff"&&i.push("bold"),n.languages.diff[r]={pattern:RegExp("^(?:["+a+`].*(?:\r
71
66
  ?|
72
- |(?![\\s\\S])))+`,"m"),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(r)[0]}}}}),Object.defineProperty(n.languages.diff,"PREFIXES",{value:t})})(e)}Pr.displayName="go";Pr.aliases=[];function Pr(e){e.register(Le),e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}$r.displayName="ini";$r.aliases=[];function $r(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}zr.displayName="java";zr.aliases=[];function zr(e){e.register(Le),function(n){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};n.languages.java=n.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:t,function:[n.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),n.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),n.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}Br.displayName="regex";Br.aliases=[];function Br(e){(function(n){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},r=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,a={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},s="(?:[^\\\\-]|"+r.source+")",o=RegExp(s+"-"+s),l={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};n.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:o,inside:{escape:r,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":i,escape:r}},"special-escape":t,"char-set":a,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":l}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:r,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":l}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}})(e)}_t.displayName="javascript";_t.aliases=["js"];function _t(e){e.register(Le),e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}Gr.displayName="json";Gr.aliases=["webmanifest"];function Gr(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}Ur.displayName="kotlin";Ur.aliases=["kt","kts"];function Ur(e){e.register(Le),function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(e)}Hr.displayName="less";Hr.aliases=[];function Hr(e){e.register(xn),e.languages.less=e.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}Kr.displayName="lua";Kr.aliases=[];function Kr(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Wr.displayName="makefile";Wr.aliases=[];function Wr(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Yr.displayName="yaml";Yr.aliases=["yml"];function Yr(e){(function(n){var t=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+r.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+r.source+")?)",i=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),s=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(l,c){c=(c||"").replace(/m/g,"")+"m";var p=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<value>>/g,function(){return l});return RegExp(p,c)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return a})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<key>>/g,function(){return"(?:"+i+"|"+s+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(s),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(e)}Xr.displayName="markdown";Xr.aliases=["md"];function Xr(e){e.register(Gn),function(n){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(o){return o=o.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+o+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,i=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return a}),s=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+i+s+"(?:"+i+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+i+s+")(?:"+i+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+i+")"+s+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+i+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(o){["url","bold","italic","strike","code-snippet"].forEach(function(l){o!==l&&(n.languages.markdown[o].inside.content.inside[l]=n.languages.markdown[l])})}),n.hooks.add("after-tokenize",function(o){if(o.language!=="markdown"&&o.language!=="md")return;function l(c){if(!(!c||typeof c=="string"))for(var p=0,m=c.length;p<m;p++){var h=c[p];if(h.type!=="code"){l(h.content);continue}var f=h.content[1],d=h.content[3];if(f&&d&&f.type==="code-language"&&d.type==="code-block"&&typeof f.content=="string"){var g=f.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");g=(/[a-z][\w-]*/i.exec(g)||[""])[0].toLowerCase();var b="language-"+g;d.alias?typeof d.alias=="string"?d.alias=[d.alias,b]:d.alias.push(b):d.alias=[b]}}}l(o.tokens)}),n.hooks.add("wrap",function(o){if(o.type==="code-block"){for(var l="",c=0,p=o.classes.length;c<p;c++){var m=o.classes[c],h=/language-(.+)/.exec(m);if(h){l=h[1];break}}var f=n.languages[l];if(f)o.content=n.highlight(o.content.value,f,l);else if(l&&l!=="none"&&n.plugins.autoloader){var d="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);o.attributes.id=d,n.plugins.autoloader.loadLanguages(l,function(){var g=document.getElementById(d);g&&(g.innerHTML=n.highlight(g.textContent,n.languages[l],l))})}}}),RegExp(n.languages.markup.tag.pattern.source,"gi"),n.languages.md=n.languages.markdown}(e)}qr.displayName="objectivec";qr.aliases=["objc"];function qr(e){e.register(Bn),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}Zr.displayName="perl";Zr.aliases=[];function Zr(e){(function(n){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;n.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}Rt.displayName="markup-templating";Rt.aliases=[];function Rt(e){e.register(Gn),function(n){function t(r,a){return"___"+r.toUpperCase()+a+"___"}Object.defineProperties(n.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,a,i,s){if(r.language===a){var o=r.tokenStack=[];r.code=r.code.replace(i,function(l){if(typeof s=="function"&&!s(l))return l;for(var c=o.length,p;r.code.indexOf(p=t(a,c))!==-1;)++c;return o[c]=l,p}),r.grammar=n.languages.markup}}},tokenizePlaceholders:{value:function(r,a){if(r.language!==a||!r.tokenStack)return;r.grammar=n.languages[a];var i=0,s=Object.keys(r.tokenStack);function o(l){for(var c=0;c<l.length&&!(i>=s.length);c++){var p=l[c];if(typeof p=="string"||p.content&&typeof p.content=="string"){var m=s[i],h=r.tokenStack[m],f=typeof p=="string"?p:p.content,d=t(a,m),g=f.indexOf(d);if(g>-1){++i;var b=f.substring(0,g),N=new n.Token(a,n.tokenize(h,r.grammar),"language-"+a,h),y=f.substring(g+d.length),w=[];b&&w.push.apply(w,o([b])),w.push(N),y&&w.push.apply(w,o([y])),typeof p=="string"?l.splice.apply(l,[c,1].concat(w)):p.content=w}}else p.content&&o(p.content)}return l}o(r.tokens)}}})}(e)}Qr.displayName="php";Qr.aliases=[];function Qr(e){e.register(Rt),function(n){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;n.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:i,punctuation:s};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:n.languages.php},l=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];n.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:l,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:a,operator:i,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),n.hooks.add("before-tokenize",function(c){if(/<\?/.test(c.code)){var p=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;n.languages["markup-templating"].buildPlaceholders(c,"php",p)}}),n.hooks.add("after-tokenize",function(c){n.languages["markup-templating"].tokenizePlaceholders(c,"php")})}(e)}Jr.displayName="python";Jr.aliases=["py"];function Jr(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}ea.displayName="r";ea.aliases=[];function ea(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}na.displayName="ruby";na.aliases=["rb"];function na(e){e.register(Le),function(n){n.languages.ruby=n.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),n.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:n.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete n.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;n.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),n.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete n.languages.ruby.string,n.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),n.languages.rb=n.languages.ruby}(e)}ta.displayName="rust";ta.aliases=[];function ta(e){(function(n){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),n.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},n.languages.rust["closure-params"].inside.rest=n.languages.rust,n.languages.rust.attribute.inside.string=n.languages.rust.string})(e)}ra.displayName="sass";ra.aliases=[];function ra(e){e.register(xn),function(n){n.languages.sass=n.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),n.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete n.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,r=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];n.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:r}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:r,important:n.languages.sass.important}}}),delete n.languages.sass.property,delete n.languages.sass.important,n.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}aa.displayName="scss";aa.aliases=[];function aa(e){e.register(xn),e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}ia.displayName="sql";ia.aliases=[];function ia(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}sa.displayName="swift";sa.aliases=[];function sa(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+")+"|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift["string-literal"].forEach(function(n){n.inside.interpolation.inside=e.languages.swift})}oa.displayName="typescript";oa.aliases=["ts"];function oa(e){e.register(_t),function(n){n.languages.typescript=n.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),n.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete n.languages.typescript.parameter,delete n.languages.typescript["literal-property"];var t=n.languages.extend("typescript",{});delete t["class-name"],n.languages.typescript["class-name"].inside=t,n.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),n.languages.ts=n.languages.typescript}(e)}jt.displayName="basic";jt.aliases=[];function jt(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}la.displayName="vbnet";la.aliases=[];function la(e){e.register(jt),e.languages.vbnet=e.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}class Un{constructor(n,t,r){this.normal=t,this.property=n,r&&(this.space=r)}}Un.prototype.normal={};Un.prototype.property={};Un.prototype.space=void 0;function Ls(e,n){const t={},r={};for(const a of e)Object.assign(t,a.property),Object.assign(r,a.normal);return new Un(t,r,n)}function Pn(e){return e.toLowerCase()}class ve{constructor(n,t){this.attribute=t,this.property=n}}ve.prototype.attribute="";ve.prototype.booleanish=!1;ve.prototype.boolean=!1;ve.prototype.commaOrSpaceSeparated=!1;ve.prototype.commaSeparated=!1;ve.prototype.defined=!1;ve.prototype.mustUseProperty=!1;ve.prototype.number=!1;ve.prototype.overloadedBoolean=!1;ve.prototype.property="";ve.prototype.spaceSeparated=!1;ve.prototype.space=void 0;let Wp=0;const H=sn(),ue=sn(),sr=sn(),I=sn(),ae=sn(),fn=sn(),we=sn();function sn(){return 2**++Wp}const or=Object.freeze(Object.defineProperty({__proto__:null,boolean:H,booleanish:ue,commaOrSpaceSeparated:we,commaSeparated:fn,number:I,overloadedBoolean:sr,spaceSeparated:ae},Symbol.toStringTag,{value:"Module"})),Ht=Object.keys(or);class ua extends ve{constructor(n,t,r,a){let i=-1;if(super(n,t),ii(this,"space",a),typeof r=="number")for(;++i<Ht.length;){const s=Ht[i];ii(this,Ht[i],(r&or[s])===or[s])}}}ua.prototype.defined=!0;function ii(e,n,t){t&&(e[n]=t)}function En(e){const n={},t={};for(const[r,a]of Object.entries(e.properties)){const i=new ua(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(i.mustUseProperty=!0),n[r]=i,t[Pn(r)]=r,t[Pn(i.attribute)]=r}return new Un(n,t,e.space)}const Ms=En({properties:{ariaActiveDescendant:null,ariaAtomic:ue,ariaAutoComplete:null,ariaBusy:ue,ariaChecked:ue,ariaColCount:I,ariaColIndex:I,ariaColSpan:I,ariaControls:ae,ariaCurrent:null,ariaDescribedBy:ae,ariaDetails:null,ariaDisabled:ue,ariaDropEffect:ae,ariaErrorMessage:null,ariaExpanded:ue,ariaFlowTo:ae,ariaGrabbed:ue,ariaHasPopup:null,ariaHidden:ue,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ae,ariaLevel:I,ariaLive:null,ariaModal:ue,ariaMultiLine:ue,ariaMultiSelectable:ue,ariaOrientation:null,ariaOwns:ae,ariaPlaceholder:null,ariaPosInSet:I,ariaPressed:ue,ariaReadOnly:ue,ariaRelevant:null,ariaRequired:ue,ariaRoleDescription:ae,ariaRowCount:I,ariaRowIndex:I,ariaRowSpan:I,ariaSelected:ue,ariaSetSize:I,ariaSort:null,ariaValueMax:I,ariaValueMin:I,ariaValueNow:I,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function Fs(e,n){return n in e?e[n]:n}function Ps(e,n){return Fs(e,n.toLowerCase())}const Yp=En({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:fn,acceptCharset:ae,accessKey:ae,action:null,allow:null,allowFullScreen:H,allowPaymentRequest:H,allowUserMedia:H,alt:null,as:null,async:H,autoCapitalize:null,autoComplete:ae,autoFocus:H,autoPlay:H,blocking:ae,capture:null,charSet:null,checked:H,cite:null,className:ae,cols:I,colSpan:null,content:null,contentEditable:ue,controls:H,controlsList:ae,coords:I|fn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:H,defer:H,dir:null,dirName:null,disabled:H,download:sr,draggable:ue,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:H,formTarget:null,headers:ae,height:I,hidden:sr,high:I,href:null,hrefLang:null,htmlFor:ae,httpEquiv:ae,id:null,imageSizes:null,imageSrcSet:null,inert:H,inputMode:null,integrity:null,is:null,isMap:H,itemId:null,itemProp:ae,itemRef:ae,itemScope:H,itemType:ae,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:H,low:I,manifest:null,max:null,maxLength:I,media:null,method:null,min:null,minLength:I,multiple:H,muted:H,name:null,nonce:null,noModule:H,noValidate:H,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:H,optimum:I,pattern:null,ping:ae,placeholder:null,playsInline:H,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:H,referrerPolicy:null,rel:ae,required:H,reversed:H,rows:I,rowSpan:I,sandbox:ae,scope:null,scoped:H,seamless:H,selected:H,shadowRootClonable:H,shadowRootDelegatesFocus:H,shadowRootMode:null,shape:null,size:I,sizes:null,slot:null,span:I,spellCheck:ue,src:null,srcDoc:null,srcLang:null,srcSet:null,start:I,step:null,style:null,tabIndex:I,target:null,title:null,translate:null,type:null,typeMustMatch:H,useMap:null,value:ue,width:I,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ae,axis:null,background:null,bgColor:null,border:I,borderColor:null,bottomMargin:I,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:H,declare:H,event:null,face:null,frame:null,frameBorder:null,hSpace:I,leftMargin:I,link:null,longDesc:null,lowSrc:null,marginHeight:I,marginWidth:I,noResize:H,noHref:H,noShade:H,noWrap:H,object:null,profile:null,prompt:null,rev:null,rightMargin:I,rules:null,scheme:null,scrolling:ue,standby:null,summary:null,text:null,topMargin:I,valueType:null,version:null,vAlign:null,vLink:null,vSpace:I,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:H,disableRemotePlayback:H,prefix:null,property:null,results:I,security:null,unselectable:null},space:"html",transform:Ps}),Xp=En({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:we,accentHeight:I,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:I,amplitude:I,arabicForm:null,ascent:I,attributeName:null,attributeType:null,azimuth:I,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:I,by:null,calcMode:null,capHeight:I,className:ae,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:I,diffuseConstant:I,direction:null,display:null,dur:null,divisor:I,dominantBaseline:null,download:H,dx:null,dy:null,edgeMode:null,editable:null,elevation:I,enableBackground:null,end:null,event:null,exponent:I,externalResourcesRequired:null,fill:null,fillOpacity:I,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:fn,g2:fn,glyphName:fn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:I,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:I,horizOriginX:I,horizOriginY:I,id:null,ideographic:I,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:I,k:I,k1:I,k2:I,k3:I,k4:I,kernelMatrix:we,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:I,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:I,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:I,overlineThickness:I,paintOrder:null,panose1:null,path:null,pathLength:I,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ae,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:I,pointsAtY:I,pointsAtZ:I,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:we,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:we,rev:we,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:we,requiredFeatures:we,requiredFonts:we,requiredFormats:we,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:I,specularExponent:I,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:I,strikethroughThickness:I,string:null,stroke:null,strokeDashArray:we,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:I,strokeOpacity:I,strokeWidth:null,style:null,surfaceScale:I,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:we,tabIndex:I,tableValues:null,target:null,targetX:I,targetY:I,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:we,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:I,underlineThickness:I,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:I,values:null,vAlphabetic:I,vMathematical:I,vectorEffect:null,vHanging:I,vIdeographic:I,version:null,vertAdvY:I,vertOriginX:I,vertOriginY:I,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:I,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Fs}),$s=En({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),zs=En({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Ps}),Bs=En({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),qp=/[A-Z]/g,si=/-[a-z]/g,Zp=/^data[-\w.:]+$/i;function Qp(e,n){const t=Pn(n);let r=n,a=ve;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&Zp.test(n)){if(n.charAt(4)==="-"){const i=n.slice(5).replace(si,em);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=n.slice(4);if(!si.test(i)){let s=i.replace(qp,Jp);s.charAt(0)!=="-"&&(s="-"+s),n="data"+s}}a=ua}return new a(r,n)}function Jp(e){return"-"+e.toLowerCase()}function em(e){return e.charAt(1).toUpperCase()}const nm=Ls([Ms,Yp,$s,zs,Bs],"html"),tm=Ls([Ms,Xp,$s,zs,Bs],"svg");function oi(e){const n=[],t=String(e||"");let r=t.indexOf(","),a=0,i=!1;for(;!i;){r===-1&&(r=t.length,i=!0);const s=t.slice(a,r).trim();(s||!i)&&n.push(s),a=r+1,r=t.indexOf(",",a)}return n}const li=/[#.]/g;function rm(e,n){const t=e||"",r={};let a=0,i,s;for(;a<t.length;){li.lastIndex=a;const o=li.exec(t),l=t.slice(a,o?o.index:t.length);l&&(i?i==="#"?r.id=l:Array.isArray(r.className)?r.className.push(l):r.className=[l]:s=l,a+=l.length),o&&(i=o[0],a++)}return{type:"element",tagName:s||n||"div",properties:r,children:[]}}function ui(e){const n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function Gs(e,n,t){const r=t?om(t):void 0;function a(i,s,...o){let l;if(i==null){l={type:"root",children:[]};const c=s;o.unshift(c)}else{l=rm(i,n);const c=l.tagName.toLowerCase(),p=r?r.get(c):void 0;if(l.tagName=p||c,am(s))o.unshift(s);else for(const[m,h]of Object.entries(s))im(e,l.properties,m,h)}for(const c of o)lr(l.children,c);return l.type==="element"&&l.tagName==="template"&&(l.content={type:"root",children:l.children},l.children=[]),l}return a}function am(e){if(e===null||typeof e!="object"||Array.isArray(e))return!0;if(typeof e.type!="string")return!1;const n=e,t=Object.keys(e);for(const r of t){const a=n[r];if(a&&typeof a=="object"){if(!Array.isArray(a))return!0;const i=a;for(const s of i)if(typeof s!="number"&&typeof s!="string")return!0}}return!!("children"in e&&Array.isArray(e.children))}function im(e,n,t,r){const a=Qp(e,t);let i;if(r!=null){if(typeof r=="number"){if(Number.isNaN(r))return;i=r}else typeof r=="boolean"?i=r:typeof r=="string"?a.spaceSeparated?i=ui(r):a.commaSeparated?i=oi(r):a.commaOrSpaceSeparated?i=ui(oi(r).join(" ")):i=ci(a,a.property,r):Array.isArray(r)?i=[...r]:i=a.property==="style"?sm(r):String(r);if(Array.isArray(i)){const s=[];for(const o of i)s.push(ci(a,a.property,o));i=s}a.property==="className"&&Array.isArray(n.className)&&(i=n.className.concat(i)),n[a.property]=i}}function lr(e,n){if(n!=null)if(typeof n=="number"||typeof n=="string")e.push({type:"text",value:String(n)});else if(Array.isArray(n))for(const t of n)lr(e,t);else if(typeof n=="object"&&"type"in n)n.type==="root"?lr(e,n.children):e.push(n);else throw new Error("Expected node, nodes, or string, got `"+n+"`")}function ci(e,n,t){if(typeof t=="string"){if(e.number&&t&&!Number.isNaN(Number(t)))return Number(t);if((e.boolean||e.overloadedBoolean)&&(t===""||Pn(t)===Pn(n)))return!0}return t}function sm(e){const n=[];for(const[t,r]of Object.entries(e))n.push([t,r].join(": "));return n.join("; ")}function om(e){const n=new Map;for(const t of e)n.set(t.toLowerCase(),t);return n}const lm=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],um=Gs(nm,"div");Gs(tm,"g",lm);const cm=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],pi={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function Us(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=48&&n<=57}function pm(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=97&&n<=102||n>=65&&n<=70||n>=48&&n<=57}function mm(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=97&&n<=122||n>=65&&n<=90}function mi(e){return mm(e)||Us(e)}const di=document.createElement("i");function hi(e){const n="&"+e+";";di.innerHTML=n;const t=di.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}const dm=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function hm(e,n){const t={},r=typeof t.additional=="string"?t.additional.charCodeAt(0):t.additional,a=[];let i=0,s=-1,o="",l,c;t.position&&("start"in t.position||"indent"in t.position?(c=t.position.indent,l=t.position.start):l=t.position);let p=(l?l.line:0)||1,m=(l?l.column:0)||1,h=d(),f;for(i--;++i<=e.length;)if(f===10&&(m=(c?c[s]:0)||1),f=e.charCodeAt(i),f===38){const N=e.charCodeAt(i+1);if(N===9||N===10||N===12||N===32||N===38||N===60||Number.isNaN(N)||r&&N===r){o+=String.fromCharCode(f),m++;continue}const y=i+1;let w=y,v=y,E;if(N===35){v=++w;const _=e.charCodeAt(v);_===88||_===120?(E="hexadecimal",v=++w):E="decimal"}else E="named";let S="",C="",D="";const O=E==="named"?mi:E==="decimal"?Us:pm;for(v--;++v<=e.length;){const _=e.charCodeAt(v);if(!O(_))break;D+=String.fromCharCode(_),E==="named"&&cm.includes(D)&&(S=D,C=hi(D))}let k=e.charCodeAt(v)===59;if(k){v++;const _=E==="named"?hi(D):!1;_&&(S=D,C=_)}let j=1+v-y,M="";if(!(!k&&t.nonTerminated===!1))if(!D)E!=="named"&&g(4,j);else if(E==="named"){if(k&&!C)g(5,1);else if(S!==D&&(v=w+S.length,j=1+v-w,k=!1),!k){const _=S?1:3;if(t.attribute){const $=e.charCodeAt(v);$===61?(g(_,j),C=""):mi($)?C="":g(_,j)}else g(_,j)}M=C}else{k||g(2,j);let _=Number.parseInt(D,E==="hexadecimal"?16:10);if(fm(_))g(7,j),M="�";else if(_ in pi)g(6,j),M=pi[_];else{let $="";gm(_)&&g(6,j),_>65535&&(_-=65536,$+=String.fromCharCode(_>>>10|55296),_=56320|_&1023),M=$+String.fromCharCode(_)}}if(M){b(),h=d(),i=v-1,m+=v-y+1,a.push(M);const _=d();_.offset++,t.reference&&t.reference.call(t.referenceContext||void 0,M,{start:h,end:_},e.slice(y-1,v)),h=_}else D=e.slice(y-1,v),o+=D,m+=D.length,i=v-1}else f===10&&(p++,s++,m=0),Number.isNaN(f)?b():(o+=String.fromCharCode(f),m++);return a.join("");function d(){return{line:p,column:m,offset:i+((l?l.offset:0)||0)}}function g(N,y){let w;t.warning&&(w=d(),w.column+=y,w.offset+=y,t.warning.call(t.warningContext||void 0,dm[N],w,N))}function b(){o&&(a.push(o),t.text&&t.text.call(t.textContext||void 0,o,{start:h,end:d()}),o="")}}function fm(e){return e>=55296&&e<=57343||e>1114111}function gm(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}var bm=0,Jn={},me={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++bm}),e.__id},clone:function e(n,t){t=t||{};var r,a;switch(me.util.type(n)){case"Object":if(a=me.util.objId(n),t[a])return t[a];r={},t[a]=r;for(var i in n)n.hasOwnProperty(i)&&(r[i]=e(n[i],t));return r;case"Array":return a=me.util.objId(n),t[a]?t[a]:(r=[],t[a]=r,n.forEach(function(s,o){r[o]=e(s,t)}),r);default:return n}}},languages:{plain:Jn,plaintext:Jn,text:Jn,txt:Jn,extend:function(e,n){var t=me.util.clone(me.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){r=r||me.languages;var a=r[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==n)for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);t.hasOwnProperty(s)||(i[s]=a[s])}var l=r[e];return r[e]=i,me.languages.DFS(me.languages,function(c,p){p===l&&c!=e&&(this[c]=i)}),i},DFS:function e(n,t,r,a){a=a||{};var i=me.util.objId;for(var s in n)if(n.hasOwnProperty(s)){t.call(n,s,n[s],r||s);var o=n[s],l=me.util.type(o);l==="Object"&&!a[i(o)]?(a[i(o)]=!0,e(o,t,null,a)):l==="Array"&&!a[i(o)]&&(a[i(o)]=!0,e(o,t,s,a))}}},plugins:{},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(me.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=me.tokenize(r.code,r.grammar),me.hooks.run("after-tokenize",r),_n.stringify(me.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new vm;return rt(a,a.head,e),Hs(e,a,n,a.head,0),wm(a)},hooks:{all:{},add:function(e,n){var t=me.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=me.hooks.all[e];if(!(!t||!t.length))for(var r=0,a;a=t[r++];)a(n)}},Token:_n};function _n(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=(r||"").length|0}function fi(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function Hs(e,n,t,r,a,i){for(var s in t)if(!(!t.hasOwnProperty(s)||!t[s])){var o=t[s];o=Array.isArray(o)?o:[o];for(var l=0;l<o.length;++l){if(i&&i.cause==s+","+l)return;var c=o[l],p=c.inside,m=!!c.lookbehind,h=!!c.greedy,f=c.alias;if(h&&!c.pattern.global){var d=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,d+"g")}for(var g=c.pattern||c,b=r.next,N=a;b!==n.tail&&!(i&&N>=i.reach);N+=b.value.length,b=b.next){var y=b.value;if(n.length>e.length)return;if(!(y instanceof _n)){var w=1,v;if(h){if(v=fi(g,N,e,m),!v||v.index>=e.length)break;var D=v.index,E=v.index+v[0].length,S=N;for(S+=b.value.length;D>=S;)b=b.next,S+=b.value.length;if(S-=b.value.length,N=S,b.value instanceof _n)continue;for(var C=b;C!==n.tail&&(S<E||typeof C.value=="string");C=C.next)w++,S+=C.value.length;w--,y=e.slice(N,S),v.index-=N}else if(v=fi(g,0,y,m),!v)continue;var D=v.index,O=v[0],k=y.slice(0,D),j=y.slice(D+O.length),M=N+y.length;i&&M>i.reach&&(i.reach=M);var _=b.prev;k&&(_=rt(n,_,k),N+=k.length),Nm(n,_,w);var $=new _n(s,p?me.tokenize(O,p):O,f,O);if(b=rt(n,_,$),j&&rt(n,b,j),w>1){var K={cause:s+","+l,reach:M};Hs(e,n,t,b.prev,N,K),i&&K.reach>i.reach&&(i.reach=K.reach)}}}}}}function vm(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function rt(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function Nm(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}function wm(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}const Ks=me;function Ws(){}Ws.prototype=Ks;const P=new Ws;P.highlight=ym;P.register=xm;P.alias=Em;P.registered=Sm;P.listLanguages=Dm;P.util.encode=Cm;P.Token.stringify=ur;function ym(e,n){if(typeof e!="string")throw new TypeError("Expected `string` for `value`, got `"+e+"`");let t,r;if(n&&typeof n=="object")t=n;else{if(r=n,typeof r!="string")throw new TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(P.languages,r))t=P.languages[r];else throw new Error("Unknown language: `"+r+"` is not registered")}return{type:"root",children:Ks.highlight.call(P,e,t,r)}}function xm(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(P.languages,e.displayName)||e(P)}function Em(e,n){const t=P.languages;let r={};typeof e=="string"?n&&(r[e]=n):r=e;let a;for(a in r)if(Object.hasOwn(r,a)){const i=r[a],s=typeof i=="string"?[i]:i;let o=-1;for(;++o<s.length;)t[s[o]]=t[a]}}function Sm(e){if(typeof e!="string")throw new TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(P.languages,e)}function Dm(){const e=P.languages,n=[];let t;for(t in e)Object.hasOwn(e,t)&&typeof e[t]=="object"&&n.push(t);return n}function ur(e,n){if(typeof e=="string")return{type:"text",value:e};if(Array.isArray(e)){const r=[];let a=-1;for(;++a<e.length;)e[a]!==null&&e[a]!==void 0&&e[a]!==""&&r.push(ur(e[a],n));return r}const t={attributes:{},classes:["token",e.type],content:ur(e.content,n),language:n,tag:"span",type:e.type};return e.alias&&t.classes.push(...typeof e.alias=="string"?[e.alias]:e.alias),P.hooks.run("wrap",t),um(t.tag+"."+t.classes.join("."),Tm(t.attributes),t.content)}function Cm(e){return e}function Tm(e){let n;for(n in e)Object.hasOwn(e,n)&&(e[n]=hm(e[n]));return e}P.register(Le);P.register(Bn);P.register(It);P.register(Vr);P.register(Lr);P.register(Mr);P.register(Gn);P.register(xn);P.register(Fr);P.register(Pr);P.register($r);P.register(zr);P.register(Br);P.register(_t);P.register(Gr);P.register(Ur);P.register(Hr);P.register(Kr);P.register(Wr);P.register(Yr);P.register(Xr);P.register(qr);P.register(Zr);P.register(Rt);P.register(Qr);P.register(Jr);P.register(ea);P.register(na);P.register(ta);P.register(ra);P.register(aa);P.register(ia);P.register(sa);P.register(oa);P.register(jt);P.register(la);async function km(e){const n=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!n.ok)throw new Error("Failed to fetch agents");return n.json()}function Am({commentCount:e,hasUnresolved:n,onClick:t,className:r}){const a=`${e} comment${e>1?"s":""}${n?", has unresolved":""}`;return u.jsxDEV("button",{onClick:t,className:X("flex items-center justify-center h-5 w-5 rounded-full text-xs",n?"bg-amber-100 text-amber-800 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400",r),title:`${e} comment${e>1?"s":""}`,"aria-label":a,children:u.jsxDEV(Ae,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:123,columnNumber:5},this)}function Im({lineStart:e,lineEnd:n,side:t,projectId:r,onSubmit:a,onCancel:i,isSubmitting:s=!1,className:o}){const[l,c]=x.useState(""),[p,m]=x.useState("comment"),[h,f]=x.useState(new Set),[d,g]=x.useState(""),[b,N]=x.useState(!1),y=x.useRef(null),{data:w,isLoading:v}=hr({queryKey:["agents",r],queryFn:()=>km(r),enabled:!!r}),E=(w==null?void 0:w.items)??[],{showAutocomplete:S,mentionQuery:C,selectedIndex:D,handleInputChange:O,handleKeyDown:k,insertMention:j}=wi(y,E,T=>{f(G=>new Set([...G,T.id]))}),M=x.useMemo(()=>E.filter(T=>T.name.toLowerCase().includes(C.toLowerCase())),[E,C]),_=T=>{const G=j(T,l);c(G),f(Z=>new Set([...Z,T.id]))},$=x.useMemo(()=>{if(!d.trim())return E;const T=d.toLowerCase();return E.filter(G=>G.name.toLowerCase().includes(T))},[E,d]),K=6,W=x.useMemo(()=>{if(b)return $;const T=$.slice(0,K),G=$.filter(Z=>h.has(Z.id)&&!T.some(ce=>ce.id===Z.id));return[...T,...G]},[$,b,h]),A=$.length>K,R=e===n?`Line ${e}`:`Lines ${e}-${n}`,U=async()=>{if(!l.trim())return;const T=yi(l,E),G=[...new Set([...h,...T])];await a(l.trim(),p,G)};return u.jsxDEV("div",{className:X("new-comment-form border-l-2 border-green-400 bg-green-50/50 dark:bg-green-950/30 px-3 py-2 my-1",o),"data-testid":"new-comment-form",children:[u.jsxDEV("div",{className:"flex items-center justify-between mb-2",children:[u.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground",children:[R," (",t==="new"?"new":"old",")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:559,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0",onClick:i,children:u.jsxDEV(ft,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:563,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:562,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:558,columnNumber:7},this),u.jsxDEV("div",{className:"relative mb-2",children:[u.jsxDEV(at,{ref:y,placeholder:"Write a comment... (type @ to mention agents)",value:l,onChange:T=>{c(T.target.value),O(T.target.value,T.target.selectionStart)},onKeyDown:T=>{k(T,l,c)},className:"min-h-[80px] text-sm bg-white dark:bg-background",disabled:s,autoFocus:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:569,columnNumber:9},this),S&&M.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:M.map((T,G)=>u.jsxDEV("button",{type:"button",className:X("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",G===D&&"bg-accent"),onClick:()=>_(T),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:597,columnNumber:17},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:588,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:586,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:568,columnNumber:7},this),E.length>0&&u.jsxDEV("div",{className:"mb-2 space-y-2",role:"group","aria-label":"Assign to agents",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV("span",{className:"text-xs text-muted-foreground mr-1",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:610,columnNumber:15},this),"Assign to:"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:609,columnNumber:13},this),u.jsxDEV(Nr,{type:"multiple",value:Array.from(h),onValueChange:T=>f(new Set(T)),className:"flex-wrap !justify-start gap-1",children:W.map(T=>u.jsxDEV(wr,{value:T.id,size:"sm",variant:"outline",className:"h-6 text-xs gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${T.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:628,columnNumber:19},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:620,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:613,columnNumber:13},this),W.length===0&&d.trim()&&u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:634,columnNumber:15},this),A&&!b&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>N(!0),children:["+",$.length-K," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:637,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:608,columnNumber:11},this),b&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(pr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:653,columnNumber:19},this),u.jsxDEV(mr,{value:d,onChange:T=>g(T.target.value),placeholder:"Search agents...",className:"h-7 pl-7 text-xs"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:654,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:652,columnNumber:17},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{N(!1),g("")},children:[u.jsxDEV(dt,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:670,columnNumber:19},this),"Collapse"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:661,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:651,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:650,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:607,columnNumber:9},this),E.length>0&&h.size===0&&!v&&u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"No agents selected — no notifications will be sent"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:681,columnNumber:9},this),v&&u.jsxDEV("div",{className:"mb-2 flex items-center gap-1",children:u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:690,columnNumber:13},this),"Loading agents..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:689,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:688,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("select",{value:p,onChange:T=>m(T.target.value),className:"text-xs border rounded px-2 py-1 bg-white dark:bg-background",disabled:s,children:[u.jsxDEV("option",{value:"comment",children:"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:703,columnNumber:11},this),u.jsxDEV("option",{value:"suggestion",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:704,columnNumber:11},this),u.jsxDEV("option",{value:"issue",children:"Issue"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:705,columnNumber:11},this),u.jsxDEV("option",{value:"approval",children:"Approval"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:706,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:697,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 min-w-0"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:709,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:i,disabled:s,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:711,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!l.trim()||s,children:s?"Posting...":"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:714,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:696,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:551,columnNumber:5},this)}function _m(e){const n=[],t=/```suggestion\s*\n([\s\S]*?)```/g;let r=0,a;for(;(a=t.exec(e))!==null;){if(a.index>r){const i=e.slice(r,a.index).trim();i&&n.push({type:"text",content:i})}n.push({type:"suggestion",content:a[1].trimEnd()}),r=a.index+a[0].length}if(r<e.length){const i=e.slice(r).trim();i&&n.push({type:"text",content:i})}return n.length===0&&e.trim()&&n.push({type:"text",content:e.trim()}),n}function Rm(e){return/```suggestion\s*\n[\s\S]*?```/.test(e)}function jm({suggestedCode:e,originalCode:n,filePath:t,lineStart:r,lineEnd:a,onApply:i,isApplying:s=!1,isApplied:o=!1,showApplyButton:l=!0,className:c}){const[p,m]=x.useState(!1),h=async()=>{await navigator.clipboard.writeText(e),m(!0),setTimeout(()=>m(!1),2e3)},f=r!=null?a!=null&&a!==r?`L${r}-${a}`:`L${r}`:null;return u.jsxDEV("div",{className:X("rounded-md border bg-muted/30 overflow-hidden",c),"data-testid":"suggestion-block",children:[u.jsxDEV("div",{className:"flex items-center justify-between px-3 py-1.5 bg-blue-50 dark:bg-blue-950/30 border-b",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:118,columnNumber:11},this),t&&f&&u.jsxDEV("span",{className:"text-xs text-muted-foreground font-mono",children:[t,":",f]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:122,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:117,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1",children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:h,title:"Copy suggestion",children:p?u.jsxDEV(Rn,{className:"h-3.5 w-3.5 text-green-600"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:136,columnNumber:15},this):u.jsxDEV(ro,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:138,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:128,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:116,columnNumber:7},this),u.jsxDEV("div",{className:"text-sm font-mono",children:[n&&u.jsxDEV("div",{className:"bg-red-50 dark:bg-red-950/30 border-l-4 border-red-300 dark:border-red-700",children:n.split(`
67
+ |(?![\\s\\S])))+`,"m"),alias:i,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(r)[0]}}}}),Object.defineProperty(n.languages.diff,"PREFIXES",{value:t})})(e)}Pr.displayName="go";Pr.aliases=[];function Pr(e){e.register(Le),e.languages.go=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),e.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete e.languages.go["class-name"]}$r.displayName="ini";$r.aliases=[];function $r(e){e.languages.ini={comment:{pattern:/(^[ \f\t\v]*)[#;][^\n\r]*/m,lookbehind:!0},section:{pattern:/(^[ \f\t\v]*)\[[^\n\r\]]*\]?/m,lookbehind:!0,inside:{"section-name":{pattern:/(^\[[ \f\t\v]*)[^ \f\t\v\]]+(?:[ \f\t\v]+[^ \f\t\v\]]+)*/,lookbehind:!0,alias:"selector"},punctuation:/\[|\]/}},key:{pattern:/(^[ \f\t\v]*)[^ \f\n\r\t\v=]+(?:[ \f\t\v]+[^ \f\n\r\t\v=]+)*(?=[ \f\t\v]*=)/m,lookbehind:!0,alias:"attr-name"},value:{pattern:/(=[ \f\t\v]*)[^ \f\n\r\t\v]+(?:[ \f\t\v]+[^ \f\n\r\t\v]+)*/,lookbehind:!0,alias:"attr-value",inside:{"inner-value":{pattern:/^("|').+(?=\1$)/,lookbehind:!0}}},punctuation:/=/}}zr.displayName="java";zr.aliases=[];function zr(e){e.register(Le),function(n){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,r=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,a={pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};n.languages.java=n.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[a,{pattern:RegExp(/(^|[^\w.])/.source+r+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:a.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+r+/[A-Z]\w*\b/.source),lookbehind:!0,inside:a.inside}],keyword:t,function:[n.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),n.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),n.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+r+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:a.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+r+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:a.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(e)}Br.displayName="regex";Br.aliases=[];function Br(e){(function(n){var t={pattern:/\\[\\(){}[\]^$+*?|.]/,alias:"escape"},r=/\\(?:x[\da-fA-F]{2}|u[\da-fA-F]{4}|u\{[\da-fA-F]+\}|0[0-7]{0,2}|[123][0-7]{2}|c[a-zA-Z]|.)/,a={pattern:/\.|\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},i={pattern:/\\[wsd]|\\p\{[^{}]+\}/i,alias:"class-name"},s="(?:[^\\\\-]|"+r.source+")",o=RegExp(s+"-"+s),l={pattern:/(<|')[^<>']+(?=[>']$)/,lookbehind:!0,alias:"variable"};n.languages.regex={"char-class":{pattern:/((?:^|[^\\])(?:\\\\)*)\[(?:[^\\\]]|\\[\s\S])*\]/,lookbehind:!0,inside:{"char-class-negation":{pattern:/(^\[)\^/,lookbehind:!0,alias:"operator"},"char-class-punctuation":{pattern:/^\[|\]$/,alias:"punctuation"},range:{pattern:o,inside:{escape:r,"range-punctuation":{pattern:/-/,alias:"operator"}}},"special-escape":t,"char-set":i,escape:r}},"special-escape":t,"char-set":a,backreference:[{pattern:/\\(?![123][0-7]{2})[1-9]/,alias:"keyword"},{pattern:/\\k<[^<>']+>/,alias:"keyword",inside:{"group-name":l}}],anchor:{pattern:/[$^]|\\[ABbGZz]/,alias:"function"},escape:r,group:[{pattern:/\((?:\?(?:<[^<>']+>|'[^<>']+'|[>:]|<?[=!]|[idmnsuxU]+(?:-[idmnsuxU]+)?:?))?/,alias:"punctuation",inside:{"group-name":l}},{pattern:/\)/,alias:"punctuation"}],quantifier:{pattern:/(?:[+*?]|\{\d+(?:,\d*)?\})[?+]?/,alias:"number"},alternation:{pattern:/\|/,alias:"keyword"}}})(e)}_t.displayName="javascript";_t.aliases=["js"];function _t(e){e.register(Le),e.languages.javascript=e.languages.extend("clike",{"class-name":[e.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),e.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,e.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:e.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:e.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:e.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:e.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:e.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),e.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:e.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),e.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),e.languages.markup&&(e.languages.markup.tag.addInlined("script","javascript"),e.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),e.languages.js=e.languages.javascript}Gr.displayName="json";Gr.aliases=["webmanifest"];function Gr(e){e.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},e.languages.webmanifest=e.languages.json}Ur.displayName="kotlin";Ur.aliases=["kt","kts"];function Ur(e){e.register(Le),function(n){n.languages.kotlin=n.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\b\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete n.languages.kotlin["class-name"];var t={"interpolation-punctuation":{pattern:/^\$\{?|\}$/,alias:"punctuation"},expression:{pattern:/[\s\S]+/,inside:n.languages.kotlin}};n.languages.insertBefore("kotlin","string",{"string-literal":[{pattern:/"""(?:[^$]|\$(?:(?!\{)|\{[^{}]*\}))*?"""/,alias:"multiline",inside:{interpolation:{pattern:/\$(?:[a-z_]\w*|\{[^{}]*\})/i,inside:t},string:/[\s\S]+/}},{pattern:/"(?:[^"\\\r\n$]|\\.|\$(?:(?!\{)|\{[^{}]*\}))*"/,alias:"singleline",inside:{interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$(?:[a-z_]\w*|\{[^{}]*\})/i,lookbehind:!0,inside:t},string:/[\s\S]+/}}],char:{pattern:/'(?:[^'\\\r\n]|\\(?:.|u[a-fA-F0-9]{0,4}))'/,greedy:!0}}),delete n.languages.kotlin.string,n.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),n.languages.insertBefore("kotlin","function",{label:{pattern:/\b\w+@|@\w+\b/,alias:"symbol"}}),n.languages.kt=n.languages.kotlin,n.languages.kts=n.languages.kotlin}(e)}Hr.displayName="less";Hr.aliases=[];function Hr(e){e.register(yn),e.languages.less=e.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),e.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}})}Kr.displayName="lua";Kr.aliases=[];function Kr(e){e.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}}Wr.displayName="makefile";Wr.aliases=[];function Wr(e){e.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}}Yr.displayName="yaml";Yr.aliases=["yml"];function Yr(e){(function(n){var t=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,a="(?:"+r.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+r.source+")?)",i=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),s=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function o(l,c){c=(c||"").replace(/m/g,"")+"m";var p=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<value>>/g,function(){return l});return RegExp(p,c)}n.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return a})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return a}).replace(/<<key>>/g,function(){return"(?:"+i+"|"+s+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:o(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:o(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:o(s),lookbehind:!0,greedy:!0},number:{pattern:o(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:r,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},n.languages.yml=n.languages.yaml})(e)}Xr.displayName="markdown";Xr.aliases=["md"];function Xr(e){e.register(Gn),function(n){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(o){return o=o.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+o+")")}var a=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,i=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return a}),s=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;n.languages.markdown=n.languages.extend("markup",{}),n.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:n.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+i+s+"(?:"+i+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+i+s+")(?:"+i+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(a),inside:n.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+i+")"+s+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+i+"$"),inside:{"table-header":{pattern:RegExp(a),alias:"important",inside:n.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(o){["url","bold","italic","strike","code-snippet"].forEach(function(l){o!==l&&(n.languages.markdown[o].inside.content.inside[l]=n.languages.markdown[l])})}),n.hooks.add("after-tokenize",function(o){if(o.language!=="markdown"&&o.language!=="md")return;function l(c){if(!(!c||typeof c=="string"))for(var p=0,m=c.length;p<m;p++){var h=c[p];if(h.type!=="code"){l(h.content);continue}var f=h.content[1],d=h.content[3];if(f&&d&&f.type==="code-language"&&d.type==="code-block"&&typeof f.content=="string"){var g=f.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");g=(/[a-z][\w-]*/i.exec(g)||[""])[0].toLowerCase();var b="language-"+g;d.alias?typeof d.alias=="string"?d.alias=[d.alias,b]:d.alias.push(b):d.alias=[b]}}}l(o.tokens)}),n.hooks.add("wrap",function(o){if(o.type==="code-block"){for(var l="",c=0,p=o.classes.length;c<p;c++){var m=o.classes[c],h=/language-(.+)/.exec(m);if(h){l=h[1];break}}var f=n.languages[l];if(f)o.content=n.highlight(o.content.value,f,l);else if(l&&l!=="none"&&n.plugins.autoloader){var d="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);o.attributes.id=d,n.plugins.autoloader.loadLanguages(l,function(){var g=document.getElementById(d);g&&(g.innerHTML=n.highlight(g.textContent,n.languages[l],l))})}}}),RegExp(n.languages.markup.tag.pattern.source,"gi"),n.languages.md=n.languages.markdown}(e)}qr.displayName="objectivec";qr.aliases=["objc"];function qr(e){e.register(Bn),e.languages.objectivec=e.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete e.languages.objectivec["class-name"],e.languages.objc=e.languages.objectivec}Zr.displayName="perl";Zr.aliases=[];function Zr(e){(function(n){var t=/(?:\((?:[^()\\]|\\[\s\S])*\)|\{(?:[^{}\\]|\\[\s\S])*\}|\[(?:[^[\]\\]|\\[\s\S])*\]|<(?:[^<>\\]|\\[\s\S])*>)/.source;n.languages.perl={comment:[{pattern:/(^\s*)=\w[\s\S]*?=cut.*/m,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\$])#.*/,lookbehind:!0,greedy:!0}],string:[{pattern:RegExp(/\b(?:q|qq|qw|qx)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"),greedy:!0},{pattern:/("|`)(?:(?!\1)[^\\]|\\[\s\S])*\1/,greedy:!0},{pattern:/'(?:[^'\\\r\n]|\\.)*'/,greedy:!0}],regex:[{pattern:RegExp(/\b(?:m|qr)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/([a-zA-Z0-9])(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,t].join("|")+")"+/[msixpodualngc]*/.source),greedy:!0},{pattern:RegExp(/(^|[^-])\b(?:s|tr|y)(?![a-zA-Z0-9])\s*/.source+"(?:"+[/([^a-zA-Z0-9\s{(\[<])(?:(?!\2)[^\\]|\\[\s\S])*\2(?:(?!\2)[^\\]|\\[\s\S])*\2/.source,/([a-zA-Z0-9])(?:(?!\3)[^\\]|\\[\s\S])*\3(?:(?!\3)[^\\]|\\[\s\S])*\3/.source,t+/\s*/.source+t].join("|")+")"+/[msixpodualngcer]*/.source),lookbehind:!0,greedy:!0},{pattern:/\/(?:[^\/\\\r\n]|\\.)*\/[msixpodualngc]*(?=\s*(?:$|[\r\n,.;})&|\-+*~<>!?^]|(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|x|xor)\b))/,greedy:!0}],variable:[/[&*$@%]\{\^[A-Z]+\}/,/[&*$@%]\^[A-Z_]/,/[&*$@%]#?(?=\{)/,/[&*$@%]#?(?:(?:::)*'?(?!\d)[\w$]+(?![\w$]))+(?:::)*/,/[&*$@%]\d+/,/(?!%=)[$@%][!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~]/],filehandle:{pattern:/<(?![<=])\S*?>|\b_\b/,alias:"symbol"},"v-string":{pattern:/v\d+(?:\.\d+)*|\d+(?:\.\d+){2,}/,alias:"string"},function:{pattern:/(\bsub[ \t]+)\w+/,lookbehind:!0},keyword:/\b(?:any|break|continue|default|delete|die|do|else|elsif|eval|for|foreach|given|goto|if|last|local|my|next|our|package|print|redo|require|return|say|state|sub|switch|undef|unless|until|use|when|while)\b/,number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)\b/,operator:/-[rwxoRWXOezsfdlpSbctugkTBMAC]\b|\+[+=]?|-[-=>]?|\*\*?=?|\/\/?=?|=[=~>]?|~[~=]?|\|\|?=?|&&?=?|<(?:=>?|<=?)?|>>?=?|![~=]?|[%^]=?|\.(?:=|\.\.?)?|[\\?]|\bx(?:=|\b)|\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)\b/,punctuation:/[{}[\];(),:]/}})(e)}Rt.displayName="markup-templating";Rt.aliases=[];function Rt(e){e.register(Gn),function(n){function t(r,a){return"___"+r.toUpperCase()+a+"___"}Object.defineProperties(n.languages["markup-templating"]={},{buildPlaceholders:{value:function(r,a,i,s){if(r.language===a){var o=r.tokenStack=[];r.code=r.code.replace(i,function(l){if(typeof s=="function"&&!s(l))return l;for(var c=o.length,p;r.code.indexOf(p=t(a,c))!==-1;)++c;return o[c]=l,p}),r.grammar=n.languages.markup}}},tokenizePlaceholders:{value:function(r,a){if(r.language!==a||!r.tokenStack)return;r.grammar=n.languages[a];var i=0,s=Object.keys(r.tokenStack);function o(l){for(var c=0;c<l.length&&!(i>=s.length);c++){var p=l[c];if(typeof p=="string"||p.content&&typeof p.content=="string"){var m=s[i],h=r.tokenStack[m],f=typeof p=="string"?p:p.content,d=t(a,m),g=f.indexOf(d);if(g>-1){++i;var b=f.substring(0,g),N=new n.Token(a,n.tokenize(h,r.grammar),"language-"+a,h),x=f.substring(g+d.length),w=[];b&&w.push.apply(w,o([b])),w.push(N),x&&w.push.apply(w,o([x])),typeof p=="string"?l.splice.apply(l,[c,1].concat(w)):p.content=w}}else p.content&&o(p.content)}return l}o(r.tokens)}}})}(e)}Qr.displayName="php";Qr.aliases=[];function Qr(e){e.register(Rt),function(n){var t=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,r=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],a=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,i=/<?=>|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;n.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:t,variable:/\$+(?:\w+\b|(?=\{))/,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},"function-definition":{pattern:/(\bfunction\s+)[a-z_]\w*(?=\s*\()/i,lookbehind:!0,alias:"function"},keyword:[{pattern:/(\(\s*)\b(?:array|bool|boolean|float|int|integer|object|string)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|object|self|static|string)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:array(?!\s*\()|bool|callable|(?:false|null)(?=\s*\|)|float|int|iterable|mixed|never|object|self|static|string|void)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:array(?!\s*\()|bool|float|int|iterable|mixed|object|string|void)\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:false|null)\b|\b(?:false|null)(?=\s*\|)/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(\byield\s+)from\b/i,lookbehind:!0},/\bclass\b/i,{pattern:/((?:^|[^\s>:]|(?:^|[^-])>|(?:^|[^:]):)\s*)\b(?:abstract|and|array|as|break|callable|case|catch|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|fn|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|match|namespace|never|new|or|parent|print|private|protected|public|readonly|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield|__halt_compiler)\b/i,lookbehind:!0}],"argument-name":{pattern:/([(,]\s*)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,function:{pattern:/(^|[^\\\w])\\?[a-z_](?:[\w\\]*\w)?(?=\s*\()/i,lookbehind:!0,inside:{punctuation:/\\/}},property:{pattern:/(->\s*)\w+/,lookbehind:!0},number:a,operator:i,punctuation:s};var o={pattern:/\{\$(?:\{(?:\{[^{}]+\}|[^{}]+)\}|[^{}])+\}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)?)/,lookbehind:!0,inside:n.languages.php},l=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:o}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:o}}];n.languages.insertBefore("php","variable",{string:l,attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=\]$)/,lookbehind:!0,inside:{comment:t,string:l,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:r,number:a,operator:i,punctuation:s}},delimiter:{pattern:/^#\[|\]$/,alias:"punctuation"}}}}),n.hooks.add("before-tokenize",function(c){if(/<\?/.test(c.code)){var p=/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/g;n.languages["markup-templating"].buildPlaceholders(c,"php",p)}}),n.hooks.add("after-tokenize",function(c){n.languages["markup-templating"].tokenizePlaceholders(c,"php")})}(e)}Jr.displayName="python";Jr.aliases=["py"];function Jr(e){e.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},e.languages.python["string-interpolation"].inside.interpolation.inside.rest=e.languages.python,e.languages.py=e.languages.python}ea.displayName="r";ea.aliases=[];function ea(e){e.languages.r={comment:/#.*/,string:{pattern:/(['"])(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},"percent-operator":{pattern:/%[^%\s]*%/,alias:"operator"},boolean:/\b(?:FALSE|TRUE)\b/,ellipsis:/\.\.(?:\.|\d+)/,number:[/\b(?:Inf|NaN)\b/,/(?:\b0x[\dA-Fa-f]+(?:\.\d*)?|\b\d+(?:\.\d*)?|\B\.\d+)(?:[EePp][+-]?\d+)?[iL]?/],keyword:/\b(?:NA|NA_character_|NA_complex_|NA_integer_|NA_real_|NULL|break|else|for|function|if|in|next|repeat|while)\b/,operator:/->?>?|<(?:=|<?-)?|[>=!]=?|::?|&&?|\|\|?|[+*\/^$@~]/,punctuation:/[(){}\[\],;]/}}na.displayName="ruby";na.aliases=["rb"];function na(e){e.register(Le),function(n){n.languages.ruby=n.languages.extend("clike",{comment:{pattern:/#.*|^=begin\s[\s\S]*?^=end/m,greedy:!0},"class-name":{pattern:/(\b(?:class|module)\s+|\bcatch\s+\()[\w.\\]+|\b[A-Z_]\w*(?=\s*\.\s*new\b)/,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:BEGIN|END|alias|and|begin|break|case|class|def|define_method|defined|do|each|else|elsif|end|ensure|extend|for|if|in|include|module|new|next|nil|not|or|prepend|private|protected|public|raise|redo|require|rescue|retry|return|self|super|then|throw|undef|unless|until|when|while|yield)\b/,operator:/\.{2,3}|&\.|===|<?=>|[!=]?~|(?:&&|\|\||<<|>>|\*\*|[+\-*/%<>!^&|=])=?|[?:]/,punctuation:/[(){}[\].,;]/}),n.languages.insertBefore("ruby","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}});var t={pattern:/((?:^|[^\\])(?:\\{2})*)#\{(?:[^{}]|\{[^{}]*\})*\}/,lookbehind:!0,inside:{content:{pattern:/^(#\{)[\s\S]+(?=\}$)/,lookbehind:!0,inside:n.languages.ruby},delimiter:{pattern:/^#\{|\}$/,alias:"punctuation"}}};delete n.languages.ruby.function;var r="(?:"+[/([^a-zA-Z0-9\s{(\[<=])(?:(?!\1)[^\\]|\\[\s\S])*\1/.source,/\((?:[^()\\]|\\[\s\S]|\((?:[^()\\]|\\[\s\S])*\))*\)/.source,/\{(?:[^{}\\]|\\[\s\S]|\{(?:[^{}\\]|\\[\s\S])*\})*\}/.source,/\[(?:[^\[\]\\]|\\[\s\S]|\[(?:[^\[\]\\]|\\[\s\S])*\])*\]/.source,/<(?:[^<>\\]|\\[\s\S]|<(?:[^<>\\]|\\[\s\S])*>)*>/.source].join("|")+")",a=/(?:"(?:\\.|[^"\\\r\n])*"|(?:\b[a-zA-Z_]\w*|[^\s\0-\x7F]+)[?!]?|\$.)/.source;n.languages.insertBefore("ruby","keyword",{"regex-literal":[{pattern:RegExp(/%r/.source+r+/[egimnosux]{0,6}/.source),greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[egimnosux]{0,6}(?=\s*(?:$|[\r\n,.;})#]))/,lookbehind:!0,greedy:!0,inside:{interpolation:t,regex:/[\s\S]+/}}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:[{pattern:RegExp(/(^|[^:]):/.source+a),lookbehind:!0,greedy:!0},{pattern:RegExp(/([\r\n{(,][ \t]*)/.source+a+/(?=:(?!:))/.source),lookbehind:!0,greedy:!0}],"method-definition":{pattern:/(\bdef\s+)\w+(?:\s*\.\s*\w+)?/,lookbehind:!0,inside:{function:/\b\w+$/,keyword:/^self\b/,"class-name":/^\w+/,punctuation:/\./}}}),n.languages.insertBefore("ruby","string",{"string-literal":[{pattern:RegExp(/%[qQiIwWs]?/.source+r),greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?([a-z_]\w*)[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?[a-z_]\w*|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?/}},interpolation:t,string:/[\s\S]+/}},{pattern:/<<[-~]?'([a-z_]\w*)'[\r\n](?:.*[\r\n])*?[\t ]*\1/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<[-~]?'[a-z_]\w*'|\b[a-z_]\w*$/i,inside:{symbol:/\b\w+/,punctuation:/^<<[-~]?'|'$/}},string:/[\s\S]+/}}],"command-literal":[{pattern:RegExp(/%x/.source+r),greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}},{pattern:/`(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|[^\\`#\r\n])*`/,greedy:!0,inside:{interpolation:t,command:{pattern:/[\s\S]+/,alias:"string"}}}]}),delete n.languages.ruby.string,n.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Fixnum|Float|Hash|IO|Integer|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|Stat|String|Struct|Symbol|TMS|Thread|ThreadGroup|Time|TrueClass)\b/,constant:/\b[A-Z][A-Z0-9_]*(?:[?!]|\b)/}),n.languages.rb=n.languages.ruby}(e)}ta.displayName="rust";ta.aliases=[];function ta(e){(function(n){for(var t=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,r=0;r<2;r++)t=t.replace(/<self>/g,function(){return t});t=t.replace(/<self>/g,function(){return/[^\s\S]/.source}),n.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+t),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},n.languages.rust["closure-params"].inside.rest=n.languages.rust,n.languages.rust.attribute.inside.string=n.languages.rust.string})(e)}ra.displayName="sass";ra.aliases=[];function ra(e){e.register(yn),function(n){n.languages.sass=n.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),n.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete n.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,r=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];n.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:r}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:r,important:n.languages.sass.important}}}),delete n.languages.sass.property,delete n.languages.sass.important,n.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(e)}aa.displayName="scss";aa.aliases=[];function aa(e){e.register(yn),e.languages.scss=e.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),e.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),e.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),e.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),e.languages.scss.atrule.inside.rest=e.languages.scss}ia.displayName="sql";ia.aliases=[];function ia(e){e.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}}sa.displayName="swift";sa.aliases=[];function sa(e){e.languages.swift={comment:{pattern:/(^|[^\\:])(?:\/\/.*|\/\*(?:[^/*]|\/(?!\*)|\*(?!\/)|\/\*(?:[^*]|\*(?!\/))*\*\/)*\*\/)/,lookbehind:!0,greedy:!0},"string-literal":[{pattern:RegExp(/(^|[^"#])/.source+"(?:"+/"(?:\\(?:\((?:[^()]|\([^()]*\))*\)|\r\n|[^(])|[^\\\r\n"])*"/.source+"|"+/"""(?:\\(?:\((?:[^()]|\([^()]*\))*\)|[^(])|[^\\"]|"(?!""))*"""/.source+")"+/(?!["#])/.source),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\\($/,alias:"punctuation"},punctuation:/\\(?=[\r\n])/,string:/[\s\S]+/}},{pattern:RegExp(/(^|[^"#])(#+)/.source+"(?:"+/"(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|\r\n|[^#])|[^\\\r\n])*?"/.source+"|"+/"""(?:\\(?:#+\((?:[^()]|\([^()]*\))*\)|[^#])|[^\\])*?"""/.source+")\\2"),lookbehind:!0,greedy:!0,inside:{interpolation:{pattern:/(\\#+\()(?:[^()]|\([^()]*\))*(?=\))/,lookbehind:!0,inside:null},"interpolation-punctuation":{pattern:/^\)|\\#+\($/,alias:"punctuation"},string:/[\s\S]+/}}],directive:{pattern:RegExp(/#/.source+"(?:"+(/(?:elseif|if)\b/.source+"(?:[ ]*"+/(?:![ \t]*)?(?:\b\w+\b(?:[ \t]*\((?:[^()]|\([^()]*\))*\))?|\((?:[^()]|\([^()]*\))*\))(?:[ \t]*(?:&&|\|\|))?/.source+")+")+"|"+/(?:else|endif)\b/.source+")"),alias:"property",inside:{"directive-name":/^#\w+/,boolean:/\b(?:false|true)\b/,number:/\b\d+(?:\.\d+)*\b/,operator:/!|&&|\|\||[<>]=?/,punctuation:/[(),]/}},literal:{pattern:/#(?:colorLiteral|column|dsohandle|file(?:ID|Literal|Path)?|function|imageLiteral|line)\b/,alias:"constant"},"other-directive":{pattern:/#\w+\b/,alias:"property"},attribute:{pattern:/@\w+/,alias:"atrule"},"function-definition":{pattern:/(\bfunc\s+)\w+/,lookbehind:!0,alias:"function"},label:{pattern:/\b(break|continue)\s+\w+|\b[a-zA-Z_]\w*(?=\s*:\s*(?:for|repeat|while)\b)/,lookbehind:!0,alias:"important"},keyword:/\b(?:Any|Protocol|Self|Type|actor|as|assignment|associatedtype|associativity|async|await|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic|else|enum|extension|fallthrough|fileprivate|final|for|func|get|guard|higherThan|if|import|in|indirect|infix|init|inout|internal|is|isolated|lazy|left|let|lowerThan|mutating|none|nonisolated|nonmutating|open|operator|optional|override|postfix|precedencegroup|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|set|some|static|struct|subscript|super|switch|throw|throws|try|typealias|unowned|unsafe|var|weak|where|while|willSet)\b/,boolean:/\b(?:false|true)\b/,nil:{pattern:/\bnil\b/,alias:"constant"},"short-argument":/\$\d+\b/,omit:{pattern:/\b_\b/,alias:"keyword"},number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,"class-name":/\b[A-Z](?:[A-Z_\d]*[a-z]\w*)?\b/,function:/\b[a-z_]\w*(?=\s*\()/i,constant:/\b(?:[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,operator:/[-+*/%=!<>&|^~?]+|\.[.\-+*/%=!<>&|^~?]+/,punctuation:/[{}[\]();,.:\\]/},e.languages.swift["string-literal"].forEach(function(n){n.inside.interpolation.inside=e.languages.swift})}oa.displayName="typescript";oa.aliases=["ts"];function oa(e){e.register(_t),function(n){n.languages.typescript=n.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),n.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete n.languages.typescript.parameter,delete n.languages.typescript["literal-property"];var t=n.languages.extend("typescript",{});delete t["class-name"],n.languages.typescript["class-name"].inside=t,n.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),n.languages.ts=n.languages.typescript}(e)}jt.displayName="basic";jt.aliases=[];function jt(e){e.languages.basic={comment:{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},string:{pattern:/"(?:""|[!#$%&'()*,\/:;<=>?^\w +\-.])*"/,greedy:!0},number:/(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:E[+-]?\d+)?/i,keyword:/\b(?:AS|BEEP|BLOAD|BSAVE|CALL(?: ABSOLUTE)?|CASE|CHAIN|CHDIR|CLEAR|CLOSE|CLS|COM|COMMON|CONST|DATA|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DIM|DO|DOUBLE|ELSE|ELSEIF|END|ENVIRON|ERASE|ERROR|EXIT|FIELD|FILES|FOR|FUNCTION|GET|GOSUB|GOTO|IF|INPUT|INTEGER|IOCTL|KEY|KILL|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|MKDIR|NAME|NEXT|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPTION BASE|OUT|POKE|PUT|READ|REDIM|REM|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SELECT CASE|SHARED|SHELL|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|SUB|SWAP|SYSTEM|THEN|TIMER|TO|TROFF|TRON|TYPE|UNLOCK|UNTIL|USING|VIEW PRINT|WAIT|WEND|WHILE|WRITE)(?:\$|\b)/i,function:/\b(?:ABS|ACCESS|ACOS|ANGLE|AREA|ARITHMETIC|ARRAY|ASIN|ASK|AT|ATN|BASE|BEGIN|BREAK|CAUSE|CEIL|CHR|CLIP|COLLATE|COLOR|CON|COS|COSH|COT|CSC|DATE|DATUM|DEBUG|DECIMAL|DEF|DEG|DEGREES|DELETE|DET|DEVICE|DISPLAY|DOT|ELAPSED|EPS|ERASABLE|EXLINE|EXP|EXTERNAL|EXTYPE|FILETYPE|FIXED|FP|GO|GRAPH|HANDLER|IDN|IMAGE|IN|INT|INTERNAL|IP|IS|KEYED|LBOUND|LCASE|LEFT|LEN|LENGTH|LET|LINE|LINES|LOG|LOG10|LOG2|LTRIM|MARGIN|MAT|MAX|MAXNUM|MID|MIN|MISSING|MOD|NATIVE|NUL|NUMERIC|OF|OPTION|ORD|ORGANIZATION|OUTIN|OUTPUT|PI|POINT|POINTER|POINTS|POS|PRINT|PROGRAM|PROMPT|RAD|RADIANS|RANDOMIZE|RECORD|RECSIZE|RECTYPE|RELATIVE|REMAINDER|REPEAT|REST|RETRY|REWRITE|RIGHT|RND|ROUND|RTRIM|SAME|SEC|SELECT|SEQUENTIAL|SET|SETTER|SGN|SIN|SINH|SIZE|SKIP|SQR|STANDARD|STATUS|STR|STREAM|STYLE|TAB|TAN|TANH|TEMPLATE|TEXT|THERE|TIME|TIMEOUT|TRACE|TRANSFORM|TRUNCATE|UBOUND|UCASE|USE|VAL|VARIABLE|VIEWPORT|WHEN|WINDOW|WITH|ZER|ZONEWIDTH)(?:\$|\b)/i,operator:/<[=>]?|>=?|[+\-*\/^=&]|\b(?:AND|EQV|IMP|NOT|OR|XOR)\b/i,punctuation:/[,;:()]/}}la.displayName="vbnet";la.aliases=[];function la(e){e.register(jt),e.languages.vbnet=e.languages.extend("basic",{comment:[{pattern:/(?:!|REM\b).+/i,inside:{keyword:/^REM/i}},{pattern:/(^|[^\\:])'.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(^|[^"])"(?:""|[^"])*"(?!")/,lookbehind:!0,greedy:!0},keyword:/(?:\b(?:ADDHANDLER|ADDRESSOF|ALIAS|AND|ANDALSO|AS|BEEP|BLOAD|BOOLEAN|BSAVE|BYREF|BYTE|BYVAL|CALL(?: ABSOLUTE)?|CASE|CATCH|CBOOL|CBYTE|CCHAR|CDATE|CDBL|CDEC|CHAIN|CHAR|CHDIR|CINT|CLASS|CLEAR|CLNG|CLOSE|CLS|COBJ|COM|COMMON|CONST|CONTINUE|CSBYTE|CSHORT|CSNG|CSTR|CTYPE|CUINT|CULNG|CUSHORT|DATA|DATE|DECIMAL|DECLARE|DEF(?: FN| SEG|DBL|INT|LNG|SNG|STR)|DEFAULT|DELEGATE|DIM|DIRECTCAST|DO|DOUBLE|ELSE|ELSEIF|END|ENUM|ENVIRON|ERASE|ERROR|EVENT|EXIT|FALSE|FIELD|FILES|FINALLY|FOR(?: EACH)?|FRIEND|FUNCTION|GET|GETTYPE|GETXMLNAMESPACE|GLOBAL|GOSUB|GOTO|HANDLES|IF|IMPLEMENTS|IMPORTS|IN|INHERITS|INPUT|INTEGER|INTERFACE|IOCTL|IS|ISNOT|KEY|KILL|LET|LIB|LIKE|LINE INPUT|LOCATE|LOCK|LONG|LOOP|LSET|ME|MKDIR|MOD|MODULE|MUSTINHERIT|MUSTOVERRIDE|MYBASE|MYCLASS|NAME|NAMESPACE|NARROWING|NEW|NEXT|NOT|NOTHING|NOTINHERITABLE|NOTOVERRIDABLE|OBJECT|OF|OFF|ON(?: COM| ERROR| KEY| TIMER)?|OPEN|OPERATOR|OPTION(?: BASE)?|OPTIONAL|OR|ORELSE|OUT|OVERLOADS|OVERRIDABLE|OVERRIDES|PARAMARRAY|PARTIAL|POKE|PRIVATE|PROPERTY|PROTECTED|PUBLIC|PUT|RAISEEVENT|READ|READONLY|REDIM|REM|REMOVEHANDLER|RESTORE|RESUME|RETURN|RMDIR|RSET|RUN|SBYTE|SELECT(?: CASE)?|SET|SHADOWS|SHARED|SHELL|SHORT|SINGLE|SLEEP|STATIC|STEP|STOP|STRING|STRUCTURE|SUB|SWAP|SYNCLOCK|SYSTEM|THEN|THROW|TIMER|TO|TROFF|TRON|TRUE|TRY|TRYCAST|TYPE|TYPEOF|UINTEGER|ULONG|UNLOCK|UNTIL|USHORT|USING|VIEW PRINT|WAIT|WEND|WHEN|WHILE|WIDENING|WITH|WITHEVENTS|WRITE|WRITEONLY|XOR)|\B(?:#CONST|#ELSE|#ELSEIF|#END|#IF))(?:\$|\b)/i,punctuation:/[,;:(){}]/})}class Un{constructor(n,t,r){this.normal=t,this.property=n,r&&(this.space=r)}}Un.prototype.normal={};Un.prototype.property={};Un.prototype.space=void 0;function Ls(e,n){const t={},r={};for(const a of e)Object.assign(t,a.property),Object.assign(r,a.normal);return new Un(t,r,n)}function Pn(e){return e.toLowerCase()}class ve{constructor(n,t){this.attribute=t,this.property=n}}ve.prototype.attribute="";ve.prototype.booleanish=!1;ve.prototype.boolean=!1;ve.prototype.commaOrSpaceSeparated=!1;ve.prototype.commaSeparated=!1;ve.prototype.defined=!1;ve.prototype.mustUseProperty=!1;ve.prototype.number=!1;ve.prototype.overloadedBoolean=!1;ve.prototype.property="";ve.prototype.spaceSeparated=!1;ve.prototype.space=void 0;let Kp=0;const H=sn(),ue=sn(),sr=sn(),I=sn(),ae=sn(),fn=sn(),we=sn();function sn(){return 2**++Kp}const or=Object.freeze(Object.defineProperty({__proto__:null,boolean:H,booleanish:ue,commaOrSpaceSeparated:we,commaSeparated:fn,number:I,overloadedBoolean:sr,spaceSeparated:ae},Symbol.toStringTag,{value:"Module"})),Ht=Object.keys(or);class ua extends ve{constructor(n,t,r,a){let i=-1;if(super(n,t),ii(this,"space",a),typeof r=="number")for(;++i<Ht.length;){const s=Ht[i];ii(this,Ht[i],(r&or[s])===or[s])}}}ua.prototype.defined=!0;function ii(e,n,t){t&&(e[n]=t)}function En(e){const n={},t={};for(const[r,a]of Object.entries(e.properties)){const i=new ua(r,e.transform(e.attributes||{},r),a,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(i.mustUseProperty=!0),n[r]=i,t[Pn(r)]=r,t[Pn(i.attribute)]=r}return new Un(n,t,e.space)}const Ms=En({properties:{ariaActiveDescendant:null,ariaAtomic:ue,ariaAutoComplete:null,ariaBusy:ue,ariaChecked:ue,ariaColCount:I,ariaColIndex:I,ariaColSpan:I,ariaControls:ae,ariaCurrent:null,ariaDescribedBy:ae,ariaDetails:null,ariaDisabled:ue,ariaDropEffect:ae,ariaErrorMessage:null,ariaExpanded:ue,ariaFlowTo:ae,ariaGrabbed:ue,ariaHasPopup:null,ariaHidden:ue,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:ae,ariaLevel:I,ariaLive:null,ariaModal:ue,ariaMultiLine:ue,ariaMultiSelectable:ue,ariaOrientation:null,ariaOwns:ae,ariaPlaceholder:null,ariaPosInSet:I,ariaPressed:ue,ariaReadOnly:ue,ariaRelevant:null,ariaRequired:ue,ariaRoleDescription:ae,ariaRowCount:I,ariaRowIndex:I,ariaRowSpan:I,ariaSelected:ue,ariaSetSize:I,ariaSort:null,ariaValueMax:I,ariaValueMin:I,ariaValueNow:I,ariaValueText:null,role:null},transform(e,n){return n==="role"?n:"aria-"+n.slice(4).toLowerCase()}});function Fs(e,n){return n in e?e[n]:n}function Ps(e,n){return Fs(e,n.toLowerCase())}const Wp=En({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:fn,acceptCharset:ae,accessKey:ae,action:null,allow:null,allowFullScreen:H,allowPaymentRequest:H,allowUserMedia:H,alt:null,as:null,async:H,autoCapitalize:null,autoComplete:ae,autoFocus:H,autoPlay:H,blocking:ae,capture:null,charSet:null,checked:H,cite:null,className:ae,cols:I,colSpan:null,content:null,contentEditable:ue,controls:H,controlsList:ae,coords:I|fn,crossOrigin:null,data:null,dateTime:null,decoding:null,default:H,defer:H,dir:null,dirName:null,disabled:H,download:sr,draggable:ue,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:H,formTarget:null,headers:ae,height:I,hidden:sr,high:I,href:null,hrefLang:null,htmlFor:ae,httpEquiv:ae,id:null,imageSizes:null,imageSrcSet:null,inert:H,inputMode:null,integrity:null,is:null,isMap:H,itemId:null,itemProp:ae,itemRef:ae,itemScope:H,itemType:ae,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:H,low:I,manifest:null,max:null,maxLength:I,media:null,method:null,min:null,minLength:I,multiple:H,muted:H,name:null,nonce:null,noModule:H,noValidate:H,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:H,optimum:I,pattern:null,ping:ae,placeholder:null,playsInline:H,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:H,referrerPolicy:null,rel:ae,required:H,reversed:H,rows:I,rowSpan:I,sandbox:ae,scope:null,scoped:H,seamless:H,selected:H,shadowRootClonable:H,shadowRootDelegatesFocus:H,shadowRootMode:null,shape:null,size:I,sizes:null,slot:null,span:I,spellCheck:ue,src:null,srcDoc:null,srcLang:null,srcSet:null,start:I,step:null,style:null,tabIndex:I,target:null,title:null,translate:null,type:null,typeMustMatch:H,useMap:null,value:ue,width:I,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:ae,axis:null,background:null,bgColor:null,border:I,borderColor:null,bottomMargin:I,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:H,declare:H,event:null,face:null,frame:null,frameBorder:null,hSpace:I,leftMargin:I,link:null,longDesc:null,lowSrc:null,marginHeight:I,marginWidth:I,noResize:H,noHref:H,noShade:H,noWrap:H,object:null,profile:null,prompt:null,rev:null,rightMargin:I,rules:null,scheme:null,scrolling:ue,standby:null,summary:null,text:null,topMargin:I,valueType:null,version:null,vAlign:null,vLink:null,vSpace:I,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:H,disableRemotePlayback:H,prefix:null,property:null,results:I,security:null,unselectable:null},space:"html",transform:Ps}),Yp=En({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:we,accentHeight:I,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:I,amplitude:I,arabicForm:null,ascent:I,attributeName:null,attributeType:null,azimuth:I,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:I,by:null,calcMode:null,capHeight:I,className:ae,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:I,diffuseConstant:I,direction:null,display:null,dur:null,divisor:I,dominantBaseline:null,download:H,dx:null,dy:null,edgeMode:null,editable:null,elevation:I,enableBackground:null,end:null,event:null,exponent:I,externalResourcesRequired:null,fill:null,fillOpacity:I,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:fn,g2:fn,glyphName:fn,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:I,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:I,horizOriginX:I,horizOriginY:I,id:null,ideographic:I,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:I,k:I,k1:I,k2:I,k3:I,k4:I,kernelMatrix:we,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:I,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:I,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:I,overlineThickness:I,paintOrder:null,panose1:null,path:null,pathLength:I,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:ae,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:I,pointsAtY:I,pointsAtZ:I,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:we,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:we,rev:we,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:we,requiredFeatures:we,requiredFonts:we,requiredFormats:we,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:I,specularExponent:I,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:I,strikethroughThickness:I,string:null,stroke:null,strokeDashArray:we,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:I,strokeOpacity:I,strokeWidth:null,style:null,surfaceScale:I,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:we,tabIndex:I,tableValues:null,target:null,targetX:I,targetY:I,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:we,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:I,underlineThickness:I,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:I,values:null,vAlphabetic:I,vMathematical:I,vectorEffect:null,vHanging:I,vIdeographic:I,version:null,vertAdvY:I,vertOriginX:I,vertOriginY:I,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:I,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Fs}),$s=En({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,n){return"xlink:"+n.slice(5).toLowerCase()}}),zs=En({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Ps}),Bs=En({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,n){return"xml:"+n.slice(3).toLowerCase()}}),Xp=/[A-Z]/g,si=/-[a-z]/g,qp=/^data[-\w.:]+$/i;function Zp(e,n){const t=Pn(n);let r=n,a=ve;if(t in e.normal)return e.property[e.normal[t]];if(t.length>4&&t.slice(0,4)==="data"&&qp.test(n)){if(n.charAt(4)==="-"){const i=n.slice(5).replace(si,Jp);r="data"+i.charAt(0).toUpperCase()+i.slice(1)}else{const i=n.slice(4);if(!si.test(i)){let s=i.replace(Xp,Qp);s.charAt(0)!=="-"&&(s="-"+s),n="data"+s}}a=ua}return new a(r,n)}function Qp(e){return"-"+e.toLowerCase()}function Jp(e){return e.charAt(1).toUpperCase()}const em=Ls([Ms,Wp,$s,zs,Bs],"html"),nm=Ls([Ms,Yp,$s,zs,Bs],"svg");function oi(e){const n=[],t=String(e||"");let r=t.indexOf(","),a=0,i=!1;for(;!i;){r===-1&&(r=t.length,i=!0);const s=t.slice(a,r).trim();(s||!i)&&n.push(s),a=r+1,r=t.indexOf(",",a)}return n}const li=/[#.]/g;function tm(e,n){const t=e||"",r={};let a=0,i,s;for(;a<t.length;){li.lastIndex=a;const o=li.exec(t),l=t.slice(a,o?o.index:t.length);l&&(i?i==="#"?r.id=l:Array.isArray(r.className)?r.className.push(l):r.className=[l]:s=l,a+=l.length),o&&(i=o[0],a++)}return{type:"element",tagName:s||n||"div",properties:r,children:[]}}function ui(e){const n=String(e||"").trim();return n?n.split(/[ \t\n\r\f]+/g):[]}function Gs(e,n,t){const r=t?sm(t):void 0;function a(i,s,...o){let l;if(i==null){l={type:"root",children:[]};const c=s;o.unshift(c)}else{l=tm(i,n);const c=l.tagName.toLowerCase(),p=r?r.get(c):void 0;if(l.tagName=p||c,rm(s))o.unshift(s);else for(const[m,h]of Object.entries(s))am(e,l.properties,m,h)}for(const c of o)lr(l.children,c);return l.type==="element"&&l.tagName==="template"&&(l.content={type:"root",children:l.children},l.children=[]),l}return a}function rm(e){if(e===null||typeof e!="object"||Array.isArray(e))return!0;if(typeof e.type!="string")return!1;const n=e,t=Object.keys(e);for(const r of t){const a=n[r];if(a&&typeof a=="object"){if(!Array.isArray(a))return!0;const i=a;for(const s of i)if(typeof s!="number"&&typeof s!="string")return!0}}return!!("children"in e&&Array.isArray(e.children))}function am(e,n,t,r){const a=Zp(e,t);let i;if(r!=null){if(typeof r=="number"){if(Number.isNaN(r))return;i=r}else typeof r=="boolean"?i=r:typeof r=="string"?a.spaceSeparated?i=ui(r):a.commaSeparated?i=oi(r):a.commaOrSpaceSeparated?i=ui(oi(r).join(" ")):i=ci(a,a.property,r):Array.isArray(r)?i=[...r]:i=a.property==="style"?im(r):String(r);if(Array.isArray(i)){const s=[];for(const o of i)s.push(ci(a,a.property,o));i=s}a.property==="className"&&Array.isArray(n.className)&&(i=n.className.concat(i)),n[a.property]=i}}function lr(e,n){if(n!=null)if(typeof n=="number"||typeof n=="string")e.push({type:"text",value:String(n)});else if(Array.isArray(n))for(const t of n)lr(e,t);else if(typeof n=="object"&&"type"in n)n.type==="root"?lr(e,n.children):e.push(n);else throw new Error("Expected node, nodes, or string, got `"+n+"`")}function ci(e,n,t){if(typeof t=="string"){if(e.number&&t&&!Number.isNaN(Number(t)))return Number(t);if((e.boolean||e.overloadedBoolean)&&(t===""||Pn(t)===Pn(n)))return!0}return t}function im(e){const n=[];for(const[t,r]of Object.entries(e))n.push([t,r].join(": "));return n.join("; ")}function sm(e){const n=new Map;for(const t of e)n.set(t.toLowerCase(),t);return n}const om=["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","solidColor","textArea","textPath"],lm=Gs(em,"div");Gs(nm,"g",om);const um=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],pi={0:"�",128:"€",130:"‚",131:"ƒ",132:"„",133:"…",134:"†",135:"‡",136:"ˆ",137:"‰",138:"Š",139:"‹",140:"Œ",142:"Ž",145:"‘",146:"’",147:"“",148:"”",149:"•",150:"–",151:"—",152:"˜",153:"™",154:"š",155:"›",156:"œ",158:"ž",159:"Ÿ"};function Us(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=48&&n<=57}function cm(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=97&&n<=102||n>=65&&n<=70||n>=48&&n<=57}function pm(e){const n=typeof e=="string"?e.charCodeAt(0):e;return n>=97&&n<=122||n>=65&&n<=90}function mi(e){return pm(e)||Us(e)}const di=document.createElement("i");function hi(e){const n="&"+e+";";di.innerHTML=n;const t=di.textContent;return t.charCodeAt(t.length-1)===59&&e!=="semi"||t===n?!1:t}const mm=["","Named character references must be terminated by a semicolon","Numeric character references must be terminated by a semicolon","Named character references cannot be empty","Numeric character references cannot be empty","Named character references must be known","Numeric character references cannot be disallowed","Numeric character references cannot be outside the permissible Unicode range"];function dm(e,n){const t={},r=typeof t.additional=="string"?t.additional.charCodeAt(0):t.additional,a=[];let i=0,s=-1,o="",l,c;t.position&&("start"in t.position||"indent"in t.position?(c=t.position.indent,l=t.position.start):l=t.position);let p=(l?l.line:0)||1,m=(l?l.column:0)||1,h=d(),f;for(i--;++i<=e.length;)if(f===10&&(m=(c?c[s]:0)||1),f=e.charCodeAt(i),f===38){const N=e.charCodeAt(i+1);if(N===9||N===10||N===12||N===32||N===38||N===60||Number.isNaN(N)||r&&N===r){o+=String.fromCharCode(f),m++;continue}const x=i+1;let w=x,v=x,E;if(N===35){v=++w;const _=e.charCodeAt(v);_===88||_===120?(E="hexadecimal",v=++w):E="decimal"}else E="named";let S="",C="",D="";const O=E==="named"?mi:E==="decimal"?Us:cm;for(v--;++v<=e.length;){const _=e.charCodeAt(v);if(!O(_))break;D+=String.fromCharCode(_),E==="named"&&um.includes(D)&&(S=D,C=hi(D))}let k=e.charCodeAt(v)===59;if(k){v++;const _=E==="named"?hi(D):!1;_&&(S=D,C=_)}let j=1+v-x,M="";if(!(!k&&t.nonTerminated===!1))if(!D)E!=="named"&&g(4,j);else if(E==="named"){if(k&&!C)g(5,1);else if(S!==D&&(v=w+S.length,j=1+v-w,k=!1),!k){const _=S?1:3;if(t.attribute){const $=e.charCodeAt(v);$===61?(g(_,j),C=""):mi($)?C="":g(_,j)}else g(_,j)}M=C}else{k||g(2,j);let _=Number.parseInt(D,E==="hexadecimal"?16:10);if(hm(_))g(7,j),M="�";else if(_ in pi)g(6,j),M=pi[_];else{let $="";fm(_)&&g(6,j),_>65535&&(_-=65536,$+=String.fromCharCode(_>>>10|55296),_=56320|_&1023),M=$+String.fromCharCode(_)}}if(M){b(),h=d(),i=v-1,m+=v-x+1,a.push(M);const _=d();_.offset++,t.reference&&t.reference.call(t.referenceContext||void 0,M,{start:h,end:_},e.slice(x-1,v)),h=_}else D=e.slice(x-1,v),o+=D,m+=D.length,i=v-1}else f===10&&(p++,s++,m=0),Number.isNaN(f)?b():(o+=String.fromCharCode(f),m++);return a.join("");function d(){return{line:p,column:m,offset:i+((l?l.offset:0)||0)}}function g(N,x){let w;t.warning&&(w=d(),w.column+=x,w.offset+=x,t.warning.call(t.warningContext||void 0,mm[N],w,N))}function b(){o&&(a.push(o),t.text&&t.text.call(t.textContext||void 0,o,{start:h,end:d()}),o="")}}function hm(e){return e>=55296&&e<=57343||e>1114111}function fm(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}var gm=0,Jn={},me={util:{type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++gm}),e.__id},clone:function e(n,t){t=t||{};var r,a;switch(me.util.type(n)){case"Object":if(a=me.util.objId(n),t[a])return t[a];r={},t[a]=r;for(var i in n)n.hasOwnProperty(i)&&(r[i]=e(n[i],t));return r;case"Array":return a=me.util.objId(n),t[a]?t[a]:(r=[],t[a]=r,n.forEach(function(s,o){r[o]=e(s,t)}),r);default:return n}}},languages:{plain:Jn,plaintext:Jn,text:Jn,txt:Jn,extend:function(e,n){var t=me.util.clone(me.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){r=r||me.languages;var a=r[e],i={};for(var s in a)if(a.hasOwnProperty(s)){if(s==n)for(var o in t)t.hasOwnProperty(o)&&(i[o]=t[o]);t.hasOwnProperty(s)||(i[s]=a[s])}var l=r[e];return r[e]=i,me.languages.DFS(me.languages,function(c,p){p===l&&c!=e&&(this[c]=i)}),i},DFS:function e(n,t,r,a){a=a||{};var i=me.util.objId;for(var s in n)if(n.hasOwnProperty(s)){t.call(n,s,n[s],r||s);var o=n[s],l=me.util.type(o);l==="Object"&&!a[i(o)]?(a[i(o)]=!0,e(o,t,null,a)):l==="Array"&&!a[i(o)]&&(a[i(o)]=!0,e(o,t,s,a))}}},plugins:{},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(me.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=me.tokenize(r.code,r.grammar),me.hooks.run("after-tokenize",r),_n.stringify(me.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new bm;return rt(a,a.head,e),Hs(e,a,n,a.head,0),Nm(a)},hooks:{all:{},add:function(e,n){var t=me.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=me.hooks.all[e];if(!(!t||!t.length))for(var r=0,a;a=t[r++];)a(n)}},Token:_n};function _n(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=(r||"").length|0}function fi(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function Hs(e,n,t,r,a,i){for(var s in t)if(!(!t.hasOwnProperty(s)||!t[s])){var o=t[s];o=Array.isArray(o)?o:[o];for(var l=0;l<o.length;++l){if(i&&i.cause==s+","+l)return;var c=o[l],p=c.inside,m=!!c.lookbehind,h=!!c.greedy,f=c.alias;if(h&&!c.pattern.global){var d=c.pattern.toString().match(/[imsuy]*$/)[0];c.pattern=RegExp(c.pattern.source,d+"g")}for(var g=c.pattern||c,b=r.next,N=a;b!==n.tail&&!(i&&N>=i.reach);N+=b.value.length,b=b.next){var x=b.value;if(n.length>e.length)return;if(!(x instanceof _n)){var w=1,v;if(h){if(v=fi(g,N,e,m),!v||v.index>=e.length)break;var D=v.index,E=v.index+v[0].length,S=N;for(S+=b.value.length;D>=S;)b=b.next,S+=b.value.length;if(S-=b.value.length,N=S,b.value instanceof _n)continue;for(var C=b;C!==n.tail&&(S<E||typeof C.value=="string");C=C.next)w++,S+=C.value.length;w--,x=e.slice(N,S),v.index-=N}else if(v=fi(g,0,x,m),!v)continue;var D=v.index,O=v[0],k=x.slice(0,D),j=x.slice(D+O.length),M=N+x.length;i&&M>i.reach&&(i.reach=M);var _=b.prev;k&&(_=rt(n,_,k),N+=k.length),vm(n,_,w);var $=new _n(s,p?me.tokenize(O,p):O,f,O);if(b=rt(n,_,$),j&&rt(n,b,j),w>1){var K={cause:s+","+l,reach:M};Hs(e,n,t,b.prev,N,K),i&&K.reach>i.reach&&(i.reach=K.reach)}}}}}}function bm(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function rt(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function vm(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}function Nm(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}const Ks=me;function Ws(){}Ws.prototype=Ks;const P=new Ws;P.highlight=wm;P.register=xm;P.alias=ym;P.registered=Em;P.listLanguages=Sm;P.util.encode=Dm;P.Token.stringify=ur;function wm(e,n){if(typeof e!="string")throw new TypeError("Expected `string` for `value`, got `"+e+"`");let t,r;if(n&&typeof n=="object")t=n;else{if(r=n,typeof r!="string")throw new TypeError("Expected `string` for `name`, got `"+r+"`");if(Object.hasOwn(P.languages,r))t=P.languages[r];else throw new Error("Unknown language: `"+r+"` is not registered")}return{type:"root",children:Ks.highlight.call(P,e,t,r)}}function xm(e){if(typeof e!="function"||!e.displayName)throw new Error("Expected `function` for `syntax`, got `"+e+"`");Object.hasOwn(P.languages,e.displayName)||e(P)}function ym(e,n){const t=P.languages;let r={};typeof e=="string"?n&&(r[e]=n):r=e;let a;for(a in r)if(Object.hasOwn(r,a)){const i=r[a],s=typeof i=="string"?[i]:i;let o=-1;for(;++o<s.length;)t[s[o]]=t[a]}}function Em(e){if(typeof e!="string")throw new TypeError("Expected `string` for `aliasOrLanguage`, got `"+e+"`");return Object.hasOwn(P.languages,e)}function Sm(){const e=P.languages,n=[];let t;for(t in e)Object.hasOwn(e,t)&&typeof e[t]=="object"&&n.push(t);return n}function ur(e,n){if(typeof e=="string")return{type:"text",value:e};if(Array.isArray(e)){const r=[];let a=-1;for(;++a<e.length;)e[a]!==null&&e[a]!==void 0&&e[a]!==""&&r.push(ur(e[a],n));return r}const t={attributes:{},classes:["token",e.type],content:ur(e.content,n),language:n,tag:"span",type:e.type};return e.alias&&t.classes.push(...typeof e.alias=="string"?[e.alias]:e.alias),P.hooks.run("wrap",t),lm(t.tag+"."+t.classes.join("."),Cm(t.attributes),t.content)}function Dm(e){return e}function Cm(e){let n;for(n in e)Object.hasOwn(e,n)&&(e[n]=dm(e[n]));return e}P.register(Le);P.register(Bn);P.register(It);P.register(Vr);P.register(Lr);P.register(Mr);P.register(Gn);P.register(yn);P.register(Fr);P.register(Pr);P.register($r);P.register(zr);P.register(Br);P.register(_t);P.register(Gr);P.register(Ur);P.register(Hr);P.register(Kr);P.register(Wr);P.register(Yr);P.register(Xr);P.register(qr);P.register(Zr);P.register(Rt);P.register(Qr);P.register(Jr);P.register(ea);P.register(na);P.register(ta);P.register(ra);P.register(aa);P.register(ia);P.register(sa);P.register(oa);P.register(jt);P.register(la);async function Tm(e){const n=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!n.ok)throw new Error("Failed to fetch agents");return n.json()}function km({commentCount:e,hasUnresolved:n,onClick:t,className:r}){const a=`${e} comment${e>1?"s":""}${n?", has unresolved":""}`;return u.jsxDEV("button",{onClick:t,className:X("flex items-center justify-center h-5 w-5 rounded-full text-xs",n?"bg-amber-100 text-amber-800 hover:bg-amber-200 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-100 text-gray-600 hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-400",r),title:`${e} comment${e>1?"s":""}`,"aria-label":a,children:u.jsxDEV(Ae,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:135,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:123,columnNumber:5},this)}function Am({lineStart:e,lineEnd:n,side:t,projectId:r,onSubmit:a,onCancel:i,isSubmitting:s=!1,className:o}){const[l,c]=y.useState(""),[p,m]=y.useState("comment"),[h,f]=y.useState(new Set),[d,g]=y.useState(""),[b,N]=y.useState(!1),x=y.useRef(null),{data:w,isLoading:v}=hr({queryKey:["agents",r],queryFn:()=>Tm(r),enabled:!!r}),E=(w==null?void 0:w.items)??[],{showAutocomplete:S,mentionQuery:C,selectedIndex:D,handleInputChange:O,handleKeyDown:k,insertMention:j}=wi(x,E,T=>{f(G=>new Set([...G,T.id]))}),M=y.useMemo(()=>E.filter(T=>T.name.toLowerCase().includes(C.toLowerCase())),[E,C]),_=T=>{const G=j(T,l);c(G),f(Z=>new Set([...Z,T.id]))},$=y.useMemo(()=>{if(!d.trim())return E;const T=d.toLowerCase();return E.filter(G=>G.name.toLowerCase().includes(T))},[E,d]),K=6,W=y.useMemo(()=>{if(b)return $;const T=$.slice(0,K),G=$.filter(Z=>h.has(Z.id)&&!T.some(ce=>ce.id===Z.id));return[...T,...G]},[$,b,h]),A=$.length>K,R=e===n?`Line ${e}`:`Lines ${e}-${n}`,U=async()=>{if(!l.trim())return;const T=xi(l,E),G=[...new Set([...h,...T])];await a(l.trim(),p,G)};return u.jsxDEV("div",{className:X("new-comment-form border-l-2 border-green-400 bg-green-50/50 dark:bg-green-950/30 px-3 py-2 my-1",o),"data-testid":"new-comment-form",children:[u.jsxDEV("div",{className:"flex items-center justify-between mb-2",children:[u.jsxDEV("span",{className:"text-xs font-medium text-muted-foreground",children:[R," (",t==="new"?"new":"old",")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:559,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0",onClick:i,children:u.jsxDEV(ft,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:563,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:562,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:558,columnNumber:7},this),u.jsxDEV("div",{className:"relative mb-2",children:[u.jsxDEV(at,{ref:x,placeholder:"Write a comment... (type @ to mention agents)",value:l,onChange:T=>{c(T.target.value),O(T.target.value,T.target.selectionStart)},onKeyDown:T=>{k(T,l,c)},className:"min-h-[80px] text-sm bg-white dark:bg-background",disabled:s,autoFocus:!0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:569,columnNumber:9},this),S&&M.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:M.map((T,G)=>u.jsxDEV("button",{type:"button",className:X("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",G===D&&"bg-accent"),onClick:()=>_(T),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:597,columnNumber:17},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:588,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:586,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:568,columnNumber:7},this),E.length>0&&u.jsxDEV("div",{className:"mb-2 space-y-2",role:"group","aria-label":"Assign to agents",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV("span",{className:"text-xs text-muted-foreground mr-1",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:610,columnNumber:15},this),"Assign to:"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:609,columnNumber:13},this),u.jsxDEV(Nr,{type:"multiple",value:Array.from(h),onValueChange:T=>f(new Set(T)),className:"flex-wrap !justify-start gap-1",children:W.map(T=>u.jsxDEV(wr,{value:T.id,size:"sm",variant:"outline",className:"h-6 text-xs gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${T.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:628,columnNumber:19},this),T.name]},T.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:620,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:613,columnNumber:13},this),W.length===0&&d.trim()&&u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:634,columnNumber:15},this),A&&!b&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 text-xs px-2",onClick:()=>N(!0),children:["+",$.length-K," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:637,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:608,columnNumber:11},this),b&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(pr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:653,columnNumber:19},this),u.jsxDEV(mr,{value:d,onChange:T=>g(T.target.value),placeholder:"Search agents...",className:"h-7 pl-7 text-xs"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:654,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:652,columnNumber:17},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-xs",onClick:()=>{N(!1),g("")},children:[u.jsxDEV(dt,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:670,columnNumber:19},this),"Collapse"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:661,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:651,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:650,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:607,columnNumber:9},this),E.length>0&&h.size===0&&!v&&u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"No agents selected — no notifications will be sent"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:681,columnNumber:9},this),v&&u.jsxDEV("div",{className:"mb-2 flex items-center gap-1",children:u.jsxDEV("span",{className:"text-xs text-muted-foreground",children:[u.jsxDEV($e,{className:"h-3 w-3 inline mr-0.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:690,columnNumber:13},this),"Loading agents..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:689,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:688,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("select",{value:p,onChange:T=>m(T.target.value),className:"text-xs border rounded px-2 py-1 bg-white dark:bg-background",disabled:s,children:[u.jsxDEV("option",{value:"comment",children:"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:703,columnNumber:11},this),u.jsxDEV("option",{value:"suggestion",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:704,columnNumber:11},this),u.jsxDEV("option",{value:"issue",children:"Issue"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:705,columnNumber:11},this),u.jsxDEV("option",{value:"approval",children:"Approval"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:706,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:697,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 min-w-0"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:709,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:i,disabled:s,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:711,columnNumber:9},this),u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!l.trim()||s,children:s?"Posting...":"Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:714,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:696,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/InlineComment.tsx",lineNumber:551,columnNumber:5},this)}function Im(e){const n=[],t=/```suggestion\s*\n([\s\S]*?)```/g;let r=0,a;for(;(a=t.exec(e))!==null;){if(a.index>r){const i=e.slice(r,a.index).trim();i&&n.push({type:"text",content:i})}n.push({type:"suggestion",content:a[1].trimEnd()}),r=a.index+a[0].length}if(r<e.length){const i=e.slice(r).trim();i&&n.push({type:"text",content:i})}return n.length===0&&e.trim()&&n.push({type:"text",content:e.trim()}),n}function _m(e){return/```suggestion\s*\n[\s\S]*?```/.test(e)}function Rm({suggestedCode:e,originalCode:n,filePath:t,lineStart:r,lineEnd:a,onApply:i,isApplying:s=!1,isApplied:o=!1,showApplyButton:l=!0,className:c}){const[p,m]=y.useState(!1),h=async()=>{await navigator.clipboard.writeText(e),m(!0),setTimeout(()=>m(!1),2e3)},f=r!=null?a!=null&&a!==r?`L${r}-${a}`:`L${r}`:null;return u.jsxDEV("div",{className:X("rounded-md border bg-muted/30 overflow-hidden",c),"data-testid":"suggestion-block",children:[u.jsxDEV("div",{className:"flex items-center justify-between px-3 py-1.5 bg-blue-50 dark:bg-blue-950/30 border-b",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(ye,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700",children:"Suggestion"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:118,columnNumber:11},this),t&&f&&u.jsxDEV("span",{className:"text-xs text-muted-foreground font-mono",children:[t,":",f]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:122,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:117,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1",children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",onClick:h,title:"Copy suggestion",children:p?u.jsxDEV(Rn,{className:"h-3.5 w-3.5 text-green-600"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:136,columnNumber:15},this):u.jsxDEV(ao,{className:"h-3.5 w-3.5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:138,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:128,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:127,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:116,columnNumber:7},this),u.jsxDEV("div",{className:"text-sm font-mono",children:[n&&u.jsxDEV("div",{className:"bg-red-50 dark:bg-red-950/30 border-l-4 border-red-300 dark:border-red-700",children:n.split(`
73
68
  `).map((d,g)=>u.jsxDEV("div",{className:"px-3 py-0.5 flex",children:[u.jsxDEV("span",{className:"text-red-500 dark:text-red-400 mr-2 select-none",children:"-"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:151,columnNumber:17},this),u.jsxDEV("span",{className:"text-red-700 dark:text-red-300",children:d||" "},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:152,columnNumber:17},this)]},`old-${g}`,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:150,columnNumber:15},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:148,columnNumber:11},this),u.jsxDEV("div",{className:"bg-green-50 dark:bg-green-950/30 border-l-4 border-green-300 dark:border-green-700",children:e.split(`
74
- `).map((d,g)=>u.jsxDEV("div",{className:"px-3 py-0.5 flex",children:[u.jsxDEV("span",{className:"text-green-500 dark:text-green-400 mr-2 select-none",children:"+"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:162,columnNumber:15},this),u.jsxDEV("span",{className:"text-green-700 dark:text-green-300",children:d||" "},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:163,columnNumber:15},this)]},`new-${g}`,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:161,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:159,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:145,columnNumber:7},this),l&&i&&!o&&u.jsxDEV("div",{className:"px-3 py-2 bg-muted/50 border-t",children:u.jsxDEV(ee,{size:"sm",variant:"secondary",className:"h-7 text-xs",onClick:i,disabled:s,children:s?u.jsxDEV(u.Fragment,{children:[u.jsxDEV(ao,{className:"h-3 w-3 mr-1 animate-spin"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:181,columnNumber:17},this),"Applying..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:180,columnNumber:15},this):u.jsxDEV(u.Fragment,{children:[u.jsxDEV(io,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:186,columnNumber:17},this),"Apply Suggestion"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:185,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:172,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:171,columnNumber:9},this),o&&u.jsxDEV("div",{className:"px-3 py-2 bg-green-50 dark:bg-green-950/30 border-t",children:u.jsxDEV("span",{className:"text-xs text-green-700 dark:text-green-300 flex items-center gap-1",children:[u.jsxDEV(Rn,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:198,columnNumber:13},this),"Suggestion applied"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:196,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:111,columnNumber:5},this)}function gi(e){const n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/1e3),i=Math.floor(a/60),s=Math.floor(i/60),o=Math.floor(s/24);return a<60?"just now":i<60?`${i}m ago`:s<24?`${s}h ago`:o<7?`${o}d ago`:n.toLocaleDateString()}const Om={comment:{icon:Ae,label:"Comment",className:"bg-gray-100 text-gray-700"},suggestion:{icon:br,label:"Suggestion",className:"bg-blue-100 text-blue-700"},issue:{icon:Nn,label:"Issue",className:"bg-orange-100 text-orange-700 dark:bg-orange-900/50 dark:text-orange-300"},approval:{icon:fr,label:"Approval",className:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300"}},Vm={open:{icon:Nn,label:"Open",className:"text-amber-700 dark:text-amber-500"},resolved:{icon:Rn,label:"Resolved",className:"text-green-600"},wont_fix:{icon:ft,label:"Won't Fix",className:"text-gray-500"}};function Ys({comment:e,isReply:n=!1,isPending:t=!1,getSessionForAgent:r,onOpenTerminal:a}){var b;const i=Om[e.commentType],s=Vm[e.status],o=i.icon,l=s.icon,c=e.authorType==="agent",p=c?$e:xi,m=c?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",h=c&&e.authorAgentId&&r?r(e.authorAgentId):null,f=()=>{h&&a&&a(h)},d=(N,y,w)=>{const v=(r==null?void 0:r(N))??null;return u.jsxDEV("span",{children:[w&&", ",v&&a?u.jsxDEV("button",{onClick:()=>a(v),className:"text-amber-700 hover:text-amber-900 hover:underline font-medium",children:y},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:179,columnNumber:11},this):u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-800/70 dark:text-amber-400/70 cursor-not-allowed",children:y},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:189,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:188,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:194,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:193,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:187,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:186,columnNumber:11},this)]},N,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:176,columnNumber:7},this)},g=()=>{if(!t||!e.targetAgents||e.targetAgents.length===0)return null;const N=3,y=e.targetAgents.slice(0,N),w=e.targetAgents.length-N;return u.jsxDEV("span",{className:"text-xs text-amber-700 dark:text-amber-500 flex items-center gap-1",children:["Waiting on: ",y.map((v,E)=>d(v.agentId,v.name,E>0)),w>0&&u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-700 dark:text-amber-500 cursor-help",children:["+",w," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:220,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:219,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:e.targetAgents.slice(N).map(v=>v.name).join(", ")},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:225,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:224,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:218,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:217,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:214,columnNumber:7},this)};return u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("div",{className:X("flex items-center gap-1.5 text-sm font-medium",c?"text-purple-700":"text-foreground"),children:[u.jsxDEV(p,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:248,columnNumber:9},this),c&&h&&a?u.jsxDEV("button",{onClick:f,className:"hover:underline",title:"Open terminal",children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:250,columnNumber:11},this):c&&!h&&r?u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"cursor-not-allowed opacity-75",children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:257,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:256,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:260,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:259,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:255,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:254,columnNumber:11},this):u.jsxDEV("span",{children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:265,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:242,columnNumber:7},this),!n&&u.jsxDEV(xe,{variant:"secondary",className:X("text-xs",i.className),"aria-label":`Comment type: ${i.label}`,children:[u.jsxDEV(o,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:276,columnNumber:11},this),i.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:271,columnNumber:9},this),!n&&u.jsxDEV("span",{className:X("flex items-center gap-1 text-xs",s.className),role:"status","aria-label":`Status: ${s.label}`,children:[u.jsxDEV(l,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:288,columnNumber:11},this),s.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:283,columnNumber:9},this),!n&&t?g():!n&&e.targetAgents&&e.targetAgents.length>0&&u.jsxDEV(xe,{variant:"outline",className:"text-xs",title:e.targetAgents.map(N=>N.name).join(", "),children:["Sent to: ",e.targetAgents.length]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:299,columnNumber:13},this),u.jsxDEV("time",{className:"text-xs text-muted-foreground",dateTime:e.createdAt,children:gi(e.createdAt)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:309,columnNumber:7},this),e.editedAt&&u.jsxDEV("span",{className:"text-xs text-muted-foreground italic",title:`Edited ${gi(e.editedAt)}`,children:"(edited)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:315,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:240,columnNumber:5},this)}function Lm({comment:e}){if(!e.filePath)return null;const n=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`L${e.lineStart}-${e.lineEnd}`:`L${e.lineStart}`:null;return u.jsxDEV("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground mt-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:338,columnNumber:7},this),u.jsxDEV("span",{className:"font-mono",children:e.filePath},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:339,columnNumber:7},this),n&&u.jsxDEV("span",{className:"text-muted-foreground",children:["(",n,")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:340,columnNumber:20},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:337,columnNumber:5},this)}function Mm({reply:e,getSessionForAgent:n,onOpenTerminal:t}){return u.jsxDEV("div",{className:"pl-4 border-l-2 border-muted mt-2",children:[u.jsxDEV(Ys,{comment:e,isReply:!0,getSessionForAgent:n,onOpenTerminal:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:356,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm mt-1 whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:362,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:355,columnNumber:5},this)}function Fm({comment:e,replies:n=[],isPending:t=!1,getSessionForAgent:r,onOpenTerminal:a,onReply:i,onResolve:s,onApplySuggestion:o,onDelete:l,onEdit:c,isReplying:p=!1,isResolving:m=!1,isApplyingSuggestion:h=!1,isDeleting:f=!1,isEditing:d=!1,className:g}){const[b,N]=x.useState(!1),[y,w]=x.useState(""),[v,E]=x.useState(!1),[S,C]=x.useState(!1),[D,O]=x.useState("resolved"),[k,j]=x.useState(!0),[M,_]=x.useState(!1),[$,K]=x.useState(e.content),W=n.length>0,A=e.status==="open",R=e.authorType==="user",U=async()=>{!y.trim()||!i||(await i(e.id,y.trim()),w(""),N(!1))},T=async()=>{s&&(await s(e.id,D),E(!1))},G=async()=>{l&&(await l(e.id),C(!1))},Z=async()=>{!$.trim()||!c||(await c(e.id,$.trim(),e.version),_(!1))},ce=()=>{K(e.content),_(!1)};return u.jsxDEV("div",{className:X("p-3 rounded-lg border bg-card",t&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",!A&&"opacity-75",g),"data-testid":"comment-thread",children:[u.jsxDEV("div",{className:"flex items-start gap-2",children:[W&&u.jsxDEV("button",{onClick:()=>j(!k),className:"mt-0.5 p-0.5 hover:bg-muted rounded","aria-label":k?"Collapse replies":"Expand replies",children:k?u.jsxDEV(dt,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:449,columnNumber:15},this):u.jsxDEV(ht,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:451,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:443,columnNumber:11},this),u.jsxDEV("div",{className:"flex-1 min-w-0",children:[u.jsxDEV(Ys,{comment:e,isPending:t,getSessionForAgent:r,onOpenTerminal:a},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:456,columnNumber:11},this),u.jsxDEV(Lm,{comment:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:462,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:455,columnNumber:9},this),R&&(c||l)&&!M&&u.jsxDEV(so,{children:[u.jsxDEV(oo,{asChild:!0,children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",children:[u.jsxDEV(lo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:469,columnNumber:17},this),u.jsxDEV("span",{className:"sr-only",children:"Comment actions"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:470,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:468,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:467,columnNumber:13},this),u.jsxDEV(uo,{align:"end",children:[c&&u.jsxDEV(ga,{onClick:()=>_(!0),children:[u.jsxDEV(co,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:476,columnNumber:19},this),"Edit"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:475,columnNumber:17},this),l&&u.jsxDEV(ga,{onClick:()=>C(!0),className:"text-destructive focus:text-destructive",children:[u.jsxDEV(po,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:485,columnNumber:19},this),"Delete"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:481,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:473,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:466,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:441,columnNumber:7},this),u.jsxDEV("div",{className:X("mt-2",W&&"ml-6"),children:M?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(at,{value:$,onChange:V=>K(V.target.value),className:"min-h-[80px] text-sm",disabled:d,"aria-label":"Edit comment content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:498,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:Z,disabled:!$.trim()||d||$.trim()===e.content,children:d?"Saving...":"Save"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:506,columnNumber:15},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:ce,disabled:d,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:515,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:505,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:497,columnNumber:11},this):Rm(e.content)?u.jsxDEV("div",{className:"space-y-2",children:_m(e.content).map((V,oe)=>V.type==="suggestion"?u.jsxDEV(jm,{suggestedCode:V.content,filePath:e.filePath,lineStart:e.lineStart,lineEnd:e.lineEnd,onApply:o?()=>o(e.id):void 0,isApplying:h,isApplied:e.status==="resolved",showApplyButton:!!o&&e.status==="open"},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:524,columnNumber:17},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:V.content},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:536,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:521,columnNumber:11},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:543,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:495,columnNumber:7},this),W&&k&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:n.map(V=>u.jsxDEV(Mm,{reply:V,getSessionForAgent:r,onOpenTerminal:a},V.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:551,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:549,columnNumber:9},this),b&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:[u.jsxDEV(at,{placeholder:"Write a reply...",value:y,onChange:V=>w(V.target.value),className:"min-h-[80px] text-sm",disabled:p},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:564,columnNumber:11},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!y.trim()||p,children:p?"Posting...":"Reply"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:572,columnNumber:13},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:()=>{N(!1),w("")},children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:579,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:571,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:563,columnNumber:9},this),!M&&u.jsxDEV("div",{className:"mt-3 flex flex-wrap gap-1",role:"group","aria-label":"Comment actions",children:[i&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>N(!b),"aria-expanded":b,"aria-label":b?"Cancel reply":"Reply to this comment",children:[u.jsxDEV(qo,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:605,columnNumber:15},this),"Reply"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:597,columnNumber:13},this),A&&s&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>E(!0),disabled:m,"aria-label":"Resolve this comment",children:[u.jsxDEV(Rn,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:618,columnNumber:15},this),"Resolve"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:610,columnNumber:13},this),W&&u.jsxDEV("span",{className:"text-xs text-muted-foreground self-center","aria-live":"polite",children:[n.length," ",n.length===1?"reply":"replies"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:623,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:595,columnNumber:9},this),u.jsxDEV(it,{open:v,onOpenChange:E,children:u.jsxDEV(st,{children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{children:"Resolve Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:634,columnNumber:13},this),u.jsxDEV(ut,{children:"How do you want to resolve this comment?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:635,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:633,columnNumber:11},this),u.jsxDEV("fieldset",{className:"py-4",children:[u.jsxDEV("legend",{className:"sr-only",children:"Resolution status"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:638,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-4",children:[u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"resolved",checked:D==="resolved",onChange:()=>O("resolved"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:641,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Resolved"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:650,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:640,columnNumber:15},this),u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"wont_fix",checked:D==="wont_fix",onChange:()=>O("wont_fix"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:653,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Won't Fix"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:662,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:652,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:639,columnNumber:13},this),u.jsxDEV("p",{id:"resolve-desc",className:"sr-only",children:"Choose resolved if the issue was addressed, or won't fix if it will not be addressed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:665,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:637,columnNumber:11},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>E(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:671,columnNumber:13},this),u.jsxDEV(ee,{onClick:T,disabled:m,children:m?"Resolving...":"Confirm"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:674,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:670,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:632,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:631,columnNumber:7},this),u.jsxDEV(it,{open:S,onOpenChange:C,children:u.jsxDEV(st,{children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{children:"Delete Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:685,columnNumber:13},this),u.jsxDEV(ut,{children:["Are you sure you want to delete this comment? This action cannot be undone.",W&&" All replies will also be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:686,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:684,columnNumber:11},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>C(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:692,columnNumber:13},this),u.jsxDEV(ee,{variant:"destructive",onClick:G,disabled:f,children:f?"Deleting...":"Delete"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:695,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:691,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:683,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:682,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:429,columnNumber:5},this)}async function bd(e){const n=await fetch(`/api/reviews/${e}`);if(!n.ok)throw new Error("Failed to fetch review");return n.json()}async function vd(e){const n=await fetch("/api/reviews",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error("Failed to create review");return n.json()}async function Pm(e,n){const r=new URLSearchParams().toString(),a=r?`/api/reviews/${e}/comments?${r}`:`/api/reviews/${e}/comments`,i=await fetch(a);if(!i.ok)throw new Error("Failed to fetch review comments");return i.json()}const Nd={draft:{bg:"bg-gray-100",text:"text-gray-700"},pending:{bg:"bg-yellow-100",text:"text-yellow-800"},changes_requested:{bg:"bg-orange-100",text:"text-orange-800"},approved:{bg:"bg-green-100",text:"text-green-800"},closed:{bg:"bg-slate-100",text:"text-slate-600"}},wd={draft:"Draft",pending:"Pending",changes_requested:"Changes Requested",approved:"Approved",closed:"Closed"};async function yd(e,n){const t=new URLSearchParams({projectId:e});n!=null&&n.ref&&t.append("ref",n.ref),t.append("limit",String(n.limit));const r=await fetch(`/api/git/commits?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch commits");return r.json()}async function xd(e){const n=await fetch(`/api/git/branches?projectId=${e}`);if(!n.ok)throw new Error("Failed to fetch branches");return n.json()}async function Ed(e,n,t){const r=new URLSearchParams({projectId:e,base:n,head:t}),a=await fetch(`/api/git/changed-files?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch changed files");return a.json()}async function Sd(e,n,t){const r=new URLSearchParams({projectId:e,base:n,head:t}),a=await fetch(`/api/git/diff?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch diff");return(await a.json()).diff}async function Dd(e,n="all"){const t=new URLSearchParams({projectId:e,filter:n}),r=await fetch(`/api/git/working-tree?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch working tree");return r.json()}async function Cd(e,n){const t=new URLSearchParams({projectId:e}),r=await fetch(`/api/git/commit/${n}?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch commit diff");return r.json()}async function Td(e){const n=new URLSearchParams({projectId:e}),t=await fetch(`/api/reviews/active?${n.toString()}`);if(!t.ok)throw new Error("Failed to fetch active review");return(await t.json()).review}async function kd(e,n){const t=await fetch(`/api/reviews/${e}/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:n})});if(!t.ok)throw new Error("Failed to close review");return t.json()}function Xs(e){const n=new Map;for(const t of e)if(t.parentId!==null){const r=n.get(t.parentId);r?r.push(t):n.set(t.parentId,[t])}return n}function ca(e,n){const t=n.get(e)||[],r=[];for(const a of t)r.push(a),r.push(...ca(a.id,n));return r.sort((a,i)=>new Date(a.createdAt).getTime()-new Date(i.createdAt).getTime())}function $m(e){const n=new Map,t=Xs(e);return e.filter(a=>a.parentId===null).forEach(a=>{const i=ca(a.id,t);n.set(a.id,i)}),n}function zm(e){const n=Xs(e),t=new Map;for(const r of e)if(r.lineStart!==null&&r.parentId===null){const a=`${r.side||"new"}-${r.lineStart}`,i={root:r,replies:ca(r.id,n)},s=t.get(a)||[];t.set(a,[...s,i])}for(const[r,a]of t)a.sort((i,s)=>new Date(i.root.createdAt).getTime()-new Date(s.root.createdAt).getTime()),t.set(r,a);return t}function An(e){const{comment:n,replies:t}=e;if(n.parentId!==null||n.status!=="open")return!1;const r=new Set(n.targetAgents.map(s=>s.agentId));if(r.size===0)return!1;let a=n.authorType==="user"?new Date(n.createdAt):null;for(const s of t)if(s.authorType==="user"){const o=new Date(s.createdAt);(!a||o>a)&&(a=o)}if(!a)return!1;let i=null;for(const s of t)if(s.authorType==="agent"&&s.authorAgentId&&r.has(s.authorAgentId)){const o=new Date(s.createdAt);(!i||o>i)&&(i=o)}return!i||a>i}const Bm={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",json:"json",yaml:"yaml",yml:"yaml",xml:"markup",html:"markup",css:"css",scss:"scss",less:"less",md:"markdown",sql:"sql",graphql:"graphql",dockerfile:"docker",makefile:"makefile"};function Gm(e){var t;const n=(t=e.split(".").pop())==null?void 0:t.toLowerCase();return n&&Bm[n]||null}function Um(){return u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:129,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-5 w-48"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:130,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:131,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:132,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:128,columnNumber:7},this),u.jsxDEV("div",{className:"flex-1 p-4 space-y-2",children:Array.from({length:15}).map((e,n)=>u.jsxDEV(Pe,{className:"h-5 w-full",style:{width:`${60+Math.random()*40}%`}},n,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:137,columnNumber:11},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:127,columnNumber:5},this)}function Hm({filePath:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Fo,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:151,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Binary file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:152,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:["Cannot display diff for binary file: ",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:153,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:150,columnNumber:5},this)}function Km({message:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-destructive p-8",children:[u.jsxDEV(Nn,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:161,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Failed to load diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:162,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:163,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:160,columnNumber:5},this)}function Wm({fileInfo:e}){return(e==null?void 0:e.status)==="added"&&(e==null?void 0:e.additions)===0&&(e==null?void 0:e.deletions)===0?u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:181,columnNumber:9},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"New file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:182,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm text-center max-w-md",children:"This is an untracked file. The diff content may not be available if the file is binary, too large, or was skipped during diff generation."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:183,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:180,columnNumber:7},this):u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:193,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"No changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:"This file has no visible changes."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:195,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:192,columnNumber:5},this)}function Fe(e,n){return e.type==="insert"?n==="new"?e.lineNumber:null:e.type==="delete"?n==="old"?e.lineNumber:null:n==="old"?e.oldLineNumber:e.newLineNumber}const Ym=8,Xm=x.memo(function({hunk:n,hunkKey:t,isExpanded:r,onToggleExpand:a,children:i,viewType:s}){const o=x.useRef(null),[l,c]=x.useState(!1);x.useEffect(()=>{const g=o.current;if(!g)return;const b=new IntersectionObserver(N=>{N.forEach(y=>{y.isIntersecting&&c(!0)})},{rootMargin:"200px",threshold:0});return b.observe(g),()=>{b.disconnect()}},[]);const p=n.changes.length,m=p>Ym*2,h=n.oldStart,f=n.newStart,d=s==="split"?4:3;return u.jsxDEV(u.Fragment,{children:[u.jsxDEV("tbody",{ref:o,"data-hunk-key":t,children:m?u.jsxDEV("tr",{className:"bg-muted/50 border-y text-xs text-muted-foreground",children:u.jsxDEV("td",{colSpan:d,className:"px-2 py-1",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("button",{onClick:a,className:"flex items-center gap-1 hover:text-foreground","aria-expanded":r,"aria-label":`${r?"Collapse":"Expand"} ${p} lines`,children:[r?u.jsxDEV(dt,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:288,columnNumber:21},this):u.jsxDEV(ht,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:290,columnNumber:21},this),u.jsxDEV("span",{children:[r?"Collapse":"Expand"," ",p," lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:292,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:281,columnNumber:17},this),u.jsxDEV("span",{className:"text-muted-foreground/60","aria-label":`Hunk at line ${h} old, ${f} new`,children:["@@ -",h," +",f," @@"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:296,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:280,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:279,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:278,columnNumber:11},this):u.jsxDEV("tr",{className:"h-0",children:u.jsxDEV("td",{colSpan:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:307,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:276,columnNumber:7},this),!m||r?l?i:u.jsxDEV("tbody",{children:u.jsxDEV("tr",{style:{height:`${p*22}px`},children:u.jsxDEV("td",{colSpan:d,className:"text-center text-muted-foreground text-sm py-4",children:u.jsxDEV(Ft,{className:"h-4 w-4 animate-pulse inline-block"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:323,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:322,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:321,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:320,columnNumber:11},this):u.jsxDEV("tbody",{children:u.jsxDEV("tr",{children:u.jsxDEV("td",{colSpan:d,children:u.jsxDEV("button",{onClick:a,className:"w-full flex items-center justify-center gap-2 py-2 text-xs text-muted-foreground hover:bg-muted/50 border-b","aria-expanded":!1,"aria-label":`Show ${p} hidden lines`,children:[u.jsxDEV(Ft,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:339,columnNumber:17},this),u.jsxDEV("span",{children:["Show ",p," hidden lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:340,columnNumber:17},this),u.jsxDEV(Ft,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:341,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:333,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:332,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:331,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:330,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:274,columnNumber:5},this)});function Ad({diff:e,filePath:n,isLoading:t,error:r,viewType:a,onViewTypeChange:i,projectId:s,comments:o=[],onAddComment:l,onReplyToComment:c,onResolveComment:p,onDeleteComment:m,onEditComment:h,isSubmittingComment:f=!1,isResolvingComment:d=!1,isDeletingComment:g=!1,isEditingComment:b=!1,getSessionForAgent:N,onOpenTerminal:y,fileInfo:w,selectedCommentId:v,onClearSelectedComment:E}){const[S,C]=x.useState(null),[D,O]=x.useState(null),[k,j]=x.useState(new Set);x.useEffect(()=>{j(new Set)},[n]);const[M,_]=x.useState(!1),$=x.useRef(null),K=x.useRef(null),W=x.useRef(null);x.useEffect(()=>{const F=z=>{z.key==="Escape"&&(S||D)&&(C(null),O(null))},B=z=>{K.current&&!K.current.contains(z.target)&&S&&!D&&C(null)};return document.addEventListener("keydown",F),document.addEventListener("mousedown",B),()=>{document.removeEventListener("keydown",F),document.removeEventListener("mousedown",B)}},[S,D]),x.useEffect(()=>{if(!M)return;const F=z=>{var ie;const Y=document.elementFromPoint(z.clientX,z.clientY);if(!Y)return;const ne=Y.closest(".diff-gutter, .diff-gutter-col");if(!ne)return;const J=(ie=ne.textContent)==null?void 0:ie.trim(),de=J?parseInt(J,10):null;if(de&&!isNaN(de)&&$.current){const _e=Math.min($.current.line,de),le=Math.max($.current.line,de);C({lineStart:_e,lineEnd:le,side:$.current.side})}},B=()=>{_(!1)};return document.addEventListener("mousemove",F),document.addEventListener("mouseup",B),()=>{document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",B)}},[M]);const A=x.useMemo(()=>{if(!e)return[];try{return Hl(e)}catch{return[]}},[e]),R=x.useMemo(()=>A.length===0?null:A.find(F=>F.newPath===n||F.oldPath===n)||A[0],[A,n]),U=x.useMemo(()=>{const F=new Map;return R!=null&&R.hunks&&R.hunks.forEach(B=>{B.changes.forEach(z=>{F.set(ke(z),z)})}),F},[R==null?void 0:R.hunks]),T=x.useMemo(()=>{const F=new Map;return R!=null&&R.hunks&&R.hunks.forEach(B=>{const z=ke(B.changes[0]);B.changes.forEach(Y=>{const ne=Fe(Y,"old"),J=Fe(Y,"new");ne!==null&&F.set(`old-${ne}`,z),J!==null&&F.set(`new-${J}`,z)})}),F},[R==null?void 0:R.hunks]);x.useEffect(()=>{if(!v)return;let F=!1,B=null,z=null,Y=o.find(re=>re.id===v);if(!Y){for(const re of o)if(re.parentId===v){Y=o.find(he=>he.id===re.parentId)||re;break}}if(!Y||Y.lineStart===null){E==null||E();return}const J=(Y.parentId===null?Y.id:Y.parentId)||v,de=`${Y.side||"new"}-${Y.lineStart}`,ie=T.get(de);ie&&k.has(ie)&&j(re=>{const he=new Set(re);return he.delete(ie),he});const _e=()=>{var re;if(!F&&ie){const he=(re=K.current)==null?void 0:re.querySelector(`[data-hunk-key="${ie}"]`);he&&he.scrollIntoView({behavior:"auto",block:"center"})}},le=2500,Ce=100;let Ne=0;const pe=()=>{var he;if(F)return;const re=(he=K.current)==null?void 0:he.querySelector(`[data-comment-id="${J}"]`);re?(re.scrollIntoView({behavior:"smooth",block:"center"}),re instanceof HTMLElement&&re.focus({preventScroll:!0}),B=setTimeout(()=>{F||E==null||E()},2e3)):Ne<le?(Ne+=Ce,z=setTimeout(pe,Ce)):E==null||E()};return requestAnimationFrame(()=>{F||(_e(),z=setTimeout(pe,50))}),()=>{F=!0,B&&clearTimeout(B),z&&clearTimeout(z)}},[v,o,E,T,k]);const G=(R==null?void 0:R.isBinary)===!0,Z=x.useMemo(()=>Gm(n),[n]),ce=x.useMemo(()=>{if(!(!(R!=null&&R.hunks)||!Z))try{return P.registered(Z)?Kp(R.hunks,{highlight:!0,enhancers:[Up(R.hunks,{type:"block"})],language:Z,refractor:P}):void 0}catch{return}},[R==null?void 0:R.hunks,Z]),V=x.useMemo(()=>zm(o),[o]),oe=x.useMemo(()=>{const F={};return R!=null&&R.hunks&&R.hunks.forEach(B=>{B.changes.forEach(z=>{const Y=ke(z),ne=Fe(z,"new")||Fe(z,"old");if(!ne)return;const J=z.type==="delete"?"old":"new",de=`${J}-${ne}`,ie=V.get(de);if(ie&&ie.length>0){const _e=le=>{for(const Ce of ie){if(Ce.root.id===le)return Ce.root;const Ne=Ce.replies.find(pe=>pe.id===le);if(Ne)return Ne}};F[Y]=u.jsxDEV("div",{className:"inline-comment-wrapper my-1 space-y-2",children:ie.map(le=>{const Ce=An({comment:le.root,replies:le.replies}),Ne=v===le.root.id;return u.jsxDEV("div",{"data-comment-id":le.root.id,tabIndex:-1,className:X("transition-all duration-200 outline-none",Ne&&"ring-2 ring-primary ring-offset-2 rounded-lg"),children:u.jsxDEV(Fm,{comment:le.root,replies:le.replies,isPending:Ce,getSessionForAgent:N,onOpenTerminal:y,onReply:c?async(pe,re)=>{await c(pe,re)}:void 0,onResolve:p?async(pe,re)=>{const he=_e(pe);he&&await p(pe,re,he.version)}:void 0,onDelete:m,onEdit:h,isReplying:f,isResolving:d,isDeleting:g,isEditing:b},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:724,columnNumber:21},this)},le.root.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:715,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:707,columnNumber:13},this)}D&&D.side===J&&ne>=D.lineStart&&ne===D.lineEnd&&(F[Y]=u.jsxDEV(Im,{lineStart:D.lineStart,lineEnd:D.lineEnd,side:D.side,projectId:s??"",onSubmit:async(_e,le,Ce)=>{l&&await l(D.lineStart,D.lineEnd,D.side,_e,le,Ce),O(null)},onCancel:()=>O(null),isSubmitting:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:768,columnNumber:13},this))})}),F},[R==null?void 0:R.hunks,V,D,s,l,c,p,m,h,f,d,g,b,N,y,v]),Me=x.useCallback((F,B)=>{if(!l||!F.change)return;const z=F.change,Y=F.side==="old"?"old":"new",ne=Fe(z,Y);if(ne){if(B.shiftKey&&S&&S.side===Y){const J=Math.min(S.lineStart,ne),de=Math.max(S.lineStart,ne);C({lineStart:J,lineEnd:de,side:Y});return}$.current={line:ne,side:Y},_(!0),C({lineStart:ne,lineEnd:ne,side:Y})}},[l,S]),Sn=x.useCallback(F=>{!l||!F.change||!S||!M&&S&&O({lineStart:S.lineStart,lineEnd:S.lineEnd,side:S.side})},[l,S,M]),Ue=x.useCallback(F=>{let B=F;for(;B;){if(B instanceof HTMLElement){const z=B.getAttribute("data-change-key");if(z)return z}B=B.parentNode}return null},[]),Dn=x.useCallback(F=>{const B=window.getSelection();if(!B||B.isCollapsed){W.current=null;return}const z=Ue(B.anchorNode),Y=Ue(B.focusNode);if(!z||!Y){W.current=null;return}const ne=U.get(z),J=U.get(Y);if(!ne||!J){W.current=null;return}const de=Fe(ne,F),ie=Fe(J,F);if(de==null||ie==null){W.current=null;return}const _e=Math.min(de,ie),le=Math.max(de,ie);W.current={lineStart:_e,lineEnd:le,side:F}},[Ue,U]),on=x.useCallback(F=>{const{change:B,side:z,renderDefault:Y,inHoverState:ne}=F,J=Fe(B,z);if(!J)return Y();const de=`${z}-${J}`,ie=V.get(de),_e=ie&&ie.length>0,le=(ie==null?void 0:ie.some(Ne=>Ne.root.status==="open"||Ne.replies.some(pe=>pe.status==="open")))||!1,Ce=S&&S.side===z&&J>=S.lineStart&&J<=S.lineEnd;return u.jsxDEV("div",{className:"flex items-center gap-0.5",children:[u.jsxDEV("span",{className:X(Ce&&"bg-blue-100 dark:bg-blue-900/40"),children:Y()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:945,columnNumber:11},this),u.jsxDEV("div",{className:"w-5 flex items-center justify-center",children:_e?u.jsxDEV(Am,{commentCount:ie.length,hasUnresolved:le,onClick:()=>{var re;const Ne=ie[0].root.id,pe=(re=K.current)==null?void 0:re.querySelector(`[data-comment-id="${Ne}"]`);pe&&(pe.scrollIntoView({behavior:"smooth",block:"center"}),pe instanceof HTMLElement&&pe.focus({preventScroll:!0}))}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:952,columnNumber:15},this):(!l||!ne?!1:a==="split"?!0:B.type==="delete"?z==="old":z==="new")?u.jsxDEV("button",{className:"h-4 w-4 rounded-full bg-blue-500 hover:bg-blue-600 text-white flex items-center justify-center opacity-60 hover:opacity-100",onMouseDown:()=>Dn(z),onClick:pe=>{var he,pa;pe.stopPropagation();const re=(((he=W.current)==null?void 0:he.side)===z?W.current:null)??((S==null?void 0:S.side)===z?S:null)??{lineStart:J,lineEnd:J,side:z};O({lineStart:re.lineStart,lineEnd:re.lineEnd,side:re.side}),W.current=null,(pa=window.getSelection())==null||pa.removeAllRanges()},title:"Add comment","aria-label":`Add comment on line ${J}`,children:u.jsxDEV(gr,{className:"h-2.5 w-2.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1013,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:987,columnNumber:19},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:950,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:943,columnNumber:9},this)},[V,S,l,a,Dn]),Hn=x.useCallback(({changes:F})=>{if(!S||F.length===0)return"";const B=F.find(ne=>ne!==null);if(!B)return"";const z=S.side,Y=Fe(B,z);return Y&&Y>=S.lineStart&&Y<=S.lineEnd?"bg-blue-50 dark:bg-blue-900/30":""},[S]);if(t)return u.jsxDEV(Um,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1048,columnNumber:12},this);if(r)return u.jsxDEV(Km,{message:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1052,columnNumber:12},this);if(G)return u.jsxDEV(Hm,{filePath:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1056,columnNumber:12},this);if(!R||!R.hunks||R.hunks.length===0)return u.jsxDEV(Wm,{fileInfo:w},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1060,columnNumber:12},this);const Xe=R.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="insert").length,0),Cn=R.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="delete").length,0),qe=o.filter(F=>F.parentId===null).length;return u.jsxDEV("div",{ref:K,className:"h-full flex flex-col",role:"region","aria-label":`Diff viewer for ${n}`,children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2 bg-card shrink-0",children:[u.jsxDEV(Oe,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1084,columnNumber:9},this),u.jsxDEV("span",{className:"font-mono text-sm truncate",children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1085,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 ml-2",role:"group","aria-label":"File statistics",children:[u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300","aria-label":`${Xe} lines added`,children:["+",Xe]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1087,columnNumber:11},this),u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300","aria-label":`${Cn} lines removed`,children:["-",Cn]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1094,columnNumber:11},this),qe>0&&u.jsxDEV(xe,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700","aria-label":`${qe} comments`,children:[u.jsxDEV(Ae,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1107,columnNumber:15},this),qe]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1102,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1086,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1112,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 border rounded-md p-0.5",role:"group","aria-label":"View type",children:[u.jsxDEV(ee,{variant:a==="unified"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>i("unified"),title:"Unified view","aria-pressed":a==="unified",children:[u.jsxDEV(Qo,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1127,columnNumber:13},this),"Unified"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1119,columnNumber:11},this),u.jsxDEV(ee,{variant:a==="split"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>i("split"),title:"Side-by-side view","aria-pressed":a==="split",children:[u.jsxDEV($o,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1138,columnNumber:13},this),"Split"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1130,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1114,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1083,columnNumber:7},this),u.jsxDEV(dr,{className:"flex-1",children:[u.jsxDEV("div",{className:X("diff-viewer",a==="split"&&"diff-split"),children:u.jsxDEV(dp,{viewType:a,diffType:R.type,hunks:R.hunks,tokens:ce,widgets:oe,renderGutter:on,generateLineClassName:Hn,gutterEvents:{onMouseDown:Me,onClick:Sn},children:F=>F.map(B=>{const z=ke(B.changes[0]),Y=!k.has(z);return u.jsxDEV(Xm,{hunk:B,hunkKey:z,isExpanded:Y,onToggleExpand:()=>{j(ne=>{const J=new Set(ne);return J.has(z)?J.delete(z):J.add(z),J})},viewType:a,children:u.jsxDEV(As,{hunk:B},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1183,columnNumber:21},this)},z,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1165,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1147,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1146,columnNumber:9},this),u.jsxDEV(mo,{orientation:"horizontal"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1190,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1145,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1076,columnNumber:5},this)}const qm={comment:{icon:Ae,label:"Comment",className:"text-gray-500"},suggestion:{icon:br,label:"Suggestion",className:"text-blue-500"},issue:{icon:Nn,label:"Issue",className:"text-orange-500"},approval:{icon:fr,label:"Approval",className:"text-green-500"}},Zm={open:{icon:Nn,label:"Open",badgeVariant:"secondary"},resolved:{icon:Rn,label:"Resolved",badgeVariant:"outline"},wont_fix:{icon:ft,label:"Won't Fix",badgeVariant:"outline"}};function Qm(e,n=60){const t=e.replace(/\n/g," ").trim();return t.length<=n?t:t.slice(0,n).trim()+"…"}function Jm(e){if(!e.filePath)return"Review-level";const n=e.filePath.split("/").pop()||e.filePath,t=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`:${e.lineStart}-${e.lineEnd}`:`:${e.lineStart}`:"";return`${n}${t}`}function bi({comment:e,replyCount:n,isPending:t,onClick:r,isSelected:a=!1,className:i}){var b;const s=qm[e.commentType],o=Zm[e.status],l=s.icon,c=o.icon,p=e.authorType==="agent",m=p?$e:xi,h=p?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",f=Jm(e),d=Qm(e.content),g=[s.label,"by",h,"-",d,"-",f,"-",o.label,n>0?`- ${n} ${n===1?"reply":"replies"}`:"",t?"- Pending response":""].filter(Boolean).join(" ");return u.jsxDEV("button",{type:"button",onClick:r,className:X("w-full text-left p-2 rounded-md border transition-colors","hover:bg-accent hover:border-accent-foreground/20","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",t&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",a&&"bg-accent border-accent-foreground/30",e.status!=="open"&&!a&&"opacity-60",i),"aria-label":g,"data-testid":"comment-reference-item",children:[u.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[u.jsxDEV(l,{className:X("h-4 w-4 flex-shrink-0",s.className),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:174,columnNumber:9},this),u.jsxDEV("div",{className:X("flex items-center gap-1 text-xs font-medium min-w-0",p?"text-purple-700 dark:text-purple-400":"text-foreground"),children:[u.jsxDEV(m,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:186,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",children:h},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:187,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:180,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:191,columnNumber:9},this),u.jsxDEV(xe,{variant:o.badgeVariant,className:X("text-[10px] px-1.5 py-0 h-4 flex-shrink-0",e.status==="open"&&"bg-amber-100 text-amber-800 dark:bg-amber-900/50 dark:text-amber-400",e.status==="resolved"&&"text-green-600 dark:text-green-400",e.status==="wont_fix"&&"text-gray-500"),children:[u.jsxDEV(c,{className:"h-2.5 w-2.5 mr-0.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:204,columnNumber:11},this),o.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:194,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:172,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-foreground truncate mb-1",title:e.content,children:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:210,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[u.jsxDEV("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:218,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",title:e.filePath??"Review-level",children:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:219,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:217,columnNumber:9},this),n>0&&u.jsxDEV("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[u.jsxDEV(Ko,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:227,columnNumber:13},this),u.jsxDEV("span",{children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:228,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:226,columnNumber:11},this),t&&u.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:"Pending"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:234,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:215,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:153,columnNumber:5},this)}function ed(e){let t=(r=>r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"))(e);return t=t.replace(/```(\w+)?\n([\s\S]*?)```/g,'<pre class="bg-muted p-2 rounded text-sm overflow-x-auto"><code>$2</code></pre>').replace(/`([^`]+)`/g,'<code class="bg-muted px-1 rounded text-sm">$1</code>').replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>").replace(/\*([^*]+)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,(r,a,i)=>`<a href="${/^(https?:|mailto:|#|\/)/i.test(i)?i:"#"}" class="text-blue-600 underline" target="_blank" rel="noopener noreferrer">${a}</a>`).replace(/\n/g,"<br />"),xo.sanitize(t,{ALLOWED_TAGS:["pre","code","strong","em","a","br"],ALLOWED_ATTR:["href","class","target","rel"],ALLOW_DATA_ATTR:!1})}const nd=[{value:"comment",label:"Comment",icon:Ae},{value:"suggestion",label:"Suggestion",icon:br},{value:"issue",label:"Issue",icon:Nn},{value:"approval",label:"Approval",icon:fr}];async function td(e){const n=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!n.ok)throw new Error("Failed to fetch agents");return n.json()}function rd({open:e,onOpenChange:n,filePath:t,lineStart:r,lineEnd:a,side:i,projectId:s,reviewId:o,onSubmit:l,isSubmitting:c=!1}){const[p,m]=x.useState(""),[h,f]=x.useState("comment"),[d,g]=x.useState(new Set),[b,N]=x.useState(""),[y,w]=x.useState("write"),[v,E]=x.useState(!1),S=x.useRef(null),{data:C}=hr({queryKey:["agents",s],queryFn:()=>td(s),enabled:e&&!!s}),D=(C==null?void 0:C.items)??[],{showAutocomplete:O,mentionQuery:k,selectedIndex:j,handleInputChange:M,handleKeyDown:_,insertMention:$}=wi(S,D,V=>{g(oe=>new Set([...oe,V.id]))}),K=x.useMemo(()=>D.filter(V=>V.name.toLowerCase().includes(k.toLowerCase())),[D,k]),W=V=>{const oe=$(V,p);m(oe),g(Me=>new Set([...Me,V.id]))},A=x.useMemo(()=>{if(!b.trim())return D;const V=b.toLowerCase();return D.filter(oe=>oe.name.toLowerCase().includes(V))},[D,b]),R=8,U=x.useMemo(()=>{if(v)return A;const V=A.slice(0,R),oe=A.filter(Me=>d.has(Me.id)&&!V.some(Sn=>Sn.id===Me.id));return[...V,...oe]},[A,v,d]),T=A.length>R,G=x.useMemo(()=>t?r===null?t:a===null||a===r?`${t}:${r} (${i==="old"?"old":"new"})`:`${t}:${r}-${a} (${i==="old"?"old":"new"})`:"Review-level comment",[t,r,a,i]),Z=async()=>{if(!p.trim())return;const V=yi(p,D),oe=[...new Set([...d,...V])];await l({content:p.trim(),commentType:h,assignedAgentIds:oe,filePath:t,lineStart:r,lineEnd:a,side:i}),m(""),f("comment"),g(new Set),N(""),w("write")},ce=()=>{m(""),f("comment"),g(new Set),N(""),w("write"),n(!1)};return u.jsxDEV(it,{open:e,onOpenChange:n,children:u.jsxDEV(st,{className:"max-w-2xl max-h-[90vh] flex flex-col",children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{className:"flex items-center gap-2",children:[u.jsxDEV(Ae,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:255,columnNumber:13},this),"New Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:254,columnNumber:11},this),u.jsxDEV(ut,{className:"flex items-center gap-2 font-mono text-xs",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:259,columnNumber:13},this),G]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:258,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:253,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 space-y-4 overflow-hidden",children:[u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Pt,{children:"Comment Type"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:267,columnNumber:13},this),u.jsxDEV(ho,{value:h,onValueChange:V=>f(V),children:[u.jsxDEV(fo,{className:"w-[200px]","aria-label":"Select comment type",children:u.jsxDEV(go,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:270,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:269,columnNumber:15},this),u.jsxDEV(bo,{children:nd.map(V=>{const oe=V.icon;return u.jsxDEV(vo,{value:V.value,children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(oe,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:278,columnNumber:25},this),V.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:277,columnNumber:23},this)},V.value,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:276,columnNumber:21},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:272,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:268,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:266,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV(Pt,{children:"Content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:291,columnNumber:15},this),u.jsxDEV(No,{value:y,onValueChange:V=>w(V),children:u.jsxDEV(wo,{className:"h-8",children:[u.jsxDEV(ba,{value:"write",className:"text-xs px-2 h-6",children:[u.jsxDEV(Yo,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:295,columnNumber:21},this),"Write"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:294,columnNumber:19},this),u.jsxDEV(ba,{value:"preview",className:"text-xs px-2 h-6",children:[u.jsxDEV(yo,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:299,columnNumber:21},this),"Preview"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:298,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:293,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:292,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:290,columnNumber:13},this),y==="write"?u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(at,{ref:S,value:p,onChange:V=>{m(V.target.value),M(V.target.value,V.target.selectionStart)},onKeyDown:V=>{_(V,p,m)},placeholder:"Write your comment... (Markdown supported, type @ to mention agents)",className:"min-h-[150px] font-mono text-sm",disabled:c},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:308,columnNumber:17},this),O&&K.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:K.map((V,oe)=>u.jsxDEV("button",{type:"button",className:X("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",oe===j&&"bg-accent"),onClick:()=>W(V),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:335,columnNumber:25},this),V.name]},V.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:326,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:324,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:307,columnNumber:15},this):u.jsxDEV("div",{className:"min-h-[150px] p-3 border rounded-md bg-muted/30 prose prose-sm max-w-none",dangerouslySetInnerHTML:{__html:p.trim()?ed(p):'<span class="text-muted-foreground">Nothing to preview</span>'}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:343,columnNumber:15},this),u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Supports basic Markdown: **bold**, *italic*, `code`, ```code blocks```, [links](url)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:353,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Pt,{className:"flex items-center gap-2",children:[u.jsxDEV($e,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:361,columnNumber:15},this),"Assign to Agents (optional)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:360,columnNumber:13},this),D.length>0?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV(Nr,{type:"multiple",value:Array.from(d),onValueChange:V=>g(new Set(V)),className:"flex-wrap !justify-start gap-1",children:U.map(V=>u.jsxDEV(wr,{value:V.id,size:"sm",variant:"outline",className:"h-7 text-sm gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${V.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:384,columnNumber:25},this),V.name]},V.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:376,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:369,columnNumber:19},this),U.length===0&&b.trim()&&u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:390,columnNumber:21},this),T&&!v&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-sm px-2",onClick:()=>E(!0),children:["+",A.length-R," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:393,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:368,columnNumber:17},this),v&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(pr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:409,columnNumber:25},this),u.jsxDEV(mr,{value:b,onChange:V=>N(V.target.value),placeholder:"Search agents...",className:"pl-8"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:410,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:408,columnNumber:23},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",onClick:()=>{E(!1),N("")},children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:417,columnNumber:23},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:407,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:406,columnNumber:19},this),d.size>0?u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:[d.size," agent",d.size>1?"s":""," selected"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:433,columnNumber:19},this):u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"No agents selected — no notifications will be sent"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:437,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:366,columnNumber:15},this):u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents available"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:443,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:359,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:264,columnNumber:9},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:ce,disabled:c,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:449,columnNumber:11},this),u.jsxDEV(ee,{onClick:Z,disabled:!p.trim()||c,children:c?"Posting...":"Post Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:452,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:448,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:252,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:251,columnNumber:5},this)}function ad(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n.content,commentType:n.commentType,filePath:n.filePath,lineStart:n.lineStart,lineEnd:n.lineEnd,side:n.side,targetAgentIds:n.targetAgentIds})});if(!t.ok)throw new Error("Failed to create comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]),r={id:`temp-${Date.now()}`,reviewId:n.reviewId,filePath:n.filePath,parentId:null,lineStart:n.lineStart,lineEnd:n.lineEnd,side:n.side,content:n.content,commentType:n.commentType,status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",n.reviewId],a=>a?{...a,items:[r,...a.items],total:a.total+1}:{items:[r],total:1,limit:100,offset:0}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to create comment",description:"Your comment could not be posted. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Id(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentId:n.parentId,content:n.content,commentType:"comment",targetAgentIds:n.targetAgentIds})});if(!t.ok)throw new Error("Failed to post reply");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]),r=t==null?void 0:t.items.find(i=>i.id===n.parentId),a={id:`temp-${Date.now()}`,reviewId:n.reviewId,filePath:(r==null?void 0:r.filePath)??null,parentId:n.parentId,lineStart:(r==null?void 0:r.lineStart)??null,lineEnd:(r==null?void 0:r.lineEnd)??null,side:(r==null?void 0:r.side)??null,content:n.content,commentType:"comment",status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",n.reviewId],i=>i?{...i,items:[...i.items,a],total:i.total+1}:{items:[a],total:1,limit:100,offset:0}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to post reply",description:"Your reply could not be posted. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function _d(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}/resolve`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:n.status,version:n.version})});if(!t.ok)throw new Error("Failed to resolve comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===n.commentId?{...a,status:n.status,version:n.version+1}:a)}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to resolve comment",description:"The comment could not be resolved. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Rd(){const e=wn();return $n({mutationFn:async n=>{if(!(await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}`,{method:"DELETE"})).ok)throw new Error("Failed to delete comment")},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>{if(!r)return r;const a=new Map;r.items.forEach(l=>{if(!l.parentId)return;const c=a.get(l.parentId);c?c.push(l.id):a.set(l.parentId,[l.id])});const i=new Set,s=[n.commentId];for(;s.length>0;){const l=s.pop();if(!l||i.has(l))continue;i.add(l);const c=a.get(l);c&&s.push(...c)}const o=r.items.filter(l=>!i.has(l.id));return{...r,items:o,total:o.length}}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to delete comment",description:"The comment could not be deleted. Please try again.",variant:"destructive"})},onSuccess:()=>{gn({title:"Comment deleted",description:"The comment has been deleted."})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function jd(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n.content,version:n.version})});if(!t.ok)throw new Error("Failed to edit comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===n.commentId?{...a,content:n.content,version:n.version+1,editedAt:new Date().toISOString(),updatedAt:new Date().toISOString()}:a)}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to edit comment",description:"The comment could not be updated. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Kt({filter:e,currentFilter:n,onClick:t,count:r,icon:a,label:i}){const s=e===n;return u.jsxDEV(ee,{variant:s?"secondary":"ghost",size:"sm",onClick:t,className:X("h-7 text-xs gap-1",s&&"bg-secondary"),"aria-pressed":s,"aria-label":`${i} filter${r!==void 0?`, ${r} comments`:""}`,children:[u.jsxDEV(a,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:89,columnNumber:7},this),i,r!==void 0&&u.jsxDEV(xe,{variant:"outline",className:"h-4 px-1 text-[10px] ml-1","aria-hidden":"true",children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:92,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:81,columnNumber:5},this)}function id(){return u.jsxDEV("div",{className:"p-4 space-y-4",children:Array.from({length:3}).map((e,n)=>u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-4 w-4 rounded-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:106,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-24"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:107,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-16"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:108,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:105,columnNumber:11},this),u.jsxDEV(Pe,{className:"h-16 w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:110,columnNumber:11},this)]},n,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:104,columnNumber:9},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:102,columnNumber:5},this)}function sd({filter:e,_selectedFile:n,onAddComment:t}){const r=()=>{switch(e){case"file":return"No file comments yet";case"review":return"No review-level comments";default:return"No comments yet"}};return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-4",children:[u.jsxDEV(Ae,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:139,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:r()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:140,columnNumber:7},this),e==="review"&&t&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"mt-3",onClick:t,children:[u.jsxDEV(gr,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:143,columnNumber:11},this),"Add Review Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:142,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:138,columnNumber:5},this)}function od({group:e,isExpanded:n,isSelected:t,onToggle:r,onSelect:a}){const i=()=>{a==null||a(),n||r()};return u.jsxDEV("div",{className:X("flex items-center gap-1 w-full rounded-md","hover:bg-accent transition-colors",t&&"bg-accent/50 border-l-2 border-l-primary"),"data-testid":"file-group-header","aria-expanded":n,children:[u.jsxDEV("button",{type:"button",onClick:r,className:"shrink-0 p-2 rounded hover:bg-accent-foreground/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":n?"Collapse":"Expand","aria-expanded":n,children:u.jsxDEV(ht,{className:X("h-4 w-4 transition-transform",n&&"rotate-90"),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:201,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("button",{type:"button",onClick:i,className:"flex items-center gap-2 flex-1 min-w-0 py-2 pr-2 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-r-md",children:[u.jsxDEV(Oe,{className:"h-4 w-4 shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:212,columnNumber:9},this),u.jsxDEV("span",{className:"flex-1 truncate font-medium text-sm",children:e.fileName},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:213,columnNumber:9},this),t&&u.jsxDEV(Oo,{className:"h-2 w-2 fill-primary text-primary shrink-0","aria-label":"Selected file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:215,columnNumber:11},this),u.jsxDEV(xe,{variant:"secondary",className:"text-xs shrink-0",children:e.comments.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:220,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:207,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:183,columnNumber:5},this)}function Od({reviewId:e,review:n,projectId:t,selectedFile:r,onCommentSelect:a,onNavigateToComment:i,onSelectFile:s,selectedCommentId:o,onCloseReview:l,isClosingReview:c,className:p}){const[m,h]=x.useState("all"),[f,d]=x.useState(!1),[g,b]=x.useState(new Set),N=x.useRef(null),y=ad();x.useEffect(()=>{r&&h("file")},[r]);const{data:w,isLoading:v,isError:E}=hr({queryKey:["review-comments",e],queryFn:()=>Pm(e),enabled:!!e}),S=(w==null?void 0:w.items)??[],C=x.useMemo(()=>{switch(m){case"file":return S.filter(A=>A.filePath!==null);case"review":return S.filter(A=>A.filePath===null);default:return S}},[S,m]),D=x.useMemo(()=>$m(C),[C]),O=x.useMemo(()=>C.filter(A=>A.parentId===null).sort((A,R)=>{const U=D.get(A.id)??[],T=D.get(R.id)??[],G=An({comment:A,replies:U}),Z=An({comment:R,replies:T});if(G!==Z)return G?-1:1;if(A.status!==R.status){if(A.status==="open")return-1;if(R.status==="open")return 1}return new Date(R.createdAt).getTime()-new Date(A.createdAt).getTime()}),[C,D]),k=x.useMemo(()=>{if(m!=="file")return[];const A=new Map;for(const U of O)if(U.filePath){const T=A.get(U.filePath)||[];A.set(U.filePath,[...T,U])}const R=[];for(const[U,T]of A){const G=T.flatMap(ce=>{const V=D.get(ce.id)??[];return[ce.createdAt,...V.map(oe=>oe.createdAt)]}),Z=Math.max(...G.map(ce=>new Date(ce).getTime()));R.push({filePath:U,fileName:U.split("/").pop()||U,comments:T,recentActivity:Z})}return R.sort((U,T)=>T.recentActivity!==U.recentActivity?T.recentActivity-U.recentActivity:U.filePath.localeCompare(T.filePath))},[O,D,m]),j=x.useMemo(()=>k.map(A=>A.filePath).join("|"),[k]);x.useEffect(()=>{m==="file"&&k.length>0&&b(new Set(k.map(A=>A.filePath)))},[m,j,k]),x.useEffect(()=>{r&&m==="file"&&b(A=>new Set([...A,r]))},[r,m]),x.useEffect(()=>{if(!r||m!=="file"||!N.current)return;const A=setTimeout(()=>{var R;(R=N.current)==null||R.scrollIntoView({behavior:"smooth",block:"nearest"})},0);return()=>clearTimeout(A)},[r,m]);const M=x.useMemo(()=>{const A=S.filter(T=>T.filePath!==null&&T.parentId===null),R=S.filter(T=>T.filePath===null&&T.parentId===null);return{all:S.filter(T=>T.parentId===null).length,file:A.length,review:R.length}},[S]),_=x.useMemo(()=>{const A=S.filter(T=>T.parentId===null),R=A.filter(T=>T.status==="open").length,U=A.filter(T=>T.status==="resolved"||T.status==="wont_fix").length;return{open:R,resolved:U}},[S]),$=A=>{i&&i({commentId:A.id,filePath:A.filePath,lineStart:A.lineStart,side:A.side}),a&&a(A)},K=()=>{d(!0)},W=async A=>{await y.mutateAsync({reviewId:e,content:A.content,commentType:A.commentType,filePath:A.filePath,lineStart:A.lineStart,lineEnd:A.lineEnd,side:A.side,targetAgentIds:A.assignedAgentIds}),d(!1),h("review")};return v?u.jsxDEV("div",{className:X("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(Ae,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:458,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:457,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:456,columnNumber:9},this),u.jsxDEV(id,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:462,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:455,columnNumber:7},this):E?u.jsxDEV("div",{className:X("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(Ae,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:472,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:471,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:470,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 flex items-center justify-center text-muted-foreground p-4",children:u.jsxDEV("p",{className:"text-sm",children:"Failed to load comments"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:477,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:469,columnNumber:7},this):u.jsxDEV("div",{className:X("h-full flex flex-col",p),role:"region","aria-label":"Comments panel","data-testid":"comment-panel",children:[u.jsxDEV("div",{className:"p-3 border-b space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",id:"comments-heading",children:[u.jsxDEV(Ae,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:494,columnNumber:13},this),"Comments",M.all>0&&u.jsxDEV(xe,{variant:"secondary",className:"text-xs","aria-label":`${M.all} total comments`,children:M.all},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:497,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:493,columnNumber:11},this),n&&l&&u.jsxDEV(Eo,{children:[u.jsxDEV(So,{asChild:!0,children:u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs",disabled:c,children:[u.jsxDEV(ft,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:517,columnNumber:19},this),"Close Review"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:511,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:510,columnNumber:15},this),u.jsxDEV(Do,{children:[u.jsxDEV(Co,{children:[u.jsxDEV(To,{children:"Close review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:523,columnNumber:19},this),u.jsxDEV(ko,{asChild:!0,children:u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("p",{children:"Are you sure you want to close this review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:526,columnNumber:23},this),_.open>0&&u.jsxDEV("p",{className:"text-amber-700 dark:text-amber-500",children:[_.open," open comment",_.open!==1?"s":""," will be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:528,columnNumber:25},this),_.resolved>0&&u.jsxDEV("p",{className:"text-muted-foreground",children:[_.resolved," resolved comment",_.resolved!==1?"s":""," will be kept."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:534,columnNumber:25},this),_.open===0&&_.resolved===0&&u.jsxDEV("p",{className:"text-muted-foreground",children:"No comments in this review."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:540,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:525,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:524,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:522,columnNumber:17},this),u.jsxDEV(Ao,{children:[u.jsxDEV(Io,{children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:546,columnNumber:19},this),u.jsxDEV(_o,{onClick:l,disabled:c,children:c?"Closing...":"Close Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:547,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:545,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:521,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:509,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:492,columnNumber:9},this),u.jsxDEV("div",{className:"flex gap-1 flex-wrap",role:"group","aria-label":"Comment filters",children:[u.jsxDEV(Kt,{filter:"all",currentFilter:m,onClick:()=>h("all"),count:M.all,icon:Ro,label:"All"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:558,columnNumber:11},this),u.jsxDEV(Kt,{filter:"file",currentFilter:m,onClick:()=>h("file"),count:M.file,icon:Oe,label:"Files"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:566,columnNumber:11},this),u.jsxDEV(Kt,{filter:"review",currentFilter:m,onClick:()=>h("review"),count:M.review,icon:jo,label:"Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:574,columnNumber:11},this),m==="review"&&t&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 ml-auto",onClick:K,children:[u.jsxDEV(gr,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:590,columnNumber:15},this),"Add Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:584,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:557,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:491,columnNumber:7},this),u.jsxDEV(dr,{className:"flex-1",children:O.length===0?u.jsxDEV(sd,{filter:m,_selectedFile:r,onAddComment:t?K:void 0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:600,columnNumber:11},this):m==="file"?u.jsxDEV("div",{className:"p-3 space-y-1","aria-labelledby":"comments-heading",children:k.map(A=>{const R=g.has(A.filePath),U=r===A.filePath;return u.jsxDEV("div",{ref:U?N:void 0,"data-testid":"file-group",children:[u.jsxDEV(od,{group:A,isExpanded:R,isSelected:U,onToggle:()=>{b(T=>{const G=new Set(T);return G.has(A.filePath)?G.delete(A.filePath):G.add(A.filePath),G})},onSelect:()=>s==null?void 0:s(A.filePath)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:617,columnNumber:19},this),R&&u.jsxDEV("div",{className:"ml-6 mt-1 space-y-2",children:A.comments.map(T=>{const G=D.get(T.id)??[],Z=An({comment:T,replies:G});return u.jsxDEV(bi,{comment:T,replyCount:G.length,isPending:Z,onClick:()=>$(T),isSelected:o===T.id},T.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:640,columnNumber:27},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:635,columnNumber:21},this)]},A.filePath,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:612,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:607,columnNumber:11},this):u.jsxDEV("div",{className:"p-3 space-y-2","aria-labelledby":"comments-heading",children:O.map(A=>{const R=D.get(A.id)??[],U=An({comment:A,replies:R});return u.jsxDEV(bi,{comment:A,replyCount:R.length,isPending:U,onClick:()=>$(A),isSelected:o===A.id},A.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:664,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:658,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:598,columnNumber:7},this),t&&u.jsxDEV(rd,{open:f,onOpenChange:d,filePath:null,lineStart:null,lineEnd:null,side:null,projectId:t,reviewId:e,onSubmit:W,isSubmitting:y.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:680,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:484,columnNumber:5},this)}function ld(){const e=document.activeElement;if(!e)return!1;const n=e.tagName.toLowerCase();return n==="input"||n==="textarea"||n==="select"||e.getAttribute("contenteditable")==="true"}const ud=[{key:"j",description:"Next file"},{key:"k",description:"Previous file"},{key:"n",description:"Next comment"},{key:"p",description:"Previous comment"},{key:"c",description:"Add comment on selected line"},{key:"r",description:"Reply to focused comment"},{key:"Escape",description:"Close dialog / Clear selection"},{key:"⌘/Ctrl + Enter",description:"Submit comment"},{key:"?",description:"Show keyboard shortcuts"}];function Vd(e){const{enabled:n=!0,handlers:t}=e,[r,a]=x.useState(!1),i=x.useCallback(()=>a(!0),[]),s=x.useCallback(()=>a(!1),[]),o=x.useCallback(()=>a(l=>!l),[]);return x.useEffect(()=>{if(!n)return;const l=c=>{if(c.key==="Escape"&&r){c.preventDefault(),s();return}if((c.metaKey||c.ctrlKey)&&c.key==="Enter"){t.onSubmit&&(c.preventDefault(),t.onSubmit());return}if(!ld())switch(c.key){case"j":t.onNextFile&&(c.preventDefault(),t.onNextFile());break;case"k":t.onPreviousFile&&(c.preventDefault(),t.onPreviousFile());break;case"n":t.onNextComment&&(c.preventDefault(),t.onNextComment());break;case"p":t.onPreviousComment&&(c.preventDefault(),t.onPreviousComment());break;case"c":t.onOpenComment&&(c.preventDefault(),t.onOpenComment());break;case"r":t.onReply&&(c.preventDefault(),t.onReply());break;case"Escape":t.onEscape&&(c.preventDefault(),t.onEscape());break;case"?":c.preventDefault(),o();break}};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l)}},[n,t,r,s,o]),{isHelpOpen:r,openHelp:i,closeHelp:s,toggleHelp:o}}function vi({children:e}){return u.jsxDEV(xe,{variant:"outline",className:"px-2 py-0.5 text-xs font-mono bg-muted min-w-[24px] justify-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:22,columnNumber:5},this)}function Ld({open:e,onOpenChange:n}){return u.jsxDEV(it,{open:e,onOpenChange:n,children:u.jsxDEV(st,{className:"sm:max-w-md",children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{className:"flex items-center gap-2",children:[u.jsxDEV(Vo,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:40,columnNumber:13},this),"Keyboard Shortcuts"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:39,columnNumber:11},this),u.jsxDEV(ut,{className:"sr-only",children:"List of available keyboard shortcuts for navigating the review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:43,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:38,columnNumber:9},this),u.jsxDEV("div",{className:"space-y-3 py-2",children:ud.map(t=>u.jsxDEV("div",{className:"flex items-center justify-between gap-4",children:[u.jsxDEV("span",{className:"text-sm text-muted-foreground",children:t.description},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:50,columnNumber:15},this),u.jsxDEV(vi,{children:t.key},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:51,columnNumber:15},this)]},t.key,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:49,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:47,columnNumber:9},this),u.jsxDEV("div",{className:"pt-2 text-xs text-muted-foreground text-center border-t",children:["Press ",u.jsxDEV(vi,{children:"?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:56,columnNumber:17},this)," anytime to show this help"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:55,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:37,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:36,columnNumber:5},this)}function Md(e,n){const t=wn(),r=x.useCallback(i=>{if(!e)return;const{topic:s,type:o}=i;s===`review/${e}`&&(o==="comment.created"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.resolved"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.updated"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.deleted"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="review.updated"&&t.invalidateQueries({queryKey:["review",e]})),n&&s===`project/${n}/reviews`&&(o==="comment.created"||o==="comment.resolved"||o==="comment.updated"||o==="comment.deleted"?t.invalidateQueries({queryKey:["reviews",n]}):o==="review.updated"&&t.invalidateQueries({queryKey:["reviews",n]}))},[t,e,n]),a=x.useMemo(()=>({message:r}),[r]);Lo(a,[e,n])}export{Fm as C,Ad as D,Oe as F,Ld as K,md as N,dd as R,Nd as S,Nr as T,ad as a,Id as b,_d as c,Rd as d,jd as e,Td as f,$m as g,Vd as h,An as i,wr as j,hd as k,gd as l,fd as m,Od as n,vd as o,kd as p,Dd as q,Cd as r,yd as s,xd as t,Md as u,Pm as v,wd as w,bd as x,Ed as y,Sd as z};
69
+ `).map((d,g)=>u.jsxDEV("div",{className:"px-3 py-0.5 flex",children:[u.jsxDEV("span",{className:"text-green-500 dark:text-green-400 mr-2 select-none",children:"+"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:162,columnNumber:15},this),u.jsxDEV("span",{className:"text-green-700 dark:text-green-300",children:d||" "},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:163,columnNumber:15},this)]},`new-${g}`,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:161,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:159,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:145,columnNumber:7},this),l&&i&&!o&&u.jsxDEV("div",{className:"px-3 py-2 bg-muted/50 border-t",children:u.jsxDEV(ee,{size:"sm",variant:"secondary",className:"h-7 text-xs",onClick:i,disabled:s,children:s?u.jsxDEV(u.Fragment,{children:[u.jsxDEV(io,{className:"h-3 w-3 mr-1 animate-spin"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:181,columnNumber:17},this),"Applying..."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:180,columnNumber:15},this):u.jsxDEV(u.Fragment,{children:[u.jsxDEV(so,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:186,columnNumber:17},this),"Apply Suggestion"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:185,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:172,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:171,columnNumber:9},this),o&&u.jsxDEV("div",{className:"px-3 py-2 bg-green-50 dark:bg-green-950/30 border-t",children:u.jsxDEV("span",{className:"text-xs text-green-700 dark:text-green-300 flex items-center gap-1",children:[u.jsxDEV(Rn,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:198,columnNumber:13},this),"Suggestion applied"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:197,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:196,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/SuggestionBlock.tsx",lineNumber:111,columnNumber:5},this)}function gi(e){const n=new Date(e),r=new Date().getTime()-n.getTime(),a=Math.floor(r/1e3),i=Math.floor(a/60),s=Math.floor(i/60),o=Math.floor(s/24);return a<60?"just now":i<60?`${i}m ago`:s<24?`${s}h ago`:o<7?`${o}d ago`:n.toLocaleDateString()}const jm={comment:{icon:Ae,label:"Comment",className:"bg-gray-100 text-gray-700"},suggestion:{icon:br,label:"Suggestion",className:"bg-blue-100 text-blue-700"},issue:{icon:Nn,label:"Issue",className:"bg-orange-100 text-orange-700 dark:bg-orange-900/50 dark:text-orange-300"},approval:{icon:fr,label:"Approval",className:"bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300"}},Om={open:{icon:Nn,label:"Open",className:"text-amber-700 dark:text-amber-500"},resolved:{icon:Rn,label:"Resolved",className:"text-green-600"},wont_fix:{icon:ft,label:"Won't Fix",className:"text-gray-500"}};function Ys({comment:e,isReply:n=!1,isPending:t=!1,getSessionForAgent:r,onOpenTerminal:a}){var b;const i=jm[e.commentType],s=Om[e.status],o=i.icon,l=s.icon,c=e.authorType==="agent",p=c?$e:yi,m=c?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",h=c&&e.authorAgentId&&r?r(e.authorAgentId):null,f=()=>{h&&a&&a(h)},d=(N,x,w)=>{const v=(r==null?void 0:r(N))??null;return u.jsxDEV("span",{children:[w&&", ",v&&a?u.jsxDEV("button",{onClick:()=>a(v),className:"text-amber-700 hover:text-amber-900 hover:underline font-medium",children:x},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:179,columnNumber:11},this):u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-800/70 dark:text-amber-400/70 cursor-not-allowed",children:x},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:189,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:188,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:194,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:193,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:187,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:186,columnNumber:11},this)]},N,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:176,columnNumber:7},this)},g=()=>{if(!t||!e.targetAgents||e.targetAgents.length===0)return null;const N=3,x=e.targetAgents.slice(0,N),w=e.targetAgents.length-N;return u.jsxDEV("span",{className:"text-xs text-amber-700 dark:text-amber-500 flex items-center gap-1",children:["Waiting on: ",x.map((v,E)=>d(v.agentId,v.name,E>0)),w>0&&u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"text-amber-700 dark:text-amber-500 cursor-help",children:["+",w," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:220,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:219,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:e.targetAgents.slice(N).map(v=>v.name).join(", ")},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:225,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:224,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:218,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:217,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:214,columnNumber:7},this)};return u.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[u.jsxDEV("div",{className:X("flex items-center gap-1.5 text-sm font-medium",c?"text-purple-700":"text-foreground"),children:[u.jsxDEV(p,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:248,columnNumber:9},this),c&&h&&a?u.jsxDEV("button",{onClick:f,className:"hover:underline",title:"Open terminal",children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:250,columnNumber:11},this):c&&!h&&r?u.jsxDEV(Ot,{children:u.jsxDEV(Vt,{children:[u.jsxDEV(Lt,{asChild:!0,children:u.jsxDEV("span",{className:"cursor-not-allowed opacity-75",children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:257,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:256,columnNumber:15},this),u.jsxDEV(Mt,{children:u.jsxDEV("p",{children:"No running session"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:260,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:259,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:255,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:254,columnNumber:11},this):u.jsxDEV("span",{children:m},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:265,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:242,columnNumber:7},this),!n&&u.jsxDEV(ye,{variant:"secondary",className:X("text-xs",i.className),"aria-label":`Comment type: ${i.label}`,children:[u.jsxDEV(o,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:276,columnNumber:11},this),i.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:271,columnNumber:9},this),!n&&u.jsxDEV("span",{className:X("flex items-center gap-1 text-xs",s.className),role:"status","aria-label":`Status: ${s.label}`,children:[u.jsxDEV(l,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:288,columnNumber:11},this),s.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:283,columnNumber:9},this),!n&&t?g():!n&&e.targetAgents&&e.targetAgents.length>0&&u.jsxDEV(ye,{variant:"outline",className:"text-xs",title:e.targetAgents.map(N=>N.name).join(", "),children:["Sent to: ",e.targetAgents.length]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:299,columnNumber:13},this),u.jsxDEV("time",{className:"text-xs text-muted-foreground",dateTime:e.createdAt,children:gi(e.createdAt)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:309,columnNumber:7},this),e.editedAt&&u.jsxDEV("span",{className:"text-xs text-muted-foreground italic",title:`Edited ${gi(e.editedAt)}`,children:"(edited)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:315,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:240,columnNumber:5},this)}function Vm({comment:e}){if(!e.filePath)return null;const n=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`L${e.lineStart}-${e.lineEnd}`:`L${e.lineStart}`:null;return u.jsxDEV("div",{className:"flex items-center gap-1.5 text-xs text-muted-foreground mt-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:338,columnNumber:7},this),u.jsxDEV("span",{className:"font-mono",children:e.filePath},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:339,columnNumber:7},this),n&&u.jsxDEV("span",{className:"text-muted-foreground",children:["(",n,")"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:340,columnNumber:20},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:337,columnNumber:5},this)}function Lm({reply:e,getSessionForAgent:n,onOpenTerminal:t}){return u.jsxDEV("div",{className:"pl-4 border-l-2 border-muted mt-2",children:[u.jsxDEV(Ys,{comment:e,isReply:!0,getSessionForAgent:n,onOpenTerminal:t},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:356,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm mt-1 whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:362,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:355,columnNumber:5},this)}function Mm({comment:e,replies:n=[],isPending:t=!1,getSessionForAgent:r,onOpenTerminal:a,onReply:i,onResolve:s,onApplySuggestion:o,onDelete:l,onEdit:c,isReplying:p=!1,isResolving:m=!1,isApplyingSuggestion:h=!1,isDeleting:f=!1,isEditing:d=!1,className:g}){const[b,N]=y.useState(!1),[x,w]=y.useState(""),[v,E]=y.useState(!1),[S,C]=y.useState(!1),[D,O]=y.useState("resolved"),[k,j]=y.useState(!0),[M,_]=y.useState(!1),[$,K]=y.useState(e.content),W=n.length>0,A=e.status==="open",R=e.authorType==="user",U=async()=>{!x.trim()||!i||(await i(e.id,x.trim()),w(""),N(!1))},T=async()=>{s&&(await s(e.id,D),E(!1))},G=async()=>{l&&(await l(e.id),C(!1))},Z=async()=>{!$.trim()||!c||(await c(e.id,$.trim(),e.version),_(!1))},ce=()=>{K(e.content),_(!1)};return u.jsxDEV("div",{className:X("p-3 rounded-lg border bg-card",t&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",!A&&"opacity-75",g),"data-testid":"comment-thread",children:[u.jsxDEV("div",{className:"flex items-start gap-2",children:[W&&u.jsxDEV("button",{onClick:()=>j(!k),className:"mt-0.5 p-0.5 hover:bg-muted rounded","aria-label":k?"Collapse replies":"Expand replies",children:k?u.jsxDEV(dt,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:449,columnNumber:15},this):u.jsxDEV(ht,{className:"h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:451,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:443,columnNumber:11},this),u.jsxDEV("div",{className:"flex-1 min-w-0",children:[u.jsxDEV(Ys,{comment:e,isPending:t,getSessionForAgent:r,onOpenTerminal:a},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:456,columnNumber:11},this),u.jsxDEV(Vm,{comment:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:462,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:455,columnNumber:9},this),R&&(c||l)&&!M&&u.jsxDEV(oo,{children:[u.jsxDEV(lo,{asChild:!0,children:u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-6 w-6 p-0",children:[u.jsxDEV(uo,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:469,columnNumber:17},this),u.jsxDEV("span",{className:"sr-only",children:"Comment actions"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:470,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:468,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:467,columnNumber:13},this),u.jsxDEV(co,{align:"end",children:[c&&u.jsxDEV(ga,{onClick:()=>_(!0),children:[u.jsxDEV(po,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:476,columnNumber:19},this),"Edit"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:475,columnNumber:17},this),l&&u.jsxDEV(ga,{onClick:()=>C(!0),className:"text-destructive focus:text-destructive",children:[u.jsxDEV(mo,{className:"h-4 w-4 mr-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:485,columnNumber:19},this),"Delete"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:481,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:473,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:466,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:441,columnNumber:7},this),u.jsxDEV("div",{className:X("mt-2",W&&"ml-6"),children:M?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(at,{value:$,onChange:V=>K(V.target.value),className:"min-h-[80px] text-sm",disabled:d,"aria-label":"Edit comment content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:498,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:Z,disabled:!$.trim()||d||$.trim()===e.content,children:d?"Saving...":"Save"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:506,columnNumber:15},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:ce,disabled:d,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:515,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:505,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:497,columnNumber:11},this):_m(e.content)?u.jsxDEV("div",{className:"space-y-2",children:Im(e.content).map((V,oe)=>V.type==="suggestion"?u.jsxDEV(Rm,{suggestedCode:V.content,filePath:e.filePath,lineStart:e.lineStart,lineEnd:e.lineEnd,onApply:o?()=>o(e.id):void 0,isApplying:h,isApplied:e.status==="resolved",showApplyButton:!!o&&e.status==="open"},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:524,columnNumber:17},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:V.content},oe,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:536,columnNumber:17},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:521,columnNumber:11},this):u.jsxDEV("p",{className:"text-sm whitespace-pre-wrap",children:e.content},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:543,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:495,columnNumber:7},this),W&&k&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:n.map(V=>u.jsxDEV(Lm,{reply:V,getSessionForAgent:r,onOpenTerminal:a},V.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:551,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:549,columnNumber:9},this),b&&u.jsxDEV("div",{className:"mt-3 ml-6 space-y-2",children:[u.jsxDEV(at,{placeholder:"Write a reply...",value:x,onChange:V=>w(V.target.value),className:"min-h-[80px] text-sm",disabled:p},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:564,columnNumber:11},this),u.jsxDEV("div",{className:"flex gap-2",children:[u.jsxDEV(ee,{size:"sm",onClick:U,disabled:!x.trim()||p,children:p?"Posting...":"Reply"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:572,columnNumber:13},this),u.jsxDEV(ee,{size:"sm",variant:"ghost",onClick:()=>{N(!1),w("")},children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:579,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:571,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:563,columnNumber:9},this),!M&&u.jsxDEV("div",{className:"mt-3 flex flex-wrap gap-1",role:"group","aria-label":"Comment actions",children:[i&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>N(!b),"aria-expanded":b,"aria-label":b?"Cancel reply":"Reply to this comment",children:[u.jsxDEV(Xo,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:605,columnNumber:15},this),"Reply"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:597,columnNumber:13},this),A&&s&&u.jsxDEV(ee,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>E(!0),disabled:m,"aria-label":"Resolve this comment",children:[u.jsxDEV(Rn,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:618,columnNumber:15},this),"Resolve"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:610,columnNumber:13},this),W&&u.jsxDEV("span",{className:"text-xs text-muted-foreground self-center","aria-live":"polite",children:[n.length," ",n.length===1?"reply":"replies"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:623,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:595,columnNumber:9},this),u.jsxDEV(it,{open:v,onOpenChange:E,children:u.jsxDEV(st,{children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{children:"Resolve Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:634,columnNumber:13},this),u.jsxDEV(ut,{children:"How do you want to resolve this comment?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:635,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:633,columnNumber:11},this),u.jsxDEV("fieldset",{className:"py-4",children:[u.jsxDEV("legend",{className:"sr-only",children:"Resolution status"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:638,columnNumber:13},this),u.jsxDEV("div",{className:"flex gap-4",children:[u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"resolved",checked:D==="resolved",onChange:()=>O("resolved"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:641,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Resolved"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:650,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:640,columnNumber:15},this),u.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer",children:[u.jsxDEV("input",{type:"radio",name:"resolveStatus",value:"wont_fix",checked:D==="wont_fix",onChange:()=>O("wont_fix"),className:"h-4 w-4","aria-describedby":"resolve-desc"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:653,columnNumber:17},this),u.jsxDEV("span",{className:"text-sm",children:"Won't Fix"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:662,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:652,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:639,columnNumber:13},this),u.jsxDEV("p",{id:"resolve-desc",className:"sr-only",children:"Choose resolved if the issue was addressed, or won't fix if it will not be addressed"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:665,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:637,columnNumber:11},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>E(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:671,columnNumber:13},this),u.jsxDEV(ee,{onClick:T,disabled:m,children:m?"Resolving...":"Confirm"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:674,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:670,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:632,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:631,columnNumber:7},this),u.jsxDEV(it,{open:S,onOpenChange:C,children:u.jsxDEV(st,{children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{children:"Delete Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:685,columnNumber:13},this),u.jsxDEV(ut,{children:["Are you sure you want to delete this comment? This action cannot be undone.",W&&" All replies will also be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:686,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:684,columnNumber:11},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:()=>C(!1),children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:692,columnNumber:13},this),u.jsxDEV(ee,{variant:"destructive",onClick:G,disabled:f,children:f?"Deleting...":"Delete"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:695,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:691,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:683,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:682,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentThread.tsx",lineNumber:429,columnNumber:5},this)}async function gd(e){const n=await fetch(`/api/reviews/${e}`);if(!n.ok)throw new Error("Failed to fetch review");return n.json()}async function bd(e){const n=await fetch("/api/reviews",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!n.ok)throw new Error("Failed to create review");return n.json()}async function Fm(e,n){const r=new URLSearchParams().toString(),a=r?`/api/reviews/${e}/comments?${r}`:`/api/reviews/${e}/comments`,i=await fetch(a);if(!i.ok)throw new Error("Failed to fetch review comments");return i.json()}const vd={draft:{bg:"bg-gray-100",text:"text-gray-700"},pending:{bg:"bg-yellow-100",text:"text-yellow-800"},changes_requested:{bg:"bg-orange-100",text:"text-orange-800"},approved:{bg:"bg-green-100",text:"text-green-800"},closed:{bg:"bg-slate-100",text:"text-slate-600"}},Nd={draft:"Draft",pending:"Pending",changes_requested:"Changes Requested",approved:"Approved",closed:"Closed"};async function wd(e,n){const t=new URLSearchParams({projectId:e});n!=null&&n.ref&&t.append("ref",n.ref),t.append("limit",String(n.limit));const r=await fetch(`/api/git/commits?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch commits");return r.json()}async function xd(e){const n=await fetch(`/api/git/branches?projectId=${e}`);if(!n.ok)throw new Error("Failed to fetch branches");return n.json()}async function yd(e,n,t){const r=new URLSearchParams({projectId:e,base:n,head:t}),a=await fetch(`/api/git/changed-files?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch changed files");return a.json()}async function Ed(e,n,t){const r=new URLSearchParams({projectId:e,base:n,head:t}),a=await fetch(`/api/git/diff?${r.toString()}`);if(!a.ok)throw new Error("Failed to fetch diff");return(await a.json()).diff}async function Sd(e,n="all"){const t=new URLSearchParams({projectId:e,filter:n}),r=await fetch(`/api/git/working-tree?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch working tree");return r.json()}async function Dd(e,n){const t=new URLSearchParams({projectId:e}),r=await fetch(`/api/git/commit/${n}?${t.toString()}`);if(!r.ok)throw new Error("Failed to fetch commit diff");return r.json()}async function Cd(e){const n=new URLSearchParams({projectId:e}),t=await fetch(`/api/reviews/active?${n.toString()}`);if(!t.ok)throw new Error("Failed to fetch active review");return(await t.json()).review}async function Td(e,n){const t=await fetch(`/api/reviews/${e}/close`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:n})});if(!t.ok)throw new Error("Failed to close review");return t.json()}function Xs(e){const n=new Map;for(const t of e)if(t.parentId!==null){const r=n.get(t.parentId);r?r.push(t):n.set(t.parentId,[t])}return n}function ca(e,n){const t=n.get(e)||[],r=[];for(const a of t)r.push(a),r.push(...ca(a.id,n));return r.sort((a,i)=>new Date(a.createdAt).getTime()-new Date(i.createdAt).getTime())}function Pm(e){const n=new Map,t=Xs(e);return e.filter(a=>a.parentId===null).forEach(a=>{const i=ca(a.id,t);n.set(a.id,i)}),n}function $m(e){const n=Xs(e),t=new Map;for(const r of e)if(r.lineStart!==null&&r.parentId===null){const a=`${r.side||"new"}-${r.lineStart}`,i={root:r,replies:ca(r.id,n)},s=t.get(a)||[];t.set(a,[...s,i])}for(const[r,a]of t)a.sort((i,s)=>new Date(i.root.createdAt).getTime()-new Date(s.root.createdAt).getTime()),t.set(r,a);return t}function An(e){const{comment:n,replies:t}=e;if(n.parentId!==null||n.status!=="open")return!1;const r=new Set(n.targetAgents.map(s=>s.agentId));if(r.size===0)return!1;let a=n.authorType==="user"?new Date(n.createdAt):null;for(const s of t)if(s.authorType==="user"){const o=new Date(s.createdAt);(!a||o>a)&&(a=o)}if(!a)return!1;let i=null;for(const s of t)if(s.authorType==="agent"&&s.authorAgentId&&r.has(s.authorAgentId)){const o=new Date(s.createdAt);(!i||o>i)&&(i=o)}return!i||a>i}const zm={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",sh:"bash",bash:"bash",zsh:"bash",json:"json",yaml:"yaml",yml:"yaml",xml:"markup",html:"markup",css:"css",scss:"scss",less:"less",md:"markdown",sql:"sql",graphql:"graphql",dockerfile:"docker",makefile:"makefile"};function Bm(e){var t;const n=(t=e.split(".").pop())==null?void 0:t.toLowerCase();return n&&zm[n]||null}function Gm(){return u.jsxDEV("div",{className:"h-full flex flex-col",children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:129,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-5 w-48"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:130,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:131,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:132,columnNumber:9},this),u.jsxDEV(Pe,{className:"h-8 w-20"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:133,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:128,columnNumber:7},this),u.jsxDEV("div",{className:"flex-1 p-4 space-y-2",children:Array.from({length:15}).map((e,n)=>u.jsxDEV(Pe,{className:"h-5 w-full",style:{width:`${60+Math.random()*40}%`}},n,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:137,columnNumber:11},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:135,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:127,columnNumber:5},this)}function Um({filePath:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Po,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:151,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Binary file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:152,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:["Cannot display diff for binary file: ",e]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:153,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:150,columnNumber:5},this)}function Hm({message:e}){return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-destructive p-8",children:[u.jsxDEV(Nn,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:161,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"Failed to load diff"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:162,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:163,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:160,columnNumber:5},this)}function Km({fileInfo:e}){return(e==null?void 0:e.status)==="added"&&(e==null?void 0:e.additions)===0&&(e==null?void 0:e.deletions)===0?u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:181,columnNumber:9},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"New file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:182,columnNumber:9},this),u.jsxDEV("p",{className:"text-sm text-center max-w-md",children:"This is an untracked file. The diff content may not be available if the file is binary, too large, or was skipped during diff generation."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:183,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:180,columnNumber:7},this):u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-8",children:[u.jsxDEV(Oe,{className:"h-12 w-12 mb-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:193,columnNumber:7},this),u.jsxDEV("p",{className:"text-lg font-medium mb-2",children:"No changes"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:"This file has no visible changes."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:195,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:192,columnNumber:5},this)}function Fe(e,n){return e.type==="insert"?n==="new"?e.lineNumber:null:e.type==="delete"?n==="old"?e.lineNumber:null:n==="old"?e.oldLineNumber:e.newLineNumber}const Wm=8,Ym=y.memo(function({hunk:n,hunkKey:t,isExpanded:r,onToggleExpand:a,children:i,viewType:s}){const o=y.useRef(null),[l,c]=y.useState(!1);y.useEffect(()=>{const g=o.current;if(!g)return;const b=new IntersectionObserver(N=>{N.forEach(x=>{x.isIntersecting&&c(!0)})},{rootMargin:"200px",threshold:0});return b.observe(g),()=>{b.disconnect()}},[]);const p=n.changes.length,m=p>Wm*2,h=n.oldStart,f=n.newStart,d=s==="split"?4:3;return u.jsxDEV(u.Fragment,{children:[u.jsxDEV("tbody",{ref:o,"data-hunk-key":t,children:m?u.jsxDEV("tr",{className:"bg-muted/50 border-y text-xs text-muted-foreground",children:u.jsxDEV("td",{colSpan:d,className:"px-2 py-1",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("button",{onClick:a,className:"flex items-center gap-1 hover:text-foreground","aria-expanded":r,"aria-label":`${r?"Collapse":"Expand"} ${p} lines`,children:[r?u.jsxDEV(dt,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:288,columnNumber:21},this):u.jsxDEV(ht,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:290,columnNumber:21},this),u.jsxDEV("span",{children:[r?"Collapse":"Expand"," ",p," lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:292,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:281,columnNumber:17},this),u.jsxDEV("span",{className:"text-muted-foreground/60","aria-label":`Hunk at line ${h} old, ${f} new`,children:["@@ -",h," +",f," @@"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:296,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:280,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:279,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:278,columnNumber:11},this):u.jsxDEV("tr",{className:"h-0",children:u.jsxDEV("td",{colSpan:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:308,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:307,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:276,columnNumber:7},this),!m||r?l?i:u.jsxDEV("tbody",{children:u.jsxDEV("tr",{style:{height:`${p*22}px`},children:u.jsxDEV("td",{colSpan:d,className:"text-center text-muted-foreground text-sm py-4",children:u.jsxDEV(Ft,{className:"h-4 w-4 animate-pulse inline-block"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:323,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:322,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:321,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:320,columnNumber:11},this):u.jsxDEV("tbody",{children:u.jsxDEV("tr",{children:u.jsxDEV("td",{colSpan:d,children:u.jsxDEV("button",{onClick:a,className:"w-full flex items-center justify-center gap-2 py-2 text-xs text-muted-foreground hover:bg-muted/50 border-b","aria-expanded":!1,"aria-label":`Show ${p} hidden lines`,children:[u.jsxDEV(Ft,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:339,columnNumber:17},this),u.jsxDEV("span",{children:["Show ",p," hidden lines"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:340,columnNumber:17},this),u.jsxDEV(Ft,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:341,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:333,columnNumber:15},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:332,columnNumber:13},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:331,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:330,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:274,columnNumber:5},this)});function kd({diff:e,filePath:n,isLoading:t,error:r,viewType:a,onViewTypeChange:i,projectId:s,comments:o=[],onAddComment:l,onReplyToComment:c,onResolveComment:p,onDeleteComment:m,onEditComment:h,isSubmittingComment:f=!1,isResolvingComment:d=!1,isDeletingComment:g=!1,isEditingComment:b=!1,getSessionForAgent:N,onOpenTerminal:x,fileInfo:w,selectedCommentId:v,onClearSelectedComment:E}){const[S,C]=y.useState(null),[D,O]=y.useState(null),[k,j]=y.useState(new Set);y.useEffect(()=>{j(new Set)},[n]);const[M,_]=y.useState(!1),$=y.useRef(null),K=y.useRef(null),W=y.useRef(null);y.useEffect(()=>{const F=z=>{z.key==="Escape"&&(S||D)&&(C(null),O(null))},B=z=>{K.current&&!K.current.contains(z.target)&&S&&!D&&C(null)};return document.addEventListener("keydown",F),document.addEventListener("mousedown",B),()=>{document.removeEventListener("keydown",F),document.removeEventListener("mousedown",B)}},[S,D]),y.useEffect(()=>{if(!M)return;const F=z=>{var ie;const Y=document.elementFromPoint(z.clientX,z.clientY);if(!Y)return;const ne=Y.closest(".diff-gutter, .diff-gutter-col");if(!ne)return;const J=(ie=ne.textContent)==null?void 0:ie.trim(),de=J?parseInt(J,10):null;if(de&&!isNaN(de)&&$.current){const _e=Math.min($.current.line,de),le=Math.max($.current.line,de);C({lineStart:_e,lineEnd:le,side:$.current.side})}},B=()=>{_(!1)};return document.addEventListener("mousemove",F),document.addEventListener("mouseup",B),()=>{document.removeEventListener("mousemove",F),document.removeEventListener("mouseup",B)}},[M]);const A=y.useMemo(()=>{if(!e)return[];try{return Ul(e)}catch{return[]}},[e]),R=y.useMemo(()=>A.length===0?null:A.find(F=>F.newPath===n||F.oldPath===n)||A[0],[A,n]),U=y.useMemo(()=>{const F=new Map;return R!=null&&R.hunks&&R.hunks.forEach(B=>{B.changes.forEach(z=>{F.set(ke(z),z)})}),F},[R==null?void 0:R.hunks]),T=y.useMemo(()=>{const F=new Map;return R!=null&&R.hunks&&R.hunks.forEach(B=>{const z=ke(B.changes[0]);B.changes.forEach(Y=>{const ne=Fe(Y,"old"),J=Fe(Y,"new");ne!==null&&F.set(`old-${ne}`,z),J!==null&&F.set(`new-${J}`,z)})}),F},[R==null?void 0:R.hunks]);y.useEffect(()=>{if(!v)return;let F=!1,B=null,z=null,Y=o.find(re=>re.id===v);if(!Y){for(const re of o)if(re.parentId===v){Y=o.find(he=>he.id===re.parentId)||re;break}}if(!Y||Y.lineStart===null){E==null||E();return}const J=(Y.parentId===null?Y.id:Y.parentId)||v,de=`${Y.side||"new"}-${Y.lineStart}`,ie=T.get(de);ie&&k.has(ie)&&j(re=>{const he=new Set(re);return he.delete(ie),he});const _e=()=>{var re;if(!F&&ie){const he=(re=K.current)==null?void 0:re.querySelector(`[data-hunk-key="${ie}"]`);he&&he.scrollIntoView({behavior:"auto",block:"center"})}},le=2500,Ce=100;let Ne=0;const pe=()=>{var he;if(F)return;const re=(he=K.current)==null?void 0:he.querySelector(`[data-comment-id="${J}"]`);re?(re.scrollIntoView({behavior:"smooth",block:"center"}),re instanceof HTMLElement&&re.focus({preventScroll:!0}),B=setTimeout(()=>{F||E==null||E()},2e3)):Ne<le?(Ne+=Ce,z=setTimeout(pe,Ce)):E==null||E()};return requestAnimationFrame(()=>{F||(_e(),z=setTimeout(pe,50))}),()=>{F=!0,B&&clearTimeout(B),z&&clearTimeout(z)}},[v,o,E,T,k]);const G=(R==null?void 0:R.isBinary)===!0,Z=y.useMemo(()=>Bm(n),[n]),ce=y.useMemo(()=>{if(!(!(R!=null&&R.hunks)||!Z))try{return P.registered(Z)?Hp(R.hunks,{highlight:!0,enhancers:[Gp(R.hunks,{type:"block"})],language:Z,refractor:P}):void 0}catch{return}},[R==null?void 0:R.hunks,Z]),V=y.useMemo(()=>$m(o),[o]),oe=y.useMemo(()=>{const F={};return R!=null&&R.hunks&&R.hunks.forEach(B=>{B.changes.forEach(z=>{const Y=ke(z),ne=Fe(z,"new")||Fe(z,"old");if(!ne)return;const J=z.type==="delete"?"old":"new",de=`${J}-${ne}`,ie=V.get(de);if(ie&&ie.length>0){const _e=le=>{for(const Ce of ie){if(Ce.root.id===le)return Ce.root;const Ne=Ce.replies.find(pe=>pe.id===le);if(Ne)return Ne}};F[Y]=u.jsxDEV("div",{className:"inline-comment-wrapper my-1 space-y-2",children:ie.map(le=>{const Ce=An({comment:le.root,replies:le.replies}),Ne=v===le.root.id;return u.jsxDEV("div",{"data-comment-id":le.root.id,tabIndex:-1,className:X("transition-all duration-200 outline-none",Ne&&"ring-2 ring-primary ring-offset-2 rounded-lg"),children:u.jsxDEV(Mm,{comment:le.root,replies:le.replies,isPending:Ce,getSessionForAgent:N,onOpenTerminal:x,onReply:c?async(pe,re)=>{await c(pe,re)}:void 0,onResolve:p?async(pe,re)=>{const he=_e(pe);he&&await p(pe,re,he.version)}:void 0,onDelete:m,onEdit:h,isReplying:f,isResolving:d,isDeleting:g,isEditing:b},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:724,columnNumber:21},this)},le.root.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:715,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:707,columnNumber:13},this)}D&&D.side===J&&ne>=D.lineStart&&ne===D.lineEnd&&(F[Y]=u.jsxDEV(Am,{lineStart:D.lineStart,lineEnd:D.lineEnd,side:D.side,projectId:s??"",onSubmit:async(_e,le,Ce)=>{l&&await l(D.lineStart,D.lineEnd,D.side,_e,le,Ce),O(null)},onCancel:()=>O(null),isSubmitting:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:768,columnNumber:13},this))})}),F},[R==null?void 0:R.hunks,V,D,s,l,c,p,m,h,f,d,g,b,N,x,v]),Me=y.useCallback((F,B)=>{if(!l||!F.change)return;const z=F.change,Y=F.side==="old"?"old":"new",ne=Fe(z,Y);if(ne){if(B.shiftKey&&S&&S.side===Y){const J=Math.min(S.lineStart,ne),de=Math.max(S.lineStart,ne);C({lineStart:J,lineEnd:de,side:Y});return}$.current={line:ne,side:Y},_(!0),C({lineStart:ne,lineEnd:ne,side:Y})}},[l,S]),Sn=y.useCallback(F=>{!l||!F.change||!S||!M&&S&&O({lineStart:S.lineStart,lineEnd:S.lineEnd,side:S.side})},[l,S,M]),Ge=y.useCallback(F=>{let B=F;for(;B;){if(B instanceof HTMLElement){const z=B.getAttribute("data-change-key");if(z)return z}B=B.parentNode}return null},[]),Dn=y.useCallback(F=>{const B=window.getSelection();if(!B||B.isCollapsed){W.current=null;return}const z=Ge(B.anchorNode),Y=Ge(B.focusNode);if(!z||!Y){W.current=null;return}const ne=U.get(z),J=U.get(Y);if(!ne||!J){W.current=null;return}const de=Fe(ne,F),ie=Fe(J,F);if(de==null||ie==null){W.current=null;return}const _e=Math.min(de,ie),le=Math.max(de,ie);W.current={lineStart:_e,lineEnd:le,side:F}},[Ge,U]),on=y.useCallback(F=>{const{change:B,side:z,renderDefault:Y,inHoverState:ne}=F,J=Fe(B,z);if(!J)return Y();const de=`${z}-${J}`,ie=V.get(de),_e=ie&&ie.length>0,le=(ie==null?void 0:ie.some(Ne=>Ne.root.status==="open"||Ne.replies.some(pe=>pe.status==="open")))||!1,Ce=S&&S.side===z&&J>=S.lineStart&&J<=S.lineEnd;return u.jsxDEV("div",{className:"flex items-center gap-0.5",children:[u.jsxDEV("span",{className:X(Ce&&"bg-blue-100 dark:bg-blue-900/40"),children:Y()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:945,columnNumber:11},this),u.jsxDEV("div",{className:"w-5 flex items-center justify-center",children:_e?u.jsxDEV(km,{commentCount:ie.length,hasUnresolved:le,onClick:()=>{var re;const Ne=ie[0].root.id,pe=(re=K.current)==null?void 0:re.querySelector(`[data-comment-id="${Ne}"]`);pe&&(pe.scrollIntoView({behavior:"smooth",block:"center"}),pe instanceof HTMLElement&&pe.focus({preventScroll:!0}))}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:952,columnNumber:15},this):(!l||!ne?!1:a==="split"?!0:B.type==="delete"?z==="old":z==="new")?u.jsxDEV("button",{className:"h-4 w-4 rounded-full bg-blue-500 hover:bg-blue-600 text-white flex items-center justify-center opacity-60 hover:opacity-100",onMouseDown:()=>Dn(z),onClick:pe=>{var he,pa;pe.stopPropagation();const re=(((he=W.current)==null?void 0:he.side)===z?W.current:null)??((S==null?void 0:S.side)===z?S:null)??{lineStart:J,lineEnd:J,side:z};O({lineStart:re.lineStart,lineEnd:re.lineEnd,side:re.side}),W.current=null,(pa=window.getSelection())==null||pa.removeAllRanges()},title:"Add comment","aria-label":`Add comment on line ${J}`,children:u.jsxDEV(gr,{className:"h-2.5 w-2.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1013,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:987,columnNumber:19},this):null},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:950,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:943,columnNumber:9},this)},[V,S,l,a,Dn]),Hn=y.useCallback(({changes:F})=>{if(!S||F.length===0)return"";const B=F.find(ne=>ne!==null);if(!B)return"";const z=S.side,Y=Fe(B,z);return Y&&Y>=S.lineStart&&Y<=S.lineEnd?"bg-blue-50 dark:bg-blue-900/30":""},[S]);if(t)return u.jsxDEV(Gm,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1048,columnNumber:12},this);if(r)return u.jsxDEV(Hm,{message:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1052,columnNumber:12},this);if(G)return u.jsxDEV(Um,{filePath:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1056,columnNumber:12},this);if(!R||!R.hunks||R.hunks.length===0)return u.jsxDEV(Km,{fileInfo:w},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1060,columnNumber:12},this);const Xe=R.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="insert").length,0),Cn=R.hunks.reduce((F,B)=>F+B.changes.filter(z=>z.type==="delete").length,0),qe=o.filter(F=>F.parentId===null).length;return u.jsxDEV("div",{ref:K,className:"h-full flex flex-col",role:"region","aria-label":`Diff viewer for ${n}`,children:[u.jsxDEV("div",{className:"p-3 border-b flex items-center gap-2 bg-card shrink-0",children:[u.jsxDEV(Oe,{className:"h-4 w-4 text-muted-foreground","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1084,columnNumber:9},this),u.jsxDEV("span",{className:"font-mono text-sm truncate",children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1085,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 ml-2",role:"group","aria-label":"File statistics",children:[u.jsxDEV(ye,{variant:"secondary",className:"text-xs bg-green-100 text-green-700 dark:bg-green-900/50 dark:text-green-300","aria-label":`${Xe} lines added`,children:["+",Xe]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1087,columnNumber:11},this),u.jsxDEV(ye,{variant:"secondary",className:"text-xs bg-red-100 text-red-700 dark:bg-red-900/50 dark:text-red-300","aria-label":`${Cn} lines removed`,children:["-",Cn]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1094,columnNumber:11},this),qe>0&&u.jsxDEV(ye,{variant:"secondary",className:"text-xs bg-blue-100 text-blue-700","aria-label":`${qe} comments`,children:[u.jsxDEV(Ae,{className:"h-3 w-3 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1107,columnNumber:15},this),qe]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1102,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1086,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1112,columnNumber:9},this),u.jsxDEV("div",{className:"flex items-center gap-1 border rounded-md p-0.5",role:"group","aria-label":"View type",children:[u.jsxDEV(ee,{variant:a==="unified"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>i("unified"),title:"Unified view","aria-pressed":a==="unified",children:[u.jsxDEV(Zo,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1127,columnNumber:13},this),"Unified"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1119,columnNumber:11},this),u.jsxDEV(ee,{variant:a==="split"?"secondary":"ghost",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>i("split"),title:"Side-by-side view","aria-pressed":a==="split",children:[u.jsxDEV(zo,{className:"h-3.5 w-3.5 mr-1","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1138,columnNumber:13},this),"Split"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1130,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1114,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1083,columnNumber:7},this),u.jsxDEV(dr,{className:"flex-1",children:[u.jsxDEV("div",{className:X("diff-viewer",a==="split"&&"diff-split"),children:u.jsxDEV(mp,{viewType:a,diffType:R.type,hunks:R.hunks,tokens:ce,widgets:oe,renderGutter:on,generateLineClassName:Hn,gutterEvents:{onMouseDown:Me,onClick:Sn},children:F=>F.map(B=>{const z=ke(B.changes[0]),Y=!k.has(z);return u.jsxDEV(Ym,{hunk:B,hunkKey:z,isExpanded:Y,onToggleExpand:()=>{j(ne=>{const J=new Set(ne);return J.has(z)?J.delete(z):J.add(z),J})},viewType:a,children:u.jsxDEV(As,{hunk:B},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1183,columnNumber:21},this)},z,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1165,columnNumber:19},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1147,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1146,columnNumber:9},this),u.jsxDEV(ho,{orientation:"horizontal"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1190,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1145,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/DiffViewer.tsx",lineNumber:1076,columnNumber:5},this)}const Xm={comment:{icon:Ae,label:"Comment",className:"text-gray-500"},suggestion:{icon:br,label:"Suggestion",className:"text-blue-500"},issue:{icon:Nn,label:"Issue",className:"text-orange-500"},approval:{icon:fr,label:"Approval",className:"text-green-500"}},qm={open:{icon:Nn,label:"Open",badgeVariant:"secondary"},resolved:{icon:Rn,label:"Resolved",badgeVariant:"outline"},wont_fix:{icon:ft,label:"Won't Fix",badgeVariant:"outline"}};function Zm(e,n=60){const t=e.replace(/\n/g," ").trim();return t.length<=n?t:t.slice(0,n).trim()+"…"}function Qm(e){if(!e.filePath)return"Review-level";const n=e.filePath.split("/").pop()||e.filePath,t=e.lineStart!==null?e.lineEnd!==null&&e.lineEnd!==e.lineStart?`:${e.lineStart}-${e.lineEnd}`:`:${e.lineStart}`:"";return`${n}${t}`}function bi({comment:e,replyCount:n,isPending:t,onClick:r,isSelected:a=!1,className:i}){var b;const s=Xm[e.commentType],o=qm[e.status],l=s.icon,c=o.icon,p=e.authorType==="agent",m=p?$e:yi,h=p?e.authorAgentName??((b=e.authorAgentId)==null?void 0:b.slice(0,8))??"Agent":"You",f=Qm(e),d=Zm(e.content),g=[s.label,"by",h,"-",d,"-",f,"-",o.label,n>0?`- ${n} ${n===1?"reply":"replies"}`:"",t?"- Pending response":""].filter(Boolean).join(" ");return u.jsxDEV("button",{type:"button",onClick:r,className:X("w-full text-left p-2 rounded-md border transition-colors","hover:bg-accent hover:border-accent-foreground/20","focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",t&&"border-l-4 border-l-amber-500 bg-amber-50/50 dark:bg-amber-950/20",a&&"bg-accent border-accent-foreground/30",e.status!=="open"&&!a&&"opacity-60",i),"aria-label":g,"data-testid":"comment-reference-item",children:[u.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[u.jsxDEV(l,{className:X("h-4 w-4 flex-shrink-0",s.className),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:174,columnNumber:9},this),u.jsxDEV("div",{className:X("flex items-center gap-1 text-xs font-medium min-w-0",p?"text-purple-700 dark:text-purple-400":"text-foreground"),children:[u.jsxDEV(m,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:186,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",children:h},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:187,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:180,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:191,columnNumber:9},this),u.jsxDEV(ye,{variant:o.badgeVariant,className:X("text-[10px] px-1.5 py-0 h-4 flex-shrink-0",e.status==="open"&&"bg-amber-100 text-amber-800 dark:bg-amber-900/50 dark:text-amber-400",e.status==="resolved"&&"text-green-600 dark:text-green-400",e.status==="wont_fix"&&"text-gray-500"),children:[u.jsxDEV(c,{className:"h-2.5 w-2.5 mr-0.5","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:204,columnNumber:11},this),o.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:194,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:172,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-foreground truncate mb-1",title:e.content,children:d},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:210,columnNumber:7},this),u.jsxDEV("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[u.jsxDEV("div",{className:"flex items-center gap-1 min-w-0 flex-1",children:[u.jsxDEV(Oe,{className:"h-3 w-3 flex-shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:218,columnNumber:11},this),u.jsxDEV("span",{className:"truncate",title:e.filePath??"Review-level",children:f},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:219,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:217,columnNumber:9},this),n>0&&u.jsxDEV("div",{className:"flex items-center gap-0.5 flex-shrink-0",children:[u.jsxDEV(Ho,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:227,columnNumber:13},this),u.jsxDEV("span",{children:n},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:228,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:226,columnNumber:11},this),t&&u.jsxDEV("span",{className:"text-amber-600 dark:text-amber-400 flex-shrink-0",children:"Pending"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:234,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:215,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentReferenceItem.tsx",lineNumber:153,columnNumber:5},this)}function Jm(e){let t=(r=>r.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"))(e);return t=t.replace(/```(\w+)?\n([\s\S]*?)```/g,'<pre class="bg-muted p-2 rounded text-sm overflow-x-auto"><code>$2</code></pre>').replace(/`([^`]+)`/g,'<code class="bg-muted px-1 rounded text-sm">$1</code>').replace(/\*\*([^*]+)\*\*/g,"<strong>$1</strong>").replace(/\*([^*]+)\*/g,"<em>$1</em>").replace(/\[([^\]]+)\]\(([^)]+)\)/g,(r,a,i)=>`<a href="${/^(https?:|mailto:|#|\/)/i.test(i)?i:"#"}" class="text-blue-600 underline" target="_blank" rel="noopener noreferrer">${a}</a>`).replace(/\n/g,"<br />"),Eo.sanitize(t,{ALLOWED_TAGS:["pre","code","strong","em","a","br"],ALLOWED_ATTR:["href","class","target","rel"],ALLOW_DATA_ATTR:!1})}const ed=[{value:"comment",label:"Comment",icon:Ae},{value:"suggestion",label:"Suggestion",icon:br},{value:"issue",label:"Issue",icon:Nn},{value:"approval",label:"Approval",icon:fr}];async function nd(e){const n=await fetch(`/api/agents?projectId=${encodeURIComponent(e)}`);if(!n.ok)throw new Error("Failed to fetch agents");return n.json()}function td({open:e,onOpenChange:n,filePath:t,lineStart:r,lineEnd:a,side:i,projectId:s,reviewId:o,onSubmit:l,isSubmitting:c=!1}){const[p,m]=y.useState(""),[h,f]=y.useState("comment"),[d,g]=y.useState(new Set),[b,N]=y.useState(""),[x,w]=y.useState("write"),[v,E]=y.useState(!1),S=y.useRef(null),{data:C}=hr({queryKey:["agents",s],queryFn:()=>nd(s),enabled:e&&!!s}),D=(C==null?void 0:C.items)??[],{showAutocomplete:O,mentionQuery:k,selectedIndex:j,handleInputChange:M,handleKeyDown:_,insertMention:$}=wi(S,D,V=>{g(oe=>new Set([...oe,V.id]))}),K=y.useMemo(()=>D.filter(V=>V.name.toLowerCase().includes(k.toLowerCase())),[D,k]),W=V=>{const oe=$(V,p);m(oe),g(Me=>new Set([...Me,V.id]))},A=y.useMemo(()=>{if(!b.trim())return D;const V=b.toLowerCase();return D.filter(oe=>oe.name.toLowerCase().includes(V))},[D,b]),R=8,U=y.useMemo(()=>{if(v)return A;const V=A.slice(0,R),oe=A.filter(Me=>d.has(Me.id)&&!V.some(Sn=>Sn.id===Me.id));return[...V,...oe]},[A,v,d]),T=A.length>R,G=y.useMemo(()=>t?r===null?t:a===null||a===r?`${t}:${r} (${i==="old"?"old":"new"})`:`${t}:${r}-${a} (${i==="old"?"old":"new"})`:"Review-level comment",[t,r,a,i]),Z=async()=>{if(!p.trim())return;const V=xi(p,D),oe=[...new Set([...d,...V])];await l({content:p.trim(),commentType:h,assignedAgentIds:oe,filePath:t,lineStart:r,lineEnd:a,side:i}),m(""),f("comment"),g(new Set),N(""),w("write")},ce=()=>{m(""),f("comment"),g(new Set),N(""),w("write"),n(!1)};return u.jsxDEV(it,{open:e,onOpenChange:n,children:u.jsxDEV(st,{className:"max-w-2xl max-h-[90vh] flex flex-col",children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{className:"flex items-center gap-2",children:[u.jsxDEV(Ae,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:255,columnNumber:13},this),"New Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:254,columnNumber:11},this),u.jsxDEV(ut,{className:"flex items-center gap-2 font-mono text-xs",children:[u.jsxDEV(Oe,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:259,columnNumber:13},this),G]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:258,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:253,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 space-y-4 overflow-hidden",children:[u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Pt,{children:"Comment Type"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:267,columnNumber:13},this),u.jsxDEV(fo,{value:h,onValueChange:V=>f(V),children:[u.jsxDEV(go,{className:"w-[200px]","aria-label":"Select comment type",children:u.jsxDEV(bo,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:270,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:269,columnNumber:15},this),u.jsxDEV(vo,{children:ed.map(V=>{const oe=V.icon;return u.jsxDEV(No,{value:V.value,children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(oe,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:278,columnNumber:25},this),V.label]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:277,columnNumber:23},this)},V.value,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:276,columnNumber:21},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:272,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:268,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:266,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV(Pt,{children:"Content"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:291,columnNumber:15},this),u.jsxDEV(wo,{value:x,onValueChange:V=>w(V),children:u.jsxDEV(xo,{className:"h-8",children:[u.jsxDEV(ba,{value:"write",className:"text-xs px-2 h-6",children:[u.jsxDEV(Wo,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:295,columnNumber:21},this),"Write"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:294,columnNumber:19},this),u.jsxDEV(ba,{value:"preview",className:"text-xs px-2 h-6",children:[u.jsxDEV(yo,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:299,columnNumber:21},this),"Preview"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:298,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:293,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:292,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:290,columnNumber:13},this),x==="write"?u.jsxDEV("div",{className:"relative",children:[u.jsxDEV(at,{ref:S,value:p,onChange:V=>{m(V.target.value),M(V.target.value,V.target.selectionStart)},onKeyDown:V=>{_(V,p,m)},placeholder:"Write your comment... (Markdown supported, type @ to mention agents)",className:"min-h-[150px] font-mono text-sm",disabled:c},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:308,columnNumber:17},this),O&&K.length>0&&u.jsxDEV("div",{className:"absolute bottom-full left-0 mb-1 w-48 max-h-40 overflow-auto bg-popover border rounded-md shadow-lg z-50",children:K.map((V,oe)=>u.jsxDEV("button",{type:"button",className:X("w-full px-3 py-1.5 text-sm text-left flex items-center gap-2 hover:bg-accent",oe===j&&"bg-accent"),onClick:()=>W(V),children:[u.jsxDEV($e,{className:"h-3 w-3 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:335,columnNumber:25},this),V.name]},V.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:326,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:324,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:307,columnNumber:15},this):u.jsxDEV("div",{className:"min-h-[150px] p-3 border rounded-md bg-muted/30 prose prose-sm max-w-none",dangerouslySetInnerHTML:{__html:p.trim()?Jm(p):'<span class="text-muted-foreground">Nothing to preview</span>'}},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:343,columnNumber:15},this),u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"Supports basic Markdown: **bold**, *italic*, `code`, ```code blocks```, [links](url)"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:353,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:289,columnNumber:11},this),u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV(Pt,{className:"flex items-center gap-2",children:[u.jsxDEV($e,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:361,columnNumber:15},this),"Assign to Agents (optional)"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:360,columnNumber:13},this),D.length>0?u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-1 flex-wrap",children:[u.jsxDEV(Nr,{type:"multiple",value:Array.from(d),onValueChange:V=>g(new Set(V)),className:"flex-wrap !justify-start gap-1",children:U.map(V=>u.jsxDEV(wr,{value:V.id,size:"sm",variant:"outline",className:"h-7 text-sm gap-1 px-2 data-[state=on]:!bg-primary data-[state=on]:!text-primary-foreground","aria-label":`Assign to ${V.name}`,children:[u.jsxDEV($e,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:384,columnNumber:25},this),V.name]},V.id,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:376,columnNumber:23},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:369,columnNumber:19},this),U.length===0&&b.trim()&&u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents found"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:390,columnNumber:21},this),T&&!v&&u.jsxDEV(ee,{variant:"ghost",size:"sm",className:"h-7 text-sm px-2",onClick:()=>E(!0),children:["+",A.length-R," more"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:393,columnNumber:21},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:368,columnNumber:17},this),v&&u.jsxDEV("div",{className:"space-y-2",children:u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV("div",{className:"relative flex-1",children:[u.jsxDEV(pr,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:409,columnNumber:25},this),u.jsxDEV(mr,{value:b,onChange:V=>N(V.target.value),placeholder:"Search agents...",className:"pl-8"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:410,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:408,columnNumber:23},this),u.jsxDEV(ee,{variant:"ghost",size:"sm",onClick:()=>{E(!1),N("")},children:"Collapse"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:417,columnNumber:23},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:407,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:406,columnNumber:19},this),d.size>0?u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:[d.size," agent",d.size>1?"s":""," selected"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:433,columnNumber:19},this):u.jsxDEV("p",{className:"text-xs text-muted-foreground",children:"No agents selected — no notifications will be sent"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:437,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:366,columnNumber:15},this):u.jsxDEV("p",{className:"text-sm text-muted-foreground py-2",children:"No agents available"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:443,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:359,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:264,columnNumber:9},this),u.jsxDEV(Yt,{children:[u.jsxDEV(ee,{variant:"outline",onClick:ce,disabled:c,children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:449,columnNumber:11},this),u.jsxDEV(ee,{onClick:Z,disabled:!p.trim()||c,children:c?"Posting...":"Post Comment"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:452,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:448,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:252,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentDialog.tsx",lineNumber:251,columnNumber:5},this)}function rd(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n.content,commentType:n.commentType,filePath:n.filePath,lineStart:n.lineStart,lineEnd:n.lineEnd,side:n.side,targetAgentIds:n.targetAgentIds})});if(!t.ok)throw new Error("Failed to create comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]),r={id:`temp-${Date.now()}`,reviewId:n.reviewId,filePath:n.filePath,parentId:null,lineStart:n.lineStart,lineEnd:n.lineEnd,side:n.side,content:n.content,commentType:n.commentType,status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",n.reviewId],a=>a?{...a,items:[r,...a.items],total:a.total+1}:{items:[r],total:1,limit:100,offset:0}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to create comment",description:"Your comment could not be posted. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Ad(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({parentId:n.parentId,content:n.content,commentType:"comment",targetAgentIds:n.targetAgentIds})});if(!t.ok)throw new Error("Failed to post reply");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]),r=t==null?void 0:t.items.find(i=>i.id===n.parentId),a={id:`temp-${Date.now()}`,reviewId:n.reviewId,filePath:(r==null?void 0:r.filePath)??null,parentId:n.parentId,lineStart:(r==null?void 0:r.lineStart)??null,lineEnd:(r==null?void 0:r.lineEnd)??null,side:(r==null?void 0:r.side)??null,content:n.content,commentType:"comment",status:"open",authorType:"user",authorAgentId:null,authorAgentName:null,targetAgents:[],version:1,editedAt:null,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()};return e.setQueryData(["review-comments",n.reviewId],i=>i?{...i,items:[...i.items,a],total:i.total+1}:{items:[a],total:1,limit:100,offset:0}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to post reply",description:"Your reply could not be posted. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Id(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}/resolve`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:n.status,version:n.version})});if(!t.ok)throw new Error("Failed to resolve comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===n.commentId?{...a,status:n.status,version:n.version+1}:a)}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to resolve comment",description:"The comment could not be resolved. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function _d(){const e=wn();return $n({mutationFn:async n=>{if(!(await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}`,{method:"DELETE"})).ok)throw new Error("Failed to delete comment")},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>{if(!r)return r;const a=new Map;r.items.forEach(l=>{if(!l.parentId)return;const c=a.get(l.parentId);c?c.push(l.id):a.set(l.parentId,[l.id])});const i=new Set,s=[n.commentId];for(;s.length>0;){const l=s.pop();if(!l||i.has(l))continue;i.add(l);const c=a.get(l);c&&s.push(...c)}const o=r.items.filter(l=>!i.has(l.id));return{...r,items:o,total:o.length}}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to delete comment",description:"The comment could not be deleted. Please try again.",variant:"destructive"})},onSuccess:()=>{gn({title:"Comment deleted",description:"The comment has been deleted."})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Rd(){const e=wn();return $n({mutationFn:async n=>{const t=await fetch(`/api/reviews/${n.reviewId}/comments/${n.commentId}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n.content,version:n.version})});if(!t.ok)throw new Error("Failed to edit comment");return t.json()},onMutate:async n=>{await e.cancelQueries({queryKey:["review-comments",n.reviewId]});const t=e.getQueryData(["review-comments",n.reviewId]);return e.setQueryData(["review-comments",n.reviewId],r=>r&&{...r,items:r.items.map(a=>a.id===n.commentId?{...a,content:n.content,version:n.version+1,editedAt:new Date().toISOString(),updatedAt:new Date().toISOString()}:a)}),{previousComments:t}},onError:(n,t,r)=>{r!=null&&r.previousComments&&e.setQueryData(["review-comments",t.reviewId],r.previousComments),gn({title:"Failed to edit comment",description:"The comment could not be updated. Please try again.",variant:"destructive"})},onSettled:(n,t,r)=>{e.invalidateQueries({queryKey:["review-comments",r.reviewId]})}})}function Kt({filter:e,currentFilter:n,onClick:t,count:r,icon:a,label:i}){const s=e===n;return u.jsxDEV(ee,{variant:s?"secondary":"ghost",size:"sm",onClick:t,className:X("h-7 text-xs gap-1",s&&"bg-secondary"),"aria-pressed":s,"aria-label":`${i} filter${r!==void 0?`, ${r} comments`:""}`,children:[u.jsxDEV(a,{className:"h-3 w-3","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:89,columnNumber:7},this),i,r!==void 0&&u.jsxDEV(ye,{variant:"outline",className:"h-4 px-1 text-[10px] ml-1","aria-hidden":"true",children:r},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:92,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:81,columnNumber:5},this)}function ad(){return u.jsxDEV("div",{className:"p-4 space-y-4",children:Array.from({length:3}).map((e,n)=>u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("div",{className:"flex items-center gap-2",children:[u.jsxDEV(Pe,{className:"h-4 w-4 rounded-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:106,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-24"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:107,columnNumber:13},this),u.jsxDEV(Pe,{className:"h-4 w-16"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:108,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:105,columnNumber:11},this),u.jsxDEV(Pe,{className:"h-16 w-full"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:110,columnNumber:11},this)]},n,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:104,columnNumber:9},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:102,columnNumber:5},this)}function id({filter:e,_selectedFile:n,onAddComment:t}){const r=()=>{switch(e){case"file":return"No file comments yet";case"review":return"No review-level comments";default:return"No comments yet"}};return u.jsxDEV("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground p-4",children:[u.jsxDEV(Ae,{className:"h-8 w-8 mb-2"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:139,columnNumber:7},this),u.jsxDEV("p",{className:"text-sm text-center",children:r()},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:140,columnNumber:7},this),e==="review"&&t&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"mt-3",onClick:t,children:[u.jsxDEV(gr,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:143,columnNumber:11},this),"Add Review Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:142,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:138,columnNumber:5},this)}function sd({group:e,isExpanded:n,isSelected:t,onToggle:r,onSelect:a}){const i=()=>{a==null||a(),n||r()};return u.jsxDEV("div",{className:X("flex items-center gap-1 w-full rounded-md","hover:bg-accent transition-colors",t&&"bg-accent/50 border-l-2 border-l-primary"),"data-testid":"file-group-header","aria-expanded":n,children:[u.jsxDEV("button",{type:"button",onClick:r,className:"shrink-0 p-2 rounded hover:bg-accent-foreground/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-ring","aria-label":n?"Collapse":"Expand","aria-expanded":n,children:u.jsxDEV(ht,{className:X("h-4 w-4 transition-transform",n&&"rotate-90"),"aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:201,columnNumber:9},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:194,columnNumber:7},this),u.jsxDEV("button",{type:"button",onClick:i,className:"flex items-center gap-2 flex-1 min-w-0 py-2 pr-2 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded-r-md",children:[u.jsxDEV(Oe,{className:"h-4 w-4 shrink-0","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:212,columnNumber:9},this),u.jsxDEV("span",{className:"flex-1 truncate font-medium text-sm",children:e.fileName},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:213,columnNumber:9},this),t&&u.jsxDEV(Vo,{className:"h-2 w-2 fill-primary text-primary shrink-0","aria-label":"Selected file"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:215,columnNumber:11},this),u.jsxDEV(ye,{variant:"secondary",className:"text-xs shrink-0",children:e.comments.length},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:220,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:207,columnNumber:7},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:183,columnNumber:5},this)}function jd({reviewId:e,review:n,projectId:t,selectedFile:r,onCommentSelect:a,onNavigateToComment:i,onSelectFile:s,selectedCommentId:o,onCloseReview:l,isClosingReview:c,className:p}){const[m,h]=y.useState("all"),[f,d]=y.useState(!1),[g,b]=y.useState(new Set),N=y.useRef(null),x=rd();y.useEffect(()=>{r&&h("file")},[r]);const{data:w,isLoading:v,isError:E}=hr({queryKey:["review-comments",e],queryFn:()=>Fm(e),enabled:!!e}),S=(w==null?void 0:w.items)??[],C=y.useMemo(()=>{switch(m){case"file":return S.filter(A=>A.filePath!==null);case"review":return S.filter(A=>A.filePath===null);default:return S}},[S,m]),D=y.useMemo(()=>Pm(C),[C]),O=y.useMemo(()=>C.filter(A=>A.parentId===null).sort((A,R)=>{const U=D.get(A.id)??[],T=D.get(R.id)??[],G=An({comment:A,replies:U}),Z=An({comment:R,replies:T});if(G!==Z)return G?-1:1;if(A.status!==R.status){if(A.status==="open")return-1;if(R.status==="open")return 1}return new Date(R.createdAt).getTime()-new Date(A.createdAt).getTime()}),[C,D]),k=y.useMemo(()=>{if(m!=="file")return[];const A=new Map;for(const U of O)if(U.filePath){const T=A.get(U.filePath)||[];A.set(U.filePath,[...T,U])}const R=[];for(const[U,T]of A){const G=T.flatMap(ce=>{const V=D.get(ce.id)??[];return[ce.createdAt,...V.map(oe=>oe.createdAt)]}),Z=Math.max(...G.map(ce=>new Date(ce).getTime()));R.push({filePath:U,fileName:U.split("/").pop()||U,comments:T,recentActivity:Z})}return R.sort((U,T)=>T.recentActivity!==U.recentActivity?T.recentActivity-U.recentActivity:U.filePath.localeCompare(T.filePath))},[O,D,m]),j=y.useMemo(()=>k.map(A=>A.filePath).join("|"),[k]);y.useEffect(()=>{m==="file"&&k.length>0&&b(new Set(k.map(A=>A.filePath)))},[m,j,k]),y.useEffect(()=>{r&&m==="file"&&b(A=>new Set([...A,r]))},[r,m]),y.useEffect(()=>{if(!r||m!=="file"||!N.current)return;const A=setTimeout(()=>{var R;(R=N.current)==null||R.scrollIntoView({behavior:"smooth",block:"nearest"})},0);return()=>clearTimeout(A)},[r,m]);const M=y.useMemo(()=>{const A=S.filter(T=>T.filePath!==null&&T.parentId===null),R=S.filter(T=>T.filePath===null&&T.parentId===null);return{all:S.filter(T=>T.parentId===null).length,file:A.length,review:R.length}},[S]),_=y.useMemo(()=>{const A=S.filter(T=>T.parentId===null),R=A.filter(T=>T.status==="open").length,U=A.filter(T=>T.status==="resolved"||T.status==="wont_fix").length;return{open:R,resolved:U}},[S]),$=A=>{i&&i({commentId:A.id,filePath:A.filePath,lineStart:A.lineStart,side:A.side}),a&&a(A)},K=()=>{d(!0)},W=async A=>{await x.mutateAsync({reviewId:e,content:A.content,commentType:A.commentType,filePath:A.filePath,lineStart:A.lineStart,lineEnd:A.lineEnd,side:A.side,targetAgentIds:A.assignedAgentIds}),d(!1),h("review")};return v?u.jsxDEV("div",{className:X("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(Ae,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:458,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:457,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:456,columnNumber:9},this),u.jsxDEV(ad,{},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:462,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:455,columnNumber:7},this):E?u.jsxDEV("div",{className:X("h-full flex flex-col",p),children:[u.jsxDEV("div",{className:"p-3 border-b",children:u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",children:[u.jsxDEV(Ae,{className:"h-4 w-4"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:472,columnNumber:13},this),"Comments"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:471,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:470,columnNumber:9},this),u.jsxDEV("div",{className:"flex-1 flex items-center justify-center text-muted-foreground p-4",children:u.jsxDEV("p",{className:"text-sm",children:"Failed to load comments"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:477,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:476,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:469,columnNumber:7},this):u.jsxDEV("div",{className:X("h-full flex flex-col",p),role:"region","aria-label":"Comments panel","data-testid":"comment-panel",children:[u.jsxDEV("div",{className:"p-3 border-b space-y-2",children:[u.jsxDEV("div",{className:"flex items-center justify-between",children:[u.jsxDEV("h3",{className:"font-medium flex items-center gap-2 text-sm",id:"comments-heading",children:[u.jsxDEV(Ae,{className:"h-4 w-4","aria-hidden":"true"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:494,columnNumber:13},this),"Comments",M.all>0&&u.jsxDEV(ye,{variant:"secondary",className:"text-xs","aria-label":`${M.all} total comments`,children:M.all},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:497,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:493,columnNumber:11},this),n&&l&&u.jsxDEV(So,{children:[u.jsxDEV(Do,{asChild:!0,children:u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs",disabled:c,children:[u.jsxDEV(ft,{className:"h-3 w-3 mr-1"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:517,columnNumber:19},this),"Close Review"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:511,columnNumber:17},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:510,columnNumber:15},this),u.jsxDEV(Co,{children:[u.jsxDEV(To,{children:[u.jsxDEV(ko,{children:"Close review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:523,columnNumber:19},this),u.jsxDEV(Ao,{asChild:!0,children:u.jsxDEV("div",{className:"space-y-2",children:[u.jsxDEV("p",{children:"Are you sure you want to close this review?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:526,columnNumber:23},this),_.open>0&&u.jsxDEV("p",{className:"text-amber-700 dark:text-amber-500",children:[_.open," open comment",_.open!==1?"s":""," will be deleted."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:528,columnNumber:25},this),_.resolved>0&&u.jsxDEV("p",{className:"text-muted-foreground",children:[_.resolved," resolved comment",_.resolved!==1?"s":""," will be kept."]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:534,columnNumber:25},this),_.open===0&&_.resolved===0&&u.jsxDEV("p",{className:"text-muted-foreground",children:"No comments in this review."},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:540,columnNumber:25},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:525,columnNumber:21},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:524,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:522,columnNumber:17},this),u.jsxDEV(Io,{children:[u.jsxDEV(_o,{children:"Cancel"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:546,columnNumber:19},this),u.jsxDEV(Ro,{onClick:l,disabled:c,children:c?"Closing...":"Close Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:547,columnNumber:19},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:545,columnNumber:17},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:521,columnNumber:15},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:509,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:492,columnNumber:9},this),u.jsxDEV("div",{className:"flex gap-1 flex-wrap",role:"group","aria-label":"Comment filters",children:[u.jsxDEV(Kt,{filter:"all",currentFilter:m,onClick:()=>h("all"),count:M.all,icon:jo,label:"All"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:558,columnNumber:11},this),u.jsxDEV(Kt,{filter:"file",currentFilter:m,onClick:()=>h("file"),count:M.file,icon:Oe,label:"Files"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:566,columnNumber:11},this),u.jsxDEV(Kt,{filter:"review",currentFilter:m,onClick:()=>h("review"),count:M.review,icon:Oo,label:"Review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:574,columnNumber:11},this),m==="review"&&t&&u.jsxDEV(ee,{variant:"outline",size:"sm",className:"h-7 text-xs gap-1 ml-auto",onClick:K,children:[u.jsxDEV(gr,{className:"h-3 w-3"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:590,columnNumber:15},this),"Add Comment"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:584,columnNumber:13},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:557,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:491,columnNumber:7},this),u.jsxDEV(dr,{className:"flex-1",children:O.length===0?u.jsxDEV(id,{filter:m,_selectedFile:r,onAddComment:t?K:void 0},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:600,columnNumber:11},this):m==="file"?u.jsxDEV("div",{className:"p-3 space-y-1","aria-labelledby":"comments-heading",children:k.map(A=>{const R=g.has(A.filePath),U=r===A.filePath;return u.jsxDEV("div",{ref:U?N:void 0,"data-testid":"file-group",children:[u.jsxDEV(sd,{group:A,isExpanded:R,isSelected:U,onToggle:()=>{b(T=>{const G=new Set(T);return G.has(A.filePath)?G.delete(A.filePath):G.add(A.filePath),G})},onSelect:()=>s==null?void 0:s(A.filePath)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:617,columnNumber:19},this),R&&u.jsxDEV("div",{className:"ml-6 mt-1 space-y-2",children:A.comments.map(T=>{const G=D.get(T.id)??[],Z=An({comment:T,replies:G});return u.jsxDEV(bi,{comment:T,replyCount:G.length,isPending:Z,onClick:()=>$(T),isSelected:o===T.id},T.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:640,columnNumber:27},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:635,columnNumber:21},this)]},A.filePath,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:612,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:607,columnNumber:11},this):u.jsxDEV("div",{className:"p-3 space-y-2","aria-labelledby":"comments-heading",children:O.map(A=>{const R=D.get(A.id)??[],U=An({comment:A,replies:R});return u.jsxDEV(bi,{comment:A,replyCount:R.length,isPending:U,onClick:()=>$(A),isSelected:o===A.id},A.id,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:664,columnNumber:17},this)})},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:658,columnNumber:11},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:598,columnNumber:7},this),t&&u.jsxDEV(td,{open:f,onOpenChange:d,filePath:null,lineStart:null,lineEnd:null,side:null,projectId:t,reviewId:e,onSubmit:W,isSubmitting:x.isPending},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:680,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/CommentPanel.tsx",lineNumber:484,columnNumber:5},this)}function od(){const e=document.activeElement;if(!e)return!1;const n=e.tagName.toLowerCase();return n==="input"||n==="textarea"||n==="select"||e.getAttribute("contenteditable")==="true"}const ld=[{key:"j",description:"Next file"},{key:"k",description:"Previous file"},{key:"n",description:"Next comment"},{key:"p",description:"Previous comment"},{key:"c",description:"Add comment on selected line"},{key:"r",description:"Reply to focused comment"},{key:"Escape",description:"Close dialog / Clear selection"},{key:"⌘/Ctrl + Enter",description:"Submit comment"},{key:"?",description:"Show keyboard shortcuts"}];function Od(e){const{enabled:n=!0,handlers:t}=e,[r,a]=y.useState(!1),i=y.useCallback(()=>a(!0),[]),s=y.useCallback(()=>a(!1),[]),o=y.useCallback(()=>a(l=>!l),[]);return y.useEffect(()=>{if(!n)return;const l=c=>{if(c.key==="Escape"&&r){c.preventDefault(),s();return}if((c.metaKey||c.ctrlKey)&&c.key==="Enter"){t.onSubmit&&(c.preventDefault(),t.onSubmit());return}if(!od())switch(c.key){case"j":t.onNextFile&&(c.preventDefault(),t.onNextFile());break;case"k":t.onPreviousFile&&(c.preventDefault(),t.onPreviousFile());break;case"n":t.onNextComment&&(c.preventDefault(),t.onNextComment());break;case"p":t.onPreviousComment&&(c.preventDefault(),t.onPreviousComment());break;case"c":t.onOpenComment&&(c.preventDefault(),t.onOpenComment());break;case"r":t.onReply&&(c.preventDefault(),t.onReply());break;case"Escape":t.onEscape&&(c.preventDefault(),t.onEscape());break;case"?":c.preventDefault(),o();break}};return document.addEventListener("keydown",l),()=>{document.removeEventListener("keydown",l)}},[n,t,r,s,o]),{isHelpOpen:r,openHelp:i,closeHelp:s,toggleHelp:o}}function vi({children:e}){return u.jsxDEV(ye,{variant:"outline",className:"px-2 py-0.5 text-xs font-mono bg-muted min-w-[24px] justify-center",children:e},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:22,columnNumber:5},this)}function Vd({open:e,onOpenChange:n}){return u.jsxDEV(it,{open:e,onOpenChange:n,children:u.jsxDEV(st,{className:"sm:max-w-md",children:[u.jsxDEV(ot,{children:[u.jsxDEV(lt,{className:"flex items-center gap-2",children:[u.jsxDEV(Lo,{className:"h-5 w-5"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:40,columnNumber:13},this),"Keyboard Shortcuts"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:39,columnNumber:11},this),u.jsxDEV(ut,{className:"sr-only",children:"List of available keyboard shortcuts for navigating the review"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:43,columnNumber:11},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:38,columnNumber:9},this),u.jsxDEV("div",{className:"space-y-3 py-2",children:ld.map(t=>u.jsxDEV("div",{className:"flex items-center justify-between gap-4",children:[u.jsxDEV("span",{className:"text-sm text-muted-foreground",children:t.description},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:50,columnNumber:15},this),u.jsxDEV(vi,{children:t.key},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:51,columnNumber:15},this)]},t.key,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:49,columnNumber:13},this))},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:47,columnNumber:9},this),u.jsxDEV("div",{className:"pt-2 text-xs text-muted-foreground text-center border-t",children:["Press ",u.jsxDEV(vi,{children:"?"},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:56,columnNumber:17},this)," anytime to show this help"]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:55,columnNumber:9},this)]},void 0,!0,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:37,columnNumber:7},this)},void 0,!1,{fileName:"/home/ngsupb/repos/twitech/devchain/apps/local-app/src/ui/components/review/KeyboardShortcutsHelp.tsx",lineNumber:36,columnNumber:5},this)}function Ld(e,n){const t=wn(),r=y.useCallback(i=>{if(!e)return;const{topic:s,type:o}=i;s===`review/${e}`&&(o==="comment.created"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.resolved"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.updated"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="comment.deleted"?t.invalidateQueries({queryKey:["review-comments",e]}):o==="review.updated"&&t.invalidateQueries({queryKey:["review",e]})),n&&s===`project/${n}/reviews`&&(o==="comment.created"||o==="comment.resolved"||o==="comment.updated"||o==="comment.deleted"?t.invalidateQueries({queryKey:["reviews",n]}):o==="review.updated"&&t.invalidateQueries({queryKey:["reviews",n]}))},[t,e,n]),a=y.useMemo(()=>({message:r}),[r]);Mo(a,[e,n])}export{Mm as C,kd as D,Oe as F,Vd as K,pd as N,md as R,vd as S,Nr as T,rd as a,Ad as b,Id as c,_d as d,Rd as e,Cd as f,Pm as g,Od as h,An as i,wr as j,dd as k,fd as l,hd as m,jd as n,bd as o,Td as p,Sd as q,Dd as r,wd as s,xd as t,Ld as u,Fm as v,Nd as w,gd as x,yd as y,Ed as z};