@turmind/halo 0.1.9

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 (296) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +143 -0
  3. package/admin-out/404.html +1 -0
  4. package/admin-out/_next/static/IBP_mwBDf-cPwZSZZGpi8/_buildManifest.js +1 -0
  5. package/admin-out/_next/static/IBP_mwBDf-cPwZSZZGpi8/_ssgManifest.js +1 -0
  6. package/admin-out/_next/static/chunks/1d2d5650-810a3ca1ae20cab5.js +18 -0
  7. package/admin-out/_next/static/chunks/200.3b8f8a74f005a134.js +1 -0
  8. package/admin-out/_next/static/chunks/220.3dc41cd6269b88e6.js +1 -0
  9. package/admin-out/_next/static/chunks/298-d6b224b569da4de0.js +1 -0
  10. package/admin-out/_next/static/chunks/304eda7d.b1ee7f523653e027.js +1 -0
  11. package/admin-out/_next/static/chunks/330.3b784cf0dcd69163.js +1 -0
  12. package/admin-out/_next/static/chunks/442.f4302087bddb1ec1.js +1 -0
  13. package/admin-out/_next/static/chunks/443.d1b289781793f8de.js +25 -0
  14. package/admin-out/_next/static/chunks/503-7c6d9935df6e0cea.js +1 -0
  15. package/admin-out/_next/static/chunks/533.5f2d4bfe3d076095.js +1 -0
  16. package/admin-out/_next/static/chunks/579.a2718ddd395a2f3a.js +1 -0
  17. package/admin-out/_next/static/chunks/635-3dd0043ed0520b9d.js +1 -0
  18. package/admin-out/_next/static/chunks/65.859665ba6717967a.js +1 -0
  19. package/admin-out/_next/static/chunks/661.a4fe93f3f2a5e871.js +1 -0
  20. package/admin-out/_next/static/chunks/688.4e014ac6cfc7e152.js +1 -0
  21. package/admin-out/_next/static/chunks/868.0c95dfe283400a00.js +1 -0
  22. package/admin-out/_next/static/chunks/app/_not-found/page-8e35399c8fd5016d.js +1 -0
  23. package/admin-out/_next/static/chunks/app/layout-58f773336e6fce61.js +1 -0
  24. package/admin-out/_next/static/chunks/app/page-cc8043335282d745.js +1 -0
  25. package/admin-out/_next/static/chunks/db534642.09d3c650ff587175.js +1 -0
  26. package/admin-out/_next/static/chunks/fb4ec4d6-3fa44f69484f91b9.js +1 -0
  27. package/admin-out/_next/static/chunks/framework-c3031ae54a63fe16.js +1 -0
  28. package/admin-out/_next/static/chunks/main-14b48e3c2588354f.js +1 -0
  29. package/admin-out/_next/static/chunks/main-app-483b436873410ddc.js +1 -0
  30. package/admin-out/_next/static/chunks/pages/_app-b2fc6e5f920d1b1a.js +1 -0
  31. package/admin-out/_next/static/chunks/pages/_error-f3696a8f3d67d150.js +1 -0
  32. package/admin-out/_next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  33. package/admin-out/_next/static/chunks/webpack-8bd7ef88a6527feb.js +1 -0
  34. package/admin-out/_next/static/css/659eccb5db697b76.css +1 -0
  35. package/admin-out/_next/static/css/8fce4e1a54dac12a.css +3 -0
  36. package/admin-out/_next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  37. package/admin-out/_next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  38. package/admin-out/_next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  39. package/admin-out/_next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  40. package/admin-out/_next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  41. package/admin-out/_next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  42. package/admin-out/_next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  43. package/admin-out/favicon.ico +0 -0
  44. package/admin-out/icon.svg +18 -0
  45. package/admin-out/index.html +1 -0
  46. package/admin-out/index.txt +23 -0
  47. package/admin-out/monaco/vs/_commonjsHelpers-CT9FvmAN.js +1 -0
  48. package/admin-out/monaco/vs/abap-D-t0cyap.js +1 -0
  49. package/admin-out/monaco/vs/apex-CcIm7xu6.js +1 -0
  50. package/admin-out/monaco/vs/assets/css.worker-HnVq6Ewq.js +93 -0
  51. package/admin-out/monaco/vs/assets/editor.worker-Be8ye1pW.js +26 -0
  52. package/admin-out/monaco/vs/assets/html.worker-B51mlPHg.js +470 -0
  53. package/admin-out/monaco/vs/assets/json.worker-DKiEKt88.js +58 -0
  54. package/admin-out/monaco/vs/assets/ts.worker-CMbG-7ft.js +67731 -0
  55. package/admin-out/monaco/vs/azcli-BA0tQDCg.js +1 -0
  56. package/admin-out/monaco/vs/basic-languages/monaco.contribution.js +1 -0
  57. package/admin-out/monaco/vs/bat-C397hTD6.js +1 -0
  58. package/admin-out/monaco/vs/bicep-DF5aW17k.js +2 -0
  59. package/admin-out/monaco/vs/cameligo-plsz8qhj.js +1 -0
  60. package/admin-out/monaco/vs/clojure-Y2auQMzK.js +1 -0
  61. package/admin-out/monaco/vs/coffee-Bu45yuWE.js +1 -0
  62. package/admin-out/monaco/vs/cpp-CkKPQIni.js +1 -0
  63. package/admin-out/monaco/vs/csharp-CX28MZyh.js +1 -0
  64. package/admin-out/monaco/vs/csp-D8uWnyxW.js +1 -0
  65. package/admin-out/monaco/vs/css-CaeNmE3S.js +3 -0
  66. package/admin-out/monaco/vs/cssMode-CjiAH6dQ.js +1 -0
  67. package/admin-out/monaco/vs/cypher-DVThT8BS.js +1 -0
  68. package/admin-out/monaco/vs/dart-CmGfCvrO.js +1 -0
  69. package/admin-out/monaco/vs/dockerfile-CZqqYdch.js +1 -0
  70. package/admin-out/monaco/vs/ecl-30fUercY.js +1 -0
  71. package/admin-out/monaco/vs/editor/editor.main.css +1 -0
  72. package/admin-out/monaco/vs/editor/editor.main.js +5 -0
  73. package/admin-out/monaco/vs/editor.api-CalNCsUg.js +903 -0
  74. package/admin-out/monaco/vs/elixir-xjPaIfzF.js +1 -0
  75. package/admin-out/monaco/vs/flow9-DqtmStfK.js +1 -0
  76. package/admin-out/monaco/vs/freemarker2-Cz_sV6Md.js +3 -0
  77. package/admin-out/monaco/vs/fsharp-BOMdg4U1.js +1 -0
  78. package/admin-out/monaco/vs/go-D_hbi-Jt.js +1 -0
  79. package/admin-out/monaco/vs/graphql-CKUU4kLG.js +1 -0
  80. package/admin-out/monaco/vs/handlebars-OwglfO-1.js +1 -0
  81. package/admin-out/monaco/vs/hcl-DTaboeZW.js +1 -0
  82. package/admin-out/monaco/vs/html-Pa1xEWsY.js +1 -0
  83. package/admin-out/monaco/vs/htmlMode-Bz67EXwp.js +1 -0
  84. package/admin-out/monaco/vs/ini-CsNwO04R.js +1 -0
  85. package/admin-out/monaco/vs/java-CI4ZMsH9.js +1 -0
  86. package/admin-out/monaco/vs/javascript-PczUCGdz.js +1 -0
  87. package/admin-out/monaco/vs/jsonMode-DULH5oaX.js +7 -0
  88. package/admin-out/monaco/vs/julia-BwzEvaQw.js +1 -0
  89. package/admin-out/monaco/vs/kotlin-IUYPiTV8.js +1 -0
  90. package/admin-out/monaco/vs/language/css/monaco.contribution.js +1 -0
  91. package/admin-out/monaco/vs/language/html/monaco.contribution.js +1 -0
  92. package/admin-out/monaco/vs/language/json/monaco.contribution.js +1 -0
  93. package/admin-out/monaco/vs/language/typescript/monaco.contribution.js +1 -0
  94. package/admin-out/monaco/vs/less-C0eDYdqa.js +2 -0
  95. package/admin-out/monaco/vs/lexon-iON-Kj97.js +1 -0
  96. package/admin-out/monaco/vs/liquid-DqKjdPGy.js +1 -0
  97. package/admin-out/monaco/vs/loader.js +1368 -0
  98. package/admin-out/monaco/vs/lspLanguageFeatures-kM9O9rjY.js +4 -0
  99. package/admin-out/monaco/vs/lua-DtygF91M.js +1 -0
  100. package/admin-out/monaco/vs/m3-CsR4AuFi.js +1 -0
  101. package/admin-out/monaco/vs/markdown-C_rD0bIw.js +1 -0
  102. package/admin-out/monaco/vs/mdx-DEWtB1K5.js +1 -0
  103. package/admin-out/monaco/vs/mips-CiYP61RB.js +1 -0
  104. package/admin-out/monaco/vs/monaco.contribution-D2OdxNBt.js +1 -0
  105. package/admin-out/monaco/vs/monaco.contribution-DO3azKX8.js +1 -0
  106. package/admin-out/monaco/vs/monaco.contribution-EcChJV6a.js +1 -0
  107. package/admin-out/monaco/vs/monaco.contribution-qLAYrEOP.js +1 -0
  108. package/admin-out/monaco/vs/msdax-C38-sJlp.js +1 -0
  109. package/admin-out/monaco/vs/mysql-CdtbpvbG.js +1 -0
  110. package/admin-out/monaco/vs/nls.messages-loader.js +1 -0
  111. package/admin-out/monaco/vs/nls.messages.cs.js.js +17 -0
  112. package/admin-out/monaco/vs/nls.messages.de.js.js +17 -0
  113. package/admin-out/monaco/vs/nls.messages.es.js.js +17 -0
  114. package/admin-out/monaco/vs/nls.messages.fr.js.js +15 -0
  115. package/admin-out/monaco/vs/nls.messages.it.js.js +15 -0
  116. package/admin-out/monaco/vs/nls.messages.ja.js.js +17 -0
  117. package/admin-out/monaco/vs/nls.messages.js.js +10 -0
  118. package/admin-out/monaco/vs/nls.messages.ko.js.js +25 -0
  119. package/admin-out/monaco/vs/nls.messages.pl.js.js +17 -0
  120. package/admin-out/monaco/vs/nls.messages.pt-br.js.js +6 -0
  121. package/admin-out/monaco/vs/nls.messages.ru.js.js +17 -0
  122. package/admin-out/monaco/vs/nls.messages.tr.js.js +15 -0
  123. package/admin-out/monaco/vs/nls.messages.zh-cn.js.js +17 -0
  124. package/admin-out/monaco/vs/nls.messages.zh-tw.js.js +15 -0
  125. package/admin-out/monaco/vs/objective-c-CntZFaHX.js +1 -0
  126. package/admin-out/monaco/vs/pascal-r6kuqfl_.js +1 -0
  127. package/admin-out/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
  128. package/admin-out/monaco/vs/perl-DABw_TcH.js +1 -0
  129. package/admin-out/monaco/vs/pgsql-me_jFXeX.js +1 -0
  130. package/admin-out/monaco/vs/php-D_kh-9LK.js +1 -0
  131. package/admin-out/monaco/vs/pla-VfZjczW0.js +1 -0
  132. package/admin-out/monaco/vs/postiats-BBSzz8Pk.js +1 -0
  133. package/admin-out/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
  134. package/admin-out/monaco/vs/powershell-B-7ap1zc.js +1 -0
  135. package/admin-out/monaco/vs/protobuf-BmtuEB1A.js +2 -0
  136. package/admin-out/monaco/vs/pug-BRpRNeEb.js +1 -0
  137. package/admin-out/monaco/vs/python-Cr0UkIbn.js +1 -0
  138. package/admin-out/monaco/vs/qsharp-BzsFaUU9.js +1 -0
  139. package/admin-out/monaco/vs/r-f8dDdrp4.js +1 -0
  140. package/admin-out/monaco/vs/razor-BYAHOTkz.js +1 -0
  141. package/admin-out/monaco/vs/redis-fvZQY4PI.js +1 -0
  142. package/admin-out/monaco/vs/redshift-45Et0LQi.js +1 -0
  143. package/admin-out/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
  144. package/admin-out/monaco/vs/ruby-CZO8zYTz.js +1 -0
  145. package/admin-out/monaco/vs/rust-Bfetafyc.js +1 -0
  146. package/admin-out/monaco/vs/sb-3GYllVck.js +1 -0
  147. package/admin-out/monaco/vs/scala-foMgrKo1.js +1 -0
  148. package/admin-out/monaco/vs/scheme-CHdMtr7p.js +1 -0
  149. package/admin-out/monaco/vs/scss-C1cmLt9V.js +3 -0
  150. package/admin-out/monaco/vs/shell-ClXCKCEW.js +1 -0
  151. package/admin-out/monaco/vs/solidity-MZ6ExpPy.js +1 -0
  152. package/admin-out/monaco/vs/sophia-DWkuSsPQ.js +1 -0
  153. package/admin-out/monaco/vs/sparql-AUGFYSyk.js +1 -0
  154. package/admin-out/monaco/vs/sql-32GpJSV2.js +1 -0
  155. package/admin-out/monaco/vs/st-CuDFIVZ_.js +1 -0
  156. package/admin-out/monaco/vs/swift-n-2HociN.js +3 -0
  157. package/admin-out/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
  158. package/admin-out/monaco/vs/tcl-D74tq1nH.js +1 -0
  159. package/admin-out/monaco/vs/tsMode-CZz1Umrk.js +11 -0
  160. package/admin-out/monaco/vs/twig-C6taOxMV.js +1 -0
  161. package/admin-out/monaco/vs/typescript-DfOrAzoV.js +1 -0
  162. package/admin-out/monaco/vs/typespec-D-PIh9Xw.js +1 -0
  163. package/admin-out/monaco/vs/vb-Dyb2648j.js +1 -0
  164. package/admin-out/monaco/vs/wgsl-BhLXMOR0.js +298 -0
  165. package/admin-out/monaco/vs/workers-DcJshg-q.js +1 -0
  166. package/admin-out/monaco/vs/xml-CdsdnY8S.js +1 -0
  167. package/admin-out/monaco/vs/yaml-DYGvmE88.js +1 -0
  168. package/bin/halo.js +9 -0
  169. package/bundled-docs/design/agent.md +145 -0
  170. package/bundled-docs/design/architecture.md +270 -0
  171. package/bundled-docs/design/background-dispatch.md +151 -0
  172. package/bundled-docs/design/command.md +58 -0
  173. package/bundled-docs/design/cron.md +88 -0
  174. package/bundled-docs/design/evolution.md +383 -0
  175. package/bundled-docs/design/express-self.md +145 -0
  176. package/bundled-docs/design/feishu.md +224 -0
  177. package/bundled-docs/design/halo-city.md +112 -0
  178. package/bundled-docs/design/prompt-system.md +411 -0
  179. package/bundled-docs/design/session.md +321 -0
  180. package/bundled-docs/design/slack.md +212 -0
  181. package/bundled-docs/design/storage.md +578 -0
  182. package/bundled-docs/design/telegram.md +161 -0
  183. package/bundled-docs/design/web.md +222 -0
  184. package/bundled-docs/design/wechat.md +146 -0
  185. package/bundled-docs/design/ws.md +144 -0
  186. package/bundled-docs/dev/acp-adapter.md +337 -0
  187. package/bundled-docs/dev/add-channel.md +376 -0
  188. package/bundled-docs/dev/add-model-provider.md +386 -0
  189. package/bundled-docs/dev/api.md +686 -0
  190. package/bundled-docs/dev/deploy.md +198 -0
  191. package/bundled-docs/dev/desktop-packaging.md +327 -0
  192. package/bundled-docs/dev/env.md +158 -0
  193. package/bundled-docs/dev/logging.md +85 -0
  194. package/bundled-docs/dev/previews.md +225 -0
  195. package/bundled-docs/dev/tools.md +331 -0
  196. package/bundled-docs/guide/README.md +29 -0
  197. package/bundled-docs/guide/agents.md +264 -0
  198. package/bundled-docs/guide/channels/README.md +62 -0
  199. package/bundled-docs/guide/channels/acp.md +150 -0
  200. package/bundled-docs/guide/channels/feishu.md +154 -0
  201. package/bundled-docs/guide/channels/slack.md +156 -0
  202. package/bundled-docs/guide/channels/telegram.md +112 -0
  203. package/bundled-docs/guide/channels/web.md +149 -0
  204. package/bundled-docs/guide/channels/wechat.md +110 -0
  205. package/bundled-docs/guide/chat.md +112 -0
  206. package/bundled-docs/guide/cli.md +197 -0
  207. package/bundled-docs/guide/getting-started.md +93 -0
  208. package/bundled-docs/guide/secrets-and-credentials.md +161 -0
  209. package/bundled-docs/guide/sessions.md +104 -0
  210. package/bundled-docs/guide/skills.md +302 -0
  211. package/bundled-docs/guide/testing-agents-and-skills.md +136 -0
  212. package/bundled-docs/guide/workspace.md +131 -0
  213. package/bundled-docs/plans/cron-tasks.md +362 -0
  214. package/bundled-docs/plans/design-suggestions.md +203 -0
  215. package/bundled-docs/plans/issue-session-deep-nesting.md +208 -0
  216. package/bundled-docs/plans/launch-plan.md +111 -0
  217. package/bundled-docs/plans/md-and-agent-refactor.md +197 -0
  218. package/bundled-docs/plans/remote-mac-worker.md +196 -0
  219. package/bundled-docs/plans/roadmap.md +40 -0
  220. package/bundled-docs/plans/self-evolution.md +1379 -0
  221. package/bundled-docs/plans/todo.md +32 -0
  222. package/bundled-docs/plans/weixin-channel.md +255 -0
  223. package/bundled-docs/requirements/agent.md +92 -0
  224. package/bundled-docs/requirements/chat.md +81 -0
  225. package/bundled-docs/requirements/command.md +130 -0
  226. package/bundled-docs/requirements/editor.md +82 -0
  227. package/bundled-docs/requirements/explorer.md +89 -0
  228. package/bundled-docs/requirements/overview.md +62 -0
  229. package/bundled-docs/requirements/session.md +73 -0
  230. package/bundled-docs/requirements/settings.md +224 -0
  231. package/bundled-docs/requirements/skill.md +125 -0
  232. package/bundled-docs/requirements/source-control.md +82 -0
  233. package/bundled-docs/requirements/terminal.md +118 -0
  234. package/bundled-docs/requirements/workspace.md +80 -0
  235. package/bundled-docs/test/docs-seeding.md +101 -0
  236. package/bundled-docs/test/session.md +374 -0
  237. package/dist/index.js +26750 -0
  238. package/package.json +67 -0
  239. package/templates/INSTRUCTIONS.md +25 -0
  240. package/templates/agents/__apply_agent__/AGENT.md +229 -0
  241. package/templates/agents/__apply_agent__/agent.yaml +30 -0
  242. package/templates/agents/__evo_agent__/AGENT.md +323 -0
  243. package/templates/agents/__evo_agent__/agent.yaml +29 -0
  244. package/templates/agents/__score__/AGENT.md +177 -0
  245. package/templates/agents/__score__/agent.yaml +29 -0
  246. package/templates/agents/deep-executor/AGENT.md +60 -0
  247. package/templates/agents/deep-executor/agent.yaml +25 -0
  248. package/templates/agents/default/AGENT.md +38 -0
  249. package/templates/agents/default/agent.yaml +51 -0
  250. package/templates/agents/executor/AGENT.md +38 -0
  251. package/templates/agents/executor/agent.yaml +25 -0
  252. package/templates/aliases.yaml +26 -0
  253. package/templates/canvas/self.html +660 -0
  254. package/templates/config.yaml +69 -0
  255. package/templates/models/anthropic.yaml +47 -0
  256. package/templates/models/aws-bedrock-claude-invoke.yaml +156 -0
  257. package/templates/models/aws-bedrock-mantle.yaml +89 -0
  258. package/templates/models/deepseek.yaml +62 -0
  259. package/templates/models/doubao.yaml +137 -0
  260. package/templates/models/hunyuan.yaml +56 -0
  261. package/templates/models/kimi.yaml +41 -0
  262. package/templates/models/mimo-token-plan-china.yaml +61 -0
  263. package/templates/models/minimax.yaml +80 -0
  264. package/templates/models/openai.yaml +51 -0
  265. package/templates/models/qwen.yaml +78 -0
  266. package/templates/optional-skills/tavily-web-search/SKILL.md +91 -0
  267. package/templates/optional-skills/tavily-web-search/config.yaml +10 -0
  268. package/templates/prompts/all/TOOL_GUIDELINES.md +35 -0
  269. package/templates/prompts/all/TOOL_SHELL.md +4 -0
  270. package/templates/prompts/all/TOOL_SHELL.windows.md +7 -0
  271. package/templates/prompts/bootstrap/BOOTSTRAP.md +26 -0
  272. package/templates/prompts/root/WORKSPACE_MEMORY.md +11 -0
  273. package/templates/schema.sql +30 -0
  274. package/templates/skills/acp/SKILL.md +236 -0
  275. package/templates/skills/acp/templates/SKILL.md.tmpl +74 -0
  276. package/templates/skills/acp/templates/ask.py +176 -0
  277. package/templates/skills/acp/templates/config.yaml.tmpl +33 -0
  278. package/templates/skills/agent/SKILL.md +128 -0
  279. package/templates/skills/aws-knowledge/SKILL.md +82 -0
  280. package/templates/skills/aws-knowledge/scripts/aws_kb.py +61 -0
  281. package/templates/skills/cron/SKILL.md +217 -0
  282. package/templates/skills/cron/manage-cron.py +434 -0
  283. package/templates/skills/halo/SKILL.md +98 -0
  284. package/templates/skills/nova-web-search/SKILL.md +65 -0
  285. package/templates/skills/self/SKILL.md +139 -0
  286. package/templates/skills/send-file/SKILL.md +28 -0
  287. package/templates/skills/send-file/feishu.md +16 -0
  288. package/templates/skills/send-file/slack.md +7 -0
  289. package/templates/skills/send-file/telegram.md +9 -0
  290. package/templates/skills/send-file/web.md +6 -0
  291. package/templates/skills/send-file/wechat.md +8 -0
  292. package/templates/skills/skill/SKILL.md +131 -0
  293. package/templates/skills/workspace/SKILL.md +28 -0
  294. package/templates/skills/workspace/setup-tidy.md +265 -0
  295. package/templates/skills/workspace/share.md +187 -0
  296. package/templates/skills/workspace/stage.py +487 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[200],{4476:(e,t,n)=>{n.d(t,{I:()=>i,n:()=>s});var r=n(69625),l=n(29412),a=n(17612);function s(e){let{name:t,downloadUrl:n,onOpenAsText:s,extraToolbar:c,loading:o,error:d,children:u}=e;return(0,r.jsxs)("div",{className:"flex h-full flex-col bg-[var(--background)]",children:[(0,r.jsxs)("div",{className:"flex h-8 shrink-0 items-center gap-2 border-b border-[var(--border)] bg-[var(--card)] px-3",children:[(0,r.jsx)("span",{className:"truncate text-xs text-[var(--muted-foreground)]",children:t}),(0,r.jsx)("div",{className:"flex-1"}),c,s&&(0,r.jsxs)(i,{onClick:s,title:"Open as text",children:[(0,r.jsx)(l.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"Open as Text"})]}),(0,r.jsxs)("a",{href:n,download:!0,className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--secondary)] hover:text-[var(--foreground)]",title:"Download",children:[(0,r.jsx)(a.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"Download"})]})]}),(0,r.jsx)("div",{className:"relative min-h-0 flex-1",children:d?(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-red-400",children:d}):(0,r.jsxs)(r.Fragment,{children:[u,o&&(0,r.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-[var(--background)]/80 text-sm text-[var(--muted-foreground)]",children:"Loading preview..."})]})})]})}function i(e){let{onClick:t,title:n,children:l}=e;return(0,r.jsx)("button",{onClick:t,title:n,className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--secondary)] hover:text-[var(--foreground)]",children:l})}},9208:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(64650).A)("Printer",[["path",{d:"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",key:"143wyd"}],["path",{d:"M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6",key:"1itne7"}],["rect",{x:"6",y:"14",width:"12",height:"8",rx:"1",key:"1ue0tg"}]])},21200:(e,t,n)=>{n.r(t),n.d(t,{MediaPreview:()=>h});var r=n(69625),l=n(43853),a=n(64650);let s=(0,a.A)("ZoomOut",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]),i=(0,a.A)("ZoomIn",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]]);var c=n(46565),o=n(9208),d=n(4476),u=n(92726),x=n(89759);function h(e){let{name:t,viewUrl:n,downloadUrl:a,onOpenAsText:h}=e,m=function(e){var t,n;let r=null!=(n=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?n:"";return x.dj.includes(r)?"image":x.Tv.includes(r)?"video":x._H.includes(r)?"audio":null}(t),f=function(){let e=(0,l.useRef)(null),[t,n]=(0,l.useState)(1),[r,a]=(0,l.useState)({x:0,y:0}),s=(0,l.useRef)(null),[i,c]=(0,l.useState)(!1),o=(0,l.useCallback)(()=>{n(1),a({x:0,y:0})},[]),d=(0,l.useCallback)((e,t,r)=>{n(n=>{let l=Math.min(20,Math.max(.1,n*r)),s=l/n;return a(n=>({x:e-s*(e-n.x),y:t-s*(t-n.y)})),l})},[]),u=(0,l.useCallback)(t=>{let n=e.current;n&&d(n.clientWidth/2,n.clientHeight/2,t)},[d]),x=(0,l.useCallback)(t=>{var n;t.preventDefault();let r=null==(n=e.current)?void 0:n.getBoundingClientRect();r&&d(t.clientX-r.left,t.clientY-r.top,t.deltaY<0?1.15:.8695652173913044)},[d]),h=(0,l.useCallback)(e=>{0===e.button&&(e.preventDefault(),e.target.setPointerCapture(e.pointerId),s.current={startX:e.clientX,startY:e.clientY,origX:r.x,origY:r.y},c(!0))},[r]),m=(0,l.useCallback)(e=>{s.current&&a({x:s.current.origX+(e.clientX-s.current.startX),y:s.current.origY+(e.clientY-s.current.startY)})},[]),f=(0,l.useCallback)(()=>{s.current=null,c(!1)},[]);return(0,l.useEffect)(()=>{let t=e.current;if(!t)return;let n=e=>e.preventDefault();return t.addEventListener("wheel",n,{passive:!1}),()=>t.removeEventListener("wheel",n)},[]),{containerRef:e,scale:t,translate:r,dragging:i,reset:o,zoomCenter:u,onWheel:x,onPointerDown:h,onPointerMove:m,onPointerUp:f}}(),g="image"===m?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(d.I,{onClick:()=>f.zoomCenter(.8695652173913044),title:"Zoom out",children:(0,r.jsx)(s,{className:"h-3 w-3"})}),(0,r.jsxs)("span",{className:"min-w-[3ch] text-center text-[10px] text-[var(--muted-foreground)]",children:[Math.round(100*f.scale),"%"]}),(0,r.jsx)(d.I,{onClick:()=>f.zoomCenter(1.15),title:"Zoom in",children:(0,r.jsx)(i,{className:"h-3 w-3"})}),(0,r.jsx)(d.I,{onClick:f.reset,title:"Reset zoom",children:(0,r.jsx)(c.A,{className:"h-3 w-3"})}),(0,r.jsxs)(d.I,{onClick:()=>(0,u.H)(t,'<img src="'.concat(n,'" />'),"margin:0;display:flex;justify-content:center;align-items:center;min-height:100vh;background:#fff"),title:"Print",children:[(0,r.jsx)(o.A,{className:"h-3 w-3"}),(0,r.jsx)("span",{children:"Print"})]})]}):null;return(0,r.jsxs)(d.n,{name:t,downloadUrl:a,onOpenAsText:h,extraToolbar:g,children:["image"===m&&(0,r.jsx)("div",{ref:f.containerRef,className:"h-full w-full overflow-hidden bg-[#1a1a1a]",style:{cursor:f.dragging?"grabbing":"grab"},onWheel:f.onWheel,onPointerDown:f.onPointerDown,onPointerMove:f.onPointerMove,onPointerUp:f.onPointerUp,onPointerCancel:f.onPointerUp,children:(0,r.jsx)("img",{src:n,alt:t,draggable:!1,style:{transformOrigin:"0 0",transform:"translate(".concat(f.translate.x,"px, ").concat(f.translate.y,"px) scale(").concat(f.scale,")")}})}),"video"===m&&(0,r.jsx)("div",{className:"flex h-full items-center justify-center bg-black p-4",children:(0,r.jsx)("video",{src:n,controls:!0,className:"max-h-full max-w-full",children:(0,r.jsx)("track",{kind:"captions"})})}),"audio"===m&&(0,r.jsx)("div",{className:"flex h-full flex-col items-center justify-center gap-4 bg-[var(--background)]",children:(0,r.jsx)("audio",{src:n,controls:!0,className:"w-full max-w-md"})})]})}},29412:(e,t,n)=>{n.d(t,{A:()=>r});let r=(0,n(64650).A)("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},92726:(e,t,n)=>{function r(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"font-family:sans-serif;padding:40px;max-width:800px;margin:0 auto",r=window.open("","_blank");r&&(r.document.write("<!DOCTYPE html><html><head><title>".concat(e.replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e]),"</title><style>body{").concat(n,"}img{max-width:100%}</style></head><body>").concat(t,"</body></html>")),r.document.close(),r.onload=()=>{r.print()})}n.d(t,{H:()=>r})}}]);
@@ -0,0 +1 @@
1
+ (()=>{var e={569:(e,r,t)=>{"use strict";var a=t(99496);let s=self;s.addEventListener("message",e=>{let{id:r,buf:t,meta:n}=e.data;try{let e;if("csv"===n.ext){let r=new TextDecoder("utf-8").decode(t);65279===r.charCodeAt(0)&&(r=r.slice(1)),e=a.LF(r,{type:"string"})}else e=a.LF(t,{type:"array"});let o=e.SheetNames.map(r=>{var t;let s=e.Sheets[r],n=a.Wp.sheet_to_json(s,{header:1,defval:""}).map(e=>Array.isArray(e)?e.map(e=>null==e?"":String(e)):[]),o=n.reduce((e,r)=>Math.max(e,r.length),0),i=(null!=(t=n[0])?t:[]).slice();for(;i.length<o;)i.push("");return{name:r,headers:i,rows:n.slice(1),colCount:o}});s.postMessage({id:r,ok:!0,data:o})}catch(t){let e={id:r,ok:!1,error:t instanceof Error?t.message:String(t)};s.postMessage(e)}})},4582:()=>{},71615:()=>{}},r={};function t(a){var s=r[a];if(void 0!==s)return s.exports;var n=r[a]={exports:{}},o=!0;try{e[a](n,n.exports,t),o=!1}finally{o&&delete r[a]}return n.exports}t.m=e,t.x=()=>{var e=t.O(void 0,[237],()=>t(569));return t.O(e)},(()=>{var e=[];t.O=(r,a,s,n)=>{if(a){n=n||0;for(var o=e.length;o>0&&e[o-1][2]>n;o--)e[o]=e[o-1];e[o]=[a,s,n];return}for(var i=1/0,o=0;o<e.length;o++){for(var[a,s,n]=e[o],l=!0,c=0;c<a.length;c++)(!1&n||i>=n)&&Object.keys(t.O).every(e=>t.O[e](a[c]))?a.splice(c--,1):(l=!1,n<i&&(i=n));if(l){e.splice(o--,1);var p=s();void 0!==p&&(r=p)}}return r}})(),t.d=(e,r)=>{for(var a in r)t.o(r,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:r[a]})},t.f={},t.e=e=>Promise.all(Object.keys(t.f).reduce((r,a)=>(t.f[a](e,r),r),[])),t.u=e=>"static/chunks/db534642.09d3c650ff587175.js",t.miniCssF=e=>{},t.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.p="/_next/",(()=>{var e={220:1};t.f.i=(r,a)=>{e[r]||importScripts(t.tu(t.p+t.u(r)))};var r=self.webpackChunk_N_E=self.webpackChunk_N_E||[],a=r.push.bind(r);r.push=r=>{var[s,n,o]=r;for(var i in n)t.o(n,i)&&(t.m[i]=n[i]);for(o&&o(t);s.length;)e[s.pop()]=1;a(r)}})(),(()=>{var e=t.x;t.x=()=>t.e(237).then(e)})(),_N_E=t.x()})();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[298],{8808:(e,t,o)=>{o.d(t,{I18nProvider:()=>d,useI18n:()=>c,useT:()=>l});var n=o(69625),a=o(43853),s=o(17246);function r(e){return"zh"===e?"zh-CN":"en-US"}let i=(0,a.createContext)({lang:"en",bcp:"en-US",t:e=>e,setLang:()=>{},refreshFromServer:async()=>{}});function c(){return(0,a.useContext)(i)}function l(){return(0,a.useContext)(i).t}function d(e){let{en:t,zh:o,children:c}=e,[l,d]=(0,a.useState)("en");(0,a.useEffect)(()=>{d(function(){let e=localStorage.getItem("halo_lang");return"zh"===e||"en"===e?e:navigator.language.startsWith("zh")?"zh":"en"}())},[]);let u=(0,a.useCallback)(async()=>{try{var e,t,o;let n=(await s.F.settings.getSchema()).sections.find(e=>"general"===e.namespaceId),a=null==n?void 0:n.fields.find(e=>"language"===e.key),r=(o=null!=(t=null!=(e=null==a?void 0:a.value)?e:null==a?void 0:a.default)?t:null,"string"==typeof o&&o.toLowerCase().startsWith("zh")?"zh":"en");d(r),localStorage.setItem("halo_lang",r)}catch(e){}},[]);(0,a.useEffect)(()=>{u()},[u]);let p=(0,a.useCallback)(e=>{d(e),localStorage.setItem("halo_lang",e),s.F.settings.patch("global","general.language",r(e)).catch(()=>{})},[]),g=(0,a.useCallback)((e,n)=>{var a,s;let r=null!=(s=null!=(a=("zh"===l?o:t)[e])?a:t[e])?s:e;if(n)for(let[e,t]of Object.entries(n))r=r.replaceAll("{".concat(e,"}"),String(t));return r},[l,t,o]);return(0,n.jsx)(i.Provider,{value:{lang:l,bcp:r(l),t:g,setLang:p,refreshFromServer:u},children:c})}},17246:(e,t,o)=>{o.d(t,{F:()=>s});let n="/api";async function a(e,t){let o=await fetch("".concat(n).concat(e),{headers:{"Content-Type":"application/json",...null==t?void 0:t.headers},...t});if(!o.ok){let e=await o.text().catch(()=>"");throw Error("API error ".concat(o.status,": ").concat(e||o.statusText))}return o.json()}let s={health:()=>fetch("".concat(n,"/health")).then(e=>e.json()),chat:{send:(e,t,o)=>fetch("".concat(n,"/chat"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,projectId:t,message:o})}),getHistory:e=>a("/chat/".concat(e,"/history"))},tasks:{get:e=>a("/tasks/".concat(e)),approve:e=>a("/tasks/".concat(e,"/approve"),{method:"POST"}),reject:(e,t)=>a("/tasks/".concat(e,"/reject"),{method:"POST",body:JSON.stringify({feedback:t})})},agents:{list:()=>a("/agents"),get:e=>a("/agents/".concat(e)),create:e=>a("/agents",{method:"POST",body:JSON.stringify(e)}),update:(e,t)=>a("/agents/".concat(e),{method:"PUT",body:JSON.stringify(t)}),remove:e=>a("/agents/".concat(e),{method:"DELETE"})},fs:{home:()=>a("/fs/home"),exists:e=>a("/fs/exists?path=".concat(encodeURIComponent(e))),browse:e=>a("/fs/browse?path=".concat(encodeURIComponent(e))),resolveWorkspace:e=>a("/fs/workspace/resolve",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})})},files:{read:(e,t)=>a("/files?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t))),stat:(e,t)=>a("/files/stat?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t))),tree(e,t){let o=new URLSearchParams;return o.set("projectId",e),t&&o.set("path",t),a("/files/tree?".concat(o.toString()))},search(e,t,o,n){let s=new URLSearchParams;return s.set("projectId",e),s.set("q",t),o&&s.set("limit",String(o)),n&&s.set("dirsOnly","1"),a("/files/search?".concat(s.toString()))},upload(e,t,o,a){let s=new FormData;for(let n of(s.append("projectId",t),o&&s.append("targetDir",o),e))s.append("files",n);return new Promise((e,t)=>{let o=new XMLHttpRequest;o.open("POST","".concat(n,"/files/upload")),o.withCredentials=!0,o.upload.onprogress=e=>{a&&(e.lengthComputable?a(e.loaded,e.total):a(e.loaded,0))},o.onload=()=>{if(o.status>=200&&o.status<300)try{e(JSON.parse(o.responseText))}catch(e){t(e)}else t(Error("Upload failed: ".concat(o.status," ").concat(o.statusText)))},o.onerror=()=>t(Error("Upload failed: network error")),o.onabort=()=>t(Error("Upload aborted")),o.send(s)})},save:(e,t,o)=>a("/files",{method:"PUT",body:JSON.stringify({path:e,content:t,projectId:o})}),create:(e,t)=>a("/files/new",{method:"POST",body:JSON.stringify({path:e,projectId:t})}),mkdir:(e,t)=>a("/files/mkdir",{method:"POST",body:JSON.stringify({path:e,projectId:t})}),rename:(e,t,o)=>a("/files/rename",{method:"POST",body:JSON.stringify({oldPath:e,newPath:t,projectId:o})}),remove:(e,t)=>a("/files?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t)),{method:"DELETE"}),downloadUrl:(e,t)=>"/api/files/download?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t)),viewUrl:(e,t)=>"/api/files/download?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t),"&inline=1"),diff:(e,t)=>a("/files/diff?path=".concat(encodeURIComponent(e),"&projectId=").concat(encodeURIComponent(t)))},git:{status:e=>a("/git/status?projectId=".concat(encodeURIComponent(e))),ignored:e=>a("/git/ignored?projectId=".concat(encodeURIComponent(e))),diff(e,t,o,n,s){let r=new URLSearchParams;return r.set("projectId",e),r.set("path",t),r.set("staged",o?"1":"0"),n&&r.set("from",n),s&&r.set("commit",s),a("/git/diff?".concat(r.toString()))},log(e,t){let o=new URLSearchParams({projectId:e});return t&&o.set("limit",String(t)),a("/git/log?".concat(o.toString()))},commitFiles(e,t){let o=new URLSearchParams({projectId:e,hash:t});return a("/git/commit-files?".concat(o.toString()))},stage:(e,t)=>a("/git/stage",{method:"POST",body:JSON.stringify({projectId:e,paths:t})}),unstage:(e,t)=>a("/git/unstage",{method:"POST",body:JSON.stringify({projectId:e,paths:t})}),commit:(e,t)=>a("/git/commit",{method:"POST",body:JSON.stringify({projectId:e,message:t})}),push:e=>a("/git/push",{method:"POST",body:JSON.stringify({projectId:e})}),pull:e=>a("/git/pull",{method:"POST",body:JSON.stringify({projectId:e})}),init:e=>a("/git/init",{method:"POST",body:JSON.stringify({projectId:e})}),remotes:e=>a("/git/remotes?projectId=".concat(encodeURIComponent(e))),addRemote:(e,t,o)=>a("/git/remote",{method:"POST",body:JSON.stringify({projectId:e,url:t,name:o})}),getCredentials:()=>a("/git/credentials"),saveCredentials:e=>a("/git/credentials",{method:"POST",body:JSON.stringify(e)}),deleteCredential:e=>a("/git/credentials/".concat(encodeURIComponent(e)),{method:"DELETE"}),sshKeys:()=>a("/git/ssh/keys"),sshAgent:()=>a("/git/ssh/agent"),unlockSshKey:e=>a("/git/ssh/unlock",{method:"POST",body:JSON.stringify(e)}),getRemoteProtocol:e=>a("/git/remote/protocol?projectId=".concat(encodeURIComponent(e))),setRemoteProtocol:(e,t)=>a("/git/remote/protocol",{method:"POST",body:JSON.stringify({projectId:e,to:t})})},agentConfigs:{list(e){let t=e?"?projectId=".concat(encodeURIComponent(e)):"";return a("/agent-configs".concat(t))},create:e=>a("/agent-configs",{method:"POST",body:JSON.stringify(e)}),getYaml(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/agent-configs/".concat(e,"/yaml").concat(n))},saveYaml:(e,t,o)=>a("/agent-configs/".concat(e,"/yaml"),{method:"PUT",body:JSON.stringify({yaml:t,scope:null==o?void 0:o.scope,projectId:null==o?void 0:o.projectId})}),remove(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/agent-configs/".concat(e).concat(n),{method:"DELETE"})},toggle(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/agent-configs/".concat(e,"/toggle").concat(n),{method:"PATCH"})},tools:()=>a("/agent-configs/tools"),models:()=>a("/agent-configs/models"),getMdFile(e,t,o){let n=new URLSearchParams;(null==o?void 0:o.scope)&&n.set("scope",o.scope),(null==o?void 0:o.projectId)&&n.set("projectId",o.projectId);let s=n.toString()?"?".concat(n):"";return a("/agent-configs/".concat(e,"/md/").concat(t).concat(s))},saveMdFile:(e,t,o,n)=>a("/agent-configs/".concat(e,"/md/").concat(t),{method:"PUT",body:JSON.stringify({content:o,scope:null==n?void 0:n.scope,projectId:null==n?void 0:n.projectId})}),getMdAll(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/agent-configs/".concat(e,"/md-all").concat(n))},listSessions(e,t){let o=new URLSearchParams;(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId),(null==t?void 0:t.source)&&o.set("source",t.source);let n=o.toString()?"?".concat(o):"";return a("/agent-configs/".concat(e,"/sessions").concat(n))},getSession(e,t,o){let n=new URLSearchParams;(null==o?void 0:o.projectId)&&n.set("projectId",o.projectId),(null==o?void 0:o.source)&&n.set("source",o.source);let s=n.toString()?"?".concat(n):"";return a("/agent-configs/".concat(e,"/sessions/").concat(t).concat(s))},saveSession:(e,t)=>a("/agent-configs/".concat(e,"/sessions"),{method:"POST",body:JSON.stringify(t)}),deleteSession(e,t,o){let n=new URLSearchParams;(null==o?void 0:o.projectId)&&n.set("projectId",o.projectId),(null==o?void 0:o.source)&&n.set("source",o.source);let s=n.toString()?"?".concat(n):"";return a("/agent-configs/".concat(e,"/sessions/").concat(t).concat(s),{method:"DELETE"})},deleteAllSessions(e,t){let o=new URLSearchParams;(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId),(null==t?void 0:t.source)&&o.set("source",t.source),o.set("all","1");let n="?".concat(o);return a("/agent-configs/".concat(e,"/sessions").concat(n),{method:"DELETE"})}},sessionLogs:{list(e,t){let o=new URLSearchParams;e&&o.set("projectId",e),(null==t?void 0:t.includeArchived)&&o.set("includeArchived","1"),(null==t?void 0:t.parentId)!==void 0&&o.set("parentId",t.parentId),(null==t?void 0:t.rootOnly)&&o.set("rootOnly","1"),(null==t?void 0:t.cursor)!==void 0&&o.set("cursor",String(t.cursor)),(null==t?void 0:t.limit)!==void 0&&o.set("limit",String(t.limit));let n=o.toString()?"?".concat(o):"";return a("/sessions/logs".concat(n))},get(e,t){let o=new URLSearchParams;t&&o.set("projectId",t);let n=o.toString()?"?".concat(o):"";return a("/sessions/logs/".concat(e).concat(n))},delete(e,t){let o=new URLSearchParams;t&&o.set("projectId",t);let n=o.toString()?"?".concat(o):"";return a("/sessions/logs/".concat(e).concat(n),{method:"DELETE"})},rename(e,t,o){let n=new URLSearchParams;o&&n.set("projectId",o);let s=n.toString()?"?".concat(n):"";return a("/sessions/logs/".concat(e).concat(s),{method:"PATCH",body:JSON.stringify({title:t})})}},commands:{list(e,t,o){let n=new URLSearchParams;e&&n.set("projectId",e),t&&n.set("sessionId",t),o&&n.set("agentId",o);let s=n.toString()?"?".concat(n.toString()):"";return a("/commands".concat(s))}},skills:{list(e){let t=e?"?projectId=".concat(encodeURIComponent(e)):"";return a("/skills".concat(t))},create:e=>a("/skills",{method:"POST",body:JSON.stringify(e)}),remove(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/skills/".concat(e).concat(n),{method:"DELETE"})},toggle(e,t){let o=new URLSearchParams;(null==t?void 0:t.scope)&&o.set("scope",t.scope),(null==t?void 0:t.projectId)&&o.set("projectId",t.projectId);let n=o.toString()?"?".concat(o):"";return a("/skills/".concat(e,"/toggle").concat(n),{method:"PATCH"})}},projects:{list:()=>a("/projects"),create:e=>a("/projects",{method:"POST",body:JSON.stringify({name:e})}),get:e=>a("/projects/".concat(e))},weixin:{listAccounts:()=>a("/weixin/accounts"),startLogin:e=>a("/weixin/login/start",{method:"POST",body:JSON.stringify({sessionKey:e})}),waitLogin:e=>a("/weixin/login/wait",{method:"POST",body:JSON.stringify(e)}),updateAccount:(e,t)=>a("/weixin/accounts/".concat(encodeURIComponent(e)),{method:"PATCH",body:JSON.stringify(t)}),deleteAccount:e=>a("/weixin/accounts/".concat(encodeURIComponent(e)),{method:"DELETE"})},telegram:{listAccounts:()=>a("/telegram/accounts"),createAccount:e=>a("/telegram/accounts",{method:"POST",body:JSON.stringify(e)}),updateAccount:(e,t)=>a("/telegram/accounts/".concat(encodeURIComponent(e)),{method:"PATCH",body:JSON.stringify(t)}),deleteAccount:e=>a("/telegram/accounts/".concat(encodeURIComponent(e)),{method:"DELETE"})},web:{listAccounts:()=>a("/web/accounts"),createAccount:e=>a("/web/accounts",{method:"POST",body:JSON.stringify(e)}),updateAccount:(e,t)=>a("/web/accounts/".concat(encodeURIComponent(e)),{method:"PATCH",body:JSON.stringify(t)}),deleteAccount:e=>a("/web/accounts/".concat(encodeURIComponent(e)),{method:"DELETE"})},slack:{listAccounts:()=>a("/slack/accounts"),createAccount:e=>a("/slack/accounts",{method:"POST",body:JSON.stringify(e)}),updateAccount:(e,t)=>a("/slack/accounts/".concat(encodeURIComponent(e)),{method:"PATCH",body:JSON.stringify(t)}),deleteAccount:e=>a("/slack/accounts/".concat(encodeURIComponent(e)),{method:"DELETE"}),searchTargets:(e,t)=>a("/slack/accounts/".concat(encodeURIComponent(e),"/search?q=").concat(encodeURIComponent(t)))},feishu:{listAccounts:()=>a("/feishu/accounts"),createAccount:e=>a("/feishu/accounts",{method:"POST",body:JSON.stringify(e)}),updateAccount:(e,t)=>a("/feishu/accounts/".concat(encodeURIComponent(e)),{method:"PATCH",body:JSON.stringify(t)}),deleteAccount:e=>a("/feishu/accounts/".concat(encodeURIComponent(e)),{method:"DELETE"}),searchTargets:(e,t)=>a("/feishu/accounts/".concat(encodeURIComponent(e),"/search?q=").concat(encodeURIComponent(t)))},settings:{get(e){let t=e?"?projectId=".concat(encodeURIComponent(e)):"";return a("/settings".concat(t))},getSchema(e){let t=e?"?projectId=".concat(encodeURIComponent(e)):"";return a("/settings/schema".concat(t))},save:(e,t,o)=>a("/settings",{method:"PUT",body:JSON.stringify({scope:e,projectId:o,settings:t})}),patch:(e,t,o,n)=>a("/settings",{method:"PATCH",body:JSON.stringify({scope:e,projectId:n,key:t,value:o})}),remove:(e,t,o)=>a("/settings",{method:"DELETE",body:JSON.stringify({scope:e,projectId:o,key:t})})},evolution:{listRuns(e){let t=new URLSearchParams;(null==e?void 0:e.archived)&&t.set("archived","1"),(null==e?void 0:e.limit)!==void 0&&t.set("limit",String(e.limit)),(null==e?void 0:e.before)!==void 0&&t.set("before",String(e.before));let o=t.toString()?"?".concat(t):"";return a("/evolution/runs".concat(o))},getRun:e=>a("/evolution/runs/".concat(encodeURIComponent(e))),approve:(e,t)=>a("/evolution/runs/".concat(encodeURIComponent(e),"/approve"),{method:"POST",body:JSON.stringify({reviewerHint:t})}),reject:e=>a("/evolution/runs/".concat(encodeURIComponent(e),"/reject"),{method:"POST",body:"{}"}),addHint:(e,t)=>a("/evolution/runs/".concat(encodeURIComponent(e),"/hint"),{method:"POST",body:JSON.stringify({hint:t})}),retry:(e,t)=>a("/evolution/runs/".concat(encodeURIComponent(e),"/retry"),{method:"POST",body:JSON.stringify({hint:t})}),delete:e=>a("/evolution/runs/".concat(encodeURIComponent(e)),{method:"DELETE"})},cron:{listJobs(e){let t=new URLSearchParams;(null==e?void 0:e.limit)!==void 0&&t.set("limit",String(e.limit)),(null==e?void 0:e.before)!==void 0&&t.set("before",String(e.before));let o=t.toString()?"?".concat(t):"";return a("/cron/jobs".concat(o))},createJob:e=>a("/cron/jobs",{method:"POST",body:JSON.stringify(e)}),updateJob:(e,t)=>a("/cron/jobs/".concat(encodeURIComponent(e)),{method:"PUT",body:JSON.stringify(t)}),deleteJob:e=>a("/cron/jobs/".concat(encodeURIComponent(e)),{method:"DELETE"}),runNow:e=>a("/cron/jobs/".concat(encodeURIComponent(e),"/run-now"),{method:"POST",body:"{}"}),listRuns(e,t){let o=new URLSearchParams;(null==t?void 0:t.limit)&&o.set("limit",String(t.limit)),(null==t?void 0:t.before)&&o.set("before",t.before);let n=o.toString()?"?".concat(o):"";return a("/cron/jobs/".concat(encodeURIComponent(e),"/runs").concat(n))},getRunLog:e=>a("/cron/runs/".concat(encodeURIComponent(e),"/log")),listChannelTargets:()=>a("/cron/channel-targets"),meta:()=>a("/cron/meta")}}},26967:(e,t,o)=>{o.d(t,{AppI18nProvider:()=>i});var n=o(69625),a=o(8808);let s={"channels.weixin":"WeChat","tg.title":"Telegram Bot","tg.desc":"Add a bot created by BotFather. Telegram messages will go to the bound workspace.","tg.add":"Add Bot","tg.loading":"Loading...","tg.empty":"No bots yet. Create one with @BotFather on Telegram, then click Add above.","tg.saveFailed":"Save failed: {error}","tg.switchFailed":"Switch failed: {error}","tg.confirmDelete":"Delete bot @{name}?","tg.deleteFailed":"Delete failed: {error}","tg.label":"Name","tg.labelPlaceholder":"Bot name","tg.workspace":"Bind workspace (absolute path)","tg.accessLevel":"Access level","tg.readonly":"Readonly — read only (default)","tg.wsWrite":"Workspace — read-write within workspace","tg.full":"Full — full access","tg.allowedUsers":"Allowed users (comma-separated user_id or @username, empty = no limit)","tg.save":"Save","tg.cancel":"Cancel","tg.whitelist":"Whitelist","tg.pathMissing":"(path does not exist)","tg.disable":"Disable","tg.enable":"Enable","tg.edit":"Edit","tg.delete":"Delete","tg.addTitle":"Add Telegram Bot","tg.tokenLabel":"Bot Token (from @BotFather)","tg.bindWorkspace":"Bind to workspace","tg.nameOptional":"Name (optional)","tg.namePlaceholder":"e.g. SA Agent","tg.allowedUsersOptional":"Allowed users (optional, comma-separated)","tg.allowedUsersHint":"user_id or @username, empty = no limit","tg.addBtn":"Add","slack.title":"Slack Bot","slack.desc":"Add a Slack app with Socket Mode enabled. The bot listens via a long-lived ws connection — no public webhook needed.","slack.add":"Add Bot","slack.loading":"Loading...","slack.empty":"No Slack bots yet. Create an app at api.slack.com, enable Socket Mode, then click Add above.","slack.saveFailed":"Save failed: {error}","slack.switchFailed":"Switch failed: {error}","slack.confirmDelete":"Delete bot for team {name}?","slack.deleteFailed":"Delete failed: {error}","slack.label":"Name","slack.labelPlaceholder":"Bot name","slack.workspace":"Bind workspace (absolute path)","slack.accessLevel":"Access level","slack.readonly":"Readonly — read only (default)","slack.wsWrite":"Workspace — read-write within workspace","slack.full":"Full — full access","slack.save":"Save","slack.cancel":"Cancel","slack.pathMissing":"(path does not exist)","slack.disable":"Disable","slack.enable":"Enable","slack.edit":"Edit","slack.delete":"Delete","slack.addTitle":"Add Slack Bot","slack.botTokenLabel":"Bot Token (xoxb-…)","slack.botTokenHint":"OAuth & Permissions → Bot User OAuth Token","slack.appTokenLabel":"App Token (xapp-…)","slack.appTokenHint":"Basic Information → App-Level Tokens (with connections:write)","slack.bindWorkspace":"Bind to workspace","slack.nameOptional":"Name (optional)","slack.namePlaceholder":"e.g. SA Agent","slack.addBtn":"Add","feishu.title":"Feishu Bot","feishu.desc":"Add a Feishu (Lark) app with long-connect events enabled. The bot listens via a wss connection — no public webhook needed.","feishu.add":"Add Bot","feishu.loading":"Loading...","feishu.empty":"No Feishu bots yet. Create an app in the Feishu open platform, enable long-connect events, then click Add above.","feishu.saveFailed":"Save failed: {error}","feishu.switchFailed":"Switch failed: {error}","feishu.confirmDelete":"Delete bot for app {name}?","feishu.deleteFailed":"Delete failed: {error}","feishu.label":"Name","feishu.labelPlaceholder":"Bot name","feishu.workspace":"Bind workspace (absolute path)","feishu.accessLevel":"Access level","feishu.readonly":"Readonly — read only (default)","feishu.wsWrite":"Workspace — read-write within workspace","feishu.full":"Full — full access","feishu.save":"Save","feishu.cancel":"Cancel","feishu.pathMissing":"(path does not exist)","feishu.disable":"Disable","feishu.enable":"Enable","feishu.edit":"Edit","feishu.delete":"Delete","feishu.addTitle":"Add Feishu Bot","feishu.appIdLabel":"App ID","feishu.appSecretLabel":"App Secret","feishu.botOpenIdLabel":"Bot Open ID","feishu.botOpenIdHint":"The bot's own open_id, used to detect mentions in groups","feishu.verificationTokenLabel":"Verification Token (optional)","feishu.encryptKeyLabel":"Encrypt Key (optional)","feishu.bindWorkspace":"Bind to workspace","feishu.nameOptional":"Name (optional)","feishu.namePlaceholder":"e.g. SA Agent","feishu.addBtn":"Add","web.title":"Web Access","web.desc":"Create tokens for web frontend access. Each token binds to one workspace.","web.create":"Create Access","web.loading":"Loading...","web.empty":"No web access yet. Click Create above to generate a token.","web.saveFailed":"Save failed: {error}","web.switchFailed":"Switch failed: {error}","web.confirmDelete":"Delete this access? The token will be invalidated.","web.deleteFailed":"Delete failed: {error}","web.label":"Name","web.labelPlaceholder":"Access name","web.workspace":"Bind workspace (absolute path)","web.accessLevel":"Access level","web.readonly":"Readonly — read only (default)","web.wsWrite":"Workspace — read-write within workspace","web.full":"Full — full access","web.observer":"Observer — global read-only (dashboards/metrics)","web.save":"Save","web.cancel":"Cancel","web.pathMissing":"(path does not exist)","web.copied":"Copied","web.copyToken":"Copy Token","web.disable":"Disable","web.enable":"Enable","web.edit":"Edit","web.delete":"Delete","web.createSuccess":"Created successfully","web.tokenNotice":"Save this token (shown only once):","web.done":"Done","web.createTitle":"Create Web Access","web.bindWorkspace":"Bind to workspace","web.nameOptional":"Name (optional)","web.namePlaceholder":"e.g. SA Demo","web.createBtn":"Create","wx.title":"WeChat Bot","wx.desc":"After scanning, WeChat messages will go to the bound workspace session.","wx.add":"Add Bot","wx.loading":"Loading...","wx.empty":'No bots yet. Click "Add Bot" above to scan with WeChat.',"wx.saveFailed":"Save failed: {error}","wx.switchFailed":"Switch failed: {error}","wx.confirmDelete":'Delete bot "{name}"? Friends will get no response.',"wx.deleteFailed":"Delete failed: {error}","wx.label":"Name","wx.labelPlaceholder":"Bot name","wx.workspace":"Bind workspace (absolute path)","wx.accessLevel":"Access level","wx.readonly":"Readonly — read workspace files / grep / glob (default)","wx.wsWrite":"Workspace — read-write within workspace","wx.full":"Full — full access, including write and shell","wx.readonlyHint":"Readonly: WeChat users can only let agent read files/search, cannot write, run commands or access network. Sub-agents inherit the same level.","wx.save":"Save","wx.cancel":"Cancel","wx.disable":"Disable","wx.enable":"Enable","wx.rescan":"Re-scan (refresh token)","wx.edit":"Edit","wx.delete":"Delete","wx.generatingQr":"Generating QR code...","wx.pathRequired":"Workspace must be an absolute path","wx.qrFailed":"Failed to generate QR code","wx.scanPrompt":"Scan with WeChat","wx.connected":"Connected ({id})","wx.loginFailed":"Login failed","wx.rescanBtn":"Re-scan","wx.addTitle":"Add WeChat Bot","wx.bindWorkspace":"Bind to workspace","wx.bindHint":"WeChat messages will go to this workspace session, visible in web panel","wx.nameOptional":"Name (optional)","wx.namePlaceholder":"e.g. Work Assistant","wx.readonlyFull":"Full — same as web","wx.readonlyShareHint":"Readonly: WeChat users cannot write files, run shell, or access network. Sub-agents inherit. Strongly recommended for sharing with clients.","wx.nextStep":"Next: Scan","wx.scanTitle":"Scan with WeChat","wx.bindTo":"Bind to","wx.restart":"Start over","media.image":"Image","media.video":"Video","media.voice":"Voice","media.file":"File","chat.imageSent":"[Sent {n} image(s)]","agent.agents":"Agents","agent.selectToEdit":"Select an agent to edit","agent.back":"Back","agent.test":"Test","agent.edit":"Edit","agent.editHint":"Open agent.yaml + AGENT.md in a mini workspace","agent.saving":"saving…","agent.loading":"Loading...","agent.mdPreviewHint":'preview (read-only — edit via "Edit" above)',"agent.basic":"Basic","agent.name":"name","agent.description":"description","agent.priority":"priority","agent.model":"Model","agent.provider":"provider","agent.modelId":"id","agent.endpoint":"endpoint","agent.maxTokens":"maxTokens","agent.maxTokensDefault":"Default: {max} (model max)","agent.maxTokensAuto":"Leave blank for model default","agent.systemPrompt":"System Prompt","agent.systemPromptHint":"(fallback if no AGENT.md)","agent.systemPromptPlaceholder":"Instructions for this agent...","agent.context":"Context","agent.team":"Team","agent.teamHint":"(pick agents to delegate to — selecting any grants the session/delegation tools; none = no delegation)","agent.loadingTools":"Loading tools...","agent.noSkills":"No skills available. Create skills first.","skill.skills":"Skills","skill.noSkills":"No skills yet. Click + on a section to create one.","settings.general":"General","settings.params":"Params","settings.emptyParams":"No params yet. Add entries under params.x.y in YAML view — they can be referenced as {{params.x.y}} in AGENT.md / SKILL.md.","settings.emptyGeneral":"No settings in this section yet. Switch to YAML view to add manually.","settings.nav.system":"System","settings.nav.providers":"Model Providers","settings.nav.skills":"Skills","settings.nav.agents":"Agents","settings.nav.orphans":"Orphans","settings.nav.unclaimed":"Unclaimed values","settings.section.namespace":"Namespace","settings.section.declaredBy":"Declared by","settings.section.declaredBy.general":"General","settings.section.declaredBy.provider":"Provider","settings.section.declaredBy.skill":"Skill","settings.section.declaredBy.agent":"Agent","settings.section.settings":"Settings","settings.section.params":"Params","settings.section.secrets":"Secrets","settings.section.secretsHint":"Server-side only. Never injected into agent prompts or shell commands. {placeholder} placeholders are pulled from the process environment at read time.","settings.field.reset":"Reset","settings.field.resetTitleWorkspace":"Remove workspace override (inherit from global)","settings.field.resetTitleGlobal":"Remove global value (revert to default)","settings.source.workspace":"workspace","settings.source.global":"global","settings.source.inherited":"inherited from global","settings.source.unset":"unset","settings.orphans.title":"Unclaimed values","settings.orphans.intro":"These values exist in settings.yaml but no provider or skill currently declares them. They might be left over from an uninstalled package — or the declaration was removed. Safe to keep (they re-attach automatically if their namespace comes back) or remove.","settings.orphans.remove":"Remove","settings.orphans.confirm":"Remove orphan {key}? This deletes the value from settings.yaml.","settings.empty":"No section selected.","settings.loading":"Loading…","nav.explorer":"Explorer","nav.sourceControl":"Source Control","nav.sessions":"Sessions","nav.channels":"Channels","nav.settings":"Settings","nav.canvas":"Canvas","nav.chat":"CHAT","nav.terminal":"TERMINAL","sc.refresh":"Refresh","sc.staged":"Staged Changes","sc.changes":"Changes","sc.stageAll":"Stage All Changes","sc.unstageAll":"Unstage All Changes","sc.commit":"Commit","sc.commitPlaceholder":"Message (Ctrl+Enter to commit)","sc.push":"Push","sc.pull":"Pull","sc.clean":"No changes","sc.initRepo":"Initialize Repository","sc.initRepoDesc":"Start tracking this folder with git. Creates a .gitignore and an initial commit.","sc.initializing":"Initializing…","sc.addRemoteDesc":"No remote configured. Add the URL of an empty repository you created on GitHub/GitLab to push to.","sc.remotePlaceholder":"https://github.com/user/repo.git","sc.addRemote":"Add Remote","sc.adding":"Adding…","sc.authError":"Push failed: Git credentials needed. Configure them, then push again.","sc.openCreds":"Open credential settings","sc.noWorkspace":"Open a folder to use source control","sc.selectFile":"Select a file to view its diff","sc.loadingDiff":"Loading diff…","sc.diffStaged":"(staged)","sc.diffWorking":"(working tree)","sc.viewChanges":"Changes","sc.viewGraph":"Graph","sc.noCommits":"No commits yet","sc.noCommitFiles":"No files changed","sc.pushed":"Pushed to remote","sc.unpushed":"Local only — not pushed","sc.cred.title":"Git Credentials","sc.cred.tabHttps":"HTTPS","sc.cred.tabSsh":"SSH","sc.cred.httpsDesc":"Sign in with your GitHub/GitLab username and a Personal Access Token (not your account password). Stored on disk — configure once, survives restarts.","sc.cred.configuredList":"Configured credentials","sc.cred.noCredsYet":"No credentials configured yet","sc.cred.delete":"Delete","sc.cred.confirmDelete":"Confirm delete?","sc.cred.addNew":"Add credential","sc.cred.host":"Host","sc.cred.username":"Username","sc.cred.token":"Personal Access Token","sc.cred.tokenHint":"Stored locally with 0600 permissions, never displayed again.","sc.cred.tokenLink":"How to create a PAT","sc.cred.required":"Host, username and token are all required.","sc.cred.save":"Save","sc.cred.saving":"Saving…","sc.cred.cancel":"Cancel","sc.cred.close":"Close","sc.cred.sshDesc":"Use an SSH key for push/pull. halo runs one ssh-agent shared with its built-in terminal — unlock a key below and push/pull just works. The passphrase goes straight to ssh-add; halo never stores it.","sc.cred.sshAgentOn":"ssh-agent ready \xb7 {count} key(s) loaded","sc.cred.sshAgentOff":"ssh-agent not running","sc.cred.sshRefresh":"Refresh","sc.cred.sshKeys":"Keys in ~/.ssh","sc.cred.sshNoKeys":"No private keys found in ~/.ssh","sc.cred.sshLoaded":"Loaded","sc.cred.sshUnlock":"Unlock","sc.cred.sshUnlocking":"Unlocking…","sc.cred.sshPassphrase":"Key passphrase","sc.cred.sshUnlockHint":"Enter the passphrase to load this key into the agent. It goes straight to ssh-add — never stored or logged.","sc.cred.sshUnlockFailed":"Could not unlock the key","sc.cred.sshRemote":"Remote protocol (origin)","sc.cred.sshRestartNote":"Note: a loaded SSH key lives in the agent only while the server runs — after a halo restart, unlock it again (like re-unlocking SSH after a reboot). HTTPS tokens are stored on disk and survive restarts.","common.language":"Language","common.global":"Global","common.workspace":"Workspace","cron.title":"Cron Jobs","cron.new":"New","cron.refresh":"Refresh","cron.empty":'No cron jobs yet. Click "New" to create one.',"cron.loading":"Loading…","cron.error":"Error: {error}","cron.confirmDelete":"Delete this cron job? Run history is also removed.","cron.err.wechat.noInbound":"This user has never messaged the bot — WeChat ilink requires an inbound from them first before any push works. Ask them to send any message to the bot, then retry.","cron.next":"next:","cron.runNow":"Run now","cron.edit":"Edit","cron.delete":"Delete","cron.disabled":"disabled","cron.field.schedule":"Schedule:","cron.field.runAt":"Run at:","cron.field.agent":"Agent:","cron.field.workspace":"Workspace:","cron.field.targets":"Targets:","cron.field.targetsLogOnly":"— (log only)","cron.field.prompt":"Prompt","cron.runHistory":"Run history","cron.noRuns":"No runs yet.","cron.dispatch":"Dispatch:","cron.loadOlder":"Load older runs","cron.log.title":"Log: {id}","cron.log.close":"Close","cron.pickJob":'Pick a job, or click "New" to create one.',"cron.form.create":"Create cron job","cron.form.edit":"Edit cron job","cron.form.cancel":"Cancel","cron.form.save":"Save","cron.form.create.btn":"Create","cron.form.saving":"Saving…","cron.form.label":"Label (optional)","cron.form.label.placeholder":"Daily report","cron.form.workspace":"Workspace path *","cron.form.workspace.placeholder":"/abs/path/to/workspace","cron.form.agent":"Agent *","cron.form.mode":"Trigger","cron.form.mode.recurring":"Recurring (cron)","cron.form.mode.oneShot":"One-time (specific instant)","cron.form.schedule":"Schedule (cron expression) *","cron.form.schedule.placeholder":"0 9 * * *","cron.form.schedule.hint":"Standard 5-field cron. Examples: 0 9 * * * = daily 09:00 \xb7 */15 * * * * = every 15 min \xb7 0 9 * * 1 = Mondays 09:00","cron.form.runAt":"Fire at *","cron.form.runAt.hint":"Job fires once at this instant (interpreted in the chosen timezone), then auto-disables.","cron.form.timezone":"Timezone","cron.form.timezone.hostDefault":"Default — host TZ ({tz})","cron.form.userPrompt":"User prompt *","cron.form.userPrompt.placeholder":"Generate today's status digest from .halo/memory/","cron.form.targets":"Channel targets (where to deliver the output)","cron.form.targets.empty":"No bound channels yet.","cron.form.targets.disabled":"(disabled)","cron.form.targets.noActiveChat":"No user has messaged this account yet — cron can't deliver until at least one inbound message","cron.form.targets.noActiveChatLabel":"(no active chat)","cron.form.targets.hint":"Leave empty to log only (no channel delivery).","cron.form.enabled":"Enabled (start scheduling immediately)","cron.form.err.workspace":"Workspace path required","cron.form.err.agent":"Agent required","cron.form.err.schedule":"Schedule required","cron.form.err.runAt":"Fire time required","cron.form.err.runAtPast":"Fire time must be in the future","cron.form.err.prompt":"Prompt required","evolution.title":"Evolution","evolution.refresh":"Refresh","evolution.filter.all":"All","evolution.filter.awaiting_review":"Awaiting review","evolution.filter.pending":"Pending","evolution.filter.running":"Running","evolution.filter.approved":"Approved","evolution.filter.applied":"Applied","evolution.filter.skipped":"Skipped","evolution.filter.rejected":"Rejected","evolution.filter.failed":"Failed","evolution.filter.timeout":"Timeout","evolution.filter.archived":"Archived","evolution.list.empty":"No runs match this filter.","evolution.list.pickRun":"Select a run to view details.","evolution.list.loading":"Loading…","evolution.list.noRun":"No run.","evolution.list.noHint":"no hint","evolution.list.attempts":"{n} attempts","evolution.list.applyFailed":"apply failed","evolution.detail.workspace":"Workspace:","evolution.detail.hint":"Hint:","evolution.detail.failure":"Failure: {reason}","evolution.detail.skipped":"Evo skipped this run on its own — no patch to apply, no need to approve / reject. See .skip.md below for the reason.","evolution.detail.applyFailed":"Approved, but the apply failed its regression check and the main workspace was left unchanged. Add a hint and retry.","evolution.action.approve":"Approve","evolution.action.reject":"Reject","evolution.action.confirmReject":"Reject this run?","evolution.action.addHint":"Add hint","evolution.action.retry":"Retry","evolution.action.retryWithHint":"Retry with hint","evolution.action.confirmApprove":"Confirm approve","evolution.action.confirmRetry":"Confirm retry","evolution.action.add":"Add","evolution.action.cancel":"Cancel","evolution.action.retryNeedsHint":"Retry needs a hint — same input + no new direction would just reproduce the same output.","evolution.action.delete":"Delete","evolution.action.confirmDelete":"Delete this run? Its patch, score, logs, and snapshot are removed for good.","evolution.retry.title":"Retry hint — reviewer's steering for the next pass. Replaces the existing user hint, evo sees this as the new ask.","evolution.retry.placeholder":"e.g. last time you proposed an architecture change — try a smaller patch focused on the user pattern","evolution.retry.tooltip":"Send the run back to evo with a new hint","evolution.approve.title":"Optional reviewer hint — passed to the apply agent. Leave empty to approve as-is.","evolution.approve.placeholder":"e.g. only apply the INSTRUCTIONS.md change, not the AGENT.md one","evolution.hint.title":"Append a memo to the run's hint. Status doesn't change; this is just a note for later.","evolution.hint.placeholder":"e.g. revisit after the upcoming Bedrock model upgrade","evolution.score.title":"Score","evolution.score.lint":"lint","evolution.score.behavior":"behavior","evolution.score.scope":"scope","evolution.score.avg":"avg","evolution.score.confidence":"Confidence:","evolution.snapshot.title":"Source session ({n} msgs)","evolution.snapshot.firstUser":"First user:","evolution.snapshot.firstAssistant":"First reply:","evolution.skip.title":".skip.md (why evo skipped this run)","evolution.patch.title":"patch.md","evolution.patch.empty":"no patch produced yet","evolution.logs.title":"Run logs","evolution.logs.wrapper":"wrapper.log (orchestration)","evolution.logs.subCli":"sub-cli.log (evo / score / dry-run stdout+stderr)","evolution.time.justNow":"just now","evolution.time.minutes":"{n}m ago","evolution.time.hours":"{n}h ago","evolution.time.days":"{n}d ago","workspace.pin":"Keep window on top","workspace.unpin":"Stop keeping on top","capture.button":"Share a window/screen for the AI to see","capture.bound":"Sharing: {name} (AI can request a screenshot)","capture.unbind":"Stop sharing","capture.pickTitle":"Choose a window or screen to share","capture.permissionHint":"Screen Recording permission is needed. Enable Halo under System Settings → Privacy & Security → Screen Recording, then fully quit and reopen Halo.","capture.openSettings":"Open Settings","capture.loading":"Loading sources…","capture.empty":"No windows or screens found.","capture.noPreview":"No preview (grant Screen Recording)","capture.llmPrompt":'[System: the user is sharing the "{name}" window. When you need to see its current contents to answer, output a line containing exactly <<<CAPTURE>>> and the system will screenshot it and send it back to you as the next message. Do not output the marker unless you actually need to look.]',"capture.cameraName":"Camera","capture.cameraButton":"Turn on the camera for the AI to take a photo","capture.cameraBound":"Camera on (AI can take a photo) — click to turn off","capture.cameraPick":"Choose camera","capture.cameraCurrent":"current","capture.cameraUse":"Use this camera","capture.cameraPermissionHint":"Camera permission is needed. Enable Halo under System Settings → Privacy & Security → Camera.","capture.cameraLlmPrompt":"[System: the user has turned the camera on for you. When you need to see what the camera is pointed at to answer, output a line containing exactly <<<CAPTURE>>> and the system will take a photo and send it back to you as the next message. Do not output the marker unless you actually need to look.]","capture.dismiss":"Dismiss","face.button":"Open the assistant's face"},r={"channels.weixin":"微信","tg.title":"Telegram Bot","tg.desc":"添加 BotFather 创建的 bot,用 Telegram 对话即进入绑定的 workspace","tg.add":"添加 Bot","tg.loading":"加载中...","tg.empty":"还没有 Bot。在 Telegram 找 @BotFather 创建一个,然后点右上角添加。","tg.saveFailed":"保存失败: {error}","tg.switchFailed":"切换失败: {error}","tg.confirmDelete":"确定删除 Bot @{name}?","tg.deleteFailed":"删除失败: {error}","tg.label":"名称","tg.labelPlaceholder":"Bot 名称","tg.workspace":"绑定 workspace(绝对路径)","tg.accessLevel":"权限级别","tg.readonly":"Readonly — 仅读取(默认)","tg.wsWrite":"Workspace — workspace 内读写","tg.full":"Full — 完整权限","tg.allowedUsers":"允许的用户(逗号分隔 user_id 或 @username,留空=不限制)","tg.save":"保存","tg.cancel":"取消","tg.whitelist":"白名单","tg.pathMissing":"(路径不存在)","tg.disable":"停用","tg.enable":"启用","tg.edit":"编辑","tg.delete":"删除","tg.addTitle":"添加 Telegram Bot","tg.tokenLabel":"Bot Token(从 @BotFather 获取)","tg.bindWorkspace":"绑定到 workspace","tg.nameOptional":"名称(可选)","tg.namePlaceholder":"比如:SA Agent","tg.allowedUsersOptional":"允许的用户(可选,逗号分隔)","tg.allowedUsersHint":"user_id 或 @username,留空=不限制","tg.addBtn":"添加","slack.title":"Slack Bot","slack.desc":"添加启用了 Socket Mode 的 Slack 应用。Bot 通过长连 ws 接收消息——无需公网 webhook。","slack.add":"添加 Bot","slack.loading":"加载中...","slack.empty":"还没有 Slack Bot。在 api.slack.com 创建应用、启用 Socket Mode,然后点右上角添加。","slack.saveFailed":"保存失败:{error}","slack.switchFailed":"切换失败:{error}","slack.confirmDelete":"确定删除 team {name} 的 bot?","slack.deleteFailed":"删除失败:{error}","slack.label":"名称","slack.labelPlaceholder":"Bot 名称","slack.workspace":"绑定 workspace(绝对路径)","slack.accessLevel":"权限级别","slack.readonly":"只读 — 仅查看(默认)","slack.wsWrite":"Workspace — 工作区内可读写","slack.full":"完全 — 全部权限","slack.save":"保存","slack.cancel":"取消","slack.pathMissing":"(路径不存在)","slack.disable":"禁用","slack.enable":"启用","slack.edit":"编辑","slack.delete":"删除","slack.addTitle":"添加 Slack Bot","slack.botTokenLabel":"Bot Token(xoxb-…)","slack.botTokenHint":"OAuth & Permissions → Bot User OAuth Token","slack.appTokenLabel":"App Token(xapp-…)","slack.appTokenHint":"Basic Information → App-Level Tokens(需 connections:write 权限)","slack.bindWorkspace":"绑定 workspace","slack.nameOptional":"名称(可选)","slack.namePlaceholder":"比如 SA Agent","slack.addBtn":"添加","feishu.title":"飞书 Bot","feishu.desc":"添加启用了「长连接」事件订阅模式的飞书应用。Bot 通过 wss 长连接收消息——无需公网 webhook。","feishu.add":"添加 Bot","feishu.loading":"加载中...","feishu.empty":"还没有飞书 Bot。在飞书开放平台创建应用,启用长连接事件订阅,然后点右上角添加。","feishu.saveFailed":"保存失败:{error}","feishu.switchFailed":"切换失败:{error}","feishu.confirmDelete":"确定删除 app {name} 的 bot?","feishu.deleteFailed":"删除失败:{error}","feishu.label":"名称","feishu.labelPlaceholder":"Bot 名称","feishu.workspace":"绑定 workspace(绝对路径)","feishu.accessLevel":"权限级别","feishu.readonly":"只读 — 仅查看(默认)","feishu.wsWrite":"Workspace — 工作区内可读写","feishu.full":"完全 — 全部权限","feishu.save":"保存","feishu.cancel":"取消","feishu.pathMissing":"(路径不存在)","feishu.disable":"禁用","feishu.enable":"启用","feishu.edit":"编辑","feishu.delete":"删除","feishu.addTitle":"添加飞书 Bot","feishu.appIdLabel":"App ID","feishu.appSecretLabel":"App Secret","feishu.botOpenIdLabel":"Bot Open ID","feishu.botOpenIdHint":"机器人自己的 open_id,用于在群里识别 @ 提及","feishu.verificationTokenLabel":"Verification Token(可选)","feishu.encryptKeyLabel":"Encrypt Key(可选)","feishu.bindWorkspace":"绑定 workspace","feishu.nameOptional":"名称(可选)","feishu.namePlaceholder":"比如 SA Agent","feishu.addBtn":"添加","web.title":"Web 接入","web.desc":"创建 Token 给 Web 前端接入,每个 Token 绑定一个 workspace","web.create":"创建接入","web.loading":"加载中...","web.empty":"还没有 Web 接入。点右上角创建一个 Token。","web.saveFailed":"保存失败: {error}","web.switchFailed":"切换失败: {error}","web.confirmDelete":"确定删除此接入?Token 将失效。","web.deleteFailed":"删除失败: {error}","web.label":"名称","web.labelPlaceholder":"接入名称","web.workspace":"绑定 workspace(绝对路径)","web.accessLevel":"权限级别","web.readonly":"Readonly — 仅读取(默认)","web.wsWrite":"Workspace — workspace 内读写","web.full":"Full — 完整权限","web.observer":"Observer — 全局只读(看板/监控)","web.save":"保存","web.cancel":"取消","web.pathMissing":"(路径不存在)","web.copied":"已复制","web.copyToken":"复制 Token","web.disable":"停用","web.enable":"启用","web.edit":"编辑","web.delete":"删除","web.createSuccess":"创建成功","web.tokenNotice":"请保存以下 Token(只显示一次):","web.done":"完成","web.createTitle":"创建 Web 接入","web.bindWorkspace":"绑定到 workspace","web.nameOptional":"名称(可选)","web.namePlaceholder":"比如:SA Demo","web.createBtn":"创建","wx.title":"微信机器人","wx.desc":"扫码登录后,微信消息会进入绑定的 workspace 会话","wx.add":"添加机器人","wx.loading":"加载中...","wx.empty":'还没有机器人。点右上角"添加机器人"用微信扫码接入。',"wx.saveFailed":"保存失败: {error}","wx.switchFailed":"切换失败: {error}","wx.confirmDelete":'确定删除机器人 "{name}"?微信里的好友会变成无响应状态。',"wx.deleteFailed":"删除失败: {error}","wx.label":"名称","wx.labelPlaceholder":"Bot 名称","wx.workspace":"绑定 workspace(绝对路径)","wx.accessLevel":"权限级别","wx.readonly":"Readonly — 仅读 workspace 内文件 / grep / glob(默认)","wx.wsWrite":"Workspace — workspace 内读写","wx.full":"Full — 完整权限,含写入和 shell","wx.readonlyHint":"Readonly:微信用户只能让 agent 查文件/搜索,无法写入、跑命令或联网。子 agent 自动继承同档位","wx.save":"保存","wx.cancel":"取消","wx.disable":"停用","wx.enable":"启用","wx.rescan":"重新扫码(刷新 token)","wx.edit":"编辑","wx.delete":"删除","wx.generatingQr":"正在生成二维码...","wx.pathRequired":"workspace 必须是绝对路径","wx.qrFailed":"生成二维码失败","wx.scanPrompt":"请使用微信扫描二维码","wx.connected":"连接成功 ({id})","wx.loginFailed":"登录失败","wx.rescanBtn":"重新扫码","wx.addTitle":"添加微信机器人","wx.bindWorkspace":"绑定到 workspace","wx.bindHint":"微信消息会进入该 workspace 的会话,web 端打开能看到","wx.nameOptional":"名称(可选)","wx.namePlaceholder":"比如:工作助理","wx.readonlyFull":"Full — 和 web 端等权","wx.readonlyShareHint":"Readonly:微信用户无法写入文件、跑 shell、或联网。子 agent 自动继承同档位。给客户分享时强烈建议用 Readonly","wx.nextStep":"下一步:扫码","wx.scanTitle":"微信扫码","wx.bindTo":"绑定到","wx.restart":"重新开始","media.image":"图片","media.video":"视频","media.voice":"语音","media.file":"文件","chat.imageSent":"[已发送 {n} 张图片]","agent.agents":"Agents","agent.selectToEdit":"选择一个 Agent 进行编辑","agent.back":"返回","agent.test":"测试","agent.edit":"编辑","agent.editHint":"打开 agent.yaml + AGENT.md 编辑器","agent.saving":"保存中…","agent.loading":"加载中...","agent.mdPreviewHint":'预览(只读 — 点击上方"编辑"修改)',"agent.basic":"基本信息","agent.name":"名称","agent.description":"描述","agent.priority":"优先级","agent.model":"模型","agent.provider":"提供商","agent.modelId":"模型 ID","agent.endpoint":"端点","agent.maxTokens":"最大 Token","agent.maxTokensDefault":"默认: {max} (模型上限)","agent.maxTokensAuto":"留空使用模型默认值","agent.systemPrompt":"系统提示词","agent.systemPromptHint":"(无 AGENT.md 时的 fallback)","agent.systemPromptPlaceholder":"给这个 agent 的指令...","agent.context":"上下文","agent.team":"团队","agent.teamHint":"(选择可委派的成员 — 选中任意一个即获得会话/委派工具;不选则无法委派)","agent.loadingTools":"加载中...","agent.noSkills":"暂无可用 Skills。请先创建。","skill.skills":"Skills","skill.noSkills":"暂无 Skills。点击分组旁的 + 创建。","settings.general":"常规","settings.params":"参数","settings.emptyParams":"暂无参数。在 YAML 视图中添加 params.x.y 条目,可在 AGENT.md / SKILL.md 中通过 {{params.x.y}} 引用。","settings.emptyGeneral":"该分类暂无配置项。切换到 YAML 视图手动添加。","settings.nav.system":"系统","settings.nav.providers":"模型供应商","settings.nav.skills":"技能","settings.nav.agents":"Agent","settings.nav.orphans":"孤儿项","settings.nav.unclaimed":"无主值","settings.section.namespace":"命名空间","settings.section.declaredBy":"声明方","settings.section.declaredBy.general":"系统","settings.section.declaredBy.provider":"模型供应商","settings.section.declaredBy.skill":"技能","settings.section.declaredBy.agent":"Agent","settings.section.settings":"设置","settings.section.params":"参数","settings.section.secrets":"密钥","settings.section.secretsHint":"仅服务端可见,永不注入到 Agent 提示词或 shell 命令中。{placeholder} 占位符会在读取时从进程环境变量中替换。","settings.field.reset":"重置","settings.field.resetTitleWorkspace":"移除 workspace 覆盖(回退到 global)","settings.field.resetTitleGlobal":"移除 global 值(回到默认)","settings.source.workspace":"workspace","settings.source.global":"global","settings.source.inherited":"继承自 global","settings.source.unset":"未设置","settings.orphans.title":"无主值","settings.orphans.intro":"这些值在 settings.yaml 中存在,但当前没有任何模型供应商或技能声明它们。可能是卸载了对应包,或声明被移除。保留(如果对应命名空间回归会自动接上)或删除都安全。","settings.orphans.remove":"移除","settings.orphans.confirm":"移除孤儿项 {key}?将从 settings.yaml 删除该值。","settings.empty":"未选中分类。","settings.loading":"加载中…","nav.explorer":"文件","nav.sourceControl":"源代码管理","nav.sessions":"会话","nav.channels":"渠道","nav.settings":"设置","nav.canvas":"画布","nav.chat":"对话","nav.terminal":"终端","sc.refresh":"刷新","sc.staged":"已暂存的更改","sc.changes":"更改","sc.stageAll":"暂存所有更改","sc.unstageAll":"取消暂存所有更改","sc.commit":"提交","sc.commitPlaceholder":"消息(Ctrl+Enter 提交)","sc.push":"推送","sc.pull":"拉取","sc.clean":"没有更改","sc.initRepo":"初始化仓库","sc.initRepoDesc":"用 git 开始跟踪此文件夹。会创建 .gitignore 和一个初始提交。","sc.initializing":"初始化中…","sc.addRemoteDesc":"尚未配置远程仓库。填入你在 GitHub/GitLab 上新建的空仓库地址即可推送。","sc.remotePlaceholder":"https://github.com/user/repo.git","sc.addRemote":"添加远程仓库","sc.adding":"添加中…","sc.authError":"推送失败:需要先配置 Git 凭据。配置后再推送。","sc.openCreds":"打开凭据设置","sc.noWorkspace":"打开一个文件夹以使用源代码管理","sc.selectFile":"选择文件查看差异对比","sc.loadingDiff":"正在加载差异…","sc.diffStaged":"(已暂存)","sc.diffWorking":"(工作区)","sc.viewChanges":"更改","sc.viewGraph":"提交历史","sc.noCommits":"暂无提交","sc.noCommitFiles":"无文件变更","sc.pushed":"已推送到远程","sc.unpushed":"仅本地 — 未推送","sc.cred.title":"Git 凭据","sc.cred.tabHttps":"HTTPS","sc.cred.tabSsh":"SSH","sc.cred.httpsDesc":"用 GitHub/GitLab 用户名 + 个人访问令牌(PAT,不是账号密码)登录。凭据存在磁盘上——配一次,重启不丢。","sc.cred.configuredList":"已配置的凭据","sc.cred.noCredsYet":"还没有配置任何凭据","sc.cred.delete":"删除","sc.cred.confirmDelete":"确认删除?","sc.cred.addNew":"添加新凭据","sc.cred.host":"地址","sc.cred.username":"用户名","sc.cred.token":"个人访问令牌","sc.cred.tokenHint":"以 0600 权限保存在本地,不会再次显示。","sc.cred.tokenLink":"如何生成 PAT","sc.cred.required":"地址、用户名和令牌都必填。","sc.cred.save":"保存","sc.cred.saving":"保存中…","sc.cred.cancel":"取消","sc.cred.close":"关闭","sc.cred.sshDesc":"用 SSH 密钥推送/拉取。halo 自持一个与内置终端共享的 ssh-agent——在下面解锁密钥,推送/拉取即可生效。密码直接交给 ssh-add,halo 不会保存。","sc.cred.sshAgentOn":"ssh-agent 就绪 \xb7 已加载 {count} 个密钥","sc.cred.sshAgentOff":"ssh-agent 未运行","sc.cred.sshRefresh":"刷新","sc.cred.sshKeys":"~/.ssh 中的密钥","sc.cred.sshNoKeys":"~/.ssh 中未找到私钥","sc.cred.sshLoaded":"已加载","sc.cred.sshUnlock":"解锁","sc.cred.sshUnlocking":"解锁中…","sc.cred.sshPassphrase":"密钥密码","sc.cred.sshUnlockHint":"输入密码将此密钥加载进 agent。密码直接交给 ssh-add——不保存、不记录日志。","sc.cred.sshUnlockFailed":"无法解锁该密钥","sc.cred.sshRemote":"Remote 协议(origin)","sc.cred.sshRestartNote":"注意:加载的 SSH 密钥只在服务运行期间存在于 agent 中——halo 重启后需要重新解锁一次(类似电脑重启后要重新解锁 SSH)。HTTPS 令牌存在磁盘上,重启不丢。","common.language":"语言","common.global":"全局","common.workspace":"工作区","cron.title":"定时任务","cron.new":"新建","cron.refresh":"刷新","cron.empty":"还没有定时任务。点击「新建」创建一个。","cron.loading":"加载中…","cron.error":"错误:{error}","cron.confirmDelete":"删除这个定时任务?运行历史也会一起删掉。","cron.err.wechat.noInbound":"该用户尚未给此 bot 发过消息——微信 ilink 协议要求对方先开口,bot 才能主动推送。请让 ta 给 bot 发任意一条消息后再试。","cron.next":"下一次:","cron.runNow":"立即运行","cron.edit":"编辑","cron.delete":"删除","cron.disabled":"已禁用","cron.field.schedule":"调度:","cron.field.runAt":"触发时刻:","cron.field.agent":"Agent:","cron.field.workspace":"工作区:","cron.field.targets":"通知目标:","cron.field.targetsLogOnly":"— (仅记录日志)","cron.field.prompt":"提示词","cron.runHistory":"运行历史","cron.noRuns":"还没有运行记录。","cron.dispatch":"通知:","cron.loadOlder":"加载更早的运行","cron.log.title":"日志:{id}","cron.log.close":"关闭","cron.pickJob":"挑一个任务,或点「新建」创建一个。","cron.form.create":"新建定时任务","cron.form.edit":"编辑定时任务","cron.form.cancel":"取消","cron.form.save":"保存","cron.form.create.btn":"创建","cron.form.saving":"保存中…","cron.form.label":"标签(可选)","cron.form.label.placeholder":"每日报告","cron.form.workspace":"工作区路径 *","cron.form.workspace.placeholder":"/绝对路径/到/workspace","cron.form.agent":"Agent *","cron.form.mode":"触发方式","cron.form.mode.recurring":"周期性(cron 表达式)","cron.form.mode.oneShot":"一次性(指定时刻触发)","cron.form.schedule":"调度(cron 表达式)*","cron.form.schedule.placeholder":"0 9 * * *","cron.form.schedule.hint":"标准 5 段 cron。例:0 9 * * * = 每天 09:00 \xb7 */15 * * * * = 每 15 分钟 \xb7 0 9 * * 1 = 每周一 09:00","cron.form.runAt":"触发时刻 *","cron.form.runAt.hint":"任务会在选中的时区下,按这个时刻触发一次,触发后自动禁用。","cron.form.timezone":"时区","cron.form.timezone.hostDefault":"默认 — 主机时区({tz})","cron.form.userPrompt":"用户提示词 *","cron.form.userPrompt.placeholder":"从 .halo/memory/ 整理今天的状态摘要","cron.form.targets":"通知目标(最终输出发到哪里)","cron.form.targets.empty":"还没有绑定的渠道。","cron.form.targets.disabled":"(已禁用)","cron.form.targets.noActiveChat":"还没有用户跟这个账号说过话 —— 在收到至少一条消息之前,cron 没法发送。","cron.form.targets.noActiveChatLabel":"(没有活跃会话)","cron.form.targets.hint":"留空表示仅记录日志(不通过渠道发送)。","cron.form.enabled":"启用(创建后立刻开始排期)","cron.form.err.workspace":"需要工作区路径","cron.form.err.agent":"需要选择 Agent","cron.form.err.schedule":"需要 cron 表达式","cron.form.err.runAt":"需要触发时刻","cron.form.err.runAtPast":"触发时刻必须在未来","cron.form.err.prompt":"需要填写提示词","evolution.title":"自我进化","evolution.refresh":"刷新","evolution.filter.all":"全部","evolution.filter.awaiting_review":"待审","evolution.filter.pending":"待跑","evolution.filter.running":"运行中","evolution.filter.approved":"已批准","evolution.filter.applied":"已应用","evolution.filter.skipped":"已跳过","evolution.filter.rejected":"已拒绝","evolution.filter.failed":"失败","evolution.filter.timeout":"超时","evolution.filter.archived":"已归档","evolution.list.empty":"当前筛选下没有运行记录。","evolution.list.pickRun":"选一个运行查看详情。","evolution.list.loading":"加载中…","evolution.list.noRun":"没有数据。","evolution.list.noHint":"没有提示","evolution.list.attempts":"{n} 次尝试","evolution.list.applyFailed":"应用失败","evolution.detail.workspace":"工作区:","evolution.detail.hint":"提示:","evolution.detail.failure":"失败:{reason}","evolution.detail.skipped":"Evo 主动跳过了这次 run —— 没有 patch 需要应用,无需 approve / reject。原因见下方 .skip.md。","evolution.detail.applyFailed":"已批准,但应用时未通过回归校验,主工作区未改动。补充提示后可重试。","evolution.action.approve":"批准","evolution.action.reject":"拒绝","evolution.action.confirmReject":"确定拒绝这次 run?","evolution.action.addHint":"添加备注","evolution.action.retry":"重试","evolution.action.retryWithHint":"带提示重试","evolution.action.confirmApprove":"确认批准","evolution.action.confirmRetry":"确认重试","evolution.action.add":"添加","evolution.action.cancel":"取消","evolution.action.retryNeedsHint":"重试需要带提示 —— 相同输入没有新指令,只会跑出同样的结果。","evolution.action.delete":"删除","evolution.action.confirmDelete":"删除这次 run?它的 patch、评分、日志和快照会被一并永久删除。","evolution.retry.title":"重试提示 —— 给 evo 的新指引,会替换原来的用户提示。","evolution.retry.placeholder":"例如:上次提了架构层面的改动,这次试试更小的、聚焦在用户实际模式上的 patch","evolution.retry.tooltip":"把这次 run 带新提示发回 evo","evolution.approve.title":"可选的审核提示 —— 会传给 apply agent。留空就按 patch 原样应用。","evolution.approve.placeholder":"例如:只应用 INSTRUCTIONS.md 那部分,不要碰 AGENT.md","evolution.hint.title":"给这次 run 加一条备忘。状态不变,仅作为后续查阅的笔记。","evolution.hint.placeholder":"例如:等下次 Bedrock 模型升级之后再回来看","evolution.score.title":"评分","evolution.score.lint":"lint","evolution.score.behavior":"行为","evolution.score.scope":"范围","evolution.score.avg":"平均","evolution.score.confidence":"置信度:","evolution.snapshot.title":"源会话({n} 条消息)","evolution.snapshot.firstUser":"首条用户消息:","evolution.snapshot.firstAssistant":"首条回复:","evolution.skip.title":".skip.md(evo 跳过本次 run 的理由)","evolution.patch.title":"patch.md","evolution.patch.empty":"还没有产出 patch","evolution.logs.title":"运行日志","evolution.logs.wrapper":"wrapper.log(编排层)","evolution.logs.subCli":"sub-cli.log(evo / score / dry-run 的标准输出)","evolution.time.justNow":"刚刚","evolution.time.minutes":"{n} 分钟前","evolution.time.hours":"{n} 小时前","evolution.time.days":"{n} 天前","workspace.pin":"窗口置顶","workspace.unpin":"取消置顶","capture.button":"共享一个窗口/屏幕给 AI 查看","capture.bound":"正在共享:{name}(AI 可主动截图查看)","capture.unbind":"停止共享","capture.pickTitle":"选择要共享的窗口或屏幕","capture.permissionHint":"需要「屏幕录制」权限。请在 系统设置 → 隐私与安全性 → 屏幕录制 里勾选 Halo,然后彻底退出并重新打开 Halo。","capture.openSettings":"打开系统设置","capture.loading":"正在加载来源…","capture.empty":"未找到窗口或屏幕。","capture.noPreview":"无预览(请授予屏幕录制权限)","capture.llmPrompt":"[系统:用户正在共享「{name}」窗口。当你需要查看它的当前画面来回答时,单独输出一行 <<<CAPTURE>>>,系统会自动截图并作为下一条消息发给你。不需要查看时不要输出该标记。]","capture.cameraName":"摄像头","capture.cameraButton":"开启摄像头,让 AI 主动拍照","capture.cameraBound":"摄像头已开启(AI 可主动拍照)— 点击关闭","capture.cameraPick":"选择摄像头","capture.cameraCurrent":"当前","capture.cameraUse":"使用此摄像头","capture.cameraPermissionHint":"需要「摄像头」权限。请在 系统设置 → 隐私与安全性 → 摄像头 里勾选 Halo。","capture.cameraLlmPrompt":"[系统:用户已为你开启摄像头。当你需要查看摄像头当前画面来回答时,单独输出一行 <<<CAPTURE>>>,系统会自动拍一张照片并作为下一条消息发给你。不需要查看时不要输出该标记。]","capture.dismiss":"关闭","face.button":"打开 AI 的面孔"};function i(e){let{children:t}=e;return(0,n.jsx)(a.I18nProvider,{en:s,zh:r,children:t})}},38045:(e,t,o)=>{o.d(t,{LangSwitcher:()=>r});var n=o(69625),a=o(8808);let s=[{value:"en",label:"EN"},{value:"zh",label:"中"}];function r(e){let{className:t}=e,{lang:o,setLang:r}=(0,a.useI18n)();return(0,n.jsx)("select",{value:o,onChange:e=>r(e.target.value),className:"px-1 py-0.5 text-xs rounded border border-[var(--border)] bg-transparent text-[var(--muted-foreground)] hover:text-[var(--foreground)] hover:border-[var(--foreground)] transition-colors cursor-pointer ".concat(null!=t?t:""),children:s.map(e=>(0,n.jsx)("option",{value:e.value,children:e.label},e.value))})}},87826:(e,t,o)=>{o.d(t,{LanguageSelect:()=>s});var n=o(69625),a=o(8808);function s(e){let{value:t,onChange:o}=e,s=(0,a.useT)();return(0,n.jsxs)("div",{children:[(0,n.jsx)("label",{className:"text-[10px] text-[var(--muted-foreground)]",children:s("common.language")}),(0,n.jsxs)("select",{value:t,onChange:e=>o(e.target.value),className:"mt-0.5 w-full rounded border border-[var(--border)] bg-[var(--card)] px-2 py-1 text-xs",children:[(0,n.jsx)("option",{value:"en",children:"English"}),(0,n.jsx)("option",{value:"zh",children:"中文"})]})]})}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[819],{33919:function(n,t,r){var e;n=r.nmd(n),(function(){var u,i="Expected a function",o="__lodash_hash_undefined__",f="__lodash_placeholder__",a=1/0,c=0/0,l=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],s="[object Arguments]",h="[object Array]",p="[object Boolean]",v="[object Date]",_="[object Error]",g="[object Function]",y="[object GeneratorFunction]",d="[object Map]",b="[object Number]",w="[object Object]",m="[object Promise]",x="[object RegExp]",j="[object Set]",A="[object String]",k="[object Symbol]",I="[object WeakMap]",O="[object ArrayBuffer]",E="[object DataView]",R="[object Float32Array]",z="[object Float64Array]",S="[object Int8Array]",C="[object Int16Array]",W="[object Int32Array]",L="[object Uint8Array]",U="[object Uint8ClampedArray]",B="[object Uint16Array]",T="[object Uint32Array]",$=/\b__p \+= '';/g,D=/\b(__p \+=) '' \+/g,M=/(__e\(.*?\)|\b__t\)) \+\n'';/g,F=/&(?:amp|lt|gt|quot|#39);/g,N=/[&<>"']/g,P=RegExp(F.source),q=RegExp(N.source),Z=/<%-([\s\S]+?)%>/g,K=/<%([\s\S]+?)%>/g,V=/<%=([\s\S]+?)%>/g,G=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,H=/^\w*$/,J=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Y=/[\\^$.*+?()[\]{}|]/g,Q=RegExp(Y.source),X=/^\s+/,nn=/\s/,nt=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,nr=/\{\n\/\* \[wrapped with (.+)\] \*/,ne=/,? & /,nu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ni=/[()=,{}\[\]\/\s]/,no=/\\(\\)?/g,nf=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,na=/\w*$/,nc=/^[-+]0x[0-9a-f]+$/i,nl=/^0b[01]+$/i,ns=/^\[object .+?Constructor\]$/,nh=/^0o[0-7]+$/i,np=/^(?:0|[1-9]\d*)$/,nv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,n_=/($^)/,ng=/['\n\r\u2028\u2029\\]/g,ny="\ud800-\udfff",nd="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",nb="\\u2700-\\u27bf",nw="a-z\\xdf-\\xf6\\xf8-\\xff",nm="A-Z\\xc0-\\xd6\\xd8-\\xde",nx="\\ufe0e\\ufe0f",nj="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",nA="['’]",nk="["+nj+"]",nI="["+nd+"]",nO="["+nw+"]",nE="[^"+ny+nj+"\\d+"+nb+nw+nm+"]",nR="\ud83c[\udffb-\udfff]",nz="[^"+ny+"]",nS="(?:\ud83c[\udde6-\uddff]){2}",nC="[\ud800-\udbff][\udc00-\udfff]",nW="["+nm+"]",nL="\\u200d",nU="(?:"+nO+"|"+nE+")",nB="(?:"+nW+"|"+nE+")",nT="(?:"+nA+"(?:d|ll|m|re|s|t|ve))?",n$="(?:"+nA+"(?:D|LL|M|RE|S|T|VE))?",nD="(?:"+nI+"|"+nR+")?",nM="["+nx+"]?",nF="(?:"+nL+"(?:"+[nz,nS,nC].join("|")+")"+nM+nD+")*",nN=nM+nD+nF,nP="(?:"+["["+nb+"]",nS,nC].join("|")+")"+nN,nq="(?:"+[nz+nI+"?",nI,nS,nC,"["+ny+"]"].join("|")+")",nZ=RegExp(nA,"g"),nK=RegExp(nI,"g"),nV=RegExp(nR+"(?="+nR+")|"+nq+nN,"g"),nG=RegExp([nW+"?"+nO+"+"+nT+"(?="+[nk,nW,"$"].join("|")+")",nB+"+"+n$+"(?="+[nk,nW+nU,"$"].join("|")+")",nW+"?"+nU+"+"+nT,nW+"+"+n$,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])|\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])|\\d+",nP].join("|"),"g"),nH=RegExp("["+nL+ny+nd+nx+"]"),nJ=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nY=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],nQ=-1,nX={};nX[R]=nX[z]=nX[S]=nX[C]=nX[W]=nX[L]=nX[U]=nX[B]=nX[T]=!0,nX[s]=nX[h]=nX[O]=nX[p]=nX[E]=nX[v]=nX[_]=nX[g]=nX[d]=nX[b]=nX[w]=nX[x]=nX[j]=nX[A]=nX[I]=!1;var n0={};n0[s]=n0[h]=n0[O]=n0[E]=n0[p]=n0[v]=n0[R]=n0[z]=n0[S]=n0[C]=n0[W]=n0[d]=n0[b]=n0[w]=n0[x]=n0[j]=n0[A]=n0[k]=n0[L]=n0[U]=n0[B]=n0[T]=!0,n0[_]=n0[g]=n0[I]=!1;var n1={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},n2=parseFloat,n3=parseInt,n8="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,n6="object"==typeof self&&self&&self.Object===Object&&self,n4=n8||n6||Function("return this")(),n9=t&&!t.nodeType&&t,n5=n9&&n&&!n.nodeType&&n,n7=n5&&n5.exports===n9,tn=n7&&n8.process,tt=function(){try{var n=n5&&n5.require&&n5.require("util").types;if(n)return n;return tn&&tn.binding&&tn.binding("util")}catch(n){}}(),tr=tt&&tt.isArrayBuffer,te=tt&&tt.isDate,tu=tt&&tt.isMap,ti=tt&&tt.isRegExp,to=tt&&tt.isSet,tf=tt&&tt.isTypedArray;function ta(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function tc(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function tl(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}function ts(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;return!0}function th(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function tp(n,t){return!!(null==n?0:n.length)&&tj(n,t,0)>-1}function tv(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function t_(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function tg(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function ty(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);return r}function td(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function tb(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}var tw=tO("length");function tm(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function tx(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return -1}function tj(n,t,r){return t==t?function(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return -1}(n,t,r):tx(n,tk,r)}function tA(n,t,r,e){for(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return -1}function tk(n){return n!=n}function tI(n,t){var r=null==n?0:n.length;return r?tz(n,t)/r:c}function tO(n){return function(t){return null==t?u:t[n]}}function tE(n){return function(t){return null==n?u:n[t]}}function tR(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function tz(n,t){for(var r,e=-1,i=n.length;++e<i;){var o=t(n[e]);u!==o&&(r=u===r?o:r+o)}return r}function tS(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function tC(n){return n?n.slice(0,tG(n)+1).replace(X,""):n}function tW(n){return function(t){return n(t)}}function tL(n,t){return t_(t,function(t){return n[t]})}function tU(n,t){return n.has(t)}function tB(n,t){for(var r=-1,e=n.length;++r<e&&tj(t,n[r],0)>-1;);return r}function tT(n,t){for(var r=n.length;r--&&tj(t,n[r],0)>-1;);return r}var t$=tE({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),tD=tE({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});function tM(n){return"\\"+n1[n]}function tF(n){return nH.test(n)}function tN(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function tP(n,t){return function(r){return n(t(r))}}function tq(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];(o===t||o===f)&&(n[r]=f,i[u++]=r)}return i}function tZ(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}function tK(n){return tF(n)?function(n){for(var t=nV.lastIndex=0;nV.test(n);)++t;return t}(n):tw(n)}function tV(n){return tF(n)?n.match(nV)||[]:n.split("")}function tG(n){for(var t=n.length;t--&&nn.test(n.charAt(t)););return t}var tH=tE({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),tJ=function n(t){var r,e,nn,ny,nd=(t=null==t?n4:tJ.defaults(n4.Object(),t,tJ.pick(n4,nY))).Array,nb=t.Date,nw=t.Error,nm=t.Function,nx=t.Math,nj=t.Object,nA=t.RegExp,nk=t.String,nI=t.TypeError,nO=nd.prototype,nE=nm.prototype,nR=nj.prototype,nz=t["__core-js_shared__"],nS=nE.toString,nC=nR.hasOwnProperty,nW=0,nL=(r=/[^.]+$/.exec(nz&&nz.keys&&nz.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",nU=nR.toString,nB=nS.call(nj),nT=n4._,n$=nA("^"+nS.call(nC).replace(Y,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),nD=n7?t.Buffer:u,nM=t.Symbol,nF=t.Uint8Array,nN=nD?nD.allocUnsafe:u,nP=tP(nj.getPrototypeOf,nj),nq=nj.create,nV=nR.propertyIsEnumerable,nH=nO.splice,n1=nM?nM.isConcatSpreadable:u,n8=nM?nM.iterator:u,n6=nM?nM.toStringTag:u,n9=function(){try{var n=uh(nj,"defineProperty");return n({},"",{}),n}catch(n){}}(),n5=t.clearTimeout!==n4.clearTimeout&&t.clearTimeout,tn=nb&&nb.now!==n4.Date.now&&nb.now,tt=t.setTimeout!==n4.setTimeout&&t.setTimeout,tw=nx.ceil,tE=nx.floor,tY=nj.getOwnPropertySymbols,tQ=nD?nD.isBuffer:u,tX=t.isFinite,t0=nO.join,t1=tP(nj.keys,nj),t2=nx.max,t3=nx.min,t8=nb.now,t6=t.parseInt,t4=nx.random,t9=nO.reverse,t5=uh(t,"DataView"),t7=uh(t,"Map"),rn=uh(t,"Promise"),rt=uh(t,"Set"),rr=uh(t,"WeakMap"),re=uh(nj,"create"),ru=rr&&new rr,ri={},ro=uT(t5),rf=uT(t7),ra=uT(rn),rc=uT(rt),rl=uT(rr),rs=nM?nM.prototype:u,rh=rs?rs.valueOf:u,rp=rs?rs.toString:u;function rv(n){if(iG(n)&&!iT(n)&&!(n instanceof rd)){if(n instanceof ry)return n;if(nC.call(n,"__wrapped__"))return u$(n)}return new ry(n)}var r_=function(){function n(){}return function(t){if(!iV(t))return{};if(nq)return nq(t);n.prototype=t;var r=new n;return n.prototype=u,r}}();function rg(){}function ry(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=u}function rd(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=0xffffffff,this.__views__=[]}function rb(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function rw(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function rm(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function rx(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new rm;++t<r;)this.add(n[t])}function rj(n){var t=this.__data__=new rw(n);this.size=t.size}function rA(n,t){var r=iT(n),e=!r&&iB(n),u=!r&&!e&&iF(n),i=!r&&!e&&!u&&i2(n),o=r||e||u||i,f=o?tS(n.length,nk):[],a=f.length;for(var c in n)(t||nC.call(n,c))&&!(o&&("length"==c||u&&("offset"==c||"parent"==c)||i&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ub(c,a)))&&f.push(c);return f}function rk(n){var t=n.length;return t?n[ec(0,t-1)]:u}rv.templateSettings={escape:Z,evaluate:K,interpolate:V,variable:"",imports:{_:rv}},rv.prototype=rg.prototype,rv.prototype.constructor=rv,ry.prototype=r_(rg.prototype),ry.prototype.constructor=ry,rd.prototype=r_(rg.prototype),rd.prototype.constructor=rd,rb.prototype.clear=function(){this.__data__=re?re(null):{},this.size=0},rb.prototype.delete=function(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=!!t,t},rb.prototype.get=function(n){var t=this.__data__;if(re){var r=t[n];return r===o?u:r}return nC.call(t,n)?t[n]:u},rb.prototype.has=function(n){var t=this.__data__;return re?t[n]!==u:nC.call(t,n)},rb.prototype.set=function(n,t){var r=this.__data__;return this.size+=+!this.has(n),r[n]=re&&u===t?o:t,this},rw.prototype.clear=function(){this.__data__=[],this.size=0},rw.prototype.delete=function(n){var t=this.__data__,r=rE(t,n);return!(r<0)&&(r==t.length-1?t.pop():nH.call(t,r,1),--this.size,!0)},rw.prototype.get=function(n){var t=this.__data__,r=rE(t,n);return r<0?u:t[r][1]},rw.prototype.has=function(n){return rE(this.__data__,n)>-1},rw.prototype.set=function(n,t){var r=this.__data__,e=rE(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this},rm.prototype.clear=function(){this.size=0,this.__data__={hash:new rb,map:new(t7||rw),string:new rb}},rm.prototype.delete=function(n){var t=ul(this,n).delete(n);return this.size-=!!t,t},rm.prototype.get=function(n){return ul(this,n).get(n)},rm.prototype.has=function(n){return ul(this,n).has(n)},rm.prototype.set=function(n,t){var r=ul(this,n),e=r.size;return r.set(n,t),this.size+=+(r.size!=e),this},rx.prototype.add=rx.prototype.push=function(n){return this.__data__.set(n,o),this},rx.prototype.has=function(n){return this.__data__.has(n)};function rI(n,t,r){(u===r||iW(n[t],r))&&(u!==r||t in n)||rS(n,t,r)}function rO(n,t,r){var e=n[t];nC.call(n,t)&&iW(e,r)&&(u!==r||t in n)||rS(n,t,r)}function rE(n,t){for(var r=n.length;r--;)if(iW(n[r][0],t))return r;return -1}function rR(n,t,r,e){return r$(n,function(n,u,i){t(e,n,r(n),i)}),e}function rz(n,t){return n&&eF(t,ov(t),n)}function rS(n,t,r){"__proto__"==t&&n9?n9(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function rC(n,t){for(var r=-1,e=t.length,i=nd(e),o=null==n;++r<e;)i[r]=o?u:oc(n,t[r]);return i}function rW(n,t,r){return n==n&&(u!==r&&(n=n<=r?n:r),u!==t&&(n=n>=t?n:t)),n}function rL(n,t,r,e,i,o){var f,a=1&t,c=2&t,l=4&t;if(r&&(f=i?r(n,e,i,o):r(n)),u!==f)return f;if(!iV(n))return n;var h=iT(n);if(h){if(m=(_=n).length,I=new _.constructor(m),m&&"string"==typeof _[0]&&nC.call(_,"index")&&(I.index=_.index,I.input=_.input),f=I,!a)return eM(n,f)}else{var _,m,I,$,D,M,F,N,P=u_(n),q=P==g||P==y;if(iF(n))return eL(n,a);if(P==w||P==s||q&&!i){if(f=c||q?{}:uy(n),!a){return c?($=n,D=(N=f)&&eF(n,o_(n),N),eF($,uv($),D)):(M=n,F=rz(f,n),eF(M,up(M),F))}}else{if(!n0[P])return i?n:{};f=function(n,t,r){var e,u,i=n.constructor;switch(t){case O:return eU(n);case p:case v:return new i(+n);case E:return e=r?eU(n.buffer):n.buffer,new n.constructor(e,n.byteOffset,n.byteLength);case R:case z:case S:case C:case W:case L:case U:case B:case T:return eB(n,r);case d:return new i;case b:case A:return new i(n);case x:return(u=new n.constructor(n.source,na.exec(n))).lastIndex=n.lastIndex,u;case j:return new i;case k:return rh?nj(rh.call(n)):{}}}(n,P,a)}}o||(o=new rj);var Z=o.get(n);if(Z)return Z;o.set(n,f),iX(n)?n.forEach(function(e){f.add(rL(e,t,r,e,n,o))}):iH(n)&&n.forEach(function(e,u){f.set(u,rL(e,t,r,u,n,o))});var K=l?c?ui:uu:c?o_:ov,V=h?u:K(n);return tl(V||n,function(e,u){V&&(e=n[u=e]),rO(f,u,rL(e,t,r,u,n,o))}),f}function rU(n,t,r){var e=r.length;if(null==n)return!e;for(n=nj(n);e--;){var i=r[e],o=t[i],f=n[i];if(u===f&&!(i in n)||!o(f))return!1}return!0}function rB(n,t,r){if("function"!=typeof n)throw new nI(i);return uz(function(){n.apply(u,r)},t)}function rT(n,t,r,e){var u=-1,i=tp,o=!0,f=n.length,a=[],c=t.length;if(!f)return a;r&&(t=t_(t,tW(r))),e?(i=tv,o=!1):t.length>=200&&(i=tU,o=!1,t=new rx(t));n:for(;++u<f;){var l=n[u],s=null==r?l:r(l);if(l=e||0!==l?l:0,o&&s==s){for(var h=c;h--;)if(t[h]===s)continue n;a.push(l)}else i(t,s,e)||a.push(l)}return a}rj.prototype.clear=function(){this.__data__=new rw,this.size=0},rj.prototype.delete=function(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r},rj.prototype.get=function(n){return this.__data__.get(n)},rj.prototype.has=function(n){return this.__data__.has(n)},rj.prototype.set=function(n,t){var r=this.__data__;if(r instanceof rw){var e=r.__data__;if(!t7||e.length<199)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new rm(e)}return r.set(n,t),this.size=r.size,this};var r$=eq(rK),rD=eq(rV,!0);function rM(n,t){var r=!0;return r$(n,function(n,e,u){return r=!!t(n,e,u)}),r}function rF(n,t,r){for(var e=-1,i=n.length;++e<i;){var o=n[e],f=t(o);if(null!=f&&(u===a?f==f&&!i1(f):r(f,a)))var a=f,c=o}return c}function rN(n,t){var r=[];return r$(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function rP(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=ud),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?rP(f,t-1,r,e,u):tg(u,f):e||(u[u.length]=f)}return u}var rq=eZ(),rZ=eZ(!0);function rK(n,t){return n&&rq(n,t,ov)}function rV(n,t){return n&&rZ(n,t,ov)}function rG(n,t){return th(t,function(t){return iq(n[t])})}function rH(n,t){t=eS(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[uB(t[r++])];return r&&r==e?n:u}function rJ(n,t,r){var e=t(n);return iT(n)?e:tg(e,r(n))}function rY(n){var t;return null==n?u===n?"[object Undefined]":"[object Null]":n6&&n6 in nj(n)?function(n){var t=nC.call(n,n6),r=n[n6];try{n[n6]=u;var e=!0}catch(n){}var i=nU.call(n);return e&&(t?n[n6]=r:delete n[n6]),i}(n):(t=n,nU.call(t))}function rQ(n,t){return n>t}function rX(n,t){return null!=n&&nC.call(n,t)}function r0(n,t){return null!=n&&t in nj(n)}function r1(n,t,r){for(var e=r?tv:tp,i=n[0].length,o=n.length,f=o,a=nd(o),c=1/0,l=[];f--;){var s=n[f];f&&t&&(s=t_(s,tW(t))),c=t3(s.length,c),a[f]=!r&&(t||i>=120&&s.length>=120)?new rx(f&&s):u}s=n[0];var h=-1,p=a[0];n:for(;++h<i&&l.length<c;){var v=s[h],_=t?t(v):v;if(v=r||0!==v?v:0,!(p?tU(p,_):e(l,_,r))){for(f=o;--f;){var g=a[f];if(!(g?tU(g,_):e(n[f],_,r)))continue n}p&&p.push(_),l.push(v)}}return l}function r2(n,t,r){t=eS(t,n);var e=null==(n=uO(n,t))?n:n[uB(uH(t))];return null==e?u:ta(e,n,r)}function r3(n){return iG(n)&&rY(n)==s}function r8(n,t,r,e,i){return n===t||(null!=n&&null!=t&&(iG(n)||iG(t))?function(n,t,r,e,i,o){var f=iT(n),a=iT(t),c=f?h:u_(n),l=a?h:u_(t);c=c==s?w:c,l=l==s?w:l;var g=c==w,y=l==w,m=c==l;if(m&&iF(n)){if(!iF(t))return!1;f=!0,g=!1}if(m&&!g)return o||(o=new rj),f||i2(n)?ur(n,t,r,e,i,o):function(n,t,r,e,u,i,o){switch(r){case E:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)break;n=n.buffer,t=t.buffer;case O:if(n.byteLength!=t.byteLength||!i(new nF(n),new nF(t)))break;return!0;case p:case v:case b:return iW(+n,+t);case _:return n.name==t.name&&n.message==t.message;case x:case A:return n==t+"";case d:var f=tN;case j:var a=1&e;if(f||(f=tZ),n.size!=t.size&&!a)break;var c=o.get(n);if(c)return c==t;e|=2,o.set(n,t);var l=ur(f(n),f(t),e,u,i,o);return o.delete(n),l;case k:if(rh)return rh.call(n)==rh.call(t)}return!1}(n,t,c,r,e,i,o);if(!(1&r)){var I=g&&nC.call(n,"__wrapped__"),R=y&&nC.call(t,"__wrapped__");if(I||R){var z=I?n.value():n,S=R?t.value():t;return o||(o=new rj),i(z,S,r,e,o)}}return!!m&&(o||(o=new rj),function(n,t,r,e,i,o){var f=1&r,a=uu(n),c=a.length;if(c!=uu(t).length&&!f)return!1;for(var l=c;l--;){var s=a[l];if(!(f?s in t:nC.call(t,s)))return!1}var h=o.get(n),p=o.get(t);if(h&&p)return h==t&&p==n;var v=!0;o.set(n,t),o.set(t,n);for(var _=f;++l<c;){var g=n[s=a[l]],y=t[s];if(e)var d=f?e(y,g,s,t,n,o):e(g,y,s,n,t,o);if(!(u===d?g===y||i(g,y,r,e,o):d)){v=!1;break}_||(_="constructor"==s)}if(v&&!_){var b=n.constructor,w=t.constructor;b!=w&&"constructor"in n&&"constructor"in t&&!("function"==typeof b&&b instanceof b&&"function"==typeof w&&w instanceof w)&&(v=!1)}return o.delete(n),o.delete(t),v}(n,t,r,e,i,o))}(n,t,r,e,r8,i):n!=n&&t!=t)}function r6(n,t,r,e){var i=r.length,o=i,f=!e;if(null==n)return!o;for(n=nj(n);i--;){var a=r[i];if(f&&a[2]?a[1]!==n[a[0]]:!(a[0]in n))return!1}for(;++i<o;){var c=(a=r[i])[0],l=n[c],s=a[1];if(f&&a[2]){if(u===l&&!(c in n))return!1}else{var h=new rj;if(e)var p=e(l,s,c,n,t,h);if(!(u===p?r8(s,l,3,e,h):p))return!1}}return!0}function r4(n){var t;return!(!iV(n)||(t=n,nL&&nL in t))&&(iq(n)?n$:ns).test(uT(n))}function r9(n){return"function"==typeof n?n:null==n?oM:"object"==typeof n?iT(n)?er(n[0],n[1]):et(n):oH(n)}function r5(n){if(!uA(n))return t1(n);var t=[];for(var r in nj(n))nC.call(n,r)&&"constructor"!=r&&t.push(r);return t}function r7(n,t){return n<t}function en(n,t){var r=-1,e=iD(n)?nd(n.length):[];return r$(n,function(n,u,i){e[++r]=t(n,u,i)}),e}function et(n){var t=us(n);return 1==t.length&&t[0][2]?uk(t[0][0],t[0][1]):function(r){return r===n||r6(r,n,t)}}function er(n,t){var r;return um(n)&&(r=t)==r&&!iV(r)?uk(uB(n),t):function(r){var e=oc(r,n);return u===e&&e===t?ol(r,n):r8(t,e,3)}}function ee(n,t,r,e,i){n!==t&&rq(t,function(o,f){if(i||(i=new rj),iV(o))!function(n,t,r,e,i,o,f){var a=uE(n,r),c=uE(t,r),l=f.get(c);if(l)return rI(n,r,l);var s=o?o(a,c,r+"",n,t,f):u,h=u===s;if(h){var p=iT(c),v=!p&&iF(c),_=!p&&!v&&i2(c);s=c,p||v||_?iT(a)?s=a:iM(a)?s=eM(a):v?(h=!1,s=eL(c,!0)):_?(h=!1,s=eB(c,!0)):s=[]:iY(c)||iB(c)?(s=a,iB(a)?s=on(a):(!iV(a)||iq(a))&&(s=uy(c))):h=!1}h&&(f.set(c,s),i(s,c,e,o,f),f.delete(c)),rI(n,r,s)}(n,t,f,r,ee,e,i);else{var a=e?e(uE(n,f),o,f+"",n,t,i):u;u===a&&(a=o),rI(n,f,a)}},o_)}function eu(n,t){var r=n.length;if(r)return ub(t+=t<0?r:0,r)?n[t]:u}function ei(n,t,r){t=t.length?t_(t,function(n){return iT(n)?function(t){return rH(t,1===n.length?n[0]:n)}:n}):[oM];var e=-1;t=t_(t,tW(uc()));var u=en(n,function(n,r,u){return{criteria:t_(t,function(t){return t(n)}),index:++e,value:n}}),i=u.length;for(u.sort(function(n,t){return function(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var a=eT(u[e],i[e]);if(a){if(e>=f)return a;return a*("desc"==r[e]?-1:1)}}return n.index-t.index}(n,t,r)});i--;)u[i]=u[i].value;return u}function eo(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=rH(n,o);r(f,o)&&eh(i,eS(o,n),f)}return i}function ef(n,t,r,e){var u=e?tA:tj,i=-1,o=t.length,f=n;for(n===t&&(t=eM(t)),r&&(f=t_(n,tW(r)));++i<o;)for(var a=0,c=t[i],l=r?r(c):c;(a=u(f,l,a,e))>-1;)f!==n&&nH.call(f,a,1),nH.call(n,a,1);return n}function ea(n,t){for(var r=n?t.length:0,e=r-1;r--;){var u=t[r];if(r==e||u!==i){var i=u;ub(u)?nH.call(n,u,1):ej(n,u)}}return n}function ec(n,t){return n+tE(t4()*(t-n+1))}function el(n,t){var r="";if(!n||t<1||t>0x1fffffffffffff)return r;do t%2&&(r+=n),(t=tE(t/2))&&(n+=n);while(t);return r}function es(n,t){return uS(uI(n,t,oM),n+"")}function eh(n,t,r,e){if(!iV(n))return n;t=eS(t,n);for(var i=-1,o=t.length,f=o-1,a=n;null!=a&&++i<o;){var c=uB(t[i]),l=r;if("__proto__"===c||"constructor"===c||"prototype"===c)break;if(i!=f){var s=a[c];l=e?e(s,c,a):u,u===l&&(l=iV(s)?s:ub(t[i+1])?[]:{})}rO(a,c,l),a=a[c]}return n}var ep=ru?function(n,t){return ru.set(n,t),n}:oM,ev=n9?function(n,t){return n9(n,"toString",{configurable:!0,enumerable:!1,value:oT(t),writable:!0})}:oM;function e_(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),(r=r>u?u:r)<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=nd(u);++e<u;)i[e]=n[e+t];return i}function eg(n,t){var r;return r$(n,function(n,e,u){return!(r=t(n,e,u))}),!!r}function ey(n,t,r){var e=0,u=null==n?e:n.length;if("number"==typeof t&&t==t&&u<=0x7fffffff){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!i1(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return ed(n,t,oM,r)}function ed(n,t,r,e){var i=0,o=null==n?0:n.length;if(0===o)return 0;for(var f=(t=r(t))!=t,a=null===t,c=i1(t),l=u===t;i<o;){var s=tE((i+o)/2),h=r(n[s]),p=u!==h,v=null===h,_=h==h,g=i1(h);if(f)var y=e||_;else y=l?_&&(e||p):a?_&&p&&(e||!v):c?_&&p&&!v&&(e||!g):!v&&!g&&(e?h<=t:h<t);y?i=s+1:o=s}return t3(o,0xfffffffe)}function eb(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r],f=t?t(o):o;if(!r||!iW(f,a)){var a=f;i[u++]=0===o?0:o}}return i}function ew(n){return"number"==typeof n?n:i1(n)?c:+n}function em(n){if("string"==typeof n)return n;if(iT(n))return t_(n,em)+"";if(i1(n))return rp?rp.call(n):"";var t=n+"";return"0"==t&&1/n==-a?"-0":t}function ex(n,t,r){var e=-1,u=tp,i=n.length,o=!0,f=[],a=f;if(r)o=!1,u=tv;else if(i>=200){var c=t?null:e4(n);if(c)return tZ(c);o=!1,u=tU,a=new rx}else a=t?[]:f;n:for(;++e<i;){var l=n[e],s=t?t(l):l;if(l=r||0!==l?l:0,o&&s==s){for(var h=a.length;h--;)if(a[h]===s)continue n;t&&a.push(s),f.push(l)}else u(a,s,r)||(a!==f&&a.push(s),f.push(l))}return f}function ej(n,t){t=eS(t,n);var r=-1,e=t.length;if(!e)return!0;for(;++r<e;){var u=uB(t[r]);if("__proto__"===u&&!nC.call(n,"__proto__")||("constructor"===u||"prototype"===u)&&r<e-1)return!1}var i=uO(n,t);return null==i||delete i[uB(uH(t))]}function eA(n,t,r,e){return eh(n,t,r(rH(n,t)),e)}function ek(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?e_(n,e?0:i,e?i+1:u):e_(n,e?i+1:0,e?u:i)}function eI(n,t){var r=n;return r instanceof rd&&(r=r.value()),ty(t,function(n,t){return t.func.apply(t.thisArg,tg([n],t.args))},r)}function eO(n,t,r){var e=n.length;if(e<2)return e?ex(n[0]):[];for(var u=-1,i=nd(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=rT(i[u]||o,n[f],t,r));return ex(rP(i,1),t,r)}function eE(n,t,r){for(var e=-1,i=n.length,o=t.length,f={};++e<i;){var a=e<o?t[e]:u;r(f,n[e],a)}return f}function eR(n){return iM(n)?n:[]}function ez(n){return"function"==typeof n?n:oM}function eS(n,t){return iT(n)?n:um(n,t)?[n]:uU(ot(n))}function eC(n,t,r){var e=n.length;return r=u===r?e:r,!t&&r>=e?n:e_(n,t,r)}var eW=n5||function(n){return n4.clearTimeout(n)};function eL(n,t){if(t)return n.slice();var r=n.length,e=nN?nN(r):new n.constructor(r);return n.copy(e),e}function eU(n){var t=new n.constructor(n.byteLength);return new nF(t).set(new nF(n)),t}function eB(n,t){var r=t?eU(n.buffer):n.buffer;return new n.constructor(r,n.byteOffset,n.length)}function eT(n,t){if(n!==t){var r=u!==n,e=null===n,i=n==n,o=i1(n),f=u!==t,a=null===t,c=t==t,l=i1(t);if(!a&&!l&&!o&&n>t||o&&f&&c&&!a&&!l||e&&f&&c||!r&&c||!i)return 1;if(!e&&!o&&!l&&n<t||l&&r&&i&&!e&&!o||a&&r&&i||!f&&i||!c)return -1}return 0}function e$(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,a=t.length,c=t2(i-o,0),l=nd(a+c),s=!e;++f<a;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;c--;)l[f++]=n[u++];return l}function eD(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,a=-1,c=t.length,l=t2(i-f,0),s=nd(l+c),h=!e;++u<l;)s[u]=n[u];for(var p=u;++a<c;)s[p+a]=t[a];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function eM(n,t){var r=-1,e=n.length;for(t||(t=nd(e));++r<e;)t[r]=n[r];return t}function eF(n,t,r,e){var i=!r;r||(r={});for(var o=-1,f=t.length;++o<f;){var a=t[o],c=e?e(r[a],n[a],a,r,n):u;u===c&&(c=n[a]),i?rS(r,a,c):rO(r,a,c)}return r}function eN(n,t){return function(r,e){var u=iT(r)?tc:rR,i=t?t():{};return u(r,n,uc(e,2),i)}}function eP(n){return es(function(t,r){var e=-1,i=r.length,o=i>1?r[i-1]:u,f=i>2?r[2]:u;for(o=n.length>3&&"function"==typeof o?(i--,o):u,f&&uw(r[0],r[1],f)&&(o=i<3?u:o,i=1),t=nj(t);++e<i;){var a=r[e];a&&n(t,a,e,o)}return t})}function eq(n,t){return function(r,e){if(null==r)return r;if(!iD(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=nj(r);(t?i--:++i<u)&&!1!==e(o[i],i,o););return r}}function eZ(n){return function(t,r,e){for(var u=-1,i=nj(t),o=e(t),f=o.length;f--;){var a=o[n?f:++u];if(!1===r(i[a],a,i))break}return t}}function eK(n){return function(t){var r=tF(t=ot(t))?tV(t):u,e=r?r[0]:t.charAt(0),i=r?eC(r,1).join(""):t.slice(1);return e[n]()+i}}function eV(n){return function(t){return ty(oL(oI(t).replace(nZ,"")),n,"")}}function eG(n){return function(){var t=arguments;switch(t.length){case 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=r_(n.prototype),e=n.apply(r,t);return iV(e)?e:r}}function eH(n){return function(t,r,e){var i=nj(t);if(!iD(t)){var o=uc(r,3);t=ov(t),r=function(n){return o(i[n],n,i)}}var f=n(t,r,e);return f>-1?i[o?t[f]:f]:u}}function eJ(n){return ue(function(t){var r=t.length,e=r,o=ry.prototype.thru;for(n&&t.reverse();e--;){var f=t[e];if("function"!=typeof f)throw new nI(i);if(o&&!a&&"wrapper"==uf(f))var a=new ry([],!0)}for(e=a?e:r;++e<r;){var c=uf(f=t[e]),l="wrapper"==c?uo(f):u;a=l&&ux(l[0])&&424==l[1]&&!l[4].length&&1==l[9]?a[uf(l[0])].apply(a,l[3]):1==f.length&&ux(f)?a[c]():a.thru(f)}return function(){var n=arguments,e=n[0];if(a&&1==n.length&&iT(e))return a.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function eY(n,t,r,e,i,o,f,a,c,l){var s=128&t,h=1&t,p=2&t,v=24&t,_=512&t,g=p?u:eG(n);function y(){for(var d=arguments.length,b=nd(d),w=d;w--;)b[w]=arguments[w];if(v)var m=ua(y),x=function(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;return e}(b,m);if(e&&(b=e$(b,e,i,v)),o&&(b=eD(b,o,f,v)),d-=x,v&&d<l){var j=tq(b,m);return e8(n,t,eY,y.placeholder,r,b,j,a,c,l-d)}var A=h?r:this,k=p?A[n]:n;return d=b.length,a?b=function(n,t){for(var r=n.length,e=t3(t.length,r),i=eM(n);e--;){var o=t[e];n[e]=ub(o,r)?i[o]:u}return n}(b,a):_&&d>1&&b.reverse(),s&&c<d&&(b.length=c),this&&this!==n4&&this instanceof y&&(k=g||eG(k)),k.apply(A,b)}return y}function eQ(n,t){return function(r,e){var u,i;return u=t(e),i={},rK(r,function(t,r,e){n(i,u(t),r,e)}),i}}function eX(n,t){return function(r,e){var i;if(u===r&&u===e)return t;if(u!==r&&(i=r),u!==e){if(u===i)return e;"string"==typeof r||"string"==typeof e?(r=em(r),e=em(e)):(r=ew(r),e=ew(e)),i=n(r,e)}return i}}function e0(n){return ue(function(t){return t=t_(t,tW(uc())),es(function(r){var e=this;return n(t,function(n){return ta(n,e,r)})})})}function e1(n,t){var r=(t=u===t?" ":em(t)).length;if(r<2)return r?el(t,n):t;var e=el(t,tw(n/tK(t)));return tF(t)?eC(tV(e),0,n).join(""):e.slice(0,n)}function e2(n){return function(t,r,e){e&&"number"!=typeof e&&uw(t,r,e)&&(r=e=u),t=i4(t),u===r?(r=t,t=0):r=i4(r),e=u===e?t<r?1:-1:i4(e);for(var i=t,o=r,f=e,a=-1,c=t2(tw((o-i)/(f||1)),0),l=nd(c);c--;)l[n?c:++a]=i,i+=f;return l}}function e3(n){return function(t,r){return("string"!=typeof t||"string"!=typeof r)&&(t=i7(t),r=i7(r)),n(t,r)}}function e8(n,t,r,e,i,o,f,a,c,l){var s=8&t,h=s?f:u,p=s?u:f,v=s?o:u,_=s?u:o;t|=s?32:64,4&(t&=~(s?64:32))||(t&=-4);var g=[n,t,i,v,h,_,p,a,c,l],y=r.apply(u,g);return ux(n)&&uR(y,g),y.placeholder=e,uC(y,n,t)}function e6(n){var t=nx[n];return function(n,r){if(n=i7(n),(r=null==r?0:t3(i9(r),292))&&tX(n)){var e=(ot(n)+"e").split("e");return+((e=(ot(t(e[0]+"e"+(+e[1]+r)))+"e").split("e"))[0]+"e"+(e[1]-r))}return t(n)}}var e4=rt&&1/tZ(new rt([,-0]))[1]==a?function(n){return new rt(n)}:oZ;function e9(n){return function(t){var r,e,u=u_(t);return u==d?tN(t):u==j?(r=-1,e=Array(t.size),t.forEach(function(n){e[++r]=[n,n]}),e):t_(n(t),function(n){return[n,t[n]]})}}function e5(n,t,r,e,o,a,c,l){var s=2&t;if(!s&&"function"!=typeof n)throw new nI(i);var h=e?e.length:0;if(h||(t&=-97,e=o=u),c=u===c?c:t2(i9(c),0),l=u===l?l:i9(l),h-=o?o.length:0,64&t){var p=e,v=o;e=o=u}var _=s?u:uo(n),g=[n,t,r,e,o,p,v,a,c,l];if(_&&function(n,t){var r=n[1],e=t[1],u=r|e,i=u<131,o=128==e&&8==r||128==e&&256==r&&n[7].length<=t[8]||384==e&&t[7].length<=t[8]&&8==r;if(i||o){1&e&&(n[2]=t[2],u|=1&r?0:4);var a=t[3];if(a){var c=n[3];n[3]=c?e$(c,a,t[4]):a,n[4]=c?tq(n[3],f):t[4]}(a=t[5])&&(c=n[5],n[5]=c?eD(c,a,t[6]):a,n[6]=c?tq(n[5],f):t[6]),(a=t[7])&&(n[7]=a),128&e&&(n[8]=null==n[8]?t[8]:t3(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u}}(g,_),n=g[0],t=g[1],r=g[2],e=g[3],o=g[4],(l=g[9]=g[9]===u?s?0:n.length:t2(g[9]-h,0))||!(24&t)||(t&=-25),t&&1!=t)8==t||16==t?E=function(n,t,r){var e=eG(n);function i(){for(var o=arguments.length,f=nd(o),a=o,c=ua(i);a--;)f[a]=arguments[a];var l=o<3&&f[0]!==c&&f[o-1]!==c?[]:tq(f,c);return(o-=l.length)<r?e8(n,t,eY,i.placeholder,u,f,l,u,u,r-o):ta(this&&this!==n4&&this instanceof i?e:n,this,f)}return i}(n,t,l):32!=t&&33!=t||o.length?E=eY.apply(u,g):(y=n,d=t,b=r,w=e,m=1&d,x=eG(y),E=function n(){for(var t=-1,r=arguments.length,e=-1,u=w.length,i=nd(u+r),o=this&&this!==n4&&this instanceof n?x:y;++e<u;)i[e]=w[e];for(;r--;)i[e++]=arguments[++t];return ta(o,m?b:this,i)});else var y,d,b,w,m,x,j,A,k,I,O,E=(j=n,A=t,k=r,I=1&A,O=eG(j),function n(){return(this&&this!==n4&&this instanceof n?O:j).apply(I?k:this,arguments)});return uC((_?ep:uR)(E,g),n,t)}function e7(n,t,r,e){return u===n||iW(n,nR[r])&&!nC.call(e,r)?t:n}function un(n,t,r,e,i,o){return iV(n)&&iV(t)&&(o.set(t,n),ee(n,t,u,un,o),o.delete(t)),n}function ut(n){return iY(n)?u:n}function ur(n,t,r,e,i,o){var f=1&r,a=n.length,c=t.length;if(a!=c&&!(f&&c>a))return!1;var l=o.get(n),s=o.get(t);if(l&&s)return l==t&&s==n;var h=-1,p=!0,v=2&r?new rx:u;for(o.set(n,t),o.set(t,n);++h<a;){var _=n[h],g=t[h];if(e)var y=f?e(g,_,h,t,n,o):e(_,g,h,n,t,o);if(u!==y){if(y)continue;p=!1;break}if(v){if(!tb(t,function(n,t){if(!tU(v,t)&&(_===n||i(_,n,r,e,o)))return v.push(t)})){p=!1;break}}else if(!(_===g||i(_,g,r,e,o))){p=!1;break}}return o.delete(n),o.delete(t),p}function ue(n){return uS(uI(n,u,uq),n+"")}function uu(n){return rJ(n,ov,up)}function ui(n){return rJ(n,o_,uv)}var uo=ru?function(n){return ru.get(n)}:oZ;function uf(n){for(var t=n.name+"",r=ri[t],e=nC.call(ri,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function ua(n){return(nC.call(rv,"placeholder")?rv:n).placeholder}function uc(){var n=rv.iteratee||oF;return n=n===oF?r9:n,arguments.length?n(arguments[0],arguments[1]):n}function ul(n,t){var r,e,u=n.__data__;return("string"==(e=typeof(r=t))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==r:null===r)?u["string"==typeof t?"string":"hash"]:u.map}function us(n){for(var t=ov(n),r=t.length;r--;){var e,u=t[r],i=n[u];t[r]=[u,i,(e=i)==e&&!iV(e)]}return t}function uh(n,t){var r=null==n?u:n[t];return r4(r)?r:u}var up=tY?function(n){return null==n?[]:th(tY(n=nj(n)),function(t){return nV.call(n,t)})}:oQ,uv=tY?function(n){for(var t=[];n;)tg(t,up(n)),n=nP(n);return t}:oQ,u_=rY;function ug(n,t,r){t=eS(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=uB(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:!!(u=null==n?0:n.length)&&iK(u)&&ub(o,u)&&(iT(n)||iB(n))}function uy(n){return"function"!=typeof n.constructor||uA(n)?{}:r_(nP(n))}function ud(n){return iT(n)||iB(n)||!!(n1&&n&&n[n1])}function ub(n,t){var r=typeof n;return!!(t=null==t?0x1fffffffffffff:t)&&("number"==r||"symbol"!=r&&np.test(n))&&n>-1&&n%1==0&&n<t}function uw(n,t,r){if(!iV(r))return!1;var e=typeof t;return("number"==e?!!(iD(r)&&ub(t,r.length)):"string"==e&&t in r)&&iW(r[t],n)}function um(n,t){if(iT(n))return!1;var r=typeof n;return!!("number"==r||"symbol"==r||"boolean"==r||null==n||i1(n))||H.test(n)||!G.test(n)||null!=t&&n in nj(t)}function ux(n){var t=uf(n),r=rv[t];if("function"!=typeof r||!(t in rd.prototype))return!1;if(n===r)return!0;var e=uo(r);return!!e&&n===e[0]}(t5&&u_(new t5(new ArrayBuffer(1)))!=E||t7&&u_(new t7)!=d||rn&&u_(rn.resolve())!=m||rt&&u_(new rt)!=j||rr&&u_(new rr)!=I)&&(u_=function(n){var t=rY(n),r=t==w?n.constructor:u,e=r?uT(r):"";if(e)switch(e){case ro:return E;case rf:return d;case ra:return m;case rc:return j;case rl:return I}return t});var uj=nz?iq:oX;function uA(n){var t=n&&n.constructor;return n===("function"==typeof t&&t.prototype||nR)}function uk(n,t){return function(r){return null!=r&&r[n]===t&&(u!==t||n in nj(r))}}function uI(n,t,r){return t=t2(u===t?n.length-1:t,0),function(){for(var e=arguments,u=-1,i=t2(e.length-t,0),o=nd(i);++u<i;)o[u]=e[t+u];u=-1;for(var f=nd(t+1);++u<t;)f[u]=e[u];return f[t]=r(o),ta(n,this,f)}}function uO(n,t){return t.length<2?n:rH(n,e_(t,0,-1))}function uE(n,t){if(("constructor"!==t||"function"!=typeof n[t])&&"__proto__"!=t)return n[t]}var uR=uW(ep),uz=tt||function(n,t){return n4.setTimeout(n,t)},uS=uW(ev);function uC(n,t,r){var e,u,i,o=t+"";return uS(n,function(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?"& ":"")+t[e],t=t.join(r>2?", ":" "),n.replace(nt,"{\n/* [wrapped with "+t+"] */\n")}(o,(e=(i=o.match(nr))?i[1].split(ne):[],u=r,tl(l,function(n){var t="_."+n[0];u&n[1]&&!tp(e,t)&&e.push(t)}),e.sort())))}function uW(n){var t=0,r=0;return function(){var e=t8(),i=16-(e-r);if(r=e,i>0){if(++t>=800)return arguments[0]}else t=0;return n.apply(u,arguments)}}function uL(n,t){var r=-1,e=n.length,i=e-1;for(t=u===t?e:t;++r<t;){var o=ec(r,i),f=n[o];n[o]=n[r],n[r]=f}return n.length=t,n}var uU=(nn=(e=iO(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(J,function(n,r,e,u){t.push(e?u.replace(no,"$1"):r||n)}),t},function(n){return 500===nn.size&&nn.clear(),n})).cache,e);function uB(n){if("string"==typeof n||i1(n))return n;var t=n+"";return"0"==t&&1/n==-a?"-0":t}function uT(n){if(null!=n){try{return nS.call(n)}catch(n){}try{return n+""}catch(n){}}return""}function u$(n){if(n instanceof rd)return n.clone();var t=new ry(n.__wrapped__,n.__chain__);return t.__actions__=eM(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}var uD=es(function(n,t){return iM(n)?rT(n,rP(t,1,iM,!0)):[]}),uM=es(function(n,t){var r=uH(t);return iM(r)&&(r=u),iM(n)?rT(n,rP(t,1,iM,!0),uc(r,2)):[]}),uF=es(function(n,t){var r=uH(t);return iM(r)&&(r=u),iM(n)?rT(n,rP(t,1,iM,!0),u,r):[]});function uN(n,t,r){var e=null==n?0:n.length;if(!e)return -1;var u=null==r?0:i9(r);return u<0&&(u=t2(e+u,0)),tx(n,uc(t,3),u)}function uP(n,t,r){var e=null==n?0:n.length;if(!e)return -1;var i=e-1;return u!==r&&(i=i9(r),i=r<0?t2(e+i,0):t3(i,e-1)),tx(n,uc(t,3),i,!0)}function uq(n){return(null==n?0:n.length)?rP(n,1):[]}function uZ(n){return n&&n.length?n[0]:u}var uK=es(function(n){var t=t_(n,eR);return t.length&&t[0]===n[0]?r1(t):[]}),uV=es(function(n){var t=uH(n),r=t_(n,eR);return t===uH(r)?t=u:r.pop(),r.length&&r[0]===n[0]?r1(r,uc(t,2)):[]}),uG=es(function(n){var t=uH(n),r=t_(n,eR);return(t="function"==typeof t?t:u)&&r.pop(),r.length&&r[0]===n[0]?r1(r,u,t):[]});function uH(n){var t=null==n?0:n.length;return t?n[t-1]:u}var uJ=es(uY);function uY(n,t){return n&&n.length&&t&&t.length?ef(n,t):n}var uQ=ue(function(n,t){var r=null==n?0:n.length,e=rC(n,t);return ea(n,t_(t,function(n){return ub(n,r)?+n:n}).sort(eT)),e});function uX(n){return null==n?n:t9.call(n)}var u0=es(function(n){return ex(rP(n,1,iM,!0))}),u1=es(function(n){var t=uH(n);return iM(t)&&(t=u),ex(rP(n,1,iM,!0),uc(t,2))}),u2=es(function(n){var t=uH(n);return t="function"==typeof t?t:u,ex(rP(n,1,iM,!0),u,t)});function u3(n){if(!(n&&n.length))return[];var t=0;return n=th(n,function(n){if(iM(n))return t=t2(n.length,t),!0}),tS(t,function(t){return t_(n,tO(t))})}function u8(n,t){if(!(n&&n.length))return[];var r=u3(n);return null==t?r:t_(r,function(n){return ta(t,u,n)})}var u6=es(function(n,t){return iM(n)?rT(n,t):[]}),u4=es(function(n){return eO(th(n,iM))}),u9=es(function(n){var t=uH(n);return iM(t)&&(t=u),eO(th(n,iM),uc(t,2))}),u5=es(function(n){var t=uH(n);return t="function"==typeof t?t:u,eO(th(n,iM),u,t)}),u7=es(u3),it=es(function(n){var t=n.length,r=t>1?n[t-1]:u;return r="function"==typeof r?(n.pop(),r):u,u8(n,r)});function ir(n){var t=rv(n);return t.__chain__=!0,t}function ie(n,t){return t(n)}var iu=ue(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,i=function(t){return rC(t,n)};return!(t>1)&&!this.__actions__.length&&e instanceof rd&&ub(r)?((e=e.slice(r,+r+ +!!t)).__actions__.push({func:ie,args:[i],thisArg:u}),new ry(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(u),n})):this.thru(i)}),ii=eN(function(n,t,r){nC.call(n,r)?++n[r]:rS(n,r,1)}),io=eH(uN),ia=eH(uP);function ic(n,t){return(iT(n)?tl:r$)(n,uc(t,3))}function il(n,t){return(iT(n)?function(n,t){for(var r=null==n?0:n.length;r--&&!1!==t(n[r],r,n););return n}:rD)(n,uc(t,3))}var is=eN(function(n,t,r){nC.call(n,r)?n[r].push(t):rS(n,r,[t])}),ih=es(function(n,t,r){var e=-1,u="function"==typeof t,i=iD(n)?nd(n.length):[];return r$(n,function(n){i[++e]=u?ta(t,n,r):r2(n,t,r)}),i}),ip=eN(function(n,t,r){rS(n,r,t)});function iv(n,t){return(iT(n)?t_:en)(n,uc(t,3))}var i_=eN(function(n,t,r){n[+!r].push(t)},function(){return[[],[]]}),ig=es(function(n,t){if(null==n)return[];var r=t.length;return r>1&&uw(n,t[0],t[1])?t=[]:r>2&&uw(t[0],t[1],t[2])&&(t=[t[0]]),ei(n,rP(t,1),[])}),iy=tn||function(){return n4.Date.now()};function id(n,t,r){return t=r?u:t,t=n&&null==t?n.length:t,e5(n,128,u,u,u,u,t)}function ib(n,t){var r;if("function"!=typeof t)throw new nI(i);return n=i9(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=u),r}}var iw=es(function(n,t,r){var e=1;if(r.length){var u=tq(r,ua(iw));e|=32}return e5(n,e,t,r,u)}),im=es(function(n,t,r){var e=3;if(r.length){var u=tq(r,ua(im));e|=32}return e5(t,e,n,r,u)});function ix(n,t,r){t=r?u:t;var e=e5(n,8,u,u,u,u,u,t);return e.placeholder=ix.placeholder,e}function ij(n,t,r){t=r?u:t;var e=e5(n,16,u,u,u,u,u,t);return e.placeholder=ij.placeholder,e}function iA(n,t,r){var e,o,f,a,c,l,s=0,h=!1,p=!1,v=!0;if("function"!=typeof n)throw new nI(i);function _(t){var r=e,i=o;return e=o=u,s=t,a=n.apply(i,r)}function g(n){var r=n-l,e=n-s;return u===l||r>=t||r<0||p&&e>=f}function y(){var n,r,e,u=iy();if(g(u))return d(u);c=uz(y,(n=u-l,r=u-s,e=t-n,p?t3(e,f-r):e))}function d(n){return(c=u,v&&e)?_(n):(e=o=u,a)}function b(){var n,r=iy(),i=g(r);if(e=arguments,o=this,l=r,i){if(u===c)return s=n=l,c=uz(y,t),h?_(n):a;if(p)return eW(c),c=uz(y,t),_(l)}return u===c&&(c=uz(y,t)),a}return t=i7(t)||0,iV(r)&&(h=!!r.leading,f=(p="maxWait"in r)?t2(i7(r.maxWait)||0,t):f,v="trailing"in r?!!r.trailing:v),b.cancel=function(){u!==c&&eW(c),s=0,e=l=o=c=u},b.flush=function(){return u===c?a:d(iy())},b}var ik=es(function(n,t){return rB(n,1,t)}),iI=es(function(n,t,r){return rB(n,i7(t)||0,r)});function iO(n,t){if("function"!=typeof n||null!=t&&"function"!=typeof t)throw new nI(i);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(iO.Cache||rm),r}function iE(n){if("function"!=typeof n)throw new nI(i);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:return!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}iO.Cache=rm;var iR=es(function(n,t){var r=(t=1==t.length&&iT(t[0])?t_(t[0],tW(uc())):t_(rP(t,1),tW(uc()))).length;return es(function(e){for(var u=-1,i=t3(e.length,r);++u<i;)e[u]=t[u].call(this,e[u]);return ta(n,this,e)})}),iz=es(function(n,t){var r=tq(t,ua(iz));return e5(n,32,u,t,r)}),iS=es(function(n,t){var r=tq(t,ua(iS));return e5(n,64,u,t,r)}),iC=ue(function(n,t){return e5(n,256,u,u,u,t)});function iW(n,t){return n===t||n!=n&&t!=t}var iL=e3(rQ),iU=e3(function(n,t){return n>=t}),iB=r3(function(){return arguments}())?r3:function(n){return iG(n)&&nC.call(n,"callee")&&!nV.call(n,"callee")},iT=nd.isArray,i$=tr?tW(tr):function(n){return iG(n)&&rY(n)==O};function iD(n){return null!=n&&iK(n.length)&&!iq(n)}function iM(n){return iG(n)&&iD(n)}var iF=tQ||oX,iN=te?tW(te):function(n){return iG(n)&&rY(n)==v};function iP(n){if(!iG(n))return!1;var t=rY(n);return t==_||"[object DOMException]"==t||"string"==typeof n.message&&"string"==typeof n.name&&!iY(n)}function iq(n){if(!iV(n))return!1;var t=rY(n);return t==g||t==y||"[object AsyncFunction]"==t||"[object Proxy]"==t}function iZ(n){return"number"==typeof n&&n==i9(n)}function iK(n){return"number"==typeof n&&n>-1&&n%1==0&&n<=0x1fffffffffffff}function iV(n){var t=typeof n;return null!=n&&("object"==t||"function"==t)}function iG(n){return null!=n&&"object"==typeof n}var iH=tu?tW(tu):function(n){return iG(n)&&u_(n)==d};function iJ(n){return"number"==typeof n||iG(n)&&rY(n)==b}function iY(n){if(!iG(n)||rY(n)!=w)return!1;var t=nP(n);if(null===t)return!0;var r=nC.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&nS.call(r)==nB}var iQ=ti?tW(ti):function(n){return iG(n)&&rY(n)==x},iX=to?tW(to):function(n){return iG(n)&&u_(n)==j};function i0(n){return"string"==typeof n||!iT(n)&&iG(n)&&rY(n)==A}function i1(n){return"symbol"==typeof n||iG(n)&&rY(n)==k}var i2=tf?tW(tf):function(n){return iG(n)&&iK(n.length)&&!!nX[rY(n)]},i3=e3(r7),i8=e3(function(n,t){return n<=t});function i6(n){if(!n)return[];if(iD(n))return i0(n)?tV(n):eM(n);if(n8&&n[n8]){for(var t,r=n[n8](),e=[];!(t=r.next()).done;)e.push(t.value);return e}var u=u_(n);return(u==d?tN:u==j?tZ:oj)(n)}function i4(n){return n?(n=i7(n))===a||n===-a?(n<0?-1:1)*17976931348623157e292:n==n?n:0:0===n?n:0}function i9(n){var t=i4(n),r=t%1;return t==t?r?t-r:t:0}function i5(n){return n?rW(i9(n),0,0xffffffff):0}function i7(n){if("number"==typeof n)return n;if(i1(n))return c;if(iV(n)){var t="function"==typeof n.valueOf?n.valueOf():n;n=iV(t)?t+"":t}if("string"!=typeof n)return 0===n?n:+n;n=tC(n);var r=nl.test(n);return r||nh.test(n)?n3(n.slice(2),r?2:8):nc.test(n)?c:+n}function on(n){return eF(n,o_(n))}function ot(n){return null==n?"":em(n)}var or=eP(function(n,t){if(uA(t)||iD(t))return void eF(t,ov(t),n);for(var r in t)nC.call(t,r)&&rO(n,r,t[r])}),oe=eP(function(n,t){eF(t,o_(t),n)}),ou=eP(function(n,t,r,e){eF(t,o_(t),n,e)}),oi=eP(function(n,t,r,e){eF(t,ov(t),n,e)}),oo=ue(rC),of=es(function(n,t){n=nj(n);var r=-1,e=t.length,i=e>2?t[2]:u;for(i&&uw(t[0],t[1],i)&&(e=1);++r<e;)for(var o=t[r],f=o_(o),a=-1,c=f.length;++a<c;){var l=f[a],s=n[l];(u===s||iW(s,nR[l])&&!nC.call(n,l))&&(n[l]=o[l])}return n}),oa=es(function(n){return n.push(u,un),ta(oy,u,n)});function oc(n,t,r){var e=null==n?u:rH(n,t);return u===e?r:e}function ol(n,t){return null!=n&&ug(n,t,r0)}var os=eQ(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=nU.call(t)),n[t]=r},oT(oM)),oh=eQ(function(n,t,r){null!=t&&"function"!=typeof t.toString&&(t=nU.call(t)),nC.call(n,t)?n[t].push(r):n[t]=[r]},uc),op=es(r2);function ov(n){return iD(n)?rA(n):r5(n)}function o_(n){return iD(n)?rA(n,!0):function(n){if(!iV(n)){var t=n,r=[];if(null!=t)for(var e in nj(t))r.push(e);return r}var u=uA(n),i=[];for(var o in n)"constructor"==o&&(u||!nC.call(n,o))||i.push(o);return i}(n)}var og=eP(function(n,t,r){ee(n,t,r)}),oy=eP(function(n,t,r,e){ee(n,t,r,e)}),od=ue(function(n,t){var r={};if(null==n)return r;var e=!1;t=t_(t,function(t){return t=eS(t,n),e||(e=t.length>1),t}),eF(n,ui(n),r),e&&(r=rL(r,7,ut));for(var u=t.length;u--;)ej(r,t[u]);return r}),ob=ue(function(n,t){return null==n?{}:eo(n,t,function(t,r){return ol(n,r)})});function ow(n,t){if(null==n)return{};var r=t_(ui(n),function(n){return[n]});return t=uc(t),eo(n,r,function(n,r){return t(n,r[0])})}var om=e9(ov),ox=e9(o_);function oj(n){return null==n?[]:tL(n,ov(n))}var oA=eV(function(n,t,r){return t=t.toLowerCase(),n+(r?ok(t):t)});function ok(n){return oW(ot(n).toLowerCase())}function oI(n){return(n=ot(n))&&n.replace(nv,t$).replace(nK,"")}var oO=eV(function(n,t,r){return n+(r?"-":"")+t.toLowerCase()}),oE=eV(function(n,t,r){return n+(r?" ":"")+t.toLowerCase()}),oR=eK("toLowerCase"),oz=eV(function(n,t,r){return n+(r?"_":"")+t.toLowerCase()}),oS=eV(function(n,t,r){return n+(r?" ":"")+oW(t)}),oC=eV(function(n,t,r){return n+(r?" ":"")+t.toUpperCase()}),oW=eK("toUpperCase");function oL(n,t,r){if(n=ot(n),t=r?u:t,u===t){var e;return(e=n,nJ.test(e))?n.match(nG)||[]:n.match(nu)||[]}return n.match(t)||[]}var oU=es(function(n,t){try{return ta(n,u,t)}catch(n){return iP(n)?n:new nw(n)}}),oB=ue(function(n,t){return tl(t,function(t){rS(n,t=uB(t),iw(n[t],n))}),n});function oT(n){return function(){return n}}var o$=eJ(),oD=eJ(!0);function oM(n){return n}function oF(n){return r9("function"==typeof n?n:rL(n,1))}var oN=es(function(n,t){return function(r){return r2(r,n,t)}}),oP=es(function(n,t){return function(r){return r2(n,r,t)}});function oq(n,t,r){var e=ov(t),u=rG(t,e);null!=r||iV(t)&&(u.length||!e.length)||(r=t,t=n,n=this,u=rG(t,ov(t)));var i=!(iV(r)&&"chain"in r)||!!r.chain,o=iq(n);return tl(u,function(r){var e=t[r];n[r]=e,o&&(n.prototype[r]=function(){var t=this.__chain__;if(i||t){var r=n(this.__wrapped__);return(r.__actions__=eM(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,tg([this.value()],arguments))})}),n}function oZ(){}var oK=e0(t_),oV=e0(ts),oG=e0(tb);function oH(n){return um(n)?tO(uB(n)):function(t){return rH(t,n)}}var oJ=e2(),oY=e2(!0);function oQ(){return[]}function oX(){return!1}var o0=eX(function(n,t){return n+t},0),o1=e6("ceil"),o2=eX(function(n,t){return n/t},1),o3=e6("floor"),o8=eX(function(n,t){return n*t},1),o6=e6("round"),o4=eX(function(n,t){return n-t},0);return rv.after=function(n,t){if("function"!=typeof t)throw new nI(i);return n=i9(n),function(){if(--n<1)return t.apply(this,arguments)}},rv.ary=id,rv.assign=or,rv.assignIn=oe,rv.assignInWith=ou,rv.assignWith=oi,rv.at=oo,rv.before=ib,rv.bind=iw,rv.bindAll=oB,rv.bindKey=im,rv.castArray=function(){if(!arguments.length)return[];var n=arguments[0];return iT(n)?n:[n]},rv.chain=ir,rv.chunk=function(n,t,r){t=(r?uw(n,t,r):u===t)?1:t2(i9(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var i=0,o=0,f=nd(tw(e/t));i<e;)f[o++]=e_(n,i,i+=t);return f},rv.compact=function(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u},rv.concat=function(){var n=arguments.length;if(!n)return[];for(var t=nd(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return tg(iT(r)?eM(r):[r],rP(t,1))},rv.cond=function(n){var t=null==n?0:n.length,r=uc();return n=t?t_(n,function(n){if("function"!=typeof n[1])throw new nI(i);return[r(n[0]),n[1]]}):[],es(function(r){for(var e=-1;++e<t;){var u=n[e];if(ta(u[0],this,r))return ta(u[1],this,r)}})},rv.conforms=function(n){var t,r;return r=ov(t=rL(n,1)),function(n){return rU(n,t,r)}},rv.constant=oT,rv.countBy=ii,rv.create=function(n,t){var r=r_(n);return null==t?r:rz(r,t)},rv.curry=ix,rv.curryRight=ij,rv.debounce=iA,rv.defaults=of,rv.defaultsDeep=oa,rv.defer=ik,rv.delay=iI,rv.difference=uD,rv.differenceBy=uM,rv.differenceWith=uF,rv.drop=function(n,t,r){var e=null==n?0:n.length;return e?e_(n,(t=r||u===t?1:i9(t))<0?0:t,e):[]},rv.dropRight=function(n,t,r){var e=null==n?0:n.length;return e?e_(n,0,(t=e-(t=r||u===t?1:i9(t)))<0?0:t):[]},rv.dropRightWhile=function(n,t){return n&&n.length?ek(n,uc(t,3),!0,!0):[]},rv.dropWhile=function(n,t){return n&&n.length?ek(n,uc(t,3),!0):[]},rv.fill=function(n,t,r,e){var i=null==n?0:n.length;if(!i)return[];r&&"number"!=typeof r&&uw(n,t,r)&&(r=0,e=i);var o=r,f=e,a=n.length;for((o=i9(o))<0&&(o=-o>a?0:a+o),(f=u===f||f>a?a:i9(f))<0&&(f+=a),f=o>f?0:i5(f);o<f;)n[o++]=t;return n},rv.filter=function(n,t){return(iT(n)?th:rN)(n,uc(t,3))},rv.flatMap=function(n,t){return rP(iv(n,t),1)},rv.flatMapDeep=function(n,t){return rP(iv(n,t),a)},rv.flatMapDepth=function(n,t,r){return r=u===r?1:i9(r),rP(iv(n,t),r)},rv.flatten=uq,rv.flattenDeep=function(n){return(null==n?0:n.length)?rP(n,a):[]},rv.flattenDepth=function(n,t){return(null==n?0:n.length)?rP(n,t=u===t?1:i9(t)):[]},rv.flip=function(n){return e5(n,512)},rv.flow=o$,rv.flowRight=oD,rv.fromPairs=function(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];rS(e,u[0],u[1])}return e},rv.functions=function(n){return null==n?[]:rG(n,ov(n))},rv.functionsIn=function(n){return null==n?[]:rG(n,o_(n))},rv.groupBy=is,rv.initial=function(n){return(null==n?0:n.length)?e_(n,0,-1):[]},rv.intersection=uK,rv.intersectionBy=uV,rv.intersectionWith=uG,rv.invert=os,rv.invertBy=oh,rv.invokeMap=ih,rv.iteratee=oF,rv.keyBy=ip,rv.keys=ov,rv.keysIn=o_,rv.map=iv,rv.mapKeys=function(n,t){var r={};return t=uc(t,3),rK(n,function(n,e,u){rS(r,t(n,e,u),n)}),r},rv.mapValues=function(n,t){var r={};return t=uc(t,3),rK(n,function(n,e,u){rS(r,e,t(n,e,u))}),r},rv.matches=function(n){return et(rL(n,1))},rv.matchesProperty=function(n,t){return er(n,rL(t,1))},rv.memoize=iO,rv.merge=og,rv.mergeWith=oy,rv.method=oN,rv.methodOf=oP,rv.mixin=oq,rv.negate=iE,rv.nthArg=function(n){return n=i9(n),es(function(t){return eu(t,n)})},rv.omit=od,rv.omitBy=function(n,t){return ow(n,iE(uc(t)))},rv.once=function(n){return ib(2,n)},rv.orderBy=function(n,t,r,e){return null==n?[]:(iT(t)||(t=null==t?[]:[t]),iT(r=e?u:r)||(r=null==r?[]:[r]),ei(n,t,r))},rv.over=oK,rv.overArgs=iR,rv.overEvery=oV,rv.overSome=oG,rv.partial=iz,rv.partialRight=iS,rv.partition=i_,rv.pick=ob,rv.pickBy=ow,rv.property=oH,rv.propertyOf=function(n){return function(t){return null==n?u:rH(n,t)}},rv.pull=uJ,rv.pullAll=uY,rv.pullAllBy=function(n,t,r){return n&&n.length&&t&&t.length?ef(n,t,uc(r,2)):n},rv.pullAllWith=function(n,t,r){return n&&n.length&&t&&t.length?ef(n,t,u,r):n},rv.pullAt=uQ,rv.range=oJ,rv.rangeRight=oY,rv.rearg=iC,rv.reject=function(n,t){return(iT(n)?th:rN)(n,iE(uc(t,3)))},rv.remove=function(n,t){var r=[];if(!(n&&n.length))return r;var e=-1,u=[],i=n.length;for(t=uc(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return ea(n,u),r},rv.rest=function(n,t){if("function"!=typeof n)throw new nI(i);return es(n,t=u===t?t:i9(t))},rv.reverse=uX,rv.sampleSize=function(n,t,r){return t=(r?uw(n,t,r):u===t)?1:i9(t),(iT(n)?function(n,t){return uL(eM(n),rW(t,0,n.length))}:function(n,t){var r=oj(n);return uL(r,rW(t,0,r.length))})(n,t)},rv.set=function(n,t,r){return null==n?n:eh(n,t,r)},rv.setWith=function(n,t,r,e){return e="function"==typeof e?e:u,null==n?n:eh(n,t,r,e)},rv.shuffle=function(n){return(iT(n)?function(n){return uL(eM(n))}:function(n){return uL(oj(n))})(n)},rv.slice=function(n,t,r){var e=null==n?0:n.length;return e?(r&&"number"!=typeof r&&uw(n,t,r)?(t=0,r=e):(t=null==t?0:i9(t),r=u===r?e:i9(r)),e_(n,t,r)):[]},rv.sortBy=ig,rv.sortedUniq=function(n){return n&&n.length?eb(n):[]},rv.sortedUniqBy=function(n,t){return n&&n.length?eb(n,uc(t,2)):[]},rv.split=function(n,t,r){return(r&&"number"!=typeof r&&uw(n,t,r)&&(t=r=u),r=u===r?0xffffffff:r>>>0)?(n=ot(n))&&("string"==typeof t||null!=t&&!iQ(t))&&!(t=em(t))&&tF(n)?eC(tV(n),0,r):n.split(t,r):[]},rv.spread=function(n,t){if("function"!=typeof n)throw new nI(i);return t=null==t?0:t2(i9(t),0),es(function(r){var e=r[t],u=eC(r,0,t);return e&&tg(u,e),ta(n,this,u)})},rv.tail=function(n){var t=null==n?0:n.length;return t?e_(n,1,t):[]},rv.take=function(n,t,r){return n&&n.length?e_(n,0,(t=r||u===t?1:i9(t))<0?0:t):[]},rv.takeRight=function(n,t,r){var e=null==n?0:n.length;return e?e_(n,(t=e-(t=r||u===t?1:i9(t)))<0?0:t,e):[]},rv.takeRightWhile=function(n,t){return n&&n.length?ek(n,uc(t,3),!1,!0):[]},rv.takeWhile=function(n,t){return n&&n.length?ek(n,uc(t,3)):[]},rv.tap=function(n,t){return t(n),n},rv.throttle=function(n,t,r){var e=!0,u=!0;if("function"!=typeof n)throw new nI(i);return iV(r)&&(e="leading"in r?!!r.leading:e,u="trailing"in r?!!r.trailing:u),iA(n,t,{leading:e,maxWait:t,trailing:u})},rv.thru=ie,rv.toArray=i6,rv.toPairs=om,rv.toPairsIn=ox,rv.toPath=function(n){return iT(n)?t_(n,uB):i1(n)?[n]:eM(uU(ot(n)))},rv.toPlainObject=on,rv.transform=function(n,t,r){var e=iT(n),u=e||iF(n)||i2(n);if(t=uc(t,4),null==r){var i=n&&n.constructor;r=u?e?new i:[]:iV(n)&&iq(i)?r_(nP(n)):{}}return(u?tl:rK)(n,function(n,e,u){return t(r,n,e,u)}),r},rv.unary=function(n){return id(n,1)},rv.union=u0,rv.unionBy=u1,rv.unionWith=u2,rv.uniq=function(n){return n&&n.length?ex(n):[]},rv.uniqBy=function(n,t){return n&&n.length?ex(n,uc(t,2)):[]},rv.uniqWith=function(n,t){return t="function"==typeof t?t:u,n&&n.length?ex(n,u,t):[]},rv.unset=function(n,t){return null==n||ej(n,t)},rv.unzip=u3,rv.unzipWith=u8,rv.update=function(n,t,r){return null==n?n:eA(n,t,ez(r))},rv.updateWith=function(n,t,r,e){return e="function"==typeof e?e:u,null==n?n:eA(n,t,ez(r),e)},rv.values=oj,rv.valuesIn=function(n){return null==n?[]:tL(n,o_(n))},rv.without=u6,rv.words=oL,rv.wrap=function(n,t){return iz(ez(t),n)},rv.xor=u4,rv.xorBy=u9,rv.xorWith=u5,rv.zip=u7,rv.zipObject=function(n,t){return eE(n||[],t||[],rO)},rv.zipObjectDeep=function(n,t){return eE(n||[],t||[],eh)},rv.zipWith=it,rv.entries=om,rv.entriesIn=ox,rv.extend=oe,rv.extendWith=ou,oq(rv,rv),rv.add=o0,rv.attempt=oU,rv.camelCase=oA,rv.capitalize=ok,rv.ceil=o1,rv.clamp=function(n,t,r){return u===r&&(r=t,t=u),u!==r&&(r=(r=i7(r))==r?r:0),u!==t&&(t=(t=i7(t))==t?t:0),rW(i7(n),t,r)},rv.clone=function(n){return rL(n,4)},rv.cloneDeep=function(n){return rL(n,5)},rv.cloneDeepWith=function(n,t){return rL(n,5,t="function"==typeof t?t:u)},rv.cloneWith=function(n,t){return rL(n,4,t="function"==typeof t?t:u)},rv.conformsTo=function(n,t){return null==t||rU(n,t,ov(t))},rv.deburr=oI,rv.defaultTo=function(n,t){return null==n||n!=n?t:n},rv.divide=o2,rv.endsWith=function(n,t,r){n=ot(n),t=em(t);var e=n.length,i=r=u===r?e:rW(i9(r),0,e);return(r-=t.length)>=0&&n.slice(r,i)==t},rv.eq=iW,rv.escape=function(n){return(n=ot(n))&&q.test(n)?n.replace(N,tD):n},rv.escapeRegExp=function(n){return(n=ot(n))&&Q.test(n)?n.replace(Y,"\\$&"):n},rv.every=function(n,t,r){var e=iT(n)?ts:rM;return r&&uw(n,t,r)&&(t=u),e(n,uc(t,3))},rv.find=io,rv.findIndex=uN,rv.findKey=function(n,t){return tm(n,uc(t,3),rK)},rv.findLast=ia,rv.findLastIndex=uP,rv.findLastKey=function(n,t){return tm(n,uc(t,3),rV)},rv.floor=o3,rv.forEach=ic,rv.forEachRight=il,rv.forIn=function(n,t){return null==n?n:rq(n,uc(t,3),o_)},rv.forInRight=function(n,t){return null==n?n:rZ(n,uc(t,3),o_)},rv.forOwn=function(n,t){return n&&rK(n,uc(t,3))},rv.forOwnRight=function(n,t){return n&&rV(n,uc(t,3))},rv.get=oc,rv.gt=iL,rv.gte=iU,rv.has=function(n,t){return null!=n&&ug(n,t,rX)},rv.hasIn=ol,rv.head=uZ,rv.identity=oM,rv.includes=function(n,t,r,e){n=iD(n)?n:oj(n),r=r&&!e?i9(r):0;var u=n.length;return r<0&&(r=t2(u+r,0)),i0(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&tj(n,t,r)>-1},rv.indexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return -1;var u=null==r?0:i9(r);return u<0&&(u=t2(e+u,0)),tj(n,t,u)},rv.inRange=function(n,t,r){var e,i,o;return t=i4(t),u===r?(r=t,t=0):r=i4(r),(e=n=i7(n))>=t3(i=t,o=r)&&e<t2(i,o)},rv.invoke=op,rv.isArguments=iB,rv.isArray=iT,rv.isArrayBuffer=i$,rv.isArrayLike=iD,rv.isArrayLikeObject=iM,rv.isBoolean=function(n){return!0===n||!1===n||iG(n)&&rY(n)==p},rv.isBuffer=iF,rv.isDate=iN,rv.isElement=function(n){return iG(n)&&1===n.nodeType&&!iY(n)},rv.isEmpty=function(n){if(null==n)return!0;if(iD(n)&&(iT(n)||"string"==typeof n||"function"==typeof n.splice||iF(n)||i2(n)||iB(n)))return!n.length;var t=u_(n);if(t==d||t==j)return!n.size;if(uA(n))return!r5(n).length;for(var r in n)if(nC.call(n,r))return!1;return!0},rv.isEqual=function(n,t){return r8(n,t)},rv.isEqualWith=function(n,t,r){var e=(r="function"==typeof r?r:u)?r(n,t):u;return u===e?r8(n,t,u,r):!!e},rv.isError=iP,rv.isFinite=function(n){return"number"==typeof n&&tX(n)},rv.isFunction=iq,rv.isInteger=iZ,rv.isLength=iK,rv.isMap=iH,rv.isMatch=function(n,t){return n===t||r6(n,t,us(t))},rv.isMatchWith=function(n,t,r){return r="function"==typeof r?r:u,r6(n,t,us(t),r)},rv.isNaN=function(n){return iJ(n)&&n!=+n},rv.isNative=function(n){if(uj(n))throw new nw("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return r4(n)},rv.isNil=function(n){return null==n},rv.isNull=function(n){return null===n},rv.isNumber=iJ,rv.isObject=iV,rv.isObjectLike=iG,rv.isPlainObject=iY,rv.isRegExp=iQ,rv.isSafeInteger=function(n){return iZ(n)&&n>=-0x1fffffffffffff&&n<=0x1fffffffffffff},rv.isSet=iX,rv.isString=i0,rv.isSymbol=i1,rv.isTypedArray=i2,rv.isUndefined=function(n){return u===n},rv.isWeakMap=function(n){return iG(n)&&u_(n)==I},rv.isWeakSet=function(n){return iG(n)&&"[object WeakSet]"==rY(n)},rv.join=function(n,t){return null==n?"":t0.call(n,t)},rv.kebabCase=oO,rv.last=uH,rv.lastIndexOf=function(n,t,r){var e=null==n?0:n.length;if(!e)return -1;var i=e;return u!==r&&(i=(i=i9(r))<0?t2(e+i,0):t3(i,e-1)),t==t?function(n,t,r){for(var e=r+1;e--&&n[e]!==t;);return e}(n,t,i):tx(n,tk,i,!0)},rv.lowerCase=oE,rv.lowerFirst=oR,rv.lt=i3,rv.lte=i8,rv.max=function(n){return n&&n.length?rF(n,oM,rQ):u},rv.maxBy=function(n,t){return n&&n.length?rF(n,uc(t,2),rQ):u},rv.mean=function(n){return tI(n,oM)},rv.meanBy=function(n,t){return tI(n,uc(t,2))},rv.min=function(n){return n&&n.length?rF(n,oM,r7):u},rv.minBy=function(n,t){return n&&n.length?rF(n,uc(t,2),r7):u},rv.stubArray=oQ,rv.stubFalse=oX,rv.stubObject=function(){return{}},rv.stubString=function(){return""},rv.stubTrue=function(){return!0},rv.multiply=o8,rv.nth=function(n,t){return n&&n.length?eu(n,i9(t)):u},rv.noConflict=function(){return n4._===this&&(n4._=nT),this},rv.noop=oZ,rv.now=iy,rv.pad=function(n,t,r){n=ot(n);var e=(t=i9(t))?tK(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return e1(tE(u),r)+n+e1(tw(u),r)},rv.padEnd=function(n,t,r){n=ot(n);var e=(t=i9(t))?tK(n):0;return t&&e<t?n+e1(t-e,r):n},rv.padStart=function(n,t,r){n=ot(n);var e=(t=i9(t))?tK(n):0;return t&&e<t?e1(t-e,r)+n:n},rv.parseInt=function(n,t,r){return r||null==t?t=0:t&&(t*=1),t6(ot(n).replace(X,""),t||0)},rv.random=function(n,t,r){if(r&&"boolean"!=typeof r&&uw(n,t,r)&&(t=r=u),u===r&&("boolean"==typeof t?(r=t,t=u):"boolean"==typeof n&&(r=n,n=u)),u===n&&u===t?(n=0,t=1):(n=i4(n),u===t?(t=n,n=0):t=i4(t)),n>t){var e=n;n=t,t=e}if(r||n%1||t%1){var i=t4();return t3(n+i*(t-n+n2("1e-"+((i+"").length-1))),t)}return ec(n,t)},rv.reduce=function(n,t,r){var e=iT(n)?ty:tR,u=arguments.length<3;return e(n,uc(t,4),r,u,r$)},rv.reduceRight=function(n,t,r){var e=iT(n)?td:tR,u=arguments.length<3;return e(n,uc(t,4),r,u,rD)},rv.repeat=function(n,t,r){return t=(r?uw(n,t,r):u===t)?1:i9(t),el(ot(n),t)},rv.replace=function(){var n=arguments,t=ot(n[0]);return n.length<3?t:t.replace(n[1],n[2])},rv.result=function(n,t,r){t=eS(t,n);var e=-1,i=t.length;for(i||(i=1,n=u);++e<i;){var o=null==n?u:n[uB(t[e])];u===o&&(e=i,o=r),n=iq(o)?o.call(n):o}return n},rv.round=o6,rv.runInContext=n,rv.sample=function(n){return(iT(n)?rk:function(n){return rk(oj(n))})(n)},rv.size=function(n){if(null==n)return 0;if(iD(n))return i0(n)?tK(n):n.length;var t=u_(n);return t==d||t==j?n.size:r5(n).length},rv.snakeCase=oz,rv.some=function(n,t,r){var e=iT(n)?tb:eg;return r&&uw(n,t,r)&&(t=u),e(n,uc(t,3))},rv.sortedIndex=function(n,t){return ey(n,t)},rv.sortedIndexBy=function(n,t,r){return ed(n,t,uc(r,2))},rv.sortedIndexOf=function(n,t){var r=null==n?0:n.length;if(r){var e=ey(n,t);if(e<r&&iW(n[e],t))return e}return -1},rv.sortedLastIndex=function(n,t){return ey(n,t,!0)},rv.sortedLastIndexBy=function(n,t,r){return ed(n,t,uc(r,2),!0)},rv.sortedLastIndexOf=function(n,t){if(null==n?0:n.length){var r=ey(n,t,!0)-1;if(iW(n[r],t))return r}return -1},rv.startCase=oS,rv.startsWith=function(n,t,r){return n=ot(n),r=null==r?0:rW(i9(r),0,n.length),t=em(t),n.slice(r,r+t.length)==t},rv.subtract=o4,rv.sum=function(n){return n&&n.length?tz(n,oM):0},rv.sumBy=function(n,t){return n&&n.length?tz(n,uc(t,2)):0},rv.template=function(n,t,r){var e=rv.templateSettings;r&&uw(n,t,r)&&(t=u),n=ot(n),t=oi({},t,e,e7);var i=oi({},t.imports,e.imports,e7),o=ov(i),f=tL(i,o);tl(o,function(n){if(ni.test(n))throw new nw("Invalid `imports` option passed into `_.template`")});var a,c,l=0,s=t.interpolate||n_,h="__p += '",p=nA((t.escape||n_).source+"|"+s.source+"|"+(s===V?nf:n_).source+"|"+(t.evaluate||n_).source+"|$","g"),v="//# sourceURL="+(nC.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++nQ+"]")+"\n";n.replace(p,function(t,r,e,u,i,o){return e||(e=u),h+=n.slice(l,o).replace(ng,tM),r&&(a=!0,h+="' +\n__e("+r+") +\n'"),i&&(c=!0,h+="';\n"+i+";\n__p += '"),e&&(h+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),l=o+t.length,t}),h+="';\n";var _=nC.call(t,"variable")&&t.variable;if(_){if(ni.test(_))throw new nw("Invalid `variable` option passed into `_.template`")}else h="with (obj) {\n"+h+"\n}\n";h=(c?h.replace($,""):h).replace(D,"$1").replace(M,"$1;"),h="function("+(_||"obj")+") {\n"+(_?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(a?", __e = _.escape":"")+(c?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+h+"return __p\n}";var g=oU(function(){return nm(o,v+"return "+h).apply(u,f)});if(g.source=h,iP(g))throw g;return g},rv.times=function(n,t){if((n=i9(n))<1||n>0x1fffffffffffff)return[];var r=0xffffffff,e=t3(n,0xffffffff);t=uc(t),n-=0xffffffff;for(var u=tS(e,t);++r<n;)t(r);return u},rv.toFinite=i4,rv.toInteger=i9,rv.toLength=i5,rv.toLower=function(n){return ot(n).toLowerCase()},rv.toNumber=i7,rv.toSafeInteger=function(n){return n?rW(i9(n),-0x1fffffffffffff,0x1fffffffffffff):0===n?n:0},rv.toString=ot,rv.toUpper=function(n){return ot(n).toUpperCase()},rv.trim=function(n,t,r){if((n=ot(n))&&(r||u===t))return tC(n);if(!n||!(t=em(t)))return n;var e=tV(n),i=tV(t),o=tB(e,i),f=tT(e,i)+1;return eC(e,o,f).join("")},rv.trimEnd=function(n,t,r){if((n=ot(n))&&(r||u===t))return n.slice(0,tG(n)+1);if(!n||!(t=em(t)))return n;var e=tV(n),i=tT(e,tV(t))+1;return eC(e,0,i).join("")},rv.trimStart=function(n,t,r){if((n=ot(n))&&(r||u===t))return n.replace(X,"");if(!n||!(t=em(t)))return n;var e=tV(n),i=tB(e,tV(t));return eC(e,i).join("")},rv.truncate=function(n,t){var r=30,e="...";if(iV(t)){var i="separator"in t?t.separator:i;r="length"in t?i9(t.length):r,e="omission"in t?em(t.omission):e}var o=(n=ot(n)).length;if(tF(n)){var f=tV(n);o=f.length}if(r>=o)return n;var a=r-tK(e);if(a<1)return e;var c=f?eC(f,0,a).join(""):n.slice(0,a);if(u===i)return c+e;if(f&&(a+=c.length-a),iQ(i)){if(n.slice(a).search(i)){var l,s=c;for(i.global||(i=nA(i.source,ot(na.exec(i))+"g")),i.lastIndex=0;l=i.exec(s);)var h=l.index;c=c.slice(0,u===h?a:h)}}else if(n.indexOf(em(i),a)!=a){var p=c.lastIndexOf(i);p>-1&&(c=c.slice(0,p))}return c+e},rv.unescape=function(n){return(n=ot(n))&&P.test(n)?n.replace(F,tH):n},rv.uniqueId=function(n){var t=++nW;return ot(n)+t},rv.upperCase=oC,rv.upperFirst=oW,rv.each=ic,rv.eachRight=il,rv.first=uZ,oq(rv,(ny={},rK(rv,function(n,t){nC.call(rv.prototype,t)||(ny[t]=n)}),ny),{chain:!1}),rv.VERSION="4.18.1",tl(["bind","bindKey","curry","curryRight","partial","partialRight"],function(n){rv[n].placeholder=rv}),tl(["drop","take"],function(n,t){rd.prototype[n]=function(r){r=u===r?1:t2(i9(r),0);var e=this.__filtered__&&!t?new rd(this):this.clone();return e.__filtered__?e.__takeCount__=t3(r,e.__takeCount__):e.__views__.push({size:t3(r,0xffffffff),type:n+(e.__dir__<0?"Right":"")}),e},rd.prototype[n+"Right"]=function(t){return this.reverse()[n](t).reverse()}}),tl(["filter","map","takeWhile"],function(n,t){var r=t+1,e=1==r||3==r;rd.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:uc(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),tl(["head","last"],function(n,t){var r="take"+(t?"Right":"");rd.prototype[n]=function(){return this[r](1).value()[0]}}),tl(["initial","tail"],function(n,t){var r="drop"+(t?"":"Right");rd.prototype[n]=function(){return this.__filtered__?new rd(this):this[r](1)}}),rd.prototype.compact=function(){return this.filter(oM)},rd.prototype.find=function(n){return this.filter(n).head()},rd.prototype.findLast=function(n){return this.reverse().find(n)},rd.prototype.invokeMap=es(function(n,t){return"function"==typeof n?new rd(this):this.map(function(r){return r2(r,n,t)})}),rd.prototype.reject=function(n){return this.filter(iE(uc(n)))},rd.prototype.slice=function(n,t){n=i9(n);var r=this;return r.__filtered__&&(n>0||t<0)?new rd(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),u!==t&&(r=(t=i9(t))<0?r.dropRight(-t):r.take(t-n)),r)},rd.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},rd.prototype.toArray=function(){return this.take(0xffffffff)},rK(rd.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),i=rv[e?"take"+("last"==t?"Right":""):t],o=e||/^find/.test(t);i&&(rv.prototype[t]=function(){var t=this.__wrapped__,f=e?[1]:arguments,a=t instanceof rd,c=f[0],l=a||iT(t),s=function(n){var t=i.apply(rv,tg([n],f));return e&&h?t[0]:t};l&&r&&"function"==typeof c&&1!=c.length&&(a=l=!1);var h=this.__chain__,p=!!this.__actions__.length,v=o&&!h,_=a&&!p;if(!o&&l){t=_?t:new rd(this);var g=n.apply(t,f);return g.__actions__.push({func:ie,args:[s],thisArg:u}),new ry(g,h)}return v&&_?n.apply(this,f):(g=this.thru(s),v?e?g.value()[0]:g.value():g)})}),tl(["pop","push","shift","sort","splice","unshift"],function(n){var t=nO[n],r=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",e=/^(?:pop|shift)$/.test(n);rv.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(iT(u)?u:[],n)}return this[r](function(r){return t.apply(iT(r)?r:[],n)})}}),rK(rd.prototype,function(n,t){var r=rv[t];if(r){var e=r.name+"";nC.call(ri,e)||(ri[e]=[]),ri[e].push({name:t,func:r})}}),ri[eY(u,2).name]=[{name:"wrapper",func:u}],rd.prototype.clone=function(){var n=new rd(this.__wrapped__);return n.__actions__=eM(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=eM(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=eM(this.__views__),n},rd.prototype.reverse=function(){if(this.__filtered__){var n=new rd(this);n.__dir__=-1,n.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n},rd.prototype.value=function(){var n=this.__wrapped__.value(),t=this.__dir__,r=iT(n),e=t<0,u=r?n.length:0,i=function(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case"drop":n+=o;break;case"dropRight":t-=o;break;case"take":t=t3(t,n+o);break;case"takeRight":n=t2(n,t-o)}}return{start:n,end:t}}(0,u,this.__views__),o=i.start,f=i.end,a=f-o,c=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=t3(a,this.__takeCount__);if(!r||!e&&u==a&&p==a)return eI(n,this.__actions__);var v=[];n:for(;a--&&h<p;){for(var _=-1,g=n[c+=t];++_<s;){var y=l[_],d=y.iteratee,b=y.type,w=d(g);if(2==b)g=w;else if(!w)if(1==b)continue n;else break n}v[h++]=g}return v},rv.prototype.at=iu,rv.prototype.chain=function(){return ir(this)},rv.prototype.commit=function(){return new ry(this.value(),this.__chain__)},rv.prototype.next=function(){this.__values__===u&&(this.__values__=i6(this.value()));var n=this.__index__>=this.__values__.length,t=n?u:this.__values__[this.__index__++];return{done:n,value:t}},rv.prototype.plant=function(n){for(var t,r=this;r instanceof rg;){var e=u$(r);e.__index__=0,e.__values__=u,t?i.__wrapped__=e:t=e;var i=e;r=r.__wrapped__}return i.__wrapped__=n,t},rv.prototype.reverse=function(){var n=this.__wrapped__;if(n instanceof rd){var t=n;return this.__actions__.length&&(t=new rd(this)),(t=t.reverse()).__actions__.push({func:ie,args:[uX],thisArg:u}),new ry(t,this.__chain__)}return this.thru(uX)},rv.prototype.toJSON=rv.prototype.valueOf=rv.prototype.value=function(){return eI(this.__wrapped__,this.__actions__)},rv.prototype.first=rv.prototype.head,n8&&(rv.prototype[n8]=function(){return this}),rv}();n4._=tJ,u===(e=(function(){return tJ}).call(t,r,t,n))||(n.exports=e)}).call(this)}}]);
@@ -0,0 +1 @@
1
+ (()=>{var e={83330:(e,t,r)=>{"use strict";var o=r(47688);let a=self;a.addEventListener("message",async e=>{let{id:t,buf:r}=e.data;try{let e=await o.convertToHtml({arrayBuffer:r}),n={id:t,ok:!0,data:e.value};a.postMessage(n)}catch(r){let e={id:t,ok:!1,error:r instanceof Error?r.message:String(r)};a.postMessage(e)}})}},t={};function r(o){var a=t[o];if(void 0!==a)return a.exports;var n=t[o]={exports:{}},s=!0;try{e[o].call(n.exports,n,n.exports,r),s=!1}finally{s&&delete t[o]}return n.exports}r.m=e,r.x=()=>{var e=r.O(void 0,[868,688],()=>r(83330));return r.O(e)},(()=>{var e=[];r.O=(t,o,a,n)=>{if(o){n=n||0;for(var s=e.length;s>0&&e[s-1][2]>n;s--)e[s]=e[s-1];e[s]=[o,a,n];return}for(var i=1/0,s=0;s<e.length;s++){for(var[o,a,n]=e[s],c=!0,l=0;l<o.length;l++)(!1&n||i>=n)&&Object.keys(r.O).every(e=>r.O[e](o[l]))?o.splice(l--,1):(c=!1,n<i&&(i=n));if(c){e.splice(s--,1);var u=a();void 0!==u&&(t=u)}}return t}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>"static/chunks/"+e+"."+({688:"4e014ac6cfc7e152",868:"0c95dfe283400a00"})[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={330:1};r.f.i=(t,o)=>{e[t]||importScripts(r.tu(r.p+r.u(t)))};var t=self.webpackChunk_N_E=self.webpackChunk_N_E||[],o=t.push.bind(t);t.push=t=>{var[a,n,s]=t;for(var i in n)r.o(n,i)&&(r.m[i]=n[i]);for(s&&s(r);a.length;)e[a.pop()]=1;o(t)}})(),(()=>{var e=r.x;r.x=()=>Promise.all([r.e(868),r.e(688)]).then(e)})(),_N_E=r.x()})();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[442],{2894:(e,r,t)=>{t.d(r,{G:()=>a});var n=t(43853);function a(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],[a,s]=(0,n.useState)(null),[o,l]=(0,n.useState)(null),[d,i]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{let t=!1,n=new AbortController;return i(!0),l(null),s(null),async function(){try{let a=await fetch(e,{signal:n.signal}),o=await a.arrayBuffer();if(t)return;let l=await r(o,n.signal);t||(s(l),i(!1))}catch(e){if(t||e instanceof DOMException&&"AbortError"===e.name)return;l(e instanceof Error?e.message:String(e)),i(!1)}}(),()=>{t=!0,n.abort()}},[e,...t]),{data:a,error:o,loading:d}}},4476:(e,r,t)=>{t.d(r,{I:()=>l,n:()=>o});var n=t(69625),a=t(29412),s=t(17612);function o(e){let{name:r,downloadUrl:t,onOpenAsText:o,extraToolbar:d,loading:i,error:c,children:x}=e;return(0,n.jsxs)("div",{className:"flex h-full flex-col bg-[var(--background)]",children:[(0,n.jsxs)("div",{className:"flex h-8 shrink-0 items-center gap-2 border-b border-[var(--border)] bg-[var(--card)] px-3",children:[(0,n.jsx)("span",{className:"truncate text-xs text-[var(--muted-foreground)]",children:r}),(0,n.jsx)("div",{className:"flex-1"}),d,o&&(0,n.jsxs)(l,{onClick:o,title:"Open as text",children:[(0,n.jsx)(a.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:"Open as Text"})]}),(0,n.jsxs)("a",{href:t,download:!0,className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--secondary)] hover:text-[var(--foreground)]",title:"Download",children:[(0,n.jsx)(s.A,{className:"h-3 w-3"}),(0,n.jsx)("span",{children:"Download"})]})]}),(0,n.jsx)("div",{className:"relative min-h-0 flex-1",children:c?(0,n.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-red-400",children:c}):(0,n.jsxs)(n.Fragment,{children:[x,i&&(0,n.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-[var(--background)]/80 text-sm text-[var(--muted-foreground)]",children:"Loading preview..."})]})})]})}function l(e){let{onClick:r,title:t,children:a}=e;return(0,n.jsx)("button",{onClick:r,title:t,className:"flex items-center gap-1 rounded px-2 py-1 text-[10px] font-medium text-[var(--muted-foreground)] transition-colors hover:bg-[var(--secondary)] hover:text-[var(--foreground)]",children:a})}},29412:(e,r,t)=>{t.d(r,{A:()=>n});let n=(0,t(64650).A)("ArrowRightLeft",[["path",{d:"m16 3 4 4-4 4",key:"1x1c3m"}],["path",{d:"M20 7H4",key:"zbl0bi"}],["path",{d:"m8 21-4-4 4-4",key:"h9nckh"}],["path",{d:"M4 17h16",key:"g4d7ey"}]])},36442:(e,r,t)=>{t.r(r),t.d(r,{XlsxPreview:()=>i});var n=t(69625),a=t(43853),s=t(4476),o=t(2894),l=t(36890);let d=null;function i(e){var r,i;let{name:c,viewUrl:x,downloadUrl:u,onOpenAsText:h}=e,p=null!=(i=null==(r=c.split(".").pop())?void 0:r.toLowerCase())?i:"",{data:m,error:f,loading:v}=(0,o.G)(x,(e,r)=>(!d&&(d=new l.E(()=>new Worker(t.tu(new URL(t.p+t.u(220),t.b)),{type:void 0}))),d).call(r,e,{ext:p}),[p]),[g,b]=(0,a.useState)(0),w=null==m?void 0:m[g],j=m&&m.length>1?(0,n.jsx)("div",{className:"flex gap-1",children:m.map((e,r)=>(0,n.jsx)("button",{onClick:()=>b(r),className:"rounded px-2 py-0.5 text-[10px] ".concat(r===g?"bg-[var(--secondary)] text-[var(--foreground)]":"text-[var(--muted-foreground)] hover:bg-[var(--secondary)]"),children:e.name},e.name))}):null;return(0,n.jsx)(s.n,{name:c,downloadUrl:u,onOpenAsText:h,extraToolbar:j,loading:v,error:f,children:w&&(0,n.jsx)("div",{className:"h-full overflow-auto",children:(0,n.jsxs)("table",{className:"min-w-full border-collapse text-xs",children:[(0,n.jsx)("thead",{className:"sticky top-0 z-10 bg-[var(--card)] shadow-[inset_0_-1px_0_var(--border)]",children:(0,n.jsxs)("tr",{children:[(0,n.jsx)("th",{className:"px-2 py-1.5 text-right text-[10px] font-medium text-[var(--muted-foreground)]",children:"#"}),Array.from({length:w.colCount}).map((e,r)=>(0,n.jsx)("th",{className:"whitespace-nowrap px-3 py-1.5 text-left text-[10px] font-medium text-[var(--foreground)]",children:w.headers[r]||String.fromCharCode(65+r)},r))]})}),(0,n.jsx)("tbody",{children:w.rows.slice(0,500).map((e,r)=>(0,n.jsxs)("tr",{className:"odd:bg-[var(--card)]/40 hover:bg-[var(--secondary)]",children:[(0,n.jsx)("td",{className:"px-2 py-1 text-right text-[10px] text-[var(--muted-foreground)] tabular-nums",children:r+1}),Array.from({length:w.colCount}).map((r,t)=>{var a;return(0,n.jsx)("td",{className:"whitespace-nowrap px-3 py-1 text-[var(--foreground)]",children:null!=(a=e[t])?a:""},t)})]},r))})]})})})}},36890:(e,r,t)=>{t.d(r,{E:()=>n});class n{getWorker(){return this.worker||(this.worker=this.factory(),this.worker.addEventListener("message",e=>{var r;let t=e.data,n=this.pending.get(t.id);n&&(this.pending.delete(t.id),t.ok?n.resolve(t.data):n.reject(Error(null!=(r=t.error)?r:"Worker error")))})),this.worker}call(e,r,t){let n=this.nextId++,a=this.getWorker();return new Promise((s,o)=>{if(e.aborted)return void o(new DOMException("Aborted","AbortError"));this.pending.set(n,{resolve:s,reject:o});let l=()=>{this.pending.delete(n),o(new DOMException("Aborted","AbortError"))};e.addEventListener("abort",l,{once:!0}),a.postMessage({id:n,buf:r,meta:t},[r])})}constructor(e){this.factory=e,this.worker=null,this.nextId=1,this.pending=new Map}}}}]);