@auto-ai/agent 2.1.87

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 (451) hide show
  1. package/.env.example +6 -0
  2. package/LICENSE +21 -0
  3. package/README.md +20 -0
  4. package/bin/agent.js +72 -0
  5. package/dist/404/index.html +1 -0
  6. package/dist/404.html +1 -0
  7. package/dist/_next/static/9-xAqbbP0WkpeXkSsT3iQ/_buildManifest.js +14 -0
  8. package/dist/_next/static/9-xAqbbP0WkpeXkSsT3iQ/_clientMiddlewareManifest.json +1 -0
  9. package/dist/_next/static/9-xAqbbP0WkpeXkSsT3iQ/_ssgManifest.js +1 -0
  10. package/dist/_next/static/chunks/01037955b0804f69.js +1 -0
  11. package/dist/_next/static/chunks/01766c1e2fdff227.js +1 -0
  12. package/dist/_next/static/chunks/04c9439163b67552.js +1 -0
  13. package/dist/_next/static/chunks/05e1926dc5c477b7.js +1 -0
  14. package/dist/_next/static/chunks/06b923aa1177f43f.js +1 -0
  15. package/dist/_next/static/chunks/092c97532613af2a.js +1 -0
  16. package/dist/_next/static/chunks/0b639ff4f1971d14.js +1 -0
  17. package/dist/_next/static/chunks/0b69dba7f1e63f30.js +1 -0
  18. package/dist/_next/static/chunks/0e1e7d5f7a375308.js +1 -0
  19. package/dist/_next/static/chunks/0e8139882ad093d2.js +1 -0
  20. package/dist/_next/static/chunks/0ea5a62c3f30dc56.js +1 -0
  21. package/dist/_next/static/chunks/0f1810e4c6b0dd0c.js +1 -0
  22. package/dist/_next/static/chunks/0fa097a572705cfa.js +1 -0
  23. package/dist/_next/static/chunks/0fb0d030e8dee231.js +1 -0
  24. package/dist/_next/static/chunks/0fd3876e0d9e8acc.js +1 -0
  25. package/dist/_next/static/chunks/1078bc1642db53ad.js +1 -0
  26. package/dist/_next/static/chunks/108a0b77418f1d31.js +1 -0
  27. package/dist/_next/static/chunks/13b54d70a1ee1de7.js +1 -0
  28. package/dist/_next/static/chunks/13f94fc3dda88c90.js +1 -0
  29. package/dist/_next/static/chunks/155374df9f6b4b9a.js +1 -0
  30. package/dist/_next/static/chunks/16ea1d3cf6db8a53.js +1 -0
  31. package/dist/_next/static/chunks/170f7361bd4d33e2.js +1 -0
  32. package/dist/_next/static/chunks/17722e3ac4e00587.js +1 -0
  33. package/dist/_next/static/chunks/179a5dac78ab2cb9.js +1 -0
  34. package/dist/_next/static/chunks/1818d7a661948f6b.js +1 -0
  35. package/dist/_next/static/chunks/18977fe8f51209aa.js +1 -0
  36. package/dist/_next/static/chunks/19584f955475ce91.js +1 -0
  37. package/dist/_next/static/chunks/1974f51c298bce94.js +1 -0
  38. package/dist/_next/static/chunks/19c1491e85e22b3b.js +1 -0
  39. package/dist/_next/static/chunks/19ca17e5015c42a3.js +1 -0
  40. package/dist/_next/static/chunks/19d949d5c8e7fc66.js +1 -0
  41. package/dist/_next/static/chunks/1a4b553856a8ffdf.js +1 -0
  42. package/dist/_next/static/chunks/1b55c29b8cad4a50.js +1 -0
  43. package/dist/_next/static/chunks/1bb28f71c19fa824.js +1 -0
  44. package/dist/_next/static/chunks/1bfa645704d9149a.js +1 -0
  45. package/dist/_next/static/chunks/1d3e7886be9f671c.js +1 -0
  46. package/dist/_next/static/chunks/1e17456ccebc9cd2.js +1 -0
  47. package/dist/_next/static/chunks/1e43922998a0ed2f.js +1 -0
  48. package/dist/_next/static/chunks/1fec17d16aff9eed.js +1 -0
  49. package/dist/_next/static/chunks/2046937bffedf074.js +1 -0
  50. package/dist/_next/static/chunks/206c8733a2953f46.js +1 -0
  51. package/dist/_next/static/chunks/219a3413675ba6f1.js +1 -0
  52. package/dist/_next/static/chunks/2326118ef1328bc5.js +1 -0
  53. package/dist/_next/static/chunks/236775e4ec4f8a94.js +1 -0
  54. package/dist/_next/static/chunks/242529c986baeb00.js +1 -0
  55. package/dist/_next/static/chunks/27c407347ce26b78.js +1 -0
  56. package/dist/_next/static/chunks/27ff2e69b2fd19e5.js +1 -0
  57. package/dist/_next/static/chunks/289e2d5005a099d3.js +1 -0
  58. package/dist/_next/static/chunks/29676075a0390867.js +1 -0
  59. package/dist/_next/static/chunks/2bbdc3c6bbaac93f.js +1 -0
  60. package/dist/_next/static/chunks/2c6d585a97629311.js +1 -0
  61. package/dist/_next/static/chunks/2e574acbf68e77ff.js +1 -0
  62. package/dist/_next/static/chunks/2ec6d7ddb4c04987.js +1 -0
  63. package/dist/_next/static/chunks/2f7d30e66e995b02.js +1 -0
  64. package/dist/_next/static/chunks/2fa3e4168e941aef.js +1 -0
  65. package/dist/_next/static/chunks/2fab2306850ac97b.js +1 -0
  66. package/dist/_next/static/chunks/2fcc6298b6dd7a82.js +1 -0
  67. package/dist/_next/static/chunks/303d9c2a2c956f25.js +1 -0
  68. package/dist/_next/static/chunks/314d4f64173e0e4f.js +1 -0
  69. package/dist/_next/static/chunks/32a7ca0a75a897da.js +1 -0
  70. package/dist/_next/static/chunks/32b4d63e10d31351.js +1 -0
  71. package/dist/_next/static/chunks/3509a66e019ceae3.js +1 -0
  72. package/dist/_next/static/chunks/3520f1af0a1b7f66.js +1 -0
  73. package/dist/_next/static/chunks/354aaa2e36b75b81.js +1 -0
  74. package/dist/_next/static/chunks/3590c4a4f40cdb5d.js +1 -0
  75. package/dist/_next/static/chunks/35f1637c2feb232d.js +1 -0
  76. package/dist/_next/static/chunks/376aaeae24164c1a.js +1 -0
  77. package/dist/_next/static/chunks/37bbbf907196a5bf.js +1 -0
  78. package/dist/_next/static/chunks/37cfaa4963ac51f3.js +1 -0
  79. package/dist/_next/static/chunks/3934bd57f459566e.js +1 -0
  80. package/dist/_next/static/chunks/39dac725d46ff2cf.js +5 -0
  81. package/dist/_next/static/chunks/39fed6244d398269.js +1 -0
  82. package/dist/_next/static/chunks/3a00f465f3afdd13.js +1 -0
  83. package/dist/_next/static/chunks/3a947667fddbdd53.js +1 -0
  84. package/dist/_next/static/chunks/3aac5736e5781b46.js +1 -0
  85. package/dist/_next/static/chunks/3ae23df392f9bed8.js +1 -0
  86. package/dist/_next/static/chunks/3ae4e2529aa621fb.js +1 -0
  87. package/dist/_next/static/chunks/3b2bb9f17546ee3e.js +1 -0
  88. package/dist/_next/static/chunks/3bcd531d40d6c019.js +1 -0
  89. package/dist/_next/static/chunks/3c695d1c2efbc749.js +1 -0
  90. package/dist/_next/static/chunks/3d8e9a96a69193d4.js +1 -0
  91. package/dist/_next/static/chunks/3e2ea3a7fe64826d.js +1 -0
  92. package/dist/_next/static/chunks/3e9c98df7d56e9b2.js +1 -0
  93. package/dist/_next/static/chunks/3ec05a61e93547d3.js +1 -0
  94. package/dist/_next/static/chunks/3f6fe8a1903009ea.js +1 -0
  95. package/dist/_next/static/chunks/3fb4674edcb2d726.js +1 -0
  96. package/dist/_next/static/chunks/3fd03b9ed21b30fc.js +1 -0
  97. package/dist/_next/static/chunks/40cc0252b2f1d855.js +1 -0
  98. package/dist/_next/static/chunks/413a7be096275d7f.js +1 -0
  99. package/dist/_next/static/chunks/43c3e97de0c89c14.js +1 -0
  100. package/dist/_next/static/chunks/459d401d9f9e5b9f.js +1 -0
  101. package/dist/_next/static/chunks/45ab9a1f693d609c.js +1 -0
  102. package/dist/_next/static/chunks/46129f2ae438a551.js +1 -0
  103. package/dist/_next/static/chunks/481a2858f7df907d.js +1 -0
  104. package/dist/_next/static/chunks/48acbdb99625356f.js +1 -0
  105. package/dist/_next/static/chunks/49df9708d6328c4a.js +1 -0
  106. package/dist/_next/static/chunks/4a340ea4ac145216.js +1 -0
  107. package/dist/_next/static/chunks/4be779bcbd94352d.js +1 -0
  108. package/dist/_next/static/chunks/4c33a1cc6db74105.js +1 -0
  109. package/dist/_next/static/chunks/4df298f5b420f474.js +1 -0
  110. package/dist/_next/static/chunks/4dfbfdff43b8479b.js +1 -0
  111. package/dist/_next/static/chunks/5069ee4aa806b0ea.js +1 -0
  112. package/dist/_next/static/chunks/519049cd74a40910.js +1 -0
  113. package/dist/_next/static/chunks/534b5acf573aa491.js +1 -0
  114. package/dist/_next/static/chunks/538cc02e54714b23.js +1 -0
  115. package/dist/_next/static/chunks/53be52c43a14557c.js +1 -0
  116. package/dist/_next/static/chunks/54c43751bf4c4da2.js +1 -0
  117. package/dist/_next/static/chunks/55087cc98e6237f1.js +1 -0
  118. package/dist/_next/static/chunks/55f8de91b4803778.js +1 -0
  119. package/dist/_next/static/chunks/560ca23f77c0e819.js +1 -0
  120. package/dist/_next/static/chunks/57bb853857f3de83.js +1 -0
  121. package/dist/_next/static/chunks/588e6975a7bd6671.js +1 -0
  122. package/dist/_next/static/chunks/594aadf15008f49e.css +1 -0
  123. package/dist/_next/static/chunks/59baceab6698f9f7.js +1 -0
  124. package/dist/_next/static/chunks/5a0b630678282d4f.js +1 -0
  125. package/dist/_next/static/chunks/5a3e355216280144.js +1 -0
  126. package/dist/_next/static/chunks/5a4c198fd41e8ec4.js +1 -0
  127. package/dist/_next/static/chunks/5b916c9dc09e323c.js +1 -0
  128. package/dist/_next/static/chunks/5ccd5a6ac9c2f980.js +1 -0
  129. package/dist/_next/static/chunks/5d5333084191fb10.js +1 -0
  130. package/dist/_next/static/chunks/5d5fe2c255f43fec.js +1 -0
  131. package/dist/_next/static/chunks/5ea79c109cbe8a86.js +1 -0
  132. package/dist/_next/static/chunks/5ee72092303043ef.js +1 -0
  133. package/dist/_next/static/chunks/5fc8a5235ddfa787.js +1 -0
  134. package/dist/_next/static/chunks/61ce261738313b8a.js +1 -0
  135. package/dist/_next/static/chunks/62d925bcc8518b6f.js +1 -0
  136. package/dist/_next/static/chunks/644aa76620718c98.js +1 -0
  137. package/dist/_next/static/chunks/648b653b36802fdc.js +1 -0
  138. package/dist/_next/static/chunks/6522643341a0921c.js +1 -0
  139. package/dist/_next/static/chunks/65dc4350334b918b.js +1 -0
  140. package/dist/_next/static/chunks/65fb49c8a7f59842.js +1 -0
  141. package/dist/_next/static/chunks/65fe0975412ff703.js +1 -0
  142. package/dist/_next/static/chunks/66b30159915524db.js +1 -0
  143. package/dist/_next/static/chunks/66ed07a735eac6e3.js +1 -0
  144. package/dist/_next/static/chunks/6785757cc05fec19.js +1 -0
  145. package/dist/_next/static/chunks/67c9db5577080125.js +1 -0
  146. package/dist/_next/static/chunks/68bd2bd64624e20d.js +1 -0
  147. package/dist/_next/static/chunks/692e7ee14236fefb.js +1 -0
  148. package/dist/_next/static/chunks/69cfdbc51cf2d3c3.js +1 -0
  149. package/dist/_next/static/chunks/6ae709c575c74979.js +1 -0
  150. package/dist/_next/static/chunks/6b652524b5ffdd9e.js +1 -0
  151. package/dist/_next/static/chunks/6b7c3c962a14dc29.js +1 -0
  152. package/dist/_next/static/chunks/6bc7c57f119ad4f6.js +1 -0
  153. package/dist/_next/static/chunks/6c3b2d0be1c633b6.js +1 -0
  154. package/dist/_next/static/chunks/6c49d19eb7e88b9c.js +1 -0
  155. package/dist/_next/static/chunks/6cc2f7f962cdd082.js +1 -0
  156. package/dist/_next/static/chunks/6d4209e94b1aafe6.js +1 -0
  157. package/dist/_next/static/chunks/6ea69f45a19b4f00.js +1 -0
  158. package/dist/_next/static/chunks/6f3afa83656eab67.js +1 -0
  159. package/dist/_next/static/chunks/6fe835d41fdbd638.js +1 -0
  160. package/dist/_next/static/chunks/70459a2a4c45653e.js +1 -0
  161. package/dist/_next/static/chunks/7137c7537c459c31.js +1 -0
  162. package/dist/_next/static/chunks/715c085d7c10eeda.js +1 -0
  163. package/dist/_next/static/chunks/71d3a80bc9d53b07.js +1 -0
  164. package/dist/_next/static/chunks/71e3a90489469c28.js +1 -0
  165. package/dist/_next/static/chunks/72a56bd75075fd83.js +1 -0
  166. package/dist/_next/static/chunks/72ef1696f44fcf61.js +1 -0
  167. package/dist/_next/static/chunks/736441266ceb14e2.js +1 -0
  168. package/dist/_next/static/chunks/73cbf0064096e28c.js +1 -0
  169. package/dist/_next/static/chunks/751de74a23cc9036.js +1 -0
  170. package/dist/_next/static/chunks/75622a4fe3b7b015.js +1 -0
  171. package/dist/_next/static/chunks/756b6c2e620386ff.js +1 -0
  172. package/dist/_next/static/chunks/75a396e1752cd59d.js +1 -0
  173. package/dist/_next/static/chunks/764c541428e1c6eb.js +1 -0
  174. package/dist/_next/static/chunks/79128afded6e01d9.js +1 -0
  175. package/dist/_next/static/chunks/7988d5ea63356e10.js +1 -0
  176. package/dist/_next/static/chunks/7aa69fd5d97b7146.js +1 -0
  177. package/dist/_next/static/chunks/7b9c09d0ce43f1c2.js +1 -0
  178. package/dist/_next/static/chunks/7d3bf918bccde738.js +1 -0
  179. package/dist/_next/static/chunks/7dbb8abebf50d816.js +1 -0
  180. package/dist/_next/static/chunks/7de1ab3b78f48430.js +1 -0
  181. package/dist/_next/static/chunks/7ef348801eff6590.js +1 -0
  182. package/dist/_next/static/chunks/7f6e82ac63db5eff.js +1 -0
  183. package/dist/_next/static/chunks/7fd45fb9cf0995f3.js +1 -0
  184. package/dist/_next/static/chunks/80a811d77e9d2ba6.js +1 -0
  185. package/dist/_next/static/chunks/83e39d76d6f07968.js +1 -0
  186. package/dist/_next/static/chunks/84185f4bb07ccbd7.js +1 -0
  187. package/dist/_next/static/chunks/8508beba62ed11df.js +1 -0
  188. package/dist/_next/static/chunks/85fc05549f7f100c.js +1 -0
  189. package/dist/_next/static/chunks/88a999988f915988.js +1 -0
  190. package/dist/_next/static/chunks/88bc97899d2ce4e5.js +1 -0
  191. package/dist/_next/static/chunks/8915ded29d610342.js +1 -0
  192. package/dist/_next/static/chunks/8bdc142fad5847ed.js +1 -0
  193. package/dist/_next/static/chunks/8c45c6fd6841f54d.css +4 -0
  194. package/dist/_next/static/chunks/8deb0392842e5a01.js +1 -0
  195. package/dist/_next/static/chunks/8f038ff914c4b0df.js +1 -0
  196. package/dist/_next/static/chunks/9037530b0f1d5783.js +1 -0
  197. package/dist/_next/static/chunks/9078ad91aa20dca0.js +1 -0
  198. package/dist/_next/static/chunks/92c3617a4e22a464.js +1 -0
  199. package/dist/_next/static/chunks/93102efda2769ba5.js +1 -0
  200. package/dist/_next/static/chunks/932d3fcc2596e8d5.js +1 -0
  201. package/dist/_next/static/chunks/937e26e6e01d9ec9.js +1 -0
  202. package/dist/_next/static/chunks/93bfaf233e66b48c.js +1 -0
  203. package/dist/_next/static/chunks/93e645e175860ad2.js +1 -0
  204. package/dist/_next/static/chunks/94e88cfda11697d2.js +1 -0
  205. package/dist/_next/static/chunks/95c4d26e469d1d8f.js +1 -0
  206. package/dist/_next/static/chunks/96026b5eb5d2566b.js +1 -0
  207. package/dist/_next/static/chunks/962a27e9c634b823.js +1 -0
  208. package/dist/_next/static/chunks/966fb5830ce1029c.js +1 -0
  209. package/dist/_next/static/chunks/9724567275720686.js +1 -0
  210. package/dist/_next/static/chunks/98e243fb5992a71c.js +1 -0
  211. package/dist/_next/static/chunks/992d0b950fc0e0d4.js +1 -0
  212. package/dist/_next/static/chunks/9a7b2a483b109c0a.js +1 -0
  213. package/dist/_next/static/chunks/9aea16dd9db3a8bd.js +1 -0
  214. package/dist/_next/static/chunks/9b3df6b20a9625d5.js +1 -0
  215. package/dist/_next/static/chunks/9c6c00fa68012026.js +1 -0
  216. package/dist/_next/static/chunks/9cb28a1dacb7ea6d.js +1 -0
  217. package/dist/_next/static/chunks/9e2cffe3c17fd0e7.js +1 -0
  218. package/dist/_next/static/chunks/9e96c84b86d1bbf3.js +1 -0
  219. package/dist/_next/static/chunks/9f0ee4783140adf1.js +1 -0
  220. package/dist/_next/static/chunks/9fefea69ec034a63.js +1 -0
  221. package/dist/_next/static/chunks/a1b9abf15c0f7655.js +1 -0
  222. package/dist/_next/static/chunks/a32559d6604a11fb.js +5 -0
  223. package/dist/_next/static/chunks/a37aa474433d29e3.js +1 -0
  224. package/dist/_next/static/chunks/a4776dc3e00e5ab0.js +1 -0
  225. package/dist/_next/static/chunks/a5df6158856685f1.js +1 -0
  226. package/dist/_next/static/chunks/a6a98f9278704b6a.js +1 -0
  227. package/dist/_next/static/chunks/a6dad97d9634a72d.js +1 -0
  228. package/dist/_next/static/chunks/a7277c96f3669bea.js +1 -0
  229. package/dist/_next/static/chunks/a9fed5c43d754a96.js +1 -0
  230. package/dist/_next/static/chunks/aa0a4c596151b22b.js +1 -0
  231. package/dist/_next/static/chunks/aa867a1fa8b105e1.js +1 -0
  232. package/dist/_next/static/chunks/aadf128359998a2d.js +1 -0
  233. package/dist/_next/static/chunks/ab6655809333a412.js +1 -0
  234. package/dist/_next/static/chunks/ad419be63e291696.js +1 -0
  235. package/dist/_next/static/chunks/ad50a7d15cd9d9d8.js +1 -0
  236. package/dist/_next/static/chunks/af7b0bd1b40ad066.js +1 -0
  237. package/dist/_next/static/chunks/b1e8db918a2dcc7c.js +1 -0
  238. package/dist/_next/static/chunks/b24e3802454a5567.js +1 -0
  239. package/dist/_next/static/chunks/b29a85c3dae2bb9c.js +1 -0
  240. package/dist/_next/static/chunks/b360c9fc22dbf831.js +1 -0
  241. package/dist/_next/static/chunks/b3e79c76be269ccc.js +1 -0
  242. package/dist/_next/static/chunks/b429be4e16fa1e00.js +1 -0
  243. package/dist/_next/static/chunks/b61ec36c9bbca3e0.js +1 -0
  244. package/dist/_next/static/chunks/b65565677c3e8c0a.js +1 -0
  245. package/dist/_next/static/chunks/b66afb4b0be97af8.js +1 -0
  246. package/dist/_next/static/chunks/b69f987a60b05db3.js +1 -0
  247. package/dist/_next/static/chunks/b78822282754a47c.js +1 -0
  248. package/dist/_next/static/chunks/b929fc868619ccb9.js +1 -0
  249. package/dist/_next/static/chunks/b92c67520afabac2.js +1 -0
  250. package/dist/_next/static/chunks/b99d7c931432a00e.js +1 -0
  251. package/dist/_next/static/chunks/ba3880933d064bd1.js +1 -0
  252. package/dist/_next/static/chunks/ba9e2b6c361a4cc0.js +1 -0
  253. package/dist/_next/static/chunks/bc7bda699a7ccda1.js +1 -0
  254. package/dist/_next/static/chunks/bd1f33816fa01c16.js +1 -0
  255. package/dist/_next/static/chunks/bd2dcf98c9b362f6.js +1 -0
  256. package/dist/_next/static/chunks/bd984c5404403e7d.js +1 -0
  257. package/dist/_next/static/chunks/bf2262100cea8c64.js +1 -0
  258. package/dist/_next/static/chunks/c040acff9524d607.js +1 -0
  259. package/dist/_next/static/chunks/c15069059c9d1f53.js +1 -0
  260. package/dist/_next/static/chunks/c1615032cbbf5b56.js +1 -0
  261. package/dist/_next/static/chunks/c2546d2b493dd907.js +1 -0
  262. package/dist/_next/static/chunks/c26f95ab8ad3dcf0.js +1 -0
  263. package/dist/_next/static/chunks/c3669d468d3f2b3a.js +1 -0
  264. package/dist/_next/static/chunks/c3b49937059d3d70.js +1 -0
  265. package/dist/_next/static/chunks/c5af60c028e52cf8.js +1 -0
  266. package/dist/_next/static/chunks/c5b5aba98d38ef23.js +1 -0
  267. package/dist/_next/static/chunks/c5be27a596acfa18.js +1 -0
  268. package/dist/_next/static/chunks/c6cc32860b96278f.js +1 -0
  269. package/dist/_next/static/chunks/c725524ea13a50ab.js +1 -0
  270. package/dist/_next/static/chunks/c8942bee3aebddae.js +1 -0
  271. package/dist/_next/static/chunks/c8e45be36912e439.js +1 -0
  272. package/dist/_next/static/chunks/c9813626ba898586.js +1 -0
  273. package/dist/_next/static/chunks/ca2725c2b45709c1.js +1 -0
  274. package/dist/_next/static/chunks/caf4049dc563940e.js +1 -0
  275. package/dist/_next/static/chunks/cafadd69e03e6c4b.js +1 -0
  276. package/dist/_next/static/chunks/cba2741f84ef36ed.js +1 -0
  277. package/dist/_next/static/chunks/cbb200599eb3e6d0.js +1 -0
  278. package/dist/_next/static/chunks/cccecf726769787f.js +1 -0
  279. package/dist/_next/static/chunks/ccf3adc0c7548bce.js +1 -0
  280. package/dist/_next/static/chunks/cd0e7e3cc303b4e4.js +1 -0
  281. package/dist/_next/static/chunks/d09636e7bcf60ad1.js +1 -0
  282. package/dist/_next/static/chunks/d2e37b6d5ff62bcb.js +1 -0
  283. package/dist/_next/static/chunks/d33a24782888b869.js +1 -0
  284. package/dist/_next/static/chunks/d33e49aabd798892.js +1 -0
  285. package/dist/_next/static/chunks/d375f31e93e1e8b0.js +1 -0
  286. package/dist/_next/static/chunks/d3990c1e87ef3e23.js +1 -0
  287. package/dist/_next/static/chunks/d3ccfb3dcef5974f.js +1 -0
  288. package/dist/_next/static/chunks/d433c87b0bc69cda.js +1 -0
  289. package/dist/_next/static/chunks/d47cd27ac08f5429.js +1 -0
  290. package/dist/_next/static/chunks/d599ef4d0f84a93d.js +1 -0
  291. package/dist/_next/static/chunks/d69b21102305d19e.js +1 -0
  292. package/dist/_next/static/chunks/d715e874b8ee8540.js +1 -0
  293. package/dist/_next/static/chunks/d729414ff836cd53.js +1 -0
  294. package/dist/_next/static/chunks/d82740475fc07e98.js +1 -0
  295. package/dist/_next/static/chunks/d842d30dcb0f50a9.js +1 -0
  296. package/dist/_next/static/chunks/d8af8dadd0889c71.js +1 -0
  297. package/dist/_next/static/chunks/d9b92ed2d544fca5.js +1 -0
  298. package/dist/_next/static/chunks/da346aeed70dd39a.js +1 -0
  299. package/dist/_next/static/chunks/dbbd673619a7f82f.js +1 -0
  300. package/dist/_next/static/chunks/dc0bc471de951daf.js +1 -0
  301. package/dist/_next/static/chunks/dc2186b66132ca97.js +1 -0
  302. package/dist/_next/static/chunks/de0ee516f6a1aa07.js +1 -0
  303. package/dist/_next/static/chunks/e04bace22e04d63c.js +1 -0
  304. package/dist/_next/static/chunks/e0c76ff7114dc8dc.js +1 -0
  305. package/dist/_next/static/chunks/e11d4fd8de65621d.js +1 -0
  306. package/dist/_next/static/chunks/e1999bcadd3448e5.js +1 -0
  307. package/dist/_next/static/chunks/e2833182a81cd867.js +1 -0
  308. package/dist/_next/static/chunks/e3fe320ec1b8f889.js +1 -0
  309. package/dist/_next/static/chunks/e4973ad5c183f17a.js +1 -0
  310. package/dist/_next/static/chunks/e5275dcacbabc3e3.js +1 -0
  311. package/dist/_next/static/chunks/e60ef129113f6e24.js +1 -0
  312. package/dist/_next/static/chunks/e61019aedfdf554e.js +1 -0
  313. package/dist/_next/static/chunks/e6324292aef80338.js +1 -0
  314. package/dist/_next/static/chunks/e7003dbd5d8cb2d1.js +1 -0
  315. package/dist/_next/static/chunks/e7f1a043618e43cf.js +1 -0
  316. package/dist/_next/static/chunks/e8105dbb23b8e514.js +1 -0
  317. package/dist/_next/static/chunks/e99db8276524ccf5.js +1 -0
  318. package/dist/_next/static/chunks/ea12d36cdfbaafa9.js +1 -0
  319. package/dist/_next/static/chunks/ea2a84258a02d5c5.js +1 -0
  320. package/dist/_next/static/chunks/ea36a5ae7c6ce34f.js +1 -0
  321. package/dist/_next/static/chunks/eae304701469d3a8.js +1 -0
  322. package/dist/_next/static/chunks/eb2d81df9fe374a8.js +1 -0
  323. package/dist/_next/static/chunks/eb9ae8e95cac1197.js +1 -0
  324. package/dist/_next/static/chunks/ebb0ee69f6a7883e.js +1 -0
  325. package/dist/_next/static/chunks/ebcbb5070eb8e29f.js +1 -0
  326. package/dist/_next/static/chunks/ee0f6e98cf7f0a96.js +1 -0
  327. package/dist/_next/static/chunks/ee79511740d19885.js +1 -0
  328. package/dist/_next/static/chunks/eed0c3ef6a5c3706.js +1 -0
  329. package/dist/_next/static/chunks/ef51763a796dde8b.js +1 -0
  330. package/dist/_next/static/chunks/f0cb9b2226c53ef9.js +1 -0
  331. package/dist/_next/static/chunks/f0d9f0621f8ec46d.js +1 -0
  332. package/dist/_next/static/chunks/f12f45a558c3fed2.js +1 -0
  333. package/dist/_next/static/chunks/f1e5e295d4db5c0f.js +1 -0
  334. package/dist/_next/static/chunks/f1f911d553a62027.js +1 -0
  335. package/dist/_next/static/chunks/f235a8df2f905e6a.js +1 -0
  336. package/dist/_next/static/chunks/f36595b9995a49a9.js +1 -0
  337. package/dist/_next/static/chunks/f42a71992d139302.js +1 -0
  338. package/dist/_next/static/chunks/f42d74f288f2229c.js +1 -0
  339. package/dist/_next/static/chunks/f461a75ec3b0e4e9.js +1 -0
  340. package/dist/_next/static/chunks/f50fd84e477dbaeb.js +1 -0
  341. package/dist/_next/static/chunks/f659a364f48244ea.js +1 -0
  342. package/dist/_next/static/chunks/f813c3d77459119f.js +1 -0
  343. package/dist/_next/static/chunks/f9cb4b70f67c86d8.js +1 -0
  344. package/dist/_next/static/chunks/fa361913d47fdc14.css +4 -0
  345. package/dist/_next/static/chunks/fa39b9f8bced4bcd.js +1 -0
  346. package/dist/_next/static/chunks/fa5b61b8e7219fe6.js +1 -0
  347. package/dist/_next/static/chunks/faaf4e0c2d5cffda.js +1 -0
  348. package/dist/_next/static/chunks/facb82117d49a6e1.js +1 -0
  349. package/dist/_next/static/chunks/fb05f79f5e4b514e.js +1 -0
  350. package/dist/_next/static/chunks/fb0f4d868b87961b.js +1 -0
  351. package/dist/_next/static/chunks/fb2f1266493dd820.js +1 -0
  352. package/dist/_next/static/chunks/fc2efa33a196ee45.js +1 -0
  353. package/dist/_next/static/chunks/fd3d43eb8557ee49.js +1 -0
  354. package/dist/_next/static/chunks/fdfce6fa0b958336.js +1 -0
  355. package/dist/_next/static/chunks/ff12eca45020947a.js +1 -0
  356. package/dist/_next/static/chunks/ff6860dcd793aa23.js +1 -0
  357. package/dist/_next/static/chunks/turbopack-25a49bf58581b314.js +3 -0
  358. package/dist/_next/static/chunks/turbopack-552bcca3b4e5cab8.js +3 -0
  359. package/dist/_next/static/chunks/turbopack-cd5b40c9e0ee1fe0.js +3 -0
  360. package/dist/_next/static/media/13bf9871fe164e7f-s.f2220059.woff2 +0 -0
  361. package/dist/_next/static/media/3fe682a82f50d426-s.23358719.woff2 +0 -0
  362. package/dist/_next/static/media/5c285b27cdda1fe8-s.p.a62025f2.woff2 +0 -0
  363. package/dist/_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2 +0 -0
  364. package/dist/_next/static/media/71b036adf157cdcf-s.bd5f4d11.woff2 +0 -0
  365. package/dist/_next/static/media/89b21bb081cb7469-s.51c18f09.woff2 +0 -0
  366. package/dist/_next/static/media/KaTeX_AMS-Regular.892f691b.ttf +0 -0
  367. package/dist/_next/static/media/KaTeX_AMS-Regular.c30af439.woff2 +0 -0
  368. package/dist/_next/static/media/KaTeX_AMS-Regular.e6a3cada.woff +0 -0
  369. package/dist/_next/static/media/KaTeX_Caligraphic-Bold.2f97783e.woff +0 -0
  370. package/dist/_next/static/media/KaTeX_Caligraphic-Bold.a36b8125.ttf +0 -0
  371. package/dist/_next/static/media/KaTeX_Caligraphic-Bold.db991531.woff2 +0 -0
  372. package/dist/_next/static/media/KaTeX_Caligraphic-Regular.2b13f013.woff +0 -0
  373. package/dist/_next/static/media/KaTeX_Caligraphic-Regular.7c50032c.ttf +0 -0
  374. package/dist/_next/static/media/KaTeX_Caligraphic-Regular.c20eee08.woff2 +0 -0
  375. package/dist/_next/static/media/KaTeX_Fraktur-Bold.5fa2f5e4.woff +0 -0
  376. package/dist/_next/static/media/KaTeX_Fraktur-Bold.d514bd28.woff2 +0 -0
  377. package/dist/_next/static/media/KaTeX_Fraktur-Bold.e311399d.ttf +0 -0
  378. package/dist/_next/static/media/KaTeX_Fraktur-Regular.18139813.woff +0 -0
  379. package/dist/_next/static/media/KaTeX_Fraktur-Regular.2a73476d.ttf +0 -0
  380. package/dist/_next/static/media/KaTeX_Fraktur-Regular.5d62e468.woff2 +0 -0
  381. package/dist/_next/static/media/KaTeX_Main-Bold.6d137c77.ttf +0 -0
  382. package/dist/_next/static/media/KaTeX_Main-Bold.c24b5ba7.woff +0 -0
  383. package/dist/_next/static/media/KaTeX_Main-Bold.f4e2828d.woff2 +0 -0
  384. package/dist/_next/static/media/KaTeX_Main-BoldItalic.079b33ae.woff +0 -0
  385. package/dist/_next/static/media/KaTeX_Main-BoldItalic.c003d3ec.ttf +0 -0
  386. package/dist/_next/static/media/KaTeX_Main-BoldItalic.f1884480.woff2 +0 -0
  387. package/dist/_next/static/media/KaTeX_Main-Italic.26a3619b.woff +0 -0
  388. package/dist/_next/static/media/KaTeX_Main-Italic.61da3e93.ttf +0 -0
  389. package/dist/_next/static/media/KaTeX_Main-Italic.a3746929.woff2 +0 -0
  390. package/dist/_next/static/media/KaTeX_Main-Regular.12644167.woff2 +0 -0
  391. package/dist/_next/static/media/KaTeX_Main-Regular.876b86ad.ttf +0 -0
  392. package/dist/_next/static/media/KaTeX_Main-Regular.d511f158.woff +0 -0
  393. package/dist/_next/static/media/KaTeX_Math-BoldItalic.5c6a6a93.woff2 +0 -0
  394. package/dist/_next/static/media/KaTeX_Math-BoldItalic.ad4dffd5.woff +0 -0
  395. package/dist/_next/static/media/KaTeX_Math-BoldItalic.e73b3bf0.ttf +0 -0
  396. package/dist/_next/static/media/KaTeX_Math-Italic.03974bc4.ttf +0 -0
  397. package/dist/_next/static/media/KaTeX_Math-Italic.1cd2c488.woff +0 -0
  398. package/dist/_next/static/media/KaTeX_Math-Italic.d8564edb.woff2 +0 -0
  399. package/dist/_next/static/media/KaTeX_SansSerif-Bold.a03f9428.woff2 +0 -0
  400. package/dist/_next/static/media/KaTeX_SansSerif-Bold.d4608ed5.ttf +0 -0
  401. package/dist/_next/static/media/KaTeX_SansSerif-Bold.ff51ef5c.woff +0 -0
  402. package/dist/_next/static/media/KaTeX_SansSerif-Italic.8ed740d6.woff +0 -0
  403. package/dist/_next/static/media/KaTeX_SansSerif-Italic.9245afda.woff2 +0 -0
  404. package/dist/_next/static/media/KaTeX_SansSerif-Italic.c0b22b1e.ttf +0 -0
  405. package/dist/_next/static/media/KaTeX_SansSerif-Regular.128c9bc2.woff2 +0 -0
  406. package/dist/_next/static/media/KaTeX_SansSerif-Regular.156dbd4e.ttf +0 -0
  407. package/dist/_next/static/media/KaTeX_SansSerif-Regular.ee7b0a16.woff +0 -0
  408. package/dist/_next/static/media/KaTeX_Script-Regular.00d9a561.ttf +0 -0
  409. package/dist/_next/static/media/KaTeX_Script-Regular.186c7155.woff2 +0 -0
  410. package/dist/_next/static/media/KaTeX_Script-Regular.afc2fd5a.woff +0 -0
  411. package/dist/_next/static/media/KaTeX_Size1-Regular.4450ef36.woff2 +0 -0
  412. package/dist/_next/static/media/KaTeX_Size1-Regular.9aaff96b.ttf +0 -0
  413. package/dist/_next/static/media/KaTeX_Size1-Regular.e5bf4c74.woff +0 -0
  414. package/dist/_next/static/media/KaTeX_Size2-Regular.6a97527b.woff2 +0 -0
  415. package/dist/_next/static/media/KaTeX_Size2-Regular.8fbd32af.woff +0 -0
  416. package/dist/_next/static/media/KaTeX_Size2-Regular.f11810ed.ttf +0 -0
  417. package/dist/_next/static/media/KaTeX_Size3-Regular.45ae8eba.woff +0 -0
  418. package/dist/_next/static/media/KaTeX_Size3-Regular.54b7ce9d.woff2 +0 -0
  419. package/dist/_next/static/media/KaTeX_Size3-Regular.9812ade2.ttf +0 -0
  420. package/dist/_next/static/media/KaTeX_Size4-Regular.44a4d487.ttf +0 -0
  421. package/dist/_next/static/media/KaTeX_Size4-Regular.927fc5b9.woff2 +0 -0
  422. package/dist/_next/static/media/KaTeX_Size4-Regular.b211e3d3.woff +0 -0
  423. package/dist/_next/static/media/KaTeX_Typewriter-Regular.68b6c3a9.woff +0 -0
  424. package/dist/_next/static/media/KaTeX_Typewriter-Regular.a1a7ff52.ttf +0 -0
  425. package/dist/_next/static/media/KaTeX_Typewriter-Regular.ff99d643.woff2 +0 -0
  426. package/dist/_next/static/media/b886574ba42c3409-s.1f4af8e6.woff2 +0 -0
  427. package/dist/_next/static/media/c3cb240f9c892514-s.d8e4bce2.woff2 +0 -0
  428. package/dist/_next/static/media/c41ca59f1c34ba31-s.p.e20f337c.woff2 +0 -0
  429. package/dist/_next/static/media/cc545e633e20c56d-s.f6f1950f.woff2 +0 -0
  430. package/dist/_next/static/media/logo-mini.27d08774.png +0 -0
  431. package/dist/_next/static/media/logo.cfaef1ab.png +0 -0
  432. package/dist/favicon.ico +0 -0
  433. package/dist/index.html +1 -0
  434. package/dist/index.txt +24 -0
  435. package/dist/manage/add-account/index.html +1 -0
  436. package/dist/manage/add-account/index.txt +33 -0
  437. package/dist/manage/agent/index.html +2 -0
  438. package/dist/manage/agent/index.txt +32 -0
  439. package/dist/manage/agent-teams/index.html +2 -0
  440. package/dist/manage/agent-teams/index.txt +32 -0
  441. package/dist/manage/env/index.html +2 -0
  442. package/dist/manage/env/index.txt +32 -0
  443. package/dist/manage/mcp/index.html +2 -0
  444. package/dist/manage/mcp/index.txt +32 -0
  445. package/dist/manage/skills/index.html +2 -0
  446. package/dist/manage/skills/index.txt +32 -0
  447. package/dist/manage/tools/index.html +2 -0
  448. package/dist/manage/tools/index.txt +32 -0
  449. package/dist/ws-test.html +8044 -0
  450. package/lib/launcher-env.js +82 -0
  451. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,67585,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let l=e.r(32061);function n(e){let{reason:t,children:a}=e;if("undefined"==typeof window)throw Object.defineProperty(new l.BailoutToCSRError(t),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return a}},9885,(e,t,a)=>{"use strict";function l(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"encodeURIPath",{enumerable:!0,get:function(){return l}})},52157,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"PreloadChunks",{enumerable:!0,get:function(){return s}});let l=e.r(18050),n=e.r(74080),r=e.r(63599),i=e.r(9885);function s(e){let{moduleIds:t}=e;if("undefined"!=typeof window)return null;let a=r.workAsyncStorage.getStore();if(void 0===a)return null;let s=[];if(a.reactLoadableManifest&&t){let e=a.reactLoadableManifest;for(let a of t){if(!e[a])continue;let t=e[a].files;s.push(...t)}}return 0===s.length?null:(0,l.jsx)(l.Fragment,{children:s.map(e=>{let t=a.assetPrefix+"/_next/"+(0,i.encodeURIPath)(e);return e.endsWith(".css")?(0,l.jsx)("link",{precedence:"dynamic",href:t,rel:"stylesheet",as:"style"},e):((0,n.preload)(t,{as:"script",fetchPriority:"low"}),null)})})}},67327,e=>{"use strict";e.s(["useWebSocketSender",()=>n]);var t=e.i(71645),a=e.i(38991),l=e.i(20090);function n(){let e=(0,t.useCallback)(e=>{let t=(0,l.sendActiveWebSocketJson)(e);return t&&a.useAppStore.getState().appendLog("→",e),t},[]),n=(0,t.useCallback)(()=>e({type:"reloadAgentConfig"}),[e]),r=(0,t.useCallback)(()=>e({type:"reloadAgentPrompt"}),[e]);return{sendJson:e,sendReloadAgentConfig:n,sendReloadAgentPrompt:r}}},56708,e=>{"use strict";e.s(["ManageFeatureChrome",()=>a]);var t=e.i(18050);function a(e){let{title:a,description:l,headerActions:n,children:r}=e;return(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsxs)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-[var(--space-4)] pb-[var(--space-4)]",children:[(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:a}),(0,t.jsx)("p",{className:"manage-page-desc",children:l})]}),n?(0,t.jsx)("div",{className:"manage-page-header-actions self-start",children:n}):null]}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col",children:r})]})}},50711,e=>{"use strict";e.s(["usePersistAgentConfig",()=>s,"usePersistAgentConfigField",()=>o]);var t=e.i(71645),a=e.i(38991),l=e.i(36845),n=e.i(2531),r=e.i(67327),i=e.i(13354);function s(){let e=(0,a.useAppStore)(e=>e.wsUrl),s=(0,a.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:o}=(0,r.useWebSocketSender)(),d=(0,t.useCallback)(()=>a.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async t=>{let r=!!(null==t?void 0:t.silent),c=a.useAppStore.getState(),u={config:{tools:c.agentConfig.tools.slice(),mcpServers:c.agentConfig.mcpServers.slice(),skills:c.agentConfig.skills.slice(),model:c.agentConfig.model,agentTeams:c.agentConfig.agentTeams.slice(),rules:c.agentConfig.rules,env:{...c.agentConfig.env}}};try{await (0,n.patch)((0,l.buildAgentApiUrl)(e,s,d()),u);let t=a.useAppStore.getState();t.wsConnected&&o(),r?(t.appendLog("agent-config","已写入 agent.json"),t.setStatus("agent.json 已保存".concat(t.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),t.bridgeReady?"ready":"")):i.appToast.success(t.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){i.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[e,s,o,d])}function o(e){let s=(0,a.useAppStore)(e=>e.wsUrl),o=(0,a.useAppStore)(e=>e.apiBase),{sendReloadAgentConfig:d}=(0,r.useWebSocketSender)(),c=(0,t.useCallback)(()=>a.useAppStore.getState().agentId.trim()||"qihoo",[]);return(0,t.useCallback)(async(t,r)=>{let u=!!(null==r?void 0:r.silent),p=a.useAppStore.getState(),m={config:{tools:p.agentConfig.tools.slice(),mcpServers:p.agentConfig.mcpServers.slice(),skills:p.agentConfig.skills.slice(),model:p.agentConfig.model,agentTeams:p.agentConfig.agentTeams.slice(),rules:p.agentConfig.rules.slice(),env:{...p.agentConfig.env},[e]:t}};try{await (0,n.patch)((0,l.buildAgentApiUrl)(s,o,c()),m);let e=a.useAppStore.getState();e.wsConnected&&d(),u?(e.appendLog("agent-config","已写入 agent.json"),e.setStatus("agent.json 已保存".concat(e.wsConnected?",已请求同步 worker":"(未连接 WS 则下次连上后 reload)"),e.bridgeReady?"ready":"")):i.appToast.success(e.wsConnected?"已保存并已请求 worker 重新加载 agent.md + agent.json。":"已保存。重连 WebSocket 后生效。")}catch(e){i.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}},[s,o,d,c,e])}},84774,85413,e=>{"use strict";e.s(["Table",()=>n,"TableBody",()=>i,"TableCell",()=>d,"TableHead",()=>o,"TableHeader",()=>r,"TableRow",()=>s],84774);var t=e.i(18050),a=e.i(71645),l=e.i(75157);let n=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,l.cn)("w-full caption-bottom border-collapse text-sm",n),...r})})});n.displayName="Table";let r=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("thead",{ref:a,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",n),...r})});r.displayName="TableHeader";let i=a.forwardRef((e,n)=>{let{className:r,viewportFit:i=!0,viewportReserveBottom:s=16,viewportPaginationReserve:o=0,style:d,...c}=e,u=a.useRef(null),p=a.useCallback(e=>{u.current=e,"function"==typeof n?n(e):n&&(n.current=e)},[n]),[m,b]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!i)return void b(void 0);let a=()=>{var e,t;let a=u.current;if(!a)return;let l=a.getBoundingClientRect().top;b(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-l-(s+o))))};a();let l=new ResizeObserver(()=>{a()});try{l.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;l.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[i,s,o]),(0,t.jsx)("tbody",{ref:p,className:(0,l.cn)("block overflow-y-auto [&_tr:last-child]:border-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",r),style:i&&void 0!==m?{...d,maxHeight:m}:d,...c})});i.displayName="TableBody";let s=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("tr",{ref:a,className:(0,l.cn)("border-b transition-colors hover:bg-[var(--ds-item-hover)] data-[state=selected]:bg-[var(--ds-item-active)]",n),...r})});s.displayName="TableRow";let o=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("th",{ref:a,className:(0,l.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--ds-item-hover)] px-3 text-left align-middle font-medium !text-[var(--ds-text)] text-muted-foreground",n),...r})});o.displayName="TableHead";let d=a.forwardRef((e,a)=>{let{className:n,...r}=e;return(0,t.jsx)("td",{ref:a,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle",n),...r})});d.displayName="TableCell",e.s(["Empty",()=>u],85413);var c=e.i(72064);function u(e){let{text:a="暂无数据",className:n}=e;return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-[180px] w-full flex-col items-center justify-center gap-2 py-4 text-base text-[var(--ds-muted)]",n),role:"status","aria-live":"polite",children:[(0,t.jsx)(c.default,{name:"NoData",size:80,color:"var(--ds-muted)",className:"opacity-90"}),(0,t.jsx)("span",{children:a})]})}},99375,e=>{"use strict";e.s(["Switch",()=>B],99375);var t=e.i(18050);e.s(["Root",()=>E,"Thumb",()=>M],39606),e.s([],37751),e.i(37751),e.i(47167);var a=e.i(71645),l=e.i(94349),n=e.i(76477),r=e.i(26292),i=e.i(977),s=e.i(62372),o=e.i(17514),d=e.i(27601),c=e.i(19805),u=e.i(89879),p=e.i(91730),m=e.i(67805);let b=a.createContext(void 0),f=function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),g={valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},h={disabled:!1,...g},v=function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e}({}),x={valid:e=>null===e?null:e?{[f.valid]:""}:{[f.invalid]:""},checked:e=>e?{[v.checked]:""}:{[v.unchecked]:""}},y=a.createContext({invalid:void 0,name:void 0,validityData:{state:{badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},errors:[],error:"",value:"",initialValue:null},setValidityData:o.NOOP,disabled:void 0,touched:g.touched,setTouched:o.NOOP,dirty:g.dirty,setDirty:o.NOOP,filled:g.filled,setFilled:o.NOOP,focused:g.focused,setFocused:o.NOOP,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:h,markedDirtyRef:{current:!1},registerFieldControl:o.NOOP,validation:{getValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},getInputValidationProps:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.EMPTY_OBJECT;return e},inputRef:{current:null},commit:async()=>{}}});function j(){let e=!(arguments.length>0)||void 0===arguments[0]||arguments[0],t=a.useContext(y);if(t.setValidityData===o.NOOP&&!e)throw Error((0,m.default)(28));return t}let C=a.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:o.NOOP,validationMode:"onSubmit",submitAttemptedRef:{current:!1}}),w=a.createContext({controlId:void 0,registerControlId:o.NOOP,labelId:void 0,setLabelId:o.NOOP,messageIds:[],setMessageIds:o.NOOP,getDescriptionProps:e=>e});function S(){return a.useContext(w)}var T=e.i(30628),N=e.i(29315),k=e.i(5963),R=e.i(3404),P=e.i(19904);let E=a.forwardRef(function(e,m){let{checked:f,className:g,defaultChecked:h,"aria-labelledby":v,form:y,id:w,inputRef:E,name:M,nativeButton:O=!1,onCheckedChange:A,readOnly:B=!1,required:D=!1,disabled:I=!1,render:z,uncheckedValue:U,value:_,style:H,...L}=e,{clearErrors:V}=a.useContext(C),{state:F,setTouched:W,setDirty:J,validityData:K,setFilled:q,setFocused:Y,shouldValidateOnChange:X,validationMode:G,disabled:Q,name:Z,validation:$}=j(),{labelId:ee}=S(),et=Q||I,ea=null!=Z?Z:M,el=(0,n.useStableCallback)(A),en=a.useRef(null),er=(0,r.useMergedRefs)(en,E,$.inputRef),ei=a.useRef(null),es=(0,u.useBaseUiId)(),eo=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{id:t,implicit:l=!1,controlRef:r}=e,{controlId:s,registerControlId:d}=S(),c=(0,u.useBaseUiId)(t),p=l?s:void 0,m=(0,T.useRefWithInit)(()=>Symbol("labelable-control")),b=a.useRef(!1),f=a.useRef(null!=t),g=(0,n.useStableCallback)(()=>{b.current&&d!==o.NOOP&&(b.current=!1,d(m.current,void 0))});return(0,i.useIsoLayoutEffect)(()=>{let e;if(d!==o.NOOP){if(l){let a=null==r?void 0:r.current;e=(0,N.isElement)(a)&&null!=a.closest("label")?null!=t?t:null:null!=p?p:c}else if(null!=t)f.current=!0,e=t;else{if(!f.current)return void g();e=c}if(void 0===e)return void g();b.current=!0,d(m.current,e)}},[t,r,p,d,l,c,m,g]),a.useEffect(()=>g,[g]),null!=s?s:c}({id:w,implicit:!1,controlRef:ei}),ed=O?void 0:eo,[ec,eu]=(0,l.useControlled)({controlled:f,default:!!h,name:"Switch",state:"checked"});!function(e,t){let{enabled:l=!0,getValue:n,id:r,value:s}=t,{registerFieldControl:o}=j(),d=a.useRef(null);d.current||(d.current=Symbol()),(0,i.useIsoLayoutEffect)(()=>{let t=d.current;if(t&&l)return o(t,{controlRef:e,getValue:n,id:r,value:s}),()=>{o(t,void 0)}},[e,l,n,r,o,s])}(ei,{id:es,value:ec}),(0,i.useIsoLayoutEffect)(()=>{en.current&&q(en.current.checked)},[en,q]),(0,P.useValueChanged)(ec,()=>{V(ea),J(ec!==K.initialValue),q(ec),X()?$.commit(ec):$.commit(ec,!0)});let{getButtonProps:ep,buttonRef:em}=(0,p.useButton)({disabled:et,native:O}),eb=function(e,t,l){var n;let r=!(arguments.length>3)||void 0===arguments[3]||arguments[3],s=arguments.length>4?arguments[4]:void 0,[o,d]=a.useState(),c=(0,u.useBaseUiId)(s?"".concat(s,"-label"):void 0),p=null!=(n=null!=e?e:t)?n:o;return(0,i.useIsoLayoutEffect)(()=>{let a=e||t||!r?void 0:function(e,t){let a=function(e){if(!e)return;let t=e.parentElement;if(t&&"LABEL"===t.tagName)return t;let a=e.id;if(a){let t=e.nextElementSibling;if(t&&t.htmlFor===a)return t}let l=e.labels;return l&&l[0]}(e);if(a)return!a.id&&t&&(a.id=t),a.id||void 0}(l.current,c);o!==a&&d(a)}),p}(v,ee,en,!O,ed),ef=a.useMemo(()=>(0,c.mergeProps)({checked:ec,disabled:et,form:y,id:ed,name:ea,required:D,style:ea?s.visuallyHiddenInput:s.visuallyHidden,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:er,onChange(e){if(e.nativeEvent.defaultPrevented)return;if(B)return void e.preventDefault();let t=e.currentTarget.checked,a=(0,k.createChangeEventDetails)(R.REASONS.none,e.nativeEvent);null==el||el(t,a),a.isCanceled||eu(t)},onFocus(){var e;null==(e=ei.current)||e.focus()}},$.getInputValidationProps,void 0!==_?{value:_}:o.EMPTY_OBJECT),[ec,et,y,er,ed,ea,el,B,D,eu,$,_]),eg=a.useMemo(()=>({...F,checked:ec,disabled:et,readOnly:B,required:D}),[F,ec,et,B,D]),eh=(0,d.useRenderElement)("span",e,{state:eg,ref:[m,ei,em],props:[{id:O?eo:es,role:"switch","aria-checked":ec,"aria-readonly":B||void 0,"aria-required":D||void 0,"aria-labelledby":eb,onFocus(){et||Y(!0)},onBlur(){let e=en.current;e&&!et&&(W(!0),Y(!1),"onBlur"===G&&$.commit(e.checked))},onClick(e){var t;B||et||(e.preventDefault(),null==(t=en.current)||t.dispatchEvent(new PointerEvent("click",{bubbles:!0,shiftKey:e.shiftKey,ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey})))}},$.getValidationProps,L,ep],stateAttributesMapping:x});return(0,t.jsxs)(b.Provider,{value:eg,children:[eh,!ec&&ea&&void 0!==U&&(0,t.jsx)("input",{type:"hidden",form:y,name:ea,value:U}),(0,t.jsx)("input",{...ef,suppressHydrationWarning:!0})]})}),M=a.forwardRef(function(e,t){let{render:l,className:n,style:r,...i}=e,{state:s}=j(),o=function(){let e=a.useContext(b);if(void 0===e)throw Error((0,m.default)(63));return e}(),c={...s,...o};return(0,d.useRenderElement)("span",e,{state:c,ref:t,stateAttributesMapping:x,props:i})});var O=e.i(39606),O=O,A=e.i(75157);function B(e){let{className:a,thumbClassName:l,...n}=e;return(0,t.jsx)(O.Root,{"data-slot":"switch",className:(0,A.cn)("shadow-xs focus-visible:ring-ring/50 dark:data-[unchecked]:bg-input/80 peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-input outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[checked]:bg-primary",a),...n,children:(0,t.jsx)(O.Thumb,{className:(0,A.cn)("pointer-events-none block size-4 rounded-full bg-background ring-0 transition-transform will-change-transform data-[checked]:translate-x-4 data-[unchecked]:translate-x-0.5 data-[checked]:bg-primary-foreground",l)})})}},55242,e=>{"use strict";e.s(["AppDialog",()=>r]);var t=e.i(18050),a=e.i(71645),l=e.i(76639),n=e.i(75157);function r(e){let{open:r,onOpenChange:i,title:s,children:o,footer:d,width:c="max-w-3xl",minHeight:u}=e,p=(0,a.useId)();return(0,t.jsx)(l.Dialog,{open:r,onOpenChange:i,children:(0,t.jsxs)(l.DialogContent,{"aria-labelledby":p,className:(0,n.cn)(c,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{id:p,children:s}),(0,t.jsx)(l.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(l.DialogBody,{className:"!px-4 !py-3",children:o}),d?(0,t.jsx)("div",{className:"flex-shrink-0 flex justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:d}):null]})})}},23750,e=>{"use strict";e.s(["McpManageView",()=>k],23750);var t=e.i(18050),a=e.i(71645),l=e.i(38991),n=e.i(87243),r=e.i(2531),i=e.i(13354),s=e.i(36845),o=e.i(50711),d=e.i(56708),c=e.i(51419),u=e.i(55242),p=e.i(84774),m=e.i(85413),b=e.i(19455),f=e.i(99375),g=e.i(75157);function h(e){let{items:a,saveBusy:l,onToggleStatus:n,className:r}=e;return(0,t.jsx)("div",{className:(0,g.cn)("overflow-hidden border border-[var(--ds-border)]",r),children:(0,t.jsxs)(p.Table,{children:[(0,t.jsx)(p.TableHeader,{children:(0,t.jsxs)(p.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(p.TableHead,{className:"text-base",children:"名称"}),(0,t.jsx)(p.TableHead,{className:"text-base",children:"详情"}),(0,t.jsx)(p.TableHead,{className:"text-base",children:"来源"}),(0,t.jsx)(p.TableHead,{className:"text-base",children:"状态"})]})}),(0,t.jsx)(p.TableBody,{children:a.length?a.map(e=>(0,t.jsxs)(p.TableRow,{children:[(0,t.jsx)(p.TableCell,{className:"text-base",children:e.label||e.name}),(0,t.jsx)(p.TableCell,{className:"text-base",children:e.description||"-"}),(0,t.jsx)(p.TableCell,{className:"text-base",children:"远程"}),(0,t.jsx)(p.TableCell,{className:"whitespace-nowrap py-2 align-middle",children:n?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(f.Switch,{checked:!e.disabled,disabled:l,className:"focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{n(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})})]},"mcp:".concat(e.name))):(0,t.jsx)(p.TableRow,{children:(0,t.jsx)(p.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(m.Empty,{})})})})]})})}var v=e.i(29619),x=e.i(76639),y=e.i(25310);function j(e){let{open:l,onOpenChange:n,wsUrl:r,apiBase:o,agent:d}=e,[c,u]=(0,a.useState)(!1),[p,m]=(0,a.useState)(null),f=(0,a.useCallback)(()=>{n(!1),m(null)},[n]),g=(0,a.useCallback)(async()=>{if(!p)return void i.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",p),u(!0);try{let t=await (0,v.bridgeFetch)((0,s.buildMcpRuntimeImportUrl)(r,o,d),{method:"POST",body:e}),a=Number(t.imported||0),l=Number(t.overwritten||0),n=Array.isArray(t.rejected)?t.rejected.length:0;i.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(l)+(n>0?",拒绝 ".concat(n):"")),f()}catch(e){i.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{u(!1)}},[p,r,o,d,f]);return(0,t.jsx)(x.Dialog,{open:l,onOpenChange:e=>{n(e),e||m(null)},children:(0,t.jsxs)(x.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(x.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(x.DialogTitle,{children:"导入 MCP zip"}),(0,t.jsx)(x.DialogDescription,{children:"选择一个 zip 文件并导入到 mcp-runtime。"})]}),(0,t.jsx)(x.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:f,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(y.AppUpload,{uploadUrl:(0,s.buildMcpRuntimeImportUrl)(r,o,d),accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:c,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;m(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{i.appToast.info(e)}},"".concat(l?"open":"closed","-").concat(d)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(b.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:f,children:"取消"}),(0,t.jsx)(b.Button,{type:"button",size:"lg",variant:"default",disabled:c||null==p,onClick:()=>void g(),children:c?"导入中…":"确定"})]})]})]})})}var C=e.i(68499),w=e.i(46798),S=e.i(72064);let T={title:"MCP 管理",description:"管理当前 Agent 已挂载的 MCP 服务器"},N=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function k(){let e=(0,l.useAppStore)(e=>e.wsUrl),g=(0,l.useAppStore)(e=>e.apiBase),v=(0,l.useAppStore)(e=>e.agentConfig),x=(0,l.useAppStore)(e=>e.setAgentConfig),y=(0,l.useAppStore)(e=>e.wsConnected),k=(0,l.useAppStore)(e=>e.bridgeReady),{currentAgent:R,loadAgentConfig:P}=(0,n.useSession)(),E=(0,o.usePersistAgentConfigField)("mcpServers"),M=v.mcpServers,O=(0,a.useMemo)(()=>[...M].sort().join("\0"),[M]),[A,B]=(0,a.useState)([]),[D,I]=(0,a.useState)([]),[z,U]=(0,a.useState)(!1),[_,H]=(0,a.useState)(!1),[L,V]=(0,a.useState)("basic"),[F,W]=(0,a.useState)(!1),[J,K]=(0,a.useState)(!1),[q,Y]=(0,a.useState)(""),[X,G]=(0,a.useState)(!1);(0,a.useEffect)(()=>{P()},[P]);let Q=(0,a.useCallback)(async(e,t)=>{H(!0);try{await E(e,{silent:t})}finally{H(!1)}},[E]),Z=(0,a.useCallback)(async()=>{B([]),U(!0),await (0,r.get)((0,s.buildMcpServersListUrl)(e,g,R())).then(e=>{var t;B((null!=(t=e.servers)?t:[]).map(e=>{var t,a,l;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(l=e.source)?l:"",installed:!!e.installed}}))}).catch(e=>{B([]),i.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}).finally(()=>{U(!1)})},[e,g,R]),$=(0,a.useCallback)(async t=>{var a;let l=A.find(e=>e.id===t),n=null!=(a=null==l?void 0:l.source)?a:"";if("runtime"!==n&&"remote"!==n)return void i.appToast.error("基础MCP不可删除");if(await (0,C.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===n){let a=await (0,r.get)((0,s.buildRemoteMcpJsonUrl)(e,g,R())),l={};try{l=JSON.parse(String(a.content||"{}"))}catch(e){l={mcpServers:{}}}(!l.mcpServers||Array.isArray(l.mcpServers)||"object"!=typeof l.mcpServers)&&(l.mcpServers={}),delete l.mcpServers[t],await (0,r.post)((0,s.buildRemoteMcpJsonUrl)(e,g,R()),{content:JSON.stringify(l,null,2)})}else await (0,r.del)((0,s.buildMcpRuntimeDeleteUrl)(e,g,R(),t));let a=M.filter(e=>e!==t);I(e=>e.filter(e=>e!==t)),x({...v,mcpServers:a}),await Q(a,!0),await Z()}catch(e){i.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[A,e,g,R,M,v,x,Q,Z]);(0,a.useEffect)(()=>{("basic"===L||"installed"===L)&&Z()},[L,Z]),(0,a.useEffect)(()=>{("basic"===L||"installed"===L)&&I([...M])},[L,M,O]);let ee=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();x({...v,mcpServers:t}),await Q(t,!0)},[v,x,Q]),et=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...D,e])]:D.filter(t=>t!==e);I(a);try{await ee(a)}catch(e){I(D),i.appToast.error("切换启用状态失败: ".concat(e))}},[D,ee]),ea=(0,a.useMemo)(()=>A.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[A]),el=(0,a.useMemo)(()=>A.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!D.includes(e.id),l=+!D.includes(t.id);return a!==l?a-l:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!D.includes(e.id)})),[A,D]),en=(0,a.useCallback)(t=>{window.open((0,s.buildMcpRuntimeExportUrl)(e,g,R(),t),"_blank","noopener")},[e,g,R]),er=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...D,e])]:D.filter(t=>t!==e);I(a);try{await ee(a)}catch(e){I(D),i.appToast.error("切换启用状态失败: ".concat(e))}},[D,ee]),ei=(0,a.useCallback)(()=>{K(!0),Y(""),(0,r.get)((0,s.buildRemoteMcpJsonUrl)(e,g,R())).then(e=>{Y("string"==typeof e.content?e.content:"")}).catch(e=>{i.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),K(!1)})},[e,g,R]),es=(0,a.useCallback)(async()=>{G(!0);try{await (0,r.post)((0,s.buildRemoteMcpJsonUrl)(e,g,R()),{content:q}),i.appToast.success("已保存全局 mcp.json。"),K(!1)}catch(e){i.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{G(!1)}},[e,g,R,q]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.ManageFeatureChrome,{title:T.title,description:T.description,saveBusy:_,wsConnected:y,bridgeReady:k,headerActions:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(b.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:ei,className:"mr-[12px]",children:[(0,t.jsx)(S.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(b.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>W(!0),children:[(0,t.jsx)(S.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]}),children:(0,t.jsxs)(c.AppTabs,{tabs:N,value:L,listVariant:"line",onChange:e=>V(e),children:[(0,t.jsx)(c.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0 overflow-y-auto border border-[var(--ds-border)]",children:z?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(p.Table,{children:[(0,t.jsx)(p.TableHeader,{children:(0,t.jsxs)(p.TableRow,{className:"bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",children:[(0,t.jsx)(p.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"名称"}),(0,t.jsx)(p.TableHead,{className:"text-base text-[var(--ds-muted)]",children:"详情"}),(0,t.jsx)(p.TableHead,{className:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",children:"启用/未启用"}),(0,t.jsx)(p.TableHead,{className:"w-[128px] text-base text-[var(--ds-muted)]",children:"操作"})]})}),(0,t.jsx)(p.TableBody,{children:ea.length?ea.map(e=>{var a;let l=null!=(a=e.source)?a:"",n="runtime"===l,r="runtime"===l||"remote"===l;return(0,t.jsxs)(p.TableRow,{children:[(0,t.jsx)(p.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.label}),(0,t.jsx)(p.TableCell,{className:"text-base text-[var(--ds-text)]",children:e.description||"-"}),(0,t.jsx)(p.TableCell,{className:"w-[112px] py-2 text-right align-middle",children:(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(f.Switch,{checked:D.includes(e.id),disabled:_,className:"focus-visible:border-[var(--ds-accent)]/50 focus-visible:ring-[var(--ds-accent)]/35 data-[checked]:border-[var(--ds-accent)] data-[checked]:bg-[var(--ds-accent)]",thumbClassName:"data-[checked]:bg-white",onCheckedChange:t=>{et(e.id,t)},"aria-label":"选择 ".concat(e.label)})})}),(0,t.jsx)(p.TableCell,{className:"w-[128px]",children:(0,t.jsx)(w.TooltipProvider,{delayDuration:150,children:(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsxs)(w.Tooltip,{children:[(0,t.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(b.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-[var(--ds-muted)] hover:text-[var(--ds-text)]",onClick:()=>en(e.id),"aria-label":"导出 ".concat(e.label),disabled:_||!n,children:(0,t.jsx)(S.default,{name:"Download",size:16})})}),(0,t.jsx)(w.TooltipContent,{side:"bottom",align:"center",children:n?"导出":"仅 runtime MCP 支持导出"})]}),(0,t.jsxs)(w.Tooltip,{children:[(0,t.jsx)(w.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(b.Button,{type:"button",variant:"plain",size:"icon",className:"h-8 w-8 text-red-600 hover:text-red-800 [&_svg]:!text-red-600 hover:[&_svg]:!text-red-800",onClick:()=>{$(e.id)},"aria-label":"删除 ".concat(e.label),disabled:_||!r,children:(0,t.jsx)(S.default,{name:"Trash2",size:16,className:"text-red-500"})})}),(0,t.jsx)(w.TooltipContent,{side:"bottom",align:"center",children:r?"删除":"基础MCP不可删除"})]})]})})})]},e.id)}):(0,t.jsx)(p.TableRow,{children:(0,t.jsx)(p.TableCell,{colSpan:4,className:"py-6",children:(0,t.jsx)(m.Empty,{})})})})]})})})}),(0,t.jsx)(c.AppTabsPanel,{value:"installed",children:(0,t.jsx)(h,{items:el,saveBusy:_,onExport:en,onRemove:$,onToggleStatus:er})})]})}),(0,t.jsx)(j,{open:F,onOpenChange:e=>{W(e),e||Z()},wsUrl:e,apiBase:g,agent:R()}),(0,t.jsx)(u.AppDialog,{open:J,onOpenChange:K,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:X,onClick:()=>K(!1),children:"取消"}),(0,t.jsx)(b.Button,{type:"button",size:"lg",disabled:X,onClick:()=>void es(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:q,onChange:e=>Y(e.target.value)})})]})}}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,73427,e=>{"use strict";e.s(["default",()=>o]);let o=Object.freeze(JSON.parse('{"colors":{"activityBar.background":"#161F26","activityBar.dropBackground":"#FFF","activityBar.foreground":"#FFF","activityBarBadge.background":"#8AE773","activityBarBadge.foreground":"#FFF","badge.background":"#8AE773","breadcrumb.focusForeground":"#475663","breadcrumb.foreground":"#161F26","button.background":"#475663","button.foreground":"#FFF","button.hoverBackground":"#161F26","debugExceptionWidget.background":"#AED4FB","debugExceptionWidget.border":"#161F26","debugToolBar.background":"#161F26","dropdown.background":"#FFF","dropdown.border":"#DCDEDF","dropdown.foreground":"#DCDEDF","dropdown.listBackground":"#FFF","editor.background":"#FFF","editor.findMatchBackground":"#AED4FB","editor.foreground":"#000","editor.lineHighlightBackground":"#EEEEEE","editor.selectionBackground":"#AED4FB","editor.wordHighlightBackground":"#AED4FB","editor.wordHighlightStrongBackground":"#EEEEEE","editorActiveLineNumber.foreground":"#475663","editorGroup.emptyBackground":"#2D3E4C","editorGroup.focusedEmptyBorder":"#2D3E4C","editorGroupHeader.tabsBackground":"#2D3E4C","editorHint.border":"#F9F9F9","editorHint.foreground":"#F9F9F9","editorIndentGuide.activeBackground":"#dbdbdb","editorIndentGuide.background":"#F3F3F3","editorLineNumber.foreground":"#b9b9b9","editorMarkerNavigation.background":"#F9F9F9","editorMarkerNavigationError.background":"#F44C5E","editorMarkerNavigationInfo.background":"#6182b8","editorMarkerNavigationWarning.background":"#F6B555","editorPane.background":"#2D3E4C","editorSuggestWidget.foreground":"#2D3E4C","editorSuggestWidget.highlightForeground":"#2D3E4C","editorSuggestWidget.selectedBackground":"#b9b9b9","editorWidget.background":"#F9F9F9","editorWidget.border":"#dbdbdb","extensionButton.prominentBackground":"#475663","extensionButton.prominentForeground":"#F6F6F6","extensionButton.prominentHoverBackground":"#161F26","focusBorder":"#161F26","foreground":"#616161","gitDecoration.addedResourceForeground":"#ECB22E","gitDecoration.conflictingResourceForeground":"#FFF","gitDecoration.deletedResourceForeground":"#FFF","gitDecoration.ignoredResourceForeground":"#877583","gitDecoration.modifiedResourceForeground":"#ECB22E","gitDecoration.untrackedResourceForeground":"#ECB22E","input.background":"#FFF","input.border":"#161F26","input.foreground":"#000","input.placeholderForeground":"#a0a0a0","inputOption.activeBorder":"#3E313C","inputValidation.errorBackground":"#F44C5E","inputValidation.errorForeground":"#FFF","inputValidation.infoBackground":"#6182b8","inputValidation.infoForeground":"#FFF","inputValidation.warningBackground":"#F6B555","inputValidation.warningForeground":"#000","list.activeSelectionBackground":"#5899C5","list.activeSelectionForeground":"#fff","list.focusBackground":"#d5e1ea","list.focusForeground":"#fff","list.highlightForeground":"#2D3E4C","list.hoverBackground":"#d5e1ea","list.hoverForeground":"#fff","list.inactiveFocusBackground":"#161F26","list.inactiveSelectionBackground":"#5899C5","list.inactiveSelectionForeground":"#fff","list.invalidItemForeground":"#fff","menu.background":"#161F26","menu.foreground":"#F9FAFA","menu.separatorBackground":"#F9FAFA","notificationCenter.border":"#161F26","notificationCenterHeader.foreground":"#FFF","notificationLink.foreground":"#FFF","notificationToast.border":"#161F26","notifications.background":"#161F26","notifications.border":"#161F26","notifications.foreground":"#FFF","panel.border":"#2D3E4C","panelTitle.activeForeground":"#161F26","progressBar.background":"#8AE773","scrollbar.shadow":"#ffffff00","scrollbarSlider.activeBackground":"#161F267e","scrollbarSlider.background":"#161F267e","scrollbarSlider.hoverBackground":"#161F267e","settings.dropdownBorder":"#161F26","settings.dropdownForeground":"#161F26","settings.headerForeground":"#161F26","sideBar.background":"#2D3E4C","sideBar.foreground":"#DCDEDF","sideBarSectionHeader.background":"#161F26","sideBarSectionHeader.foreground":"#FFF","sideBarTitle.foreground":"#FFF","statusBar.background":"#5899C5","statusBar.debuggingBackground":"#8AE773","statusBar.foreground":"#FFF","statusBar.noFolderBackground":"#161F26","tab.activeBackground":"#FFF","tab.activeForeground":"#000","tab.border":"#F3F3F3","tab.inactiveBackground":"#F3F3F3","tab.inactiveForeground":"#686868","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#6182b8","terminal.ansiBrightBlack":"#90a4ae","terminal.ansiBrightBlue":"#6182b8","terminal.ansiBrightCyan":"#39adb5","terminal.ansiBrightGreen":"#91b859","terminal.ansiBrightMagenta":"#7c4dff","terminal.ansiBrightRed":"#e53935","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#ffb62c","terminal.ansiCyan":"#39adb5","terminal.ansiGreen":"#91b859","terminal.ansiMagenta":"#7c4dff","terminal.ansiRed":"#e53935","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#ffb62c","terminal.border":"#2D3E4C","terminal.foreground":"#161F26","terminal.selectionBackground":"#0006","textPreformat.foreground":"#161F26","titleBar.activeBackground":"#2D3E4C","titleBar.activeForeground":"#FFF","titleBar.border":"#2D3E4C","titleBar.inactiveBackground":"#161F26","titleBar.inactiveForeground":"#685C66","welcomePage.buttonBackground":"#F3F3F3","welcomePage.buttonHoverBackground":"#ECECEC","widget.shadow":"#161F2694"},"displayName":"Slack Ochin","name":"slack-ochin","tokenColors":[{"settings":{"foreground":"#002339"}},{"scope":["meta.paragraph.markdown","string.other.link.description.title.markdown"],"settings":{"foreground":"#110000"}},{"scope":["entity.name.section.markdown","punctuation.definition.heading.markdown"],"settings":{"foreground":"#034c7c"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","markup.quote.markdown"],"settings":{"foreground":"#00AC8F"}},{"scope":["markup.quote.markdown"],"settings":{"fontStyle":"italic","foreground":"#003494"}},{"scope":["markup.bold.markdown","punctuation.definition.bold.markdown"],"settings":{"fontStyle":"bold","foreground":"#4e76b5"}},{"scope":["markup.italic.markdown","punctuation.definition.italic.markdown"],"settings":{"fontStyle":"italic","foreground":"#C792EA"}},{"scope":["markup.inline.raw.string.markdown","markup.fenced_code.block.markdown"],"settings":{"fontStyle":"italic","foreground":"#0460b1"}},{"scope":["punctuation.definition.metadata.markdown"],"settings":{"foreground":"#00AC8F"}},{"scope":["markup.underline.link.image.markdown","markup.underline.link.markdown"],"settings":{"foreground":"#924205"}},{"scope":"comment","settings":{"fontStyle":"italic","foreground":"#357b42"}},{"scope":"string","settings":{"foreground":"#a44185"}},{"scope":"constant.numeric","settings":{"foreground":"#174781"}},{"scope":"constant","settings":{"foreground":"#174781"}},{"scope":"language.method","settings":{"foreground":"#174781"}},{"scope":["constant.character","constant.other"],"settings":{"foreground":"#174781"}},{"scope":"variable","settings":{"fontStyle":"","foreground":"#2f86d2"}},{"scope":"variable.language.this","settings":{"fontStyle":"","foreground":"#000000"}},{"scope":"keyword","settings":{"fontStyle":"","foreground":"#7b30d0"}},{"scope":"storage","settings":{"fontStyle":"","foreground":"#da5221"}},{"scope":"storage.type","settings":{"fontStyle":"","foreground":"#0991b6"}},{"scope":"entity.name.class","settings":{"foreground":"#1172c7"}},{"scope":"entity.other.inherited-class","settings":{"fontStyle":"","foreground":"#b02767"}},{"scope":"entity.name.function","settings":{"fontStyle":"","foreground":"#7eb233"}},{"scope":"variable.parameter","settings":{"fontStyle":"","foreground":"#b1108e"}},{"scope":"entity.name.tag","settings":{"fontStyle":"","foreground":"#0444ac"}},{"scope":"text.html.basic","settings":{"fontStyle":"","foreground":"#0071ce"}},{"scope":"entity.name.type","settings":{"foreground":"#0444ac"}},{"scope":"entity.other.attribute-name","settings":{"fontStyle":"italic","foreground":"#df8618"}},{"scope":"support.function","settings":{"fontStyle":"","foreground":"#1ab394"}},{"scope":"support.constant","settings":{"fontStyle":"","foreground":"#174781"}},{"scope":["support.type","support.class"],"settings":{"foreground":"#dc3eb7"}},{"scope":"support.other.variable","settings":{"foreground":"#224555"}},{"scope":"invalid","settings":{"fontStyle":" italic bold underline","foreground":"#207bb8"}},{"scope":"invalid.deprecated","settings":{"fontStyle":" bold italic underline","foreground":"#207bb8"}},{"scope":"source.json support","settings":{"foreground":"#6dbdfa"}},{"scope":["source.json string","source.json punctuation.definition.string"],"settings":{"foreground":"#00820f"}},{"scope":"markup.list","settings":{"foreground":"#207bb8"}},{"scope":["markup.heading punctuation.definition.heading","entity.name.section"],"settings":{"fontStyle":"","foreground":"#4FB4D8"}},{"scope":["text.html.markdown meta.paragraph meta.link.inline","text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown","text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown"],"settings":{"foreground":"#87429A"}},{"scope":"markup.quote","settings":{"foreground":"#87429A"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#08134A"}},{"scope":["markup.italic","punctuation.definition.italic"],"settings":{"fontStyle":"italic","foreground":"#174781"}},{"scope":"meta.link","settings":{"foreground":"#87429A"}}],"type":"light"}'))}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65525,e=>{"use strict";e.s(["default",()=>n]);let n=[Object.freeze(JSON.parse('{"displayName":"Python","name":"python","patterns":[{"include":"#statement"},{"include":"#expression"}],"repository":{"annotated-parameter":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(:)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.annotation.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"}]},"assignment-operator":{"match":"<<=|>>=|//=|\\\\*\\\\*=|\\\\+=|-=|/=|@=|\\\\*=|%=|~=|\\\\^=|&=|\\\\|=|=(?!=)","name":"keyword.operator.assignment.python"},"backticks":{"begin":"`","end":"`|(?<!\\\\\\\\)(\\\\n)","name":"invalid.deprecated.backtick.python","patterns":[{"include":"#expression"}]},"builtin-callables":{"patterns":[{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#builtin-exceptions"},{"include":"#builtin-functions"},{"include":"#builtin-types"}]},"builtin-exceptions":{"match":"(?<!\\\\.)\\\\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\\\\b","name":"support.type.exception.python"},"builtin-functions":{"patterns":[{"match":"(?<!\\\\.)\\\\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\\\\b","name":"support.function.builtin.python"},{"match":"(?<!\\\\.)\\\\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\\\\b","name":"variable.legacy.builtin.python"}]},"builtin-possible-callables":{"patterns":[{"include":"#builtin-callables"},{"include":"#magic-names"}]},"builtin-types":{"match":"(?<!\\\\.)\\\\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\\\\b","name":"support.type.python"},"call-wrapper-inheritance":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#inheritance-name"},{"include":"#function-arguments"}]},"class-declaration":{"patterns":[{"begin":"\\\\s*(class)\\\\s+(?=[_[:alpha:]]\\\\w*\\\\s*([(:]))","beginCaptures":{"1":{"name":"storage.type.class.python"}},"end":"(:)","endCaptures":{"1":{"name":"punctuation.section.class.begin.python"}},"name":"meta.class.python","patterns":[{"include":"#class-name"},{"include":"#class-inheritance"}]}]},"class-inheritance":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.inheritance.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.inheritance.end.python"}},"name":"meta.class.inheritance.python","patterns":[{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.arguments.python"},{"match":",","name":"punctuation.separator.inheritance.python"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"match":"\\\\bmetaclass\\\\b","name":"support.type.metaclass.python"},{"include":"#illegal-names"},{"include":"#class-kwarg"},{"include":"#call-wrapper-inheritance"},{"include":"#expression-base"},{"include":"#member-access-class"},{"include":"#inheritance-identifier"}]},"class-kwarg":{"captures":{"1":{"name":"entity.other.inherited-class.python variable.parameter.class.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},"class-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.type.class.python"}]},"codetags":{"captures":{"1":{"name":"keyword.codetag.notation.python"}},"match":"\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\b"},"comments":{"patterns":[{"begin":"#\\\\s*(type:)\\\\s*+(?!$|#)","beginCaptures":{"0":{"name":"meta.typehint.comment.python"},"1":{"name":"comment.typehint.directive.notation.python"}},"contentName":"meta.typehint.comment.python","end":"$|(?=#)","name":"comment.line.number-sign.python","patterns":[{"match":"\\\\Gignore(?=\\\\s*(?:$|#))","name":"comment.typehint.ignore.notation.python"},{"match":"(?<!\\\\.)\\\\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\\\\b","name":"comment.typehint.type.notation.python"},{"match":"([]()*,.=\\\\[]|(->))","name":"comment.typehint.punctuation.notation.python"},{"match":"([_[:alpha:]]\\\\w*)","name":"comment.typehint.variable.notation.python"}]},{"include":"#comments-base"}]},"comments-base":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"$()","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-double-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\\"\\"\\"))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"comments-string-single-three":{"begin":"(#)","beginCaptures":{"1":{"name":"punctuation.definition.comment.python"}},"end":"($|(?=\'\'\'))","name":"comment.line.number-sign.python","patterns":[{"include":"#codetags"}]},"curly-braces":{"begin":"\\\\{","beginCaptures":{"0":{"name":"punctuation.definition.dict.begin.python"}},"end":"}","endCaptures":{"0":{"name":"punctuation.definition.dict.end.python"}},"patterns":[{"match":":","name":"punctuation.separator.dict.python"},{"include":"#expression"}]},"decorator":{"begin":"^\\\\s*((@))\\\\s*(?=[_[:alpha:]]\\\\w*)","beginCaptures":{"1":{"name":"entity.name.function.decorator.python"},"2":{"name":"punctuation.definition.decorator.python"}},"end":"(\\\\))(.*?)(?=\\\\s*(?:#|$))|(?=[\\\\n#])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"invalid.illegal.decorator.python"}},"name":"meta.function.decorator.python","patterns":[{"include":"#decorator-name"},{"include":"#function-arguments"}]},"decorator-name":{"patterns":[{"include":"#builtin-callables"},{"include":"#illegal-object-name"},{"captures":{"2":{"name":"punctuation.separator.period.python"}},"match":"([_[:alpha:]]\\\\w*)|(\\\\.)","name":"entity.name.function.decorator.python"},{"include":"#line-continuation"},{"captures":{"1":{"name":"invalid.illegal.decorator.python"}},"match":"\\\\s*([^#(.\\\\\\\\_[:alpha:]\\\\s].*?)(?=#|$)","name":"invalid.illegal.decorator.python"}]},"docstring":{"patterns":[{"begin":"(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.multi.python","patterns":[{"include":"#docstring-prompt"},{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"}},"name":"string.quoted.docstring.raw.multi.python","patterns":[{"include":"#string-consume-escape"},{"include":"#docstring-prompt"},{"include":"#codetags"}]},{"begin":"([\\"\'])","beginCaptures":{"1":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\1)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.single.python","patterns":[{"include":"#codetags"},{"include":"#docstring-guts-unicode"}]},{"begin":"([Rr])([\\"\'])","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.docstring.raw.single.python","patterns":[{"include":"#string-consume-escape"},{"include":"#codetags"}]}]},"docstring-guts-unicode":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"docstring-prompt":{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"(?:^|\\\\G)\\\\s*((?:>>>|\\\\.\\\\.\\\\.)\\\\s)(?=\\\\s*\\\\S)"},"docstring-statement":{"begin":"^(?=\\\\s*[Rr]?(\'\'\'|\\"\\"\\"|[\\"\']))","end":"((?<=\\\\1)|^)(?!\\\\s*[Rr]?(\'\'\'|\\"\\"\\"|[\\"\']))","patterns":[{"include":"#docstring"}]},"double-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"double-one-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-one-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-one-regexp-character-set"},{"include":"#double-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-one-regexp-lookahead"},{"include":"#double-one-regexp-lookahead-negative"},{"include":"#double-one-regexp-lookbehind"},{"include":"#double-one-regexp-lookbehind-negative"},{"include":"#double-one-regexp-conditional"},{"include":"#double-one-regexp-parentheses-non-capturing"},{"include":"#double-one-regexp-parentheses"}]},"double-one-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-one-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-one-regexp-expression"}]},"double-three-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"double-three-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"double-three-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#double-three-regexp-character-set"},{"include":"#double-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#double-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#double-three-regexp-lookahead"},{"include":"#double-three-regexp-lookahead-negative"},{"include":"#double-three-regexp-lookbehind"},{"include":"#double-three-regexp-lookbehind-negative"},{"include":"#double-three-regexp-conditional"},{"include":"#double-three-regexp-parentheses-non-capturing"},{"include":"#double-three-regexp-parentheses"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"double-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\\"\\"\\"))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#double-three-regexp-expression"},{"include":"#comments-string-double-three"}]},"ellipsis":{"match":"\\\\.\\\\.\\\\.","name":"constant.other.ellipsis.python"},"escape-sequence":{"match":"\\\\\\\\(x\\\\h{2}|[0-7]{1,3}|[\\"\'\\\\\\\\abfnrtv])","name":"constant.character.escape.python"},"escape-sequence-unicode":{"patterns":[{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8}|N\\\\{[\\\\w\\\\s]+?})","name":"constant.character.escape.python"}]},"expression":{"patterns":[{"include":"#expression-base"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"expression-bare":{"patterns":[{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#literal"},{"include":"#regexp"},{"include":"#string"},{"include":"#lambda"},{"include":"#generator"},{"include":"#illegal-operator"},{"include":"#operator"},{"include":"#curly-braces"},{"include":"#item-access"},{"include":"#list"},{"include":"#odd-function-call"},{"include":"#round-braces"},{"include":"#function-call"},{"include":"#builtin-functions"},{"include":"#builtin-types"},{"include":"#builtin-exceptions"},{"include":"#magic-names"},{"include":"#special-names"},{"include":"#illegal-names"},{"include":"#special-variables"},{"include":"#ellipsis"},{"include":"#punctuation"},{"include":"#line-continuation"}]},"expression-base":{"patterns":[{"include":"#comments"},{"include":"#expression-bare"},{"include":"#line-continuation"}]},"f-expression":{"patterns":[{"include":"#expression-bare"},{"include":"#member-access"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"}]},"fregexp-base-expression":{"patterns":[{"include":"#fregexp-quantifier"},{"include":"#fstring-formatting-braces"},{"match":"\\\\{.*?}"},{"include":"#regexp-base-common"}]},"fregexp-quantifier":{"match":"\\\\{\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}}","name":"keyword.operator.quantifier.regexp"},"fstring-fnorm-quoted-multi-line":{"begin":"\\\\b([Ff])([BUbu])?(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-fnorm-quoted-single-line":{"begin":"\\\\b([Ff])([BUbu])?(([\\"\']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"2":{"name":"invalid.illegal.prefix.python"},"3":{"name":"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-formatting":{"patterns":[{"include":"#fstring-formatting-braces"},{"include":"#fstring-formatting-singe-brace"}]},"fstring-formatting-braces":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"2":{"name":"invalid.illegal.brace.python"},"3":{"name":"constant.character.format.placeholder.other.python"}},"match":"(\\\\{)(\\\\s*?)(})"},{"match":"(\\\\{\\\\{|}})","name":"constant.character.escape.python"}]},"fstring-formatting-singe-brace":{"match":"(}(?!}))","name":"invalid.illegal.brace.python"},"fstring-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#fstring-formatting"}]},"fstring-illegal-multi-brace":{"patterns":[{"include":"#impossible"}]},"fstring-illegal-single-brace":{"begin":"(\\\\{)(?=[^\\\\n}]*$\\\\n?)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-multi-brace":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-multi"},{"include":"#f-expression"}]},"fstring-multi-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|\'\'\'|\\"\\"\\"))|\\\\n","name":"string.interpolated.python string.quoted.multi.python"},"fstring-normf-quoted-multi-line":{"begin":"\\\\b([BUbu])([Ff])(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.multi.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.multi.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-multi-core"}]},"fstring-normf-quoted-single-line":{"begin":"\\\\b([BUbu])([Ff])(([\\"\']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"string.interpolated.python string.quoted.single.python storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python string.quoted.single.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-single-core"}]},"fstring-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#fstring-formatting"}]},"fstring-raw-multi-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|\'\'\'|\\"\\"\\"))|\\\\n","name":"string.interpolated.python string.quoted.raw.multi.python"},"fstring-raw-quoted-multi-line":{"begin":"\\\\b([Rr][Ff]|[Ff][Rr])(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.multi.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"include":"#fstring-raw-multi-core"}]},"fstring-raw-quoted-single-line":{"begin":"\\\\b([Rr][Ff]|[Ff][Rr])(([\\"\']))","beginCaptures":{"1":{"name":"string.interpolated.python string.quoted.raw.single.python storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python string.quoted.raw.single.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.fstring.python","patterns":[{"include":"#fstring-raw-guts"},{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"include":"#fstring-raw-single-core"}]},"fstring-raw-single-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|([\\"\'])|((?<!\\\\\\\\)\\\\n)))|\\\\n","name":"string.interpolated.python string.quoted.raw.single.python"},"fstring-single-brace":{"begin":"(\\\\{)","beginCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"end":"(})|(?=\\\\n)","endCaptures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"patterns":[{"include":"#fstring-terminator-single"},{"include":"#f-expression"}]},"fstring-single-core":{"match":"(.+?)($(\\\\n?)|(?=[\\\\\\\\{}]|([\\"\'])|((?<!\\\\\\\\)\\\\n)))|\\\\n","name":"string.interpolated.python string.quoted.single.python"},"fstring-terminator-multi":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-multi-tail"}]},"fstring-terminator-multi-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})","patterns":[{"include":"#fstring-illegal-multi-brace"},{"include":"#fstring-multi-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"fstring-terminator-single":{"patterns":[{"match":"(=(![ars])?)(?=})","name":"storage.type.format.python"},{"match":"(=?![ars])(?=})","name":"storage.type.format.python"},{"captures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"match":"(=?(?:![ars])?)(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)(?=})"},{"include":"#fstring-terminator-single-tail"}]},"fstring-terminator-single-tail":{"begin":"(=?(?:![ars])?)(:)(?=.*?\\\\{)","beginCaptures":{"1":{"name":"storage.type.format.python"},"2":{"name":"storage.type.format.python"}},"end":"(?=})|(?=\\\\n)","patterns":[{"include":"#fstring-illegal-single-brace"},{"include":"#fstring-single-brace"},{"match":"([%EFGXb-gnosx])(?=})","name":"storage.type.format.python"},{"match":"(\\\\.\\\\d+)","name":"storage.type.format.python"},{"match":"(,)","name":"storage.type.format.python"},{"match":"(\\\\d+)","name":"storage.type.format.python"},{"match":"(#)","name":"storage.type.format.python"},{"match":"([- +])","name":"storage.type.format.python"},{"match":"([<=>^])","name":"storage.type.format.python"},{"match":"(\\\\w)","name":"storage.type.format.python"}]},"function-arguments":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.function-call.arguments.python","end":"(?=\\\\))(?!\\\\)\\\\s*\\\\()","patterns":[{"match":"(,)","name":"punctuation.separator.arguments.python"},{"captures":{"1":{"name":"keyword.operator.unpacking.arguments.python"}},"match":"(?:(?<=[(,])|^)\\\\s*(\\\\*{1,2})"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function-call.python"},"2":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)(?!=)"},{"match":"=(?!=)","name":"keyword.operator.assignment.python"},{"include":"#expression"},{"captures":{"1":{"name":"punctuation.definition.arguments.end.python"},"2":{"name":"punctuation.definition.arguments.begin.python"}},"match":"\\\\s*(\\\\))\\\\s*(\\\\()"}]},"function-call":{"begin":"\\\\b(?=([_[:alpha:]]\\\\w*)\\\\s*(\\\\())","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.function-call.python","patterns":[{"include":"#special-variables"},{"include":"#function-name"},{"include":"#function-arguments"}]},"function-declaration":{"begin":"\\\\s*(?:\\\\b(async)\\\\s+)?\\\\b(def)\\\\s+(?=[_[:alpha:]]\\\\p{word}*\\\\s*\\\\()","beginCaptures":{"1":{"name":"storage.type.function.async.python"},"2":{"name":"storage.type.function.python"}},"end":"(:|(?=[\\\\n\\"#\']))","endCaptures":{"1":{"name":"punctuation.section.function.begin.python"}},"name":"meta.function.python","patterns":[{"include":"#function-def-name"},{"include":"#parameters"},{"include":"#line-continuation"},{"include":"#return-annotation"}]},"function-def-name":{"patterns":[{"include":"#illegal-object-name"},{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"entity.name.function.python"}]},"function-name":{"patterns":[{"include":"#builtin-possible-callables"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.function-call.generic.python"}]},"generator":{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control.flow.python"}},"end":"\\\\bin\\\\b","endCaptures":{"0":{"name":"keyword.control.flow.python"}},"patterns":[{"include":"#expression"}]},"illegal-anno":{"match":"->","name":"invalid.illegal.annotation.python"},"illegal-names":{"captures":{"1":{"name":"keyword.control.flow.python"},"2":{"name":"keyword.control.import.python"}},"match":"\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\.)lambda|lambda(?=\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\b"},"illegal-object-name":{"match":"\\\\b(True|False|None)\\\\b","name":"keyword.illegal.name.python"},"illegal-operator":{"patterns":[{"match":"&&|\\\\|\\\\||--|\\\\+\\\\+","name":"invalid.illegal.operator.python"},{"match":"[$?]","name":"invalid.illegal.operator.python"},{"match":"!\\\\b","name":"invalid.illegal.operator.python"}]},"import":{"patterns":[{"begin":"\\\\b(?<!\\\\.)(from)\\\\b(?=.+import)","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$|(?=import)","patterns":[{"match":"\\\\.+","name":"punctuation.separator.period.python"},{"include":"#expression"}]},{"begin":"\\\\b(?<!\\\\.)(import)\\\\b","beginCaptures":{"1":{"name":"keyword.control.import.python"}},"end":"$","patterns":[{"match":"\\\\b(?<!\\\\.)as\\\\b","name":"keyword.control.import.python"},{"include":"#expression"}]}]},"impossible":{"match":"$.^"},"inheritance-identifier":{"captures":{"1":{"name":"entity.other.inherited-class.python"}},"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b"},"inheritance-name":{"patterns":[{"include":"#lambda-incomplete"},{"include":"#builtin-possible-callables"},{"include":"#inheritance-identifier"}]},"item-access":{"patterns":[{"begin":"\\\\b(?=[_[:alpha:]]\\\\w*\\\\s*\\\\[)","end":"(])","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"name":"meta.item-access.python","patterns":[{"include":"#item-name"},{"include":"#item-index"},{"include":"#expression"}]}]},"item-index":{"begin":"(\\\\[)","beginCaptures":{"1":{"name":"punctuation.definition.arguments.begin.python"}},"contentName":"meta.item-access.arguments.python","end":"(?=])","patterns":[{"match":":","name":"punctuation.separator.slice.python"},{"include":"#expression"}]},"item-name":{"patterns":[{"include":"#special-variables"},{"include":"#builtin-functions"},{"include":"#special-names"},{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.indexed-name.python"}]},"lambda":{"patterns":[{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"((?<=\\\\.)lambda|lambda(?=\\\\s*[.=]))"},{"captures":{"1":{"name":"storage.type.function.lambda.python"}},"match":"\\\\b(lambda)\\\\s*?(?=[\\\\n,]|$)"},{"begin":"\\\\b(lambda)\\\\b","beginCaptures":{"1":{"name":"storage.type.function.lambda.python"}},"contentName":"meta.function.lambda.parameters.python","end":"(:)|(\\\\n)","endCaptures":{"1":{"name":"punctuation.section.function.lambda.begin.python"}},"name":"meta.lambda-function.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-nested-incomplete"},{"include":"#illegal-names"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=:|$))"},{"include":"#comments"},{"include":"#backticks"},{"include":"#illegal-anno"},{"include":"#lambda-parameter-with-default"},{"include":"#line-continuation"},{"include":"#illegal-operator"}]}]},"lambda-incomplete":{"match":"\\\\blambda(?=\\\\s*[),])","name":"storage.type.function.lambda.python"},"lambda-nested-incomplete":{"match":"\\\\blambda(?=\\\\s*[),:])","name":"storage.type.function.lambda.python"},"lambda-parameter-with-default":{"begin":"\\\\b([_[:alpha:]]\\\\w*)\\\\s*(=)","beginCaptures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"keyword.operator.python"}},"end":"(,)|(?=:|$)","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"line-continuation":{"patterns":[{"captures":{"1":{"name":"punctuation.separator.continuation.line.python"},"2":{"name":"invalid.illegal.line.continuation.python"}},"match":"(\\\\\\\\)\\\\s*(\\\\S.*$\\\\n?)"},{"begin":"(\\\\\\\\)\\\\s*$\\\\n?","beginCaptures":{"1":{"name":"punctuation.separator.continuation.line.python"}},"end":"(?=^\\\\s*$)|(?!(\\\\s*[Rr]?(\'\'\'|\\"\\"\\"|[\\"\']))|\\\\G()$)","patterns":[{"include":"#regexp"},{"include":"#string"}]}]},"list":{"begin":"\\\\[","beginCaptures":{"0":{"name":"punctuation.definition.list.begin.python"}},"end":"]","endCaptures":{"0":{"name":"punctuation.definition.list.end.python"}},"patterns":[{"include":"#expression"}]},"literal":{"patterns":[{"match":"\\\\b(True|False|None|NotImplemented|Ellipsis)\\\\b","name":"constant.language.python"},{"include":"#number"}]},"loose-default":{"begin":"(=)","beginCaptures":{"1":{"name":"keyword.operator.python"}},"end":"(,)|(?=\\\\))","endCaptures":{"1":{"name":"punctuation.separator.parameters.python"}},"patterns":[{"include":"#expression"}]},"magic-function-names":{"captures":{"1":{"name":"support.function.magic.python"}},"match":"\\\\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|get??|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|len??|long|lshift|lt|missing|mod|mul|neg??|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\\\\b"},"magic-names":{"patterns":[{"include":"#magic-function-names"},{"include":"#magic-variable-names"}]},"magic-variable-names":{"captures":{"1":{"name":"support.variable.magic.python"}},"match":"\\\\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\\\\b"},"member-access":{"begin":"(\\\\.)\\\\s*(?!\\\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\\\S)(?=\\\\W)|(^|(?<=\\\\s))(?=[^\\\\\\\\\\\\w\\\\s])|$","name":"meta.member.access.python","patterns":[{"include":"#function-call"},{"include":"#member-access-base"},{"include":"#member-access-attribute"}]},"member-access-attribute":{"match":"\\\\b([_[:alpha:]]\\\\w*)\\\\b","name":"meta.attribute.python"},"member-access-base":{"patterns":[{"include":"#magic-names"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#special-names"},{"include":"#line-continuation"},{"include":"#item-access"}]},"member-access-class":{"begin":"(\\\\.)\\\\s*(?!\\\\.)","beginCaptures":{"1":{"name":"punctuation.separator.period.python"}},"end":"(?<=\\\\S)(?=\\\\W)|$","name":"meta.member.access.python","patterns":[{"include":"#call-wrapper-inheritance"},{"include":"#member-access-base"},{"include":"#inheritance-identifier"}]},"number":{"name":"constant.numeric.python","patterns":[{"include":"#number-float"},{"include":"#number-dec"},{"include":"#number-hex"},{"include":"#number-oct"},{"include":"#number-bin"},{"include":"#number-long"},{"match":"\\\\b[0-9]+\\\\w+","name":"invalid.illegal.name.python"}]},"number-bin":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Bb])(_?[01])+\\\\b","name":"constant.numeric.bin.python"},"number-dec":{"captures":{"1":{"name":"storage.type.imaginary.number.python"},"2":{"name":"invalid.illegal.dec.python"}},"match":"(?<![.\\\\w])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([Jj])|0([0-9]+)(?![.Ee]))\\\\b","name":"constant.numeric.dec.python"},"number-float":{"captures":{"1":{"name":"storage.type.imaginary.number.python"}},"match":"(?<!\\\\w)(?:(?:\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\.)(?:[Ee][-+]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[Ee][-+]?[0-9](?:_?[0-9])*)([Jj])?\\\\b","name":"constant.numeric.float.python"},"number-hex":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Xx])(_?\\\\h)+\\\\b","name":"constant.numeric.hex.python"},"number-long":{"captures":{"2":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])([1-9][0-9]*|0)([Ll])\\\\b","name":"constant.numeric.bin.python"},"number-oct":{"captures":{"1":{"name":"storage.type.number.python"}},"match":"(?<![.\\\\w])(0[Oo])(_?[0-7])+\\\\b","name":"constant.numeric.oct.python"},"odd-function-call":{"begin":"(?<=[])])\\\\s*(?=\\\\()","end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.arguments.end.python"}},"patterns":[{"include":"#function-arguments"}]},"operator":{"captures":{"1":{"name":"keyword.operator.logical.python"},"2":{"name":"keyword.control.flow.python"},"3":{"name":"keyword.operator.bitwise.python"},"4":{"name":"keyword.operator.arithmetic.python"},"5":{"name":"keyword.operator.comparison.python"},"6":{"name":"keyword.operator.assignment.python"}},"match":"\\\\b(?<!\\\\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\\\\s+from)?))(?!\\\\s*:)\\\\b|(<<|>>|[\\\\&^|~])|(\\\\*\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)"},"parameter-special":{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"variable.parameter.function.language.special.self.python"},"3":{"name":"variable.parameter.function.language.special.cls.python"},"4":{"name":"punctuation.separator.parameters.python"}},"match":"\\\\b((self)|(cls))\\\\b\\\\s*(?:(,)|(?=\\\\)))"},"parameters":{"begin":"(\\\\()","beginCaptures":{"1":{"name":"punctuation.definition.parameters.begin.python"}},"end":"(\\\\))","endCaptures":{"1":{"name":"punctuation.definition.parameters.end.python"}},"name":"meta.function.parameters.python","patterns":[{"match":"/","name":"keyword.operator.positional.parameter.python"},{"match":"(\\\\*\\\\*?)","name":"keyword.operator.unpacking.parameter.python"},{"include":"#lambda-incomplete"},{"include":"#illegal-names"},{"include":"#illegal-object-name"},{"include":"#parameter-special"},{"captures":{"1":{"name":"variable.parameter.function.language.python"},"2":{"name":"punctuation.separator.parameters.python"}},"match":"([_[:alpha:]]\\\\w*)\\\\s*(?:(,)|(?=[\\\\n#)=]))"},{"include":"#comments"},{"include":"#loose-default"},{"include":"#annotated-parameter"}]},"punctuation":{"patterns":[{"match":":","name":"punctuation.separator.colon.python"},{"match":",","name":"punctuation.separator.element.python"}]},"regexp":{"patterns":[{"include":"#regexp-single-three-line"},{"include":"#regexp-double-three-line"},{"include":"#regexp-single-one-line"},{"include":"#regexp-double-one-line"}]},"regexp-backreference":{"captures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp"},"2":{"name":"entity.name.tag.named.backreference.regexp"},"3":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp"}},"match":"(\\\\()(\\\\?P=\\\\w+(?:\\\\s+\\\\p{alnum}+)?)(\\\\))","name":"meta.backreference.named.regexp"},"regexp-backreference-number":{"captures":{"1":{"name":"entity.name.tag.backreference.regexp"}},"match":"(\\\\\\\\[1-9]\\\\d?)","name":"meta.backreference.regexp"},"regexp-base-common":{"patterns":[{"match":"\\\\.","name":"support.other.match.any.regexp"},{"match":"\\\\^","name":"support.other.match.begin.regexp"},{"match":"\\\\$","name":"support.other.match.end.regexp"},{"match":"[*+?]\\\\??","name":"keyword.operator.quantifier.regexp"},{"match":"\\\\|","name":"keyword.operator.disjunction.regexp"},{"include":"#regexp-escape-sequence"}]},"regexp-base-expression":{"patterns":[{"include":"#regexp-quantifier"},{"include":"#regexp-base-common"}]},"regexp-charecter-set-escapes":{"patterns":[{"match":"\\\\\\\\[\\\\\\\\abfnrtv]","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-special"},{"match":"\\\\\\\\([0-7]{1,3})","name":"constant.character.escape.regexp"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-escape-catchall"}]},"regexp-double-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\")|(?<!\\\\\\\\)(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#double-one-regexp-expression"}]},"regexp-double-three-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\"\\"\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\"\\"\\")","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#double-three-regexp-expression"}]},"regexp-escape-catchall":{"match":"\\\\\\\\(.|\\\\n)","name":"constant.character.escape.regexp"},"regexp-escape-character":{"match":"\\\\\\\\(x\\\\h{2}|0[0-7]{1,2}|[0-7]{3})","name":"constant.character.escape.regexp"},"regexp-escape-sequence":{"patterns":[{"include":"#regexp-escape-special"},{"include":"#regexp-escape-character"},{"include":"#regexp-escape-unicode"},{"include":"#regexp-backreference-number"},{"include":"#regexp-escape-catchall"}]},"regexp-escape-special":{"match":"\\\\\\\\([ABDSWZbdsw])","name":"support.other.escape.special.regexp"},"regexp-escape-unicode":{"match":"\\\\\\\\(u\\\\h{4}|U\\\\h{8})","name":"constant.character.unicode.regexp"},"regexp-flags":{"match":"\\\\(\\\\?[Laimsux]+\\\\)","name":"storage.modifier.flag.regexp"},"regexp-quantifier":{"match":"\\\\{(\\\\d+|\\\\d+,(\\\\d+)?|,\\\\d+)}","name":"keyword.operator.quantifier.regexp"},"regexp-single-one-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\')|(?<!\\\\\\\\)(\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.single.python","patterns":[{"include":"#single-one-regexp-expression"}]},"regexp-single-three-line":{"begin":"\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\'\'\')","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"storage.type.string.python"},"5":{"name":"punctuation.definition.string.begin.python"}},"end":"(\'\'\')","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.regexp.quoted.multi.python","patterns":[{"include":"#single-three-regexp-expression"}]},"return-annotation":{"begin":"(->)","beginCaptures":{"1":{"name":"punctuation.separator.annotation.result.python"}},"end":"(?=:)","patterns":[{"include":"#expression"}]},"round-braces":{"begin":"\\\\(","beginCaptures":{"0":{"name":"punctuation.parenthesis.begin.python"}},"end":"\\\\)","endCaptures":{"0":{"name":"punctuation.parenthesis.end.python"}},"patterns":[{"include":"#expression"}]},"semicolon":{"patterns":[{"match":";$","name":"invalid.deprecated.semicolon.python"}]},"single-one-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"single-one-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-one-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-one-regexp-character-set"},{"include":"#single-one-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-one-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-one-regexp-lookahead"},{"include":"#single-one-regexp-lookahead-negative"},{"include":"#single-one-regexp-lookbehind"},{"include":"#single-one-regexp-lookbehind-negative"},{"include":"#single-one-regexp-conditional"},{"include":"#single-one-regexp-parentheses-non-capturing"},{"include":"#single-one-regexp-parentheses"}]},"single-one-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-one-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\'))|((?=(?<!\\\\\\\\)\\\\n))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-one-regexp-expression"}]},"single-three-regexp-character-set":{"patterns":[{"match":"\\\\[\\\\^?](?!.*?])"},{"begin":"(\\\\[)(\\\\^)?(])?","beginCaptures":{"1":{"name":"punctuation.character.set.begin.regexp constant.other.set.regexp"},"2":{"name":"keyword.operator.negation.regexp"},"3":{"name":"constant.character.set.regexp"}},"end":"(]|(?=\'\'\'))","endCaptures":{"1":{"name":"punctuation.character.set.end.regexp constant.other.set.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.character.set.regexp","patterns":[{"include":"#regexp-charecter-set-escapes"},{"match":"\\\\N","name":"constant.character.set.regexp"}]}]},"single-three-regexp-comments":{"begin":"\\\\(\\\\?#","beginCaptures":{"0":{"name":"punctuation.comment.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"punctuation.comment.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"comment.regexp","patterns":[{"include":"#codetags"}]},"single-three-regexp-conditional":{"begin":"(\\\\()\\\\?\\\\((\\\\w+(?:\\\\s+\\\\p{alnum}+)?|\\\\d+)\\\\)","beginCaptures":{"0":{"name":"keyword.operator.conditional.regexp"},"1":{"name":"punctuation.parenthesis.conditional.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-expression":{"patterns":[{"include":"#regexp-base-expression"},{"include":"#single-three-regexp-character-set"},{"include":"#single-three-regexp-comments"},{"include":"#regexp-flags"},{"include":"#single-three-regexp-named-group"},{"include":"#regexp-backreference"},{"include":"#single-three-regexp-lookahead"},{"include":"#single-three-regexp-lookahead-negative"},{"include":"#single-three-regexp-lookbehind"},{"include":"#single-three-regexp-lookbehind-negative"},{"include":"#single-three-regexp-conditional"},{"include":"#single-three-regexp-parentheses-non-capturing"},{"include":"#single-three-regexp-parentheses"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead":{"begin":"(\\\\()\\\\?=","beginCaptures":{"0":{"name":"keyword.operator.lookahead.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookahead-negative":{"begin":"(\\\\()\\\\?!","beginCaptures":{"0":{"name":"keyword.operator.lookahead.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookahead.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind":{"begin":"(\\\\()\\\\?<=","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-lookbehind-negative":{"begin":"(\\\\()\\\\?<!","beginCaptures":{"0":{"name":"keyword.operator.lookbehind.negative.regexp"},"1":{"name":"punctuation.parenthesis.lookbehind.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-named-group":{"begin":"(\\\\()(\\\\?P<\\\\w+(?:\\\\s+\\\\p{alnum}+)?>)","beginCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp"},"2":{"name":"entity.name.tag.named.group.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"name":"meta.named.regexp","patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses":{"begin":"\\\\(","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"single-three-regexp-parentheses-non-capturing":{"begin":"\\\\(\\\\?:","beginCaptures":{"0":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp"}},"end":"(\\\\)|(?=\'\'\'))","endCaptures":{"1":{"name":"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp"},"2":{"name":"invalid.illegal.newline.python"}},"patterns":[{"include":"#single-three-regexp-expression"},{"include":"#comments-string-single-three"}]},"special-names":{"match":"\\\\b(_*\\\\p{upper}[_\\\\d]*\\\\p{upper})[[:upper:]\\\\d]*(_\\\\w*)?\\\\b","name":"constant.other.caps.python"},"special-variables":{"captures":{"1":{"name":"variable.language.special.self.python"},"2":{"name":"variable.language.special.cls.python"}},"match":"\\\\b(?<!\\\\.)(?:(self)|(cls))\\\\b"},"statement":{"patterns":[{"include":"#import"},{"include":"#class-declaration"},{"include":"#function-declaration"},{"include":"#generator"},{"include":"#statement-keyword"},{"include":"#assignment-operator"},{"include":"#decorator"},{"include":"#docstring-statement"},{"include":"#semicolon"}]},"statement-keyword":{"patterns":[{"match":"\\\\b((async\\\\s+)?\\\\s*def)\\\\b","name":"storage.type.function.python"},{"match":"\\\\b(?<!\\\\.)as\\\\b(?=.*[:\\\\\\\\])","name":"keyword.control.flow.python"},{"match":"\\\\b(?<!\\\\.)as\\\\b","name":"keyword.control.import.python"},{"match":"\\\\b(?<!\\\\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\\\\b","name":"keyword.control.flow.python"},{"match":"\\\\b(?<!\\\\.)(global|nonlocal)\\\\b","name":"storage.modifier.declaration.python"},{"match":"\\\\b(?<!\\\\.)(class)\\\\b","name":"storage.type.class.python"},{"captures":{"1":{"name":"keyword.control.flow.python"}},"match":"^\\\\s*(case|match)(?=\\\\s*([-\\"#\'(+:\\\\[{\\\\w\\\\d]|$))\\\\b"}]},"string":{"patterns":[{"include":"#string-quoted-multi-line"},{"include":"#string-quoted-single-line"},{"include":"#string-bin-quoted-multi-line"},{"include":"#string-bin-quoted-single-line"},{"include":"#string-raw-quoted-multi-line"},{"include":"#string-raw-quoted-single-line"},{"include":"#string-raw-bin-quoted-multi-line"},{"include":"#string-raw-bin-quoted-single-line"},{"include":"#fstring-fnorm-quoted-multi-line"},{"include":"#fstring-fnorm-quoted-single-line"},{"include":"#fstring-normf-quoted-multi-line"},{"include":"#fstring-normf-quoted-single-line"},{"include":"#fstring-raw-quoted-multi-line"},{"include":"#fstring-raw-quoted-single-line"}]},"string-bin-quoted-multi-line":{"begin":"\\\\b([Bb])(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.multi.python","patterns":[{"include":"#string-entity"}]},"string-bin-quoted-single-line":{"begin":"\\\\b([Bb])(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.binary.single.python","patterns":[{"include":"#string-entity"}]},"string-brace-formatting":{"patterns":[{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\{|}}|\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"\']+])*(![ars])?(:\\\\w?[<=>^]?[- +]?#?\\\\d*,?(\\\\.\\\\d+)?[%EFGXb-gnosx]?)?})","name":"meta.format.brace.python"},{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"},"3":{"name":"storage.type.format.python"},"4":{"name":"storage.type.format.python"}},"match":"(\\\\{\\\\w*(\\\\.[_[:alpha:]]\\\\w*|\\\\[[^]\\"\']+])*(![ars])?(:)[^\\\\n\\"\'{}]*(?:\\\\{[^\\\\n\\"\'}]*?}[^\\\\n\\"\'{}]*)*})","name":"meta.format.brace.python"}]},"string-consume-escape":{"match":"\\\\\\\\[\\\\n\\"\'\\\\\\\\]"},"string-entity":{"patterns":[{"include":"#escape-sequence"},{"include":"#string-line-continuation"},{"include":"#string-formatting"}]},"string-formatting":{"captures":{"1":{"name":"constant.character.format.placeholder.other.python"}},"match":"(%(\\\\([\\\\w\\\\s]*\\\\))?[- #+0]*(\\\\d+|\\\\*)?(\\\\.(\\\\d+|\\\\*))?([Lhl])?[%EFGXa-giorsux])","name":"meta.format.percent.python"},"string-line-continuation":{"match":"\\\\\\\\$","name":"constant.language.python"},"string-multi-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!\'\'\'|\\"\\"\\"))%})","end":"(?=\'\'\'|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"}]},"string-multi-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!\'\'\'|\\"\\"\\"))%})","end":"(?=\'\'\'|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-multi-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!\'\'\'|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!\'\'\'|\\"\\"\\")})","end":"(?=\'\'\'|\\"\\"\\")","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-multi-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!\'\'\'|\\"\\"\\")[^!.:\\\\[}\\\\w]).*?(?!\'\'\'|\\"\\"\\")})","end":"(?=\'\'\'|\\"\\"\\")","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-quoted-multi-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-unicode"},{"include":"#string-multi-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-quoted-single-line":{"begin":"(?:\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\"\']))","beginCaptures":{"1":{"name":"invalid.illegal.prefix.python"},"2":{"name":"storage.type.string.python"},"3":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\3)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-unicode"},{"include":"#string-single-bad-brace2-formatting-unicode"},{"include":"#string-unicode-guts"}]},"string-raw-bin-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-raw-bin-quoted-multi-line":{"begin":"\\\\b(R[Bb]|[Bb]R)(\'\'\'|\\"\\"\\")","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.multi.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-bin-quoted-single-line":{"begin":"\\\\b(R[Bb]|[Bb]R)(([\\"\']))","beginCaptures":{"1":{"name":"storage.type.string.python"},"2":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\2)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.binary.single.python","patterns":[{"include":"#string-raw-bin-guts"}]},"string-raw-guts":{"patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"},{"include":"#string-brace-formatting"}]},"string-raw-quoted-multi-line":{"begin":"\\\\b(([Uu]R)|(R))(\'\'\'|\\"\\"\\")","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\4)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.multi.python","patterns":[{"include":"#string-multi-bad-brace1-formatting-raw"},{"include":"#string-multi-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-raw-quoted-single-line":{"begin":"\\\\b(([Uu]R)|(R))(([\\"\']))","beginCaptures":{"2":{"name":"invalid.deprecated.prefix.python"},"3":{"name":"storage.type.string.python"},"4":{"name":"punctuation.definition.string.begin.python"}},"end":"(\\\\4)|((?<!\\\\\\\\)\\\\n)","endCaptures":{"1":{"name":"punctuation.definition.string.end.python"},"2":{"name":"invalid.illegal.newline.python"}},"name":"string.quoted.raw.single.python","patterns":[{"include":"#string-single-bad-brace1-formatting-raw"},{"include":"#string-single-bad-brace2-formatting-raw"},{"include":"#string-raw-guts"}]},"string-single-bad-brace1-formatting-raw":{"begin":"(?=\\\\{%(.*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n)))%})","end":"(?=([\\"\'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#string-consume-escape"}]},"string-single-bad-brace1-formatting-unicode":{"begin":"(?=\\\\{%(.*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n)))%})","end":"(?=([\\"\'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#escape-sequence"},{"include":"#string-line-continuation"}]},"string-single-bad-brace2-formatting-raw":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n))[^!.:\\\\[}\\\\w]).*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n))})","end":"(?=([\\"\'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#string-consume-escape"},{"include":"#string-formatting"}]},"string-single-bad-brace2-formatting-unicode":{"begin":"(?!\\\\{\\\\{)(?=\\\\{(\\\\w*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n))[^!.:\\\\[}\\\\w]).*?(?!([\\"\'])|((?<!\\\\\\\\)\\\\n))})","end":"(?=([\\"\'])|((?<!\\\\\\\\)\\\\n))","patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"}]},"string-unicode-guts":{"patterns":[{"include":"#escape-sequence-unicode"},{"include":"#string-entity"},{"include":"#string-brace-formatting"}]}},"scopeName":"source.python","aliases":["py"]}'))]}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70767,e=>{"use strict";e.s(["default",()=>r]);let r=[Object.freeze(JSON.parse('{"displayName":"Berry","name":"berry","patterns":[{"include":"#controls"},{"include":"#strings"},{"include":"#comment-block"},{"include":"#comments"},{"include":"#keywords"},{"include":"#function"},{"include":"#member"},{"include":"#identifier"},{"include":"#number"},{"include":"#operator"}],"repository":{"comment-block":{"begin":"#-","end":"-#","name":"comment.berry","patterns":[{}]},"comments":{"begin":"#","end":"\\\\n","name":"comment.line.berry","patterns":[{}]},"controls":{"patterns":[{"match":"\\\\b(if|elif|else|for|while|do|end|break|continue|return|try|except|raise)\\\\b","name":"keyword.control.berry"}]},"function":{"patterns":[{"match":"\\\\b([A-Z_a-z][0-9A-Z_a-z]*(?=\\\\s*\\\\())","name":"entity.name.function.berry"}]},"identifier":{"patterns":[{"match":"\\\\b[A-Z_a-z]\\\\w+\\\\b","name":"identifier.berry"}]},"keywords":{"patterns":[{"match":"\\\\b(var|static|def|class|true|false|nil|self|super|import|as|_class)\\\\b","name":"keyword.berry"}]},"member":{"patterns":[{"captures":{"0":{"name":"entity.other.attribute-name.berry"}},"match":"\\\\.([A-Z_a-z][0-9A-Z_a-z]*)"}]},"number":{"patterns":[{"match":"0x\\\\h+|\\\\d+|(\\\\d+\\\\.?|\\\\.\\\\d)\\\\d*([Ee][-+]?\\\\d+)?","name":"constant.numeric.berry"}]},"operator":{"patterns":[{"match":"[-\\\\]!%\\\\&(-+./:<=>\\\\[^|~]","name":"keyword.operator.berry"}]},"strings":{"patterns":[{"begin":"f(?=[\\"\'])","patterns":[{"begin":"\\"","end":"\\"","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]},{"begin":"\'","end":"\'","name":"string.quoted.other.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"},{"match":"\\\\{\\\\{[^}]*}}","name":"string.quoted.other.berry"},{"begin":"\\\\{","end":"}","name":"keyword.other.unit.berry","patterns":[{"include":"#keywords"},{"include":"#numbers"},{"include":"#identifier"},{"include":"#operator"},{"include":"#member"},{"include":"#function"}]}]}],"while":"\\\\G|^[\\\\t ]*(?=[\\"\'])"},{"begin":"([\\"\'])","end":"\\\\1","name":"string.quoted.double.berry","patterns":[{"match":"(\\\\\\\\x\\\\h{2})|(\\\\\\\\[0-7]{3})|(\\\\\\\\\\\\\\\\)|(\\\\\\\\\\")|(\\\\\\\\\')|(\\\\\\\\a)|(\\\\\\\\b)|(\\\\\\\\f)|(\\\\\\\\n)|(\\\\\\\\r)|(\\\\\\\\t)|(\\\\\\\\v)","name":"constant.character.escape.berry"}]}]}},"scopeName":"source.berry","aliases":["be"]}'))]}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,39360,e=>{"use strict";e.s(["default",()=>n]);let n=[Object.freeze(JSON.parse('{"displayName":"OCaml","fileTypes":[".ml",".mli"],"name":"ocaml","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}],"repository":{"attribute":{"begin":"(\\\\[)\\\\s*((?<![-!#-\\\\&*+./:<-@^|~])@{1,3}(?![-!#-\\\\&*+./:<-@^|~]))","beginCaptures":{"1":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"]","endCaptures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"patterns":[{"include":"#attributePayload"}]},"attributeIdentifier":{"captures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"punctuation.definition.tag"}},"match":"((?<![-!#-\\\\&*+./:<-@^|~])%(?![-!#-\\\\&*+./:<-@^|~]))((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)"},"attributePayload":{"patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)%)(?![-!#-\\\\&*+./:<-@^|~])","end":"((?<![-!#-\\\\&*+./:<-@^|~])[:?](?![-!#-\\\\&*+./:<-@^|~]))|(?<=\\\\s)|(?=])","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#pathModuleExtended"},{"include":"#pathRecord"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=])","patterns":[{"include":"#signature"},{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)\\\\?)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=])","patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)\\\\?)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=])|\\\\bwhen\\\\b","endCaptures":{"1":{}},"patterns":[{"include":"#pattern"}]},{"begin":"(?<=(?:\\\\P{word}|^)when)(?!\\\\p{word})","end":"(?=])","patterns":[{"include":"#term"}]}]},{"include":"#term"}]},"bindClassTerm":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])(:)|(=)(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})","end":"(?=(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*|(?=\\\\btype\\\\b)","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"]","patterns":[{"include":"#type"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~])|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#literalClassType"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#term"}]}]},"bindClassType":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])(:)|(=)(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|class|type))(?!\\\\p{word})","end":"(?=(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*|(?=\\\\btype\\\\b)","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"}]},{"begin":"\\\\[","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"]","patterns":[{"include":"#type"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~])|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#literalClassType"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#literalClassType"}]}]},"bindConstructor":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)exception)(?!\\\\p{word})|(?<=[^-!#-\\\\&*+./:<-@^|~]\\\\+=|^\\\\+=|[^-!#-\\\\&*+./:<-@^|~]=|^=|[^-!#-\\\\&*+./:<-@^|~]\\\\||^\\\\|)(?![-!#-\\\\&*+./:<-@^|~])","end":"(:)|\\\\b(of)\\\\b|((?<![-!#-\\\\&*+./:<-@^|~])\\\\|(?![-!#-\\\\&*+./:<-@^|~]))|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"punctuation.definition.tag"},"3":{"name":"support.type strong"}},"patterns":[{"include":"#attributeIdentifier"},{"match":"\\\\.\\\\.","name":"variable.other.class.js message.error variable.interpolation string.regexp"},{"match":"\\\\b\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*\\\\b(?!\\\\s*(?:\\\\.|\\\\([^*]))","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])|(?<=(?:\\\\P{word}|^)of)(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\|(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]}]},"bindSignature":{"patterns":[{"include":"#comment"},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#comment"},{"include":"#pathModuleExtended"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#signature"}]}]},"bindStructure":{"patterns":[{"include":"#comment"},{"begin":"(?<=(?:\\\\P{word}|^)and)(?!\\\\p{word})|(?=\\\\p{upper})","end":"(?<![-!#-\\\\&*+./:<-@^|~])(:(?!=))|(:?=)(?![-!#-\\\\&*+./:<-@^|~])|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#comment"},{"match":"\\\\bmodule\\\\b","name":"markup.inserted constant.language support.constant.property-value entity.name.filename"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*","name":"entity.name.function strong emphasis"},{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#comment"},{"begin":"(?<![-!#-\\\\&*+./:<-@^|~]):(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"}},"end":"(?=\\\\))","patterns":[{"include":"#signature"}]},{"include":"#variableModule"}]},{"include":"#literalUnit"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\b(and)\\\\b|((?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~]))|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#signature"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]:|^:|[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\b(?:(and)|(with))\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#structure"}]}]},"bindTerm":{"patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)!)(?![-!#-\\\\&*+./:<-@^|~])|(?<=(?:\\\\P{word}|^)(?:and|external|let|method|val))(?!\\\\p{word})","end":"\\\\b(module)\\\\b|\\\\b(open)\\\\b|(?<![-!#-\\\\&*+./:<-@^|~])(:)|((?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~]))(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"4":{"name":"support.type strong"}},"patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)!)(?![-!#-\\\\&*+./:<-@^|~])|(?<=(?:\\\\P{word}|^)(?:and|external|let|method|val))(?!\\\\p{word})","end":"(?=\\\\b(?:module|open)\\\\b)|(?=(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*\\\\s*,|[^%\\\\s[:lower:]])|\\\\b(rec)\\\\b|((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"}]},{"begin":"(?<=(?:\\\\P{word}|^)rec)(?!\\\\p{word})","end":"((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)|(?=[^\\\\s[:alpha:]])","endCaptures":{"0":{"name":"entity.name.function strong emphasis"}},"patterns":[{"include":"#bindTermArgs"}]},{"include":"#bindTermArgs"}]},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#declModule"}]},{"begin":"(?<=(?:\\\\P{word}|^)open)(?!\\\\p{word})","end":"(?=\\\\bin\\\\b)|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#pathModuleSimple"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\btype\\\\b|(?=\\\\S)","endCaptures":{"0":{"name":"keyword.control"}}},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\.(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#pattern"}]},{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#term"}]}]},"bindTermArgs":{"patterns":[{"applyEndPatternLast":true,"begin":"[?~]","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":":|(?=\\\\S)","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"begin":"(?<=[^-!#-\\\\&*+./:<-@^|~]~|^~|[^-!#-\\\\&*+./:<-@^|~]\\\\?|^\\\\?)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*|(?<=\\\\))","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"patterns":[{"include":"#comment"},{"begin":"\\\\((?!\\\\*)","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"begin":"(?<=\\\\()","end":"[:=]","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}]},{"begin":"(?<=:)","end":"=|(?=\\\\))","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=\\\\))","patterns":[{"include":"#term"}]}]}]}]},{"include":"#pattern"}]},"bindType":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:and|type))(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\+=|=(?![-!#-\\\\&*+./:<-@^|~])|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#pathType"},{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"entity.name.function strong"},{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]\\\\+|^\\\\+|[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\band\\\\b|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"patterns":[{"include":"#bindConstructor"}]}]},"comment":{"patterns":[{"include":"#attribute"},{"include":"#extension"},{"include":"#commentBlock"},{"include":"#commentDoc"}]},"commentBlock":{"begin":"\\\\(\\\\*(?!\\\\*[^)])","contentName":"emphasis","end":"\\\\*\\\\)","name":"comment constant.regexp meta.separator.markdown","patterns":[{"include":"#commentBlock"},{"include":"#commentDoc"}]},"commentDoc":{"begin":"\\\\(\\\\*\\\\*","end":"\\\\*\\\\)","name":"comment constant.regexp meta.separator.markdown","patterns":[{"match":"\\\\*"},{"include":"#comment"}]},"decl":{"patterns":[{"include":"#declClass"},{"include":"#declException"},{"include":"#declInclude"},{"include":"#declModule"},{"include":"#declOpen"},{"include":"#declTerm"},{"include":"#declType"}]},"declClass":{"begin":"\\\\bclass\\\\b","beginCaptures":{"0":{"name":"entity.name.class constant.numeric markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"begin":"(?<=(?:\\\\P{word}|^)class)(?!\\\\p{word})","beginCaptures":{"0":{"name":"entity.name.class constant.numeric markup.underline"}},"end":"\\\\btype\\\\b|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|val)\\\\b)","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#bindClassTerm"}]},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindClassType"}]}]},"declException":{"begin":"\\\\bexception\\\\b","beginCaptures":{"0":{"name":"keyword markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#bindConstructor"}]},"declInclude":{"begin":"\\\\binclude\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#signature"}]},"declModule":{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})|\\\\bmodule\\\\b","beginCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"\\\\b(type)\\\\b|(?=\\\\p{upper})","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"match":"\\\\brec\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"}]},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindSignature"}]},{"begin":"(?=\\\\p{upper})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#bindStructure"}]}]},"declOpen":{"begin":"\\\\bopen\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#attributeIdentifier"},{"include":"#comment"},{"include":"#pragma"},{"include":"#pathModuleExtended"}]},"declTerm":{"begin":"\\\\b(?:(external|val)|(method)|(let))\\\\b(!?)","beginCaptures":{"1":{"name":"support.type markup.underline"},"2":{"name":"storage.type markup.underline"},"3":{"name":"keyword.control markup.underline"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#bindTerm"}]},"declType":{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})|\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword markup.underline"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#bindType"}]},"extension":{"begin":"(\\\\[)((?<![-!#-\\\\&*+./:<-@^|~])%{1,3}(?![-!#-\\\\&*+./:<-@^|~]))","beginCaptures":{"1":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"]","endCaptures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"patterns":[{"include":"#attributePayload"}]},"literal":{"patterns":[{"include":"#termConstructor"},{"include":"#literalArray"},{"include":"#literalBoolean"},{"include":"#literalCharacter"},{"include":"#literalList"},{"include":"#literalNumber"},{"include":"#literalObjectTerm"},{"include":"#literalString"},{"include":"#literalRecord"},{"include":"#literalUnit"}]},"literalArray":{"begin":"\\\\[\\\\|","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"\\\\|]","patterns":[{"include":"#term"}]},"literalBoolean":{"match":"\\\\bfalse|true\\\\b","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"literalCharacter":{"begin":"(?<!\\\\p{word})\'","end":"\'","name":"markup.punctuation.quote.beginning","patterns":[{"include":"#literalCharacterEscape"}]},"literalCharacterEscape":{"match":"\\\\\\\\(?:[\\"\'\\\\\\\\bnrt]|\\\\d\\\\d\\\\d|x\\\\h\\\\h|o[0-3][0-7][0-7])"},"literalClassType":{"patterns":[{"include":"#comment"},{"begin":"\\\\bobject\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"begin":"\\\\bas\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#variablePattern"}]},{"include":"#type"}]},{"include":"#pattern"},{"include":"#declTerm"}]},{"begin":"\\\\[","end":"]"}]},"literalList":{"patterns":[{"begin":"\\\\[","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"]","patterns":[{"include":"#term"}]}]},"literalNumber":{"match":"(?<!\\\\p{alpha})\\\\d\\\\d*(\\\\.\\\\d\\\\d*)?","name":"constant.numeric"},"literalObjectTerm":{"patterns":[{"include":"#comment"},{"begin":"\\\\bobject\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"begin":"\\\\binherit\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"begin":"\\\\bas\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":";;|(?=[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#variablePattern"}]},{"include":"#term"}]},{"include":"#pattern"},{"include":"#declTerm"}]},{"begin":"\\\\[","end":"]"}]},"literalRecord":{"begin":"\\\\{","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":"}","patterns":[{"begin":"(?<=[;{])","end":"(:)|(=)|(;)|(with)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#term"}]}]},"literalString":{"patterns":[{"begin":"\\"","end":"\\"","name":"string beginning.punctuation.definition.quote.markdown","patterns":[{"include":"#literalStringEscape"}]},{"begin":"(\\\\{)([_[:lower:]]*?)(\\\\|)","end":"(\\\\|)(\\\\2)(})","name":"string beginning.punctuation.definition.quote.markdown","patterns":[{"include":"#literalStringEscape"}]}]},"literalStringEscape":{"match":"\\\\\\\\(?:[\\"\\\\\\\\bnrt]|\\\\d\\\\d\\\\d|x\\\\h\\\\h|o[0-3][0-7][0-7])"},"literalUnit":{"match":"\\\\(\\\\)","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"pathModuleExtended":{"patterns":[{"include":"#pathModulePrefixExtended"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*","name":"entity.name.class constant.numeric"}]},"pathModulePrefixExtended":{"begin":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\.|$|\\\\()","beginCaptures":{"0":{"name":"entity.name.class constant.numeric"}},"end":"(?![.\\\\s]|$|\\\\()","patterns":[{"include":"#comment"},{"begin":"\\\\(","captures":{"0":{"name":"keyword.control"}},"end":"\\\\)","patterns":[{"match":"\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\)))","name":"string.other.link variable.language variable.parameter emphasis"},{"include":"#structure"}]},{"begin":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\.(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"keyword strong"}},"end":"\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\.|$))|\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*(?:$|\\\\()))|\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\)))|(?![.\\\\s[:upper:]]|$|\\\\()","endCaptures":{"1":{"name":"entity.name.class constant.numeric"},"2":{"name":"entity.name.function strong"},"3":{"name":"string.other.link variable.language variable.parameter emphasis"}}}]},"pathModulePrefixExtendedParens":{"begin":"\\\\(","captures":{"0":{"name":"keyword.control"}},"end":"\\\\)","patterns":[{"match":"\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\)))","name":"string.other.link variable.language variable.parameter emphasis"},{"include":"#structure"}]},"pathModulePrefixSimple":{"begin":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\.)","beginCaptures":{"0":{"name":"entity.name.class constant.numeric"}},"end":"(?![.\\\\s])","patterns":[{"include":"#comment"},{"begin":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\.(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"keyword strong"}},"end":"\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*\\\\.))|\\\\b((?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*(?=\\\\s*))|(?![.\\\\s[:upper:]])","endCaptures":{"1":{"name":"entity.name.class constant.numeric"},"2":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}}}]},"pathModuleSimple":{"patterns":[{"include":"#pathModulePrefixSimple"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*","name":"entity.name.class constant.numeric"}]},"pathRecord":{"patterns":[{"begin":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","end":"(?=[^.\\\\s])(?!\\\\(\\\\*)","patterns":[{"include":"#comment"},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)\\\\.)(?![-!#-\\\\&*+./:<-@^|~])|(?<![-!#-\\\\&*+./:<-@^|~])\\\\.(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"keyword strong"}},"end":"((?<![-!#-\\\\&*+./:<-@^|~])\\\\.(?![-!#-\\\\&*+./:<-@^|~]))|((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|mutable|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)|(?<=\\\\))|(?<=])","endCaptures":{"1":{"name":"keyword strong"},"2":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"begin":"\\\\((?!\\\\*)","captures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"\\\\)","patterns":[{"include":"#term"}]},{"begin":"\\\\[","captures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"]","patterns":[{"include":"#pattern"}]}]}]}]},"pattern":{"patterns":[{"include":"#comment"},{"include":"#patternArray"},{"include":"#patternLazy"},{"include":"#patternList"},{"include":"#patternMisc"},{"include":"#patternModule"},{"include":"#patternRecord"},{"include":"#literal"},{"include":"#patternParens"},{"include":"#patternType"},{"include":"#variablePattern"},{"include":"#termOperator"}]},"patternArray":{"begin":"\\\\[\\\\|","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"\\\\|]","patterns":[{"include":"#pattern"}]},"patternLazy":{"match":"lazy","name":"variable.other.class.js message.error variable.interpolation string.regexp"},"patternList":{"begin":"\\\\[","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}},"end":"]","patterns":[{"include":"#pattern"}]},"patternMisc":{"captures":{"1":{"name":"string.regexp strong"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"match":"((?<![-!#-\\\\&*+./:<-@^|~]),(?![-!#-\\\\&*+./:<-@^|~]))|([-!#-\\\\&*+./:<-@^|~]+)|\\\\b(as)\\\\b"},"patternModule":{"begin":"\\\\bmodule\\\\b","beginCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"end":"(?=\\\\))","patterns":[{"include":"#declModule"}]},"patternParens":{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#comment"},{"begin":"(?<![-!#-\\\\&*+./:<-@^|~]):(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"}},"end":"(?=\\\\))","patterns":[{"include":"#type"}]},{"include":"#pattern"}]},"patternRecord":{"begin":"\\\\{","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":"}","patterns":[{"begin":"(?<=[;{])","end":"(:)|(=)|(;)|(with)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#pattern"}]}]},"patternType":{"begin":"\\\\btype\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=\\\\))","patterns":[{"include":"#declType"}]},"pragma":{"begin":"(?<![-!#-\\\\&*+./:<-@^|~])#(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"punctuation.definition.tag"}},"end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#comment"},{"include":"#literalNumber"},{"include":"#literalString"}]},"signature":{"patterns":[{"include":"#comment"},{"include":"#signatureLiteral"},{"include":"#signatureFunctor"},{"include":"#pathModuleExtended"},{"include":"#signatureParens"},{"include":"#signatureRecovered"},{"include":"#signatureConstraints"}]},"signatureConstraints":{"begin":"\\\\bwith\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"}},"end":"(?=\\\\))|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"\\\\b(?:(module)|(type))\\\\b","endCaptures":{"1":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"},"2":{"name":"keyword"}}},{"include":"#declModule"},{"include":"#declType"}]},"signatureFunctor":{"patterns":[{"begin":"\\\\bfunctor\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)functor)(?!\\\\p{word})","end":"(\\\\(\\\\))|(\\\\((?!\\\\)))","endCaptures":{"1":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"2":{"name":"punctuation.definition.tag"}}},{"begin":"(?<=\\\\()","end":"(:)|(\\\\))","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#variableModule"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#signature"}]},{"begin":"(?<=\\\\))","end":"(\\\\()|((?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~]))","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.type strong"}}},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#signature"}]}]},{"match":"(?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~])","name":"support.type strong"}]},"signatureLiteral":{"begin":"\\\\bsig\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}]},"signatureParens":{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#comment"},{"begin":"(?<![-!#-\\\\&*+./:<-@^|~]):(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"}},"end":"(?=\\\\))","patterns":[{"include":"#signature"}]},{"include":"#signature"}]},"signatureRecovered":{"patterns":[{"begin":"\\\\(|(?<=[^-!#-\\\\&*+./:<-@^|~]:|^:|[^-!#-\\\\&*+./:<-@^|~]->|^->)(?![-!#-\\\\&*+./:<-@^|~])|(?<=(?:\\\\P{word}|^)(?:include|open))(?!\\\\p{word})","end":"\\\\bmodule\\\\b|(?!$|\\\\s|\\\\bmodule\\\\b)","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}}},{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)module)(?!\\\\p{word})","end":"\\\\btype\\\\b","endCaptures":{"0":{"name":"keyword"}}},{"begin":"(?<=(?:\\\\P{word}|^)type)(?!\\\\p{word})","end":"\\\\bof\\\\b","endCaptures":{"0":{"name":"punctuation.definition.tag"}}},{"begin":"(?<=(?:\\\\P{word}|^)of)(?!\\\\p{word})","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#signature"}]}]}]},"structure":{"patterns":[{"include":"#comment"},{"include":"#structureLiteral"},{"include":"#structureFunctor"},{"include":"#pathModuleExtended"},{"include":"#structureParens"}]},"structureFunctor":{"patterns":[{"begin":"\\\\bfunctor\\\\b","beginCaptures":{"0":{"name":"keyword"}},"end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"begin":"(?<=(?:\\\\P{word}|^)functor)(?!\\\\p{word})","end":"(\\\\(\\\\))|(\\\\((?!\\\\)))","endCaptures":{"1":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"},"2":{"name":"punctuation.definition.tag"}}},{"begin":"(?<=\\\\()","end":"(:)|(\\\\))","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#variableModule"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\)","endCaptures":{"0":{"name":"punctuation.definition.tag"}},"patterns":[{"include":"#signature"}]},{"begin":"(?<=\\\\))","end":"(\\\\()|((?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~]))","endCaptures":{"1":{"name":"punctuation.definition.tag"},"2":{"name":"support.type strong"}}},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)->)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","patterns":[{"include":"#structure"}]}]},{"match":"(?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~])","name":"support.type strong"}]},"structureLiteral":{"begin":"\\\\bstruct\\\\b","captures":{"0":{"name":"punctuation.definition.tag emphasis"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#comment"},{"include":"#pragma"},{"include":"#decl"}]},"structureParens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#structureUnpack"},{"include":"#structure"}]},"structureUnpack":{"begin":"\\\\bval\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"(?=\\\\))"},"term":{"patterns":[{"include":"#termLet"},{"include":"#termAtomic"}]},"termAtomic":{"patterns":[{"include":"#comment"},{"include":"#termConditional"},{"include":"#termConstructor"},{"include":"#termDelim"},{"include":"#termFor"},{"include":"#termFunction"},{"include":"#literal"},{"include":"#termMatch"},{"include":"#termMatchRule"},{"include":"#termPun"},{"include":"#termOperator"},{"include":"#termTry"},{"include":"#termWhile"},{"include":"#pathRecord"}]},"termConditional":{"match":"\\\\b(?:if|then|else)\\\\b","name":"keyword.control"},"termConstructor":{"patterns":[{"include":"#pathModulePrefixSimple"},{"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*","name":"constant.language constant.numeric entity.other.attribute-name.id.css strong"}]},"termDelim":{"patterns":[{"begin":"\\\\((?!\\\\))","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"include":"#term"}]},{"begin":"\\\\bbegin\\\\b","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\bend\\\\b","patterns":[{"include":"#attributeIdentifier"},{"include":"#term"}]}]},"termFor":{"patterns":[{"begin":"\\\\bfor\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":"\\\\bdone\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)for)(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])=(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"0":{"name":"support.type strong"}},"patterns":[{"include":"#pattern"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":"\\\\b(?:downto|to)\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"include":"#term"}]},{"begin":"(?<=(?:\\\\P{word}|^)to)(?!\\\\p{word})","end":"\\\\bdo\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"include":"#term"}]},{"begin":"(?<=(?:\\\\P{word}|^)do)(?!\\\\p{word})","end":"(?=\\\\bdone\\\\b)","patterns":[{"include":"#term"}]}]}]},"termFunction":{"captures":{"1":{"name":"storage.type"},"2":{"name":"storage.type"}},"match":"\\\\b(?:(fun)|(function))\\\\b"},"termLet":{"patterns":[{"begin":"(?:(?<=[^-!#-\\\\&*+./:<-@^|~]=|^=|[^-!#-\\\\&*+./:<-@^|~]->|^->)(?![-!#-\\\\&*+./:<-@^|~])|(?<=[(;]))(?=\\\\s|\\\\blet\\\\b)|(?<=(?:\\\\P{word}|^)(?:begin|do|else|in|struct|then|try))(?!\\\\p{word})|(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)@@)(?![-!#-\\\\&*+./:<-@^|~])\\\\s+","end":"\\\\b(?:(and)|(let))\\\\b|(?=\\\\S)(?!\\\\(\\\\*)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"storage.type markup.underline"}},"patterns":[{"include":"#comment"}]},{"begin":"(?<=(?:\\\\P{word}|^)(?:and|let))(?!\\\\p{word})|(let)","beginCaptures":{"1":{"name":"storage.type markup.underline"}},"end":"\\\\b(?:(and)|(in))\\\\b|(?=[])}]|\\\\b(?:end|class|exception|external|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp markup.underline"},"2":{"name":"storage.type markup.underline"}},"patterns":[{"include":"#bindTerm"}]}]},"termMatch":{"begin":"\\\\bmatch\\\\b","captures":{"0":{"name":"keyword.control"}},"end":"\\\\bwith\\\\b","patterns":[{"include":"#term"}]},"termMatchRule":{"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)(?:fun|function|with))(?!\\\\p{word})","end":"(?<![-!#-\\\\&*+./:<-@^|~])(\\\\|)|(->)(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"1":{"name":"support.type strong"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#comment"},{"include":"#attributeIdentifier"},{"include":"#pattern"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@\\\\[^|~]|^)\\\\|)(?![-!#-\\\\&*+./:<-@^|~])|(?<![-!#-\\\\&*+./:<-@^|~])\\\\|(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"support.type strong"}},"end":"(?<![-!#-\\\\&*+./:<-@^|~])(\\\\|)|(->)(?![-!#-\\\\&*+./:<-@^|~])","endCaptures":{"1":{"name":"support.type strong"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#pattern"},{"begin":"\\\\bwhen\\\\b","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":"(?=(?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~]))","patterns":[{"include":"#term"}]}]}]},"termOperator":{"patterns":[{"begin":"(?<![-!#-\\\\&*+./:<-@^|~])#(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"keyword"}},"end":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","endCaptures":{"0":{"name":"entity.name.function"}}},{"captures":{"0":{"name":"keyword.control strong"}},"match":"<-"},{"captures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"match":"(,|[-!#-\\\\&*+./:<-@^|~]+)|(;)"},{"match":"\\\\b(?:and|assert|asr|land|lazy|lsr|lxor|mod|new|or)\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"}]},"termPun":{"applyEndPatternLast":true,"begin":"(?<![-!#-\\\\&*+./:<-@^|~])\\\\?|~(?![-!#-\\\\&*+./:<-@^|~])","beginCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"end":":|(?=[^:\\\\s])","endCaptures":{"0":{"name":"keyword"}},"patterns":[{"begin":"(?<=[^-!#-\\\\&*+./:<-@^|~]\\\\?|^\\\\?|[^-!#-\\\\&*+./:<-@^|~]~|^~)(?![-!#-\\\\&*+./:<-@^|~])","end":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","endCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}}}]},"termTry":{"begin":"\\\\btry\\\\b","captures":{"0":{"name":"keyword.control"}},"end":"\\\\bwith\\\\b","patterns":[{"include":"#term"}]},"termWhile":{"patterns":[{"begin":"\\\\bwhile\\\\b","beginCaptures":{"0":{"name":"keyword.control"}},"end":"\\\\bdone\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"begin":"(?<=(?:\\\\P{word}|^)while)(?!\\\\p{word})","end":"\\\\bdo\\\\b","endCaptures":{"0":{"name":"keyword.control"}},"patterns":[{"include":"#term"}]},{"begin":"(?<=(?:\\\\P{word}|^)do)(?!\\\\p{word})","end":"(?=\\\\bdone\\\\b)","patterns":[{"include":"#term"}]}]}]},"type":{"patterns":[{"include":"#comment"},{"match":"\\\\bnonrec\\\\b","name":"variable.other.class.js message.error variable.interpolation string.regexp"},{"include":"#pathModulePrefixExtended"},{"include":"#typeLabel"},{"include":"#typeObject"},{"include":"#typeOperator"},{"include":"#typeParens"},{"include":"#typePolymorphicVariant"},{"include":"#typeRecord"},{"include":"#typeConstructor"}]},"typeConstructor":{"patterns":[{"begin":"(_)|((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)|(\')((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)|(?<=[^*]\\\\)|])","beginCaptures":{"1":{"name":"comment constant.regexp meta.separator.markdown"},"3":{"name":"string.other.link variable.language variable.parameter emphasis strong emphasis"},"4":{"name":"keyword.control emphasis"}},"end":"(?=\\\\((?!\\\\*)|[])-.:;=>\\\\[{|}])|((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)[:aceps]*(?!\\\\(\\\\*|\\\\p{word})|(?=;;|[])}]|\\\\b(?:end|and|class|exception|external|in|include|inherit|initializer|let|method|module|open|type|val)\\\\b)","endCaptures":{"1":{"name":"entity.name.function strong"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixExtended"}]}]},"typeLabel":{"patterns":[{"begin":"(\\\\??)((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)\\\\s*((?<![-!#-\\\\&*+./:<-@^|~]):(?![-!#-\\\\&*+./:<-@^|~]))","captures":{"1":{"name":"keyword strong emphasis"},"2":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"},"3":{"name":"keyword"}},"end":"(?=(?<![-!#-\\\\&*+./:<-@^|~])->(?![-!#-\\\\&*+./:<-@^|~]))","patterns":[{"include":"#type"}]}]},"typeModule":{"begin":"\\\\bmodule\\\\b","beginCaptures":{"0":{"name":"markup.inserted constant.language support.constant.property-value entity.name.filename"}},"end":"(?=\\\\))","patterns":[{"include":"#pathModuleExtended"},{"include":"#signatureConstraints"}]},"typeObject":{"begin":"<","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":">","patterns":[{"begin":"(?<=[;<])","end":"(:)|(?=>)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(?=>)","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]}]},"typeOperator":{"patterns":[{"match":"[,;]|[-!#-\\\\&*+./:<-@^|~]+","name":"variable.other.class.js message.error variable.interpolation string.regexp strong"}]},"typeParens":{"begin":"\\\\(","captures":{"0":{"name":"punctuation.definition.tag"}},"end":"\\\\)","patterns":[{"match":",","name":"variable.other.class.js message.error variable.interpolation string.regexp"},{"include":"#typeModule"},{"include":"#type"}]},"typePolymorphicVariant":{"begin":"\\\\[","end":"]","patterns":[]},"typeRecord":{"begin":"\\\\{","captures":{"0":{"name":"constant.language constant.numeric entity.other.attribute-name.id.css strong strong"}},"end":"}","patterns":[{"begin":"(?<=[;{])","end":"(:)|(=)|(;)|(with)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"4":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#comment"},{"include":"#pathModulePrefixSimple"},{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:\\\\P{word}|^)with)(?!\\\\p{word})","end":"(:)|(=)|(;)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp strong"},"2":{"name":"support.type strong"},"3":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"match":"(?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*","name":"markup.inserted constant.language support.constant.property-value entity.name.filename emphasis"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^):)(?![-!#-\\\\&*+./:<-@^|~])","end":"(;)|(=)|(?=})","endCaptures":{"1":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"},"2":{"name":"support.type strong"}},"patterns":[{"include":"#type"}]},{"begin":"(?<=(?:[^-!#-\\\\&*+./:<-@^|~]|^)=)(?![-!#-\\\\&*+./:<-@^|~])","end":";|(?=})","endCaptures":{"0":{"name":"variable.other.class.js message.error variable.interpolation string.regexp"}},"patterns":[{"include":"#type"}]}]},"variableModule":{"captures":{"0":{"name":"string.other.link variable.language variable.parameter emphasis"}},"match":"\\\\b(?=\\\\p{upper})[_[:alpha:]][\'[:word:]]*"},"variablePattern":{"captures":{"1":{"name":"comment constant.regexp meta.separator.markdown"},"2":{"name":"string.other.link variable.language variable.parameter emphasis"}},"match":"\\\\b(_)\\\\b|((?!\\\\b(?:and|\'|asr??|assert|\\\\*|begin|class|[,:@]|constraint|do|done|downto|else|end|=|exception|external|false|for|\\\\.|fun|function|functor|[->]|if|in|include|inherit|initializer|land|lazy|[(<\\\\[{]|let|lor|lsl|lsr|lxor|match|method|mod|module|mutable|new|nonrec|#|object|of|open|or|[%+]|private|[\\"?]|rec|[]);\\\\\\\\}]|sig|/|struct|then|~|to|true|try|type|val|\\\\||virtual|when|while|with)\\\\b(?:[^\']|$))\\\\b(?=[_[:lower:]])[_[:alpha:]][\'[:word:]]*)"}},"scopeName":"source.ocaml"}'))]}]);