@milkdown/crepe 7.3.6 → 7.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (991) hide show
  1. package/lib/cjs/_view-N32ied53.js +27 -0
  2. package/lib/cjs/_view-N32ied53.js.map +1 -0
  3. package/lib/cjs/apl-99bWvYTf.js +145 -0
  4. package/lib/cjs/apl-99bWvYTf.js.map +1 -0
  5. package/lib/cjs/asciiarmor-cf0JLIr_.js +59 -0
  6. package/lib/cjs/asciiarmor-cf0JLIr_.js.map +1 -0
  7. package/lib/cjs/asn1-H4XzAvBS.js +195 -0
  8. package/lib/cjs/asn1-H4XzAvBS.js.map +1 -0
  9. package/lib/cjs/asterisk-0FgJEfZB.js +190 -0
  10. package/lib/cjs/asterisk-0FgJEfZB.js.map +1 -0
  11. package/lib/cjs/brainfuck-JX7vRZy7.js +73 -0
  12. package/lib/cjs/brainfuck-JX7vRZy7.js.map +1 -0
  13. package/lib/cjs/clike-ueXlMQy5.js +1034 -0
  14. package/lib/cjs/clike-ueXlMQy5.js.map +1 -0
  15. package/lib/cjs/clojure-6iDAG5oi.js +277 -0
  16. package/lib/cjs/clojure-6iDAG5oi.js.map +1 -0
  17. package/lib/cjs/clsx-dASsG01A.js +6 -0
  18. package/lib/cjs/clsx-dASsG01A.js.map +1 -0
  19. package/lib/cjs/cmake-L0RIBnfc.js +84 -0
  20. package/lib/cjs/cmake-L0RIBnfc.js.map +1 -0
  21. package/lib/cjs/cobol-oxkMh1GJ.js +238 -0
  22. package/lib/cjs/cobol-oxkMh1GJ.js.map +1 -0
  23. package/lib/cjs/coffeescript--eauIeRQ.js +332 -0
  24. package/lib/cjs/coffeescript--eauIeRQ.js.map +1 -0
  25. package/lib/cjs/commonlisp-pgSu-q6f.js +111 -0
  26. package/lib/cjs/commonlisp-pgSu-q6f.js.map +1 -0
  27. package/lib/cjs/crystal-2y3I5ibZ.js +422 -0
  28. package/lib/cjs/crystal-2y3I5ibZ.js.map +1 -0
  29. package/lib/cjs/css-WH69cXzo.js +855 -0
  30. package/lib/cjs/css-WH69cXzo.js.map +1 -0
  31. package/lib/cjs/cypher-da-dqVyQ.js +125 -0
  32. package/lib/cjs/cypher-da-dqVyQ.js.map +1 -0
  33. package/lib/cjs/d-58J7EOkP.js +208 -0
  34. package/lib/cjs/d-58J7EOkP.js.map +1 -0
  35. package/lib/cjs/diff-437Hfzqm.js +33 -0
  36. package/lib/cjs/diff-437Hfzqm.js.map +1 -0
  37. package/lib/cjs/dockerfile-7i0OoaQe.js +202 -0
  38. package/lib/cjs/dockerfile-7i0OoaQe.js.map +1 -0
  39. package/lib/cjs/dtd-AKekCPPB.js +124 -0
  40. package/lib/cjs/dtd-AKekCPPB.js.map +1 -0
  41. package/lib/cjs/dylan-DLEmvz1I.js +340 -0
  42. package/lib/cjs/dylan-DLEmvz1I.js.map +1 -0
  43. package/lib/cjs/ebnf-36cJWqxB.js +154 -0
  44. package/lib/cjs/ebnf-36cJWqxB.js.map +1 -0
  45. package/lib/cjs/ecl-UWr5vJKJ.js +193 -0
  46. package/lib/cjs/ecl-UWr5vJKJ.js.map +1 -0
  47. package/lib/cjs/eiffel-Su-C9LAY.js +149 -0
  48. package/lib/cjs/eiffel-Su-C9LAY.js.map +1 -0
  49. package/lib/cjs/elm-vNNfVJj7.js +233 -0
  50. package/lib/cjs/elm-vNNfVJj7.js.map +1 -0
  51. package/lib/cjs/erlang-NM9dgYaS.js +584 -0
  52. package/lib/cjs/erlang-NM9dgYaS.js.map +1 -0
  53. package/lib/cjs/factor-RWs-4aWg.js +68 -0
  54. package/lib/cjs/factor-RWs-4aWg.js.map +1 -0
  55. package/lib/cjs/fcl-acUhGCfs.js +157 -0
  56. package/lib/cjs/fcl-acUhGCfs.js.map +1 -0
  57. package/lib/cjs/floating-ui.dom-2cjBpir5.js +1134 -0
  58. package/lib/cjs/floating-ui.dom-2cjBpir5.js.map +1 -0
  59. package/lib/cjs/forth-sDkE6z3A.js +167 -0
  60. package/lib/cjs/forth-sDkE6z3A.js.map +1 -0
  61. package/lib/cjs/fortran-gkb4yvdk.js +175 -0
  62. package/lib/cjs/fortran-gkb4yvdk.js.map +1 -0
  63. package/lib/cjs/gas-mNA0qvkv.js +347 -0
  64. package/lib/cjs/gas-mNA0qvkv.js.map +1 -0
  65. package/lib/cjs/gherkin-5uyKpXXh.js +150 -0
  66. package/lib/cjs/gherkin-5uyKpXXh.js.map +1 -0
  67. package/lib/cjs/go-5XitXoIZ.js +167 -0
  68. package/lib/cjs/go-5XitXoIZ.js.map +1 -0
  69. package/lib/cjs/groovy-mz3pWMKN.js +233 -0
  70. package/lib/cjs/groovy-mz3pWMKN.js.map +1 -0
  71. package/lib/cjs/haskell-9KaSS7kb.js +242 -0
  72. package/lib/cjs/haskell-9KaSS7kb.js.map +1 -0
  73. package/lib/cjs/haxe-L8h6Pvni.js +494 -0
  74. package/lib/cjs/haxe-L8h6Pvni.js.map +1 -0
  75. package/lib/cjs/helper-1aludV1Z.js +15 -0
  76. package/lib/cjs/helper-1aludV1Z.js.map +1 -0
  77. package/lib/cjs/http-BFQQnRR-.js +92 -0
  78. package/lib/cjs/http-BFQQnRR-.js.map +1 -0
  79. package/lib/cjs/idl-29T-AzAy.js +277 -0
  80. package/lib/cjs/idl-29T-AzAy.js.map +1 -0
  81. package/lib/cjs/index--sa4NMpW.js +119 -0
  82. package/lib/cjs/index--sa4NMpW.js.map +1 -0
  83. package/lib/cjs/index--tnUmqZ_.js +108 -0
  84. package/lib/cjs/index--tnUmqZ_.js.map +1 -0
  85. package/lib/cjs/index-1vHyMXH8.js +203 -0
  86. package/lib/cjs/index-1vHyMXH8.js.map +1 -0
  87. package/lib/cjs/index-28q261C7.js +448 -0
  88. package/lib/cjs/index-28q261C7.js.map +1 -0
  89. package/lib/cjs/index-55VIM-52.js +156 -0
  90. package/lib/cjs/index-55VIM-52.js.map +1 -0
  91. package/lib/cjs/index-92bwto5V.js +405 -0
  92. package/lib/cjs/index-92bwto5V.js.map +1 -0
  93. package/lib/cjs/index-Buu2tD9O.js +534 -0
  94. package/lib/cjs/index-Buu2tD9O.js.map +1 -0
  95. package/lib/cjs/index-E4Ist86Z.js +532 -0
  96. package/lib/cjs/index-E4Ist86Z.js.map +1 -0
  97. package/lib/cjs/index-FbNqlZU8.js +263 -0
  98. package/lib/cjs/index-FbNqlZU8.js.map +1 -0
  99. package/lib/cjs/index-HH5lPgpj.js +443 -0
  100. package/lib/cjs/index-HH5lPgpj.js.map +1 -0
  101. package/lib/cjs/index-J1-yHn7v.js +128 -0
  102. package/lib/cjs/index-J1-yHn7v.js.map +1 -0
  103. package/lib/cjs/index-J3XY9IPt.js +78 -0
  104. package/lib/cjs/index-J3XY9IPt.js.map +1 -0
  105. package/lib/cjs/index-Jztk6JlP.js +25698 -0
  106. package/lib/cjs/index-Jztk6JlP.js.map +1 -0
  107. package/lib/cjs/index-N6pPZY61.js +191 -0
  108. package/lib/cjs/index-N6pPZY61.js.map +1 -0
  109. package/lib/cjs/index-TUJs6KKL.js +472 -0
  110. package/lib/cjs/index-TUJs6KKL.js.map +1 -0
  111. package/lib/cjs/index-Tjg8KyK7.js +398 -0
  112. package/lib/cjs/index-Tjg8KyK7.js.map +1 -0
  113. package/lib/cjs/index-VYwHTL3F.js +161 -0
  114. package/lib/cjs/index-VYwHTL3F.js.map +1 -0
  115. package/lib/cjs/index-_GOdKqUK.js +1147 -0
  116. package/lib/cjs/index-_GOdKqUK.js.map +1 -0
  117. package/lib/cjs/index-cKQcw-eu.js +386 -0
  118. package/lib/cjs/index-cKQcw-eu.js.map +1 -0
  119. package/lib/cjs/index-c_OzudR7.js +699 -0
  120. package/lib/cjs/index-c_OzudR7.js.map +1 -0
  121. package/lib/cjs/index-cb-5m0vG.js +2519 -0
  122. package/lib/cjs/index-cb-5m0vG.js.map +1 -0
  123. package/lib/cjs/index-cpC-j5Nt.js +176 -0
  124. package/lib/cjs/index-cpC-j5Nt.js.map +1 -0
  125. package/lib/cjs/index-crv_k6dv.js +1353 -0
  126. package/lib/cjs/index-crv_k6dv.js.map +1 -0
  127. package/lib/cjs/index-jlfsu92T.js +362 -0
  128. package/lib/cjs/index-jlfsu92T.js.map +1 -0
  129. package/lib/cjs/index-jn036wuh.js +1045 -0
  130. package/lib/cjs/index-jn036wuh.js.map +1 -0
  131. package/lib/cjs/index-kqz-P6o6.js +55 -0
  132. package/lib/cjs/index-kqz-P6o6.js.map +1 -0
  133. package/lib/cjs/index-lBumFRUQ.js +209 -0
  134. package/lib/cjs/index-lBumFRUQ.js.map +1 -0
  135. package/lib/cjs/index-lUNj3xuC.js +81 -0
  136. package/lib/cjs/index-lUNj3xuC.js.map +1 -0
  137. package/lib/cjs/index-mcxgNBq9.js +464 -0
  138. package/lib/cjs/index-mcxgNBq9.js.map +1 -0
  139. package/lib/cjs/index-nTfDKYYi.js +1029 -0
  140. package/lib/cjs/index-nTfDKYYi.js.map +1 -0
  141. package/lib/cjs/index-tBw4NmwY.js +33852 -0
  142. package/lib/cjs/index-tBw4NmwY.js.map +1 -0
  143. package/lib/cjs/index-vfzLCXfi.js +774 -0
  144. package/lib/cjs/index-vfzLCXfi.js.map +1 -0
  145. package/lib/cjs/index-von4W2LG.js +356 -0
  146. package/lib/cjs/index-von4W2LG.js.map +1 -0
  147. package/lib/cjs/index-z6pe2alg.js +20 -0
  148. package/lib/cjs/index-z6pe2alg.js.map +1 -0
  149. package/lib/cjs/index-zXSAHvAj.js +1877 -0
  150. package/lib/cjs/index-zXSAHvAj.js.map +1 -0
  151. package/lib/cjs/index.js +20 -0
  152. package/lib/cjs/index.js.map +1 -0
  153. package/lib/cjs/javascript-5-BTydbD.js +928 -0
  154. package/lib/cjs/javascript-5-BTydbD.js.map +1 -0
  155. package/lib/cjs/jinja2-BWMz4gPk.js +174 -0
  156. package/lib/cjs/jinja2-BWMz4gPk.js.map +1 -0
  157. package/lib/cjs/julia-dtR9J3KZ.js +372 -0
  158. package/lib/cjs/julia-dtR9J3KZ.js.map +1 -0
  159. package/lib/cjs/livescript-YxT0INe3.js +262 -0
  160. package/lib/cjs/livescript-YxT0INe3.js.map +1 -0
  161. package/lib/cjs/lua-h7_AXjy9.js +140 -0
  162. package/lib/cjs/lua-h7_AXjy9.js.map +1 -0
  163. package/lib/cjs/mathematica-Zc57fOr3.js +156 -0
  164. package/lib/cjs/mathematica-Zc57fOr3.js.map +1 -0
  165. package/lib/cjs/mbox-ltKsKgJd.js +117 -0
  166. package/lib/cjs/mbox-ltKsKgJd.js.map +1 -0
  167. package/lib/cjs/mirc-xTLeWqmy.js +179 -0
  168. package/lib/cjs/mirc-xTLeWqmy.js.map +1 -0
  169. package/lib/cjs/mllike-xukl-Kjp.js +351 -0
  170. package/lib/cjs/mllike-xukl-Kjp.js.map +1 -0
  171. package/lib/cjs/modelica-LsXtAawk.js +195 -0
  172. package/lib/cjs/modelica-LsXtAawk.js.map +1 -0
  173. package/lib/cjs/mscgen-9HooYIVW.js +154 -0
  174. package/lib/cjs/mscgen-9HooYIVW.js.map +1 -0
  175. package/lib/cjs/mumps-VXqGp84f.js +132 -0
  176. package/lib/cjs/mumps-VXqGp84f.js.map +1 -0
  177. package/lib/cjs/nginx-UrubUbn1.js +166 -0
  178. package/lib/cjs/nginx-UrubUbn1.js.map +1 -0
  179. package/lib/cjs/nsis-c2AYwqyy.js +83 -0
  180. package/lib/cjs/nsis-c2AYwqyy.js.map +1 -0
  181. package/lib/cjs/ntriples-N1nwiheD.js +144 -0
  182. package/lib/cjs/ntriples-N1nwiheD.js.map +1 -0
  183. package/lib/cjs/octave-ElonStfZ.js +115 -0
  184. package/lib/cjs/octave-ElonStfZ.js.map +1 -0
  185. package/lib/cjs/oz-7VQTnCfu.js +238 -0
  186. package/lib/cjs/oz-7VQTnCfu.js.map +1 -0
  187. package/lib/cjs/pascal-yq2Cb88Q.js +127 -0
  188. package/lib/cjs/pascal-yq2Cb88Q.js.map +1 -0
  189. package/lib/cjs/perl-hJq4byS9.js +822 -0
  190. package/lib/cjs/perl-hJq4byS9.js.map +1 -0
  191. package/lib/cjs/pig-2syuOlAa.js +152 -0
  192. package/lib/cjs/pig-2syuOlAa.js.map +1 -0
  193. package/lib/cjs/powershell-NDwxuSDg.js +384 -0
  194. package/lib/cjs/powershell-NDwxuSDg.js.map +1 -0
  195. package/lib/cjs/properties-wacODxDJ.js +65 -0
  196. package/lib/cjs/properties-wacODxDJ.js.map +1 -0
  197. package/lib/cjs/protobuf-zVHZwskk.js +57 -0
  198. package/lib/cjs/protobuf-zVHZwskk.js.map +1 -0
  199. package/lib/cjs/puppet-koQikqO-.js +208 -0
  200. package/lib/cjs/puppet-koQikqO-.js.map +1 -0
  201. package/lib/cjs/python-P3UsKHbj.js +394 -0
  202. package/lib/cjs/python-P3UsKHbj.js.map +1 -0
  203. package/lib/cjs/q-Z_d2uXoA.js +126 -0
  204. package/lib/cjs/q-Z_d2uXoA.js.map +1 -0
  205. package/lib/cjs/r-J6Jl9z1i.js +177 -0
  206. package/lib/cjs/r-J6Jl9z1i.js.map +1 -0
  207. package/lib/cjs/rpm-6C0Omumu.js +93 -0
  208. package/lib/cjs/rpm-6C0Omumu.js.map +1 -0
  209. package/lib/cjs/ruby-POVyUmsb.js +290 -0
  210. package/lib/cjs/ruby-POVyUmsb.js.map +1 -0
  211. package/lib/cjs/sas-vDtpSmFr.js +271 -0
  212. package/lib/cjs/sas-vDtpSmFr.js.map +1 -0
  213. package/lib/cjs/schema-RVrwDDcq.js +74 -0
  214. package/lib/cjs/schema-RVrwDDcq.js.map +1 -0
  215. package/lib/cjs/scheme-5AA5BH7S.js +266 -0
  216. package/lib/cjs/scheme-5AA5BH7S.js.map +1 -0
  217. package/lib/cjs/shell-_ztDMiW6.js +148 -0
  218. package/lib/cjs/shell-_ztDMiW6.js.map +1 -0
  219. package/lib/cjs/sieve-R_vzlbvH.js +181 -0
  220. package/lib/cjs/sieve-R_vzlbvH.js.map +1 -0
  221. package/lib/cjs/simple-mode-ZwmNbV0h.js +138 -0
  222. package/lib/cjs/simple-mode-ZwmNbV0h.js.map +1 -0
  223. package/lib/cjs/smalltalk-dWLp5zN8.js +156 -0
  224. package/lib/cjs/smalltalk-dWLp5zN8.js.map +1 -0
  225. package/lib/cjs/solr-wSmvjKI8.js +83 -0
  226. package/lib/cjs/solr-wSmvjKI8.js.map +1 -0
  227. package/lib/cjs/sparql-GNU_0xKB.js +173 -0
  228. package/lib/cjs/sparql-GNU_0xKB.js.map +1 -0
  229. package/lib/cjs/spreadsheet-BiqYLk6M.js +101 -0
  230. package/lib/cjs/spreadsheet-BiqYLk6M.js.map +1 -0
  231. package/lib/cjs/sql-9GpHBPsC.js +497 -0
  232. package/lib/cjs/sql-9GpHBPsC.js.map +1 -0
  233. package/lib/cjs/stex-1V41CNLk.js +250 -0
  234. package/lib/cjs/stex-1V41CNLk.js.map +1 -0
  235. package/lib/cjs/stylus-H6hn9z_G.js +753 -0
  236. package/lib/cjs/stylus-H6hn9z_G.js.map +1 -0
  237. package/lib/cjs/swift-Xv5f8zgN.js +205 -0
  238. package/lib/cjs/swift-Xv5f8zgN.js.map +1 -0
  239. package/lib/cjs/tcl-LI-LOw_t.js +128 -0
  240. package/lib/cjs/tcl-LI-LOw_t.js.map +1 -0
  241. package/lib/cjs/textile-3NvRPUgg.js +444 -0
  242. package/lib/cjs/textile-3NvRPUgg.js.map +1 -0
  243. package/lib/cjs/tiddlywiki-PkMzy8_R.js +281 -0
  244. package/lib/cjs/tiddlywiki-PkMzy8_R.js.map +1 -0
  245. package/lib/cjs/tiki-Zk_GnEC8.js +292 -0
  246. package/lib/cjs/tiki-Zk_GnEC8.js.map +1 -0
  247. package/lib/cjs/todoList-Ze4FLMlx.js +415 -0
  248. package/lib/cjs/todoList-Ze4FLMlx.js.map +1 -0
  249. package/lib/cjs/toml-36gJ0YCq.js +78 -0
  250. package/lib/cjs/toml-36gJ0YCq.js.map +1 -0
  251. package/lib/cjs/tooltip-plugin--lhebztC.js +191 -0
  252. package/lib/cjs/tooltip-plugin--lhebztC.js.map +1 -0
  253. package/lib/cjs/troff-RLZ_o61o.js +67 -0
  254. package/lib/cjs/troff-RLZ_o61o.js.map +1 -0
  255. package/lib/cjs/ttcn-cfg-twaoJYvf.js +204 -0
  256. package/lib/cjs/ttcn-cfg-twaoJYvf.js.map +1 -0
  257. package/lib/cjs/ttcn-kGwvGb2v.js +260 -0
  258. package/lib/cjs/ttcn-kGwvGb2v.js.map +1 -0
  259. package/lib/cjs/turtle-nnevat7b.js +144 -0
  260. package/lib/cjs/turtle-nnevat7b.js.map +1 -0
  261. package/lib/cjs/vb-fO_I9s3s.js +252 -0
  262. package/lib/cjs/vb-fO_I9s3s.js.map +1 -0
  263. package/lib/cjs/vbscript-HXnn40y4.js +324 -0
  264. package/lib/cjs/vbscript-HXnn40y4.js.map +1 -0
  265. package/lib/cjs/velocity-Wn-ZfFzr.js +189 -0
  266. package/lib/cjs/velocity-Wn-ZfFzr.js.map +1 -0
  267. package/lib/cjs/verilog-y1ev34z6.js +569 -0
  268. package/lib/cjs/verilog-y1ev34z6.js.map +1 -0
  269. package/lib/cjs/vhdl-LF0oeXxc.js +177 -0
  270. package/lib/cjs/vhdl-LF0oeXxc.js.map +1 -0
  271. package/lib/cjs/webidl-6kI5KbeC.js +182 -0
  272. package/lib/cjs/webidl-6kI5KbeC.js.map +1 -0
  273. package/lib/cjs/xquery-BavrmwsO.js +428 -0
  274. package/lib/cjs/xquery-BavrmwsO.js.map +1 -0
  275. package/lib/cjs/yacas-1g_AbTrl.js +185 -0
  276. package/lib/cjs/yacas-1g_AbTrl.js.map +1 -0
  277. package/lib/cjs/z80-QYzKAAp7.js +106 -0
  278. package/lib/cjs/z80-QYzKAAp7.js.map +1 -0
  279. package/lib/esm/_view-IlZC8FA6.js +25 -0
  280. package/lib/esm/_view-IlZC8FA6.js.map +1 -0
  281. package/lib/esm/apl-eHQxyJFn.js +143 -0
  282. package/lib/esm/apl-eHQxyJFn.js.map +1 -0
  283. package/lib/esm/asciiarmor-Z-IGYCI4.js +57 -0
  284. package/lib/esm/asciiarmor-Z-IGYCI4.js.map +1 -0
  285. package/lib/esm/asn1-gF7x-q1y.js +193 -0
  286. package/lib/esm/asn1-gF7x-q1y.js.map +1 -0
  287. package/lib/esm/asterisk-swk20ftp.js +188 -0
  288. package/lib/esm/asterisk-swk20ftp.js.map +1 -0
  289. package/lib/esm/brainfuck-IFQdiQoR.js +71 -0
  290. package/lib/esm/brainfuck-IFQdiQoR.js.map +1 -0
  291. package/lib/esm/clike-q3hUF2Cx.js +1019 -0
  292. package/lib/esm/clike-q3hUF2Cx.js.map +1 -0
  293. package/lib/esm/clojure-I2Krbr2M.js +275 -0
  294. package/lib/esm/clojure-I2Krbr2M.js.map +1 -0
  295. package/lib/esm/clsx-RxCLxYpD.js +4 -0
  296. package/lib/esm/clsx-RxCLxYpD.js.map +1 -0
  297. package/lib/esm/cmake-ewwXLeuZ.js +82 -0
  298. package/lib/esm/cmake-ewwXLeuZ.js.map +1 -0
  299. package/lib/esm/cobol-fpN1nAnR.js +236 -0
  300. package/lib/esm/cobol-fpN1nAnR.js.map +1 -0
  301. package/lib/esm/coffeescript--eTFR-bH.js +330 -0
  302. package/lib/esm/coffeescript--eTFR-bH.js.map +1 -0
  303. package/lib/esm/commonlisp-XLSwVdLc.js +109 -0
  304. package/lib/esm/commonlisp-XLSwVdLc.js.map +1 -0
  305. package/lib/esm/crystal-_r3Aa1_a.js +420 -0
  306. package/lib/esm/crystal-_r3Aa1_a.js.map +1 -0
  307. package/lib/esm/css-hgwYGMKZ.js +848 -0
  308. package/lib/esm/css-hgwYGMKZ.js.map +1 -0
  309. package/lib/esm/cypher-bbJyAa-4.js +123 -0
  310. package/lib/esm/cypher-bbJyAa-4.js.map +1 -0
  311. package/lib/esm/d-5MyulviS.js +206 -0
  312. package/lib/esm/d-5MyulviS.js.map +1 -0
  313. package/lib/esm/diff-neOaT_vk.js +31 -0
  314. package/lib/esm/diff-neOaT_vk.js.map +1 -0
  315. package/lib/esm/dockerfile-lzx42-zz.js +200 -0
  316. package/lib/esm/dockerfile-lzx42-zz.js.map +1 -0
  317. package/lib/esm/dtd-FmzPLZcQ.js +122 -0
  318. package/lib/esm/dtd-FmzPLZcQ.js.map +1 -0
  319. package/lib/esm/dylan-1HtRK4GO.js +338 -0
  320. package/lib/esm/dylan-1HtRK4GO.js.map +1 -0
  321. package/lib/esm/ebnf-Nz-pnLHy.js +152 -0
  322. package/lib/esm/ebnf-Nz-pnLHy.js.map +1 -0
  323. package/lib/esm/ecl-lQsZhQz0.js +191 -0
  324. package/lib/esm/ecl-lQsZhQz0.js.map +1 -0
  325. package/lib/esm/eiffel-R_HiEkhx.js +147 -0
  326. package/lib/esm/eiffel-R_HiEkhx.js.map +1 -0
  327. package/lib/esm/elm-KYv4VTDg.js +231 -0
  328. package/lib/esm/elm-KYv4VTDg.js.map +1 -0
  329. package/lib/esm/erlang-7YaHCBIe.js +582 -0
  330. package/lib/esm/erlang-7YaHCBIe.js.map +1 -0
  331. package/lib/esm/factor-opBU9aTK.js +66 -0
  332. package/lib/esm/factor-opBU9aTK.js.map +1 -0
  333. package/lib/esm/fcl-jm31FmFz.js +155 -0
  334. package/lib/esm/fcl-jm31FmFz.js.map +1 -0
  335. package/lib/esm/floating-ui.dom-CAYjY8Gv.js +1130 -0
  336. package/lib/esm/floating-ui.dom-CAYjY8Gv.js.map +1 -0
  337. package/lib/esm/forth-5NKbjnWh.js +165 -0
  338. package/lib/esm/forth-5NKbjnWh.js.map +1 -0
  339. package/lib/esm/fortran-dXm_-cb9.js +173 -0
  340. package/lib/esm/fortran-dXm_-cb9.js.map +1 -0
  341. package/lib/esm/gas-nsYVnsy-.js +344 -0
  342. package/lib/esm/gas-nsYVnsy-.js.map +1 -0
  343. package/lib/esm/gherkin-fzKpjm3M.js +148 -0
  344. package/lib/esm/gherkin-fzKpjm3M.js.map +1 -0
  345. package/lib/esm/go-Pn1qh7yl.js +165 -0
  346. package/lib/esm/go-Pn1qh7yl.js.map +1 -0
  347. package/lib/esm/groovy-DZY-8keZ.js +231 -0
  348. package/lib/esm/groovy-DZY-8keZ.js.map +1 -0
  349. package/lib/esm/haskell-JGh2upDd.js +240 -0
  350. package/lib/esm/haskell-JGh2upDd.js.map +1 -0
  351. package/lib/esm/haxe-1hvVK-Fy.js +491 -0
  352. package/lib/esm/haxe-1hvVK-Fy.js.map +1 -0
  353. package/lib/esm/helper-wZAtC67x.js +13 -0
  354. package/lib/esm/helper-wZAtC67x.js.map +1 -0
  355. package/lib/esm/http-mY1M77wn.js +90 -0
  356. package/lib/esm/http-mY1M77wn.js.map +1 -0
  357. package/lib/esm/idl-dy_653wH.js +275 -0
  358. package/lib/esm/idl-dy_653wH.js.map +1 -0
  359. package/lib/esm/index-0-j8Icms.js +384 -0
  360. package/lib/esm/index-0-j8Icms.js.map +1 -0
  361. package/lib/esm/index-1l-61HI-.js +358 -0
  362. package/lib/esm/index-1l-61HI-.js.map +1 -0
  363. package/lib/esm/index-3HeWs5rX.js +440 -0
  364. package/lib/esm/index-3HeWs5rX.js.map +1 -0
  365. package/lib/esm/index-3bDzhU6z.js +759 -0
  366. package/lib/esm/index-3bDzhU6z.js.map +1 -0
  367. package/lib/esm/index-6GrVnloh.js +1027 -0
  368. package/lib/esm/index-6GrVnloh.js.map +1 -0
  369. package/lib/esm/index-8QJbxTYk.js +1145 -0
  370. package/lib/esm/index-8QJbxTYk.js.map +1 -0
  371. package/lib/esm/index-9w_hdnvb.js +532 -0
  372. package/lib/esm/index-9w_hdnvb.js.map +1 -0
  373. package/lib/esm/index-A83StUe6.js +174 -0
  374. package/lib/esm/index-A83StUe6.js.map +1 -0
  375. package/lib/esm/index-AOoFzBaK.js +53 -0
  376. package/lib/esm/index-AOoFzBaK.js.map +1 -0
  377. package/lib/esm/index-DS7Z4Ach.js +686 -0
  378. package/lib/esm/index-DS7Z4Ach.js.map +1 -0
  379. package/lib/esm/index-Jvxff1vU.js +16 -0
  380. package/lib/esm/index-Jvxff1vU.js.map +1 -0
  381. package/lib/esm/index-LAdX6LsO.js +33805 -0
  382. package/lib/esm/index-LAdX6LsO.js.map +1 -0
  383. package/lib/esm/index-MB6wQe1U.js +74 -0
  384. package/lib/esm/index-MB6wQe1U.js.map +1 -0
  385. package/lib/esm/index-MxgqkRtj.js +125 -0
  386. package/lib/esm/index-MxgqkRtj.js.map +1 -0
  387. package/lib/esm/index-NZ5-xr5_.js +351 -0
  388. package/lib/esm/index-NZ5-xr5_.js.map +1 -0
  389. package/lib/esm/index-OpUb5xP6.js +1872 -0
  390. package/lib/esm/index-OpUb5xP6.js.map +1 -0
  391. package/lib/esm/index-SDPCpsD5.js +461 -0
  392. package/lib/esm/index-SDPCpsD5.js.map +1 -0
  393. package/lib/esm/index-VP76m4nW.js +157 -0
  394. package/lib/esm/index-VP76m4nW.js.map +1 -0
  395. package/lib/esm/index-Vl0W0S3h.js +259 -0
  396. package/lib/esm/index-Vl0W0S3h.js.map +1 -0
  397. package/lib/esm/index-VoX_n1l_.js +1038 -0
  398. package/lib/esm/index-VoX_n1l_.js.map +1 -0
  399. package/lib/esm/index-XH7OnwZl.js +527 -0
  400. package/lib/esm/index-XH7OnwZl.js.map +1 -0
  401. package/lib/esm/index-Yuj7sNhQ.js +105 -0
  402. package/lib/esm/index-Yuj7sNhQ.js.map +1 -0
  403. package/lib/esm/index-_4fWmRbN.js +206 -0
  404. package/lib/esm/index-_4fWmRbN.js.map +1 -0
  405. package/lib/esm/index-bexsWrgs.js +153 -0
  406. package/lib/esm/index-bexsWrgs.js.map +1 -0
  407. package/lib/esm/index-chrnjY1D.js +470 -0
  408. package/lib/esm/index-chrnjY1D.js.map +1 -0
  409. package/lib/esm/index-eqd5wtjX.js +393 -0
  410. package/lib/esm/index-eqd5wtjX.js.map +1 -0
  411. package/lib/esm/index-g_3dzLYU.js +200 -0
  412. package/lib/esm/index-g_3dzLYU.js.map +1 -0
  413. package/lib/esm/index-grT-Kuf2.js +78 -0
  414. package/lib/esm/index-grT-Kuf2.js.map +1 -0
  415. package/lib/esm/index-hF04phbf.js +189 -0
  416. package/lib/esm/index-hF04phbf.js.map +1 -0
  417. package/lib/esm/index-i79QMXpJ.js +25654 -0
  418. package/lib/esm/index-i79QMXpJ.js.map +1 -0
  419. package/lib/esm/index-rvOBAXap.js +2512 -0
  420. package/lib/esm/index-rvOBAXap.js.map +1 -0
  421. package/lib/esm/index-uP9BKsTM.js +446 -0
  422. package/lib/esm/index-uP9BKsTM.js.map +1 -0
  423. package/lib/esm/index-ueQQMSgm.js +1351 -0
  424. package/lib/esm/index-ueQQMSgm.js.map +1 -0
  425. package/lib/esm/index-x8SyiPMC.js +401 -0
  426. package/lib/esm/index-x8SyiPMC.js.map +1 -0
  427. package/lib/esm/index-zrQXXSXm.js +115 -0
  428. package/lib/esm/index-zrQXXSXm.js.map +1 -0
  429. package/lib/esm/index.js +13 -0
  430. package/lib/esm/index.js.map +1 -0
  431. package/lib/esm/javascript-TMTz-YQH.js +923 -0
  432. package/lib/esm/javascript-TMTz-YQH.js.map +1 -0
  433. package/lib/esm/jinja2-sRIdliZK.js +172 -0
  434. package/lib/esm/jinja2-sRIdliZK.js.map +1 -0
  435. package/lib/esm/julia-fK0wmpGL.js +370 -0
  436. package/lib/esm/julia-fK0wmpGL.js.map +1 -0
  437. package/lib/esm/livescript-FRbAot3D.js +260 -0
  438. package/lib/esm/livescript-FRbAot3D.js.map +1 -0
  439. package/lib/esm/lua-t4FHEjvK.js +138 -0
  440. package/lib/esm/lua-t4FHEjvK.js.map +1 -0
  441. package/lib/esm/mathematica-sn_KGlYj.js +154 -0
  442. package/lib/esm/mathematica-sn_KGlYj.js.map +1 -0
  443. package/lib/esm/mbox-KvVC319E.js +115 -0
  444. package/lib/esm/mbox-KvVC319E.js.map +1 -0
  445. package/lib/esm/mirc-PzJ0zKSk.js +177 -0
  446. package/lib/esm/mirc-PzJ0zKSk.js.map +1 -0
  447. package/lib/esm/mllike-ZK411xkN.js +347 -0
  448. package/lib/esm/mllike-ZK411xkN.js.map +1 -0
  449. package/lib/esm/modelica-ZaHlRCbp.js +193 -0
  450. package/lib/esm/modelica-ZaHlRCbp.js.map +1 -0
  451. package/lib/esm/mscgen-Kkq4o4Zm.js +150 -0
  452. package/lib/esm/mscgen-Kkq4o4Zm.js.map +1 -0
  453. package/lib/esm/mumps-M8a87-rl.js +130 -0
  454. package/lib/esm/mumps-M8a87-rl.js.map +1 -0
  455. package/lib/esm/nginx-2LJIX23E.js +164 -0
  456. package/lib/esm/nginx-2LJIX23E.js.map +1 -0
  457. package/lib/esm/nsis-zvfFgMLi.js +81 -0
  458. package/lib/esm/nsis-zvfFgMLi.js.map +1 -0
  459. package/lib/esm/ntriples-tVkHy5bk.js +142 -0
  460. package/lib/esm/ntriples-tVkHy5bk.js.map +1 -0
  461. package/lib/esm/octave-mE4T5MF5.js +113 -0
  462. package/lib/esm/octave-mE4T5MF5.js.map +1 -0
  463. package/lib/esm/oz-q-LCsuVg.js +236 -0
  464. package/lib/esm/oz-q-LCsuVg.js.map +1 -0
  465. package/lib/esm/pascal-0IgUAn4C.js +125 -0
  466. package/lib/esm/pascal-0IgUAn4C.js.map +1 -0
  467. package/lib/esm/perl-AqxdYGac.js +820 -0
  468. package/lib/esm/perl-AqxdYGac.js.map +1 -0
  469. package/lib/esm/pig-ESM-IjQj.js +150 -0
  470. package/lib/esm/pig-ESM-IjQj.js.map +1 -0
  471. package/lib/esm/powershell-CLFP0L55.js +382 -0
  472. package/lib/esm/powershell-CLFP0L55.js.map +1 -0
  473. package/lib/esm/properties-oWHNzvb9.js +63 -0
  474. package/lib/esm/properties-oWHNzvb9.js.map +1 -0
  475. package/lib/esm/protobuf-c7eMmdcc.js +55 -0
  476. package/lib/esm/protobuf-c7eMmdcc.js.map +1 -0
  477. package/lib/esm/puppet-FjzvdRJr.js +206 -0
  478. package/lib/esm/puppet-FjzvdRJr.js.map +1 -0
  479. package/lib/esm/python-3Pv0tnvt.js +390 -0
  480. package/lib/esm/python-3Pv0tnvt.js.map +1 -0
  481. package/lib/esm/q-IImW8da6.js +124 -0
  482. package/lib/esm/q-IImW8da6.js.map +1 -0
  483. package/lib/esm/r-CnEkTvR0.js +175 -0
  484. package/lib/esm/r-CnEkTvR0.js.map +1 -0
  485. package/lib/esm/rpm-Q55-fEHj.js +90 -0
  486. package/lib/esm/rpm-Q55-fEHj.js.map +1 -0
  487. package/lib/esm/ruby-zhaGB3Kh.js +288 -0
  488. package/lib/esm/ruby-zhaGB3Kh.js.map +1 -0
  489. package/lib/esm/sas-Ur9jZIOV.js +269 -0
  490. package/lib/esm/sas-Ur9jZIOV.js.map +1 -0
  491. package/lib/esm/schema-JWJqD9qa.js +71 -0
  492. package/lib/esm/schema-JWJqD9qa.js.map +1 -0
  493. package/lib/esm/scheme-daT5-Rya.js +264 -0
  494. package/lib/esm/scheme-daT5-Rya.js.map +1 -0
  495. package/lib/esm/shell-cwFL0AYP.js +146 -0
  496. package/lib/esm/shell-cwFL0AYP.js.map +1 -0
  497. package/lib/esm/sieve-MlNXFFUq.js +179 -0
  498. package/lib/esm/sieve-MlNXFFUq.js.map +1 -0
  499. package/lib/esm/simple-mode-m1rsX7Gw.js +136 -0
  500. package/lib/esm/simple-mode-m1rsX7Gw.js.map +1 -0
  501. package/lib/esm/smalltalk-xrQICp9e.js +154 -0
  502. package/lib/esm/smalltalk-xrQICp9e.js.map +1 -0
  503. package/lib/esm/solr-PU3oPgQz.js +81 -0
  504. package/lib/esm/solr-PU3oPgQz.js.map +1 -0
  505. package/lib/esm/sparql--u8NRBii.js +171 -0
  506. package/lib/esm/sparql--u8NRBii.js.map +1 -0
  507. package/lib/esm/spreadsheet-QCp0LifX.js +99 -0
  508. package/lib/esm/spreadsheet-QCp0LifX.js.map +1 -0
  509. package/lib/esm/sql-dsGfl64h.js +482 -0
  510. package/lib/esm/sql-dsGfl64h.js.map +1 -0
  511. package/lib/esm/stex-WcLBzvkD.js +247 -0
  512. package/lib/esm/stex-WcLBzvkD.js.map +1 -0
  513. package/lib/esm/stylus--A5XAqOX.js +751 -0
  514. package/lib/esm/stylus--A5XAqOX.js.map +1 -0
  515. package/lib/esm/swift-qAm73i7G.js +203 -0
  516. package/lib/esm/swift-qAm73i7G.js.map +1 -0
  517. package/lib/esm/tcl-Kdc7qxc-.js +126 -0
  518. package/lib/esm/tcl-Kdc7qxc-.js.map +1 -0
  519. package/lib/esm/textile--sz8UrIz.js +442 -0
  520. package/lib/esm/textile--sz8UrIz.js.map +1 -0
  521. package/lib/esm/tiddlywiki-xNXTeBlQ.js +279 -0
  522. package/lib/esm/tiddlywiki-xNXTeBlQ.js.map +1 -0
  523. package/lib/esm/tiki-LCXjrNH3.js +290 -0
  524. package/lib/esm/tiki-LCXjrNH3.js.map +1 -0
  525. package/lib/esm/todoList-M-PGJKde.js +378 -0
  526. package/lib/esm/todoList-M-PGJKde.js.map +1 -0
  527. package/lib/esm/toml-Ac4tlBMn.js +76 -0
  528. package/lib/esm/toml-Ac4tlBMn.js.map +1 -0
  529. package/lib/esm/tooltip-plugin-iw2EQWIG.js +185 -0
  530. package/lib/esm/tooltip-plugin-iw2EQWIG.js.map +1 -0
  531. package/lib/esm/troff-LLW1x1Yz.js +65 -0
  532. package/lib/esm/troff-LLW1x1Yz.js.map +1 -0
  533. package/lib/esm/ttcn-ZYZ9FS3u.js +258 -0
  534. package/lib/esm/ttcn-ZYZ9FS3u.js.map +1 -0
  535. package/lib/esm/ttcn-cfg-qsvf3MfB.js +202 -0
  536. package/lib/esm/ttcn-cfg-qsvf3MfB.js.map +1 -0
  537. package/lib/esm/turtle-wq3TqOth.js +142 -0
  538. package/lib/esm/turtle-wq3TqOth.js.map +1 -0
  539. package/lib/esm/vb-86M_JuNP.js +250 -0
  540. package/lib/esm/vb-86M_JuNP.js.map +1 -0
  541. package/lib/esm/vbscript-GueAeVug.js +321 -0
  542. package/lib/esm/vbscript-GueAeVug.js.map +1 -0
  543. package/lib/esm/velocity-7PW9GXO2.js +187 -0
  544. package/lib/esm/velocity-7PW9GXO2.js.map +1 -0
  545. package/lib/esm/verilog-PXtXH14C.js +566 -0
  546. package/lib/esm/verilog-PXtXH14C.js.map +1 -0
  547. package/lib/esm/vhdl-I8eyK83X.js +175 -0
  548. package/lib/esm/vhdl-I8eyK83X.js.map +1 -0
  549. package/lib/esm/webidl-1f8ATJ66.js +180 -0
  550. package/lib/esm/webidl-1f8ATJ66.js.map +1 -0
  551. package/lib/esm/xquery-IYp28Wx6.js +426 -0
  552. package/lib/esm/xquery-IYp28Wx6.js.map +1 -0
  553. package/lib/esm/yacas-wkENB05f.js +183 -0
  554. package/lib/esm/yacas-wkENB05f.js.map +1 -0
  555. package/lib/esm/z80-GaXiLdiV.js +103 -0
  556. package/lib/esm/z80-GaXiLdiV.js.map +1 -0
  557. package/lib/theme/_internal/classic-common.css +257 -0
  558. package/lib/theme/common/block-edit.css +120 -0
  559. package/lib/theme/common/code-mirror.css +192 -0
  560. package/lib/theme/common/cursor.css +13 -0
  561. package/lib/theme/common/image-block.css +364 -0
  562. package/lib/theme/common/link-tooltip.css +102 -0
  563. package/lib/theme/common/list-item.css +49 -0
  564. package/lib/theme/common/placeholder.css +7 -0
  565. package/lib/theme/common/prosemirror.css +1 -0
  566. package/lib/theme/common/style.css +10 -0
  567. package/lib/theme/common/table.css +217 -0
  568. package/lib/theme/common/toolbar.css +41 -0
  569. package/lib/theme/crepe/style.css +28 -0
  570. package/lib/theme/crepe-dark/style.css +28 -0
  571. package/lib/theme/frame/style.css +28 -0
  572. package/lib/theme/frame-dark/style.css +28 -0
  573. package/lib/theme/nord/style.css +28 -0
  574. package/lib/theme/nord-dark/style.css +28 -0
  575. package/lib/types/core/crepe.d.ts +21 -0
  576. package/lib/types/core/crepe.d.ts.map +1 -0
  577. package/lib/types/core/index.d.ts +2 -0
  578. package/lib/types/core/index.d.ts.map +1 -0
  579. package/lib/types/core/slice.d.ts +5 -0
  580. package/lib/types/core/slice.d.ts.map +1 -0
  581. package/lib/types/feature/block-edit/handle/component.d.ts +12 -0
  582. package/lib/types/feature/block-edit/handle/component.d.ts.map +1 -0
  583. package/lib/types/feature/block-edit/handle/index.d.ts +12 -0
  584. package/lib/types/feature/block-edit/handle/index.d.ts.map +1 -0
  585. package/lib/types/feature/block-edit/index.d.ts +44 -0
  586. package/lib/types/feature/block-edit/index.d.ts.map +1 -0
  587. package/lib/types/feature/block-edit/menu/component.d.ts +16 -0
  588. package/lib/types/feature/block-edit/menu/component.d.ts.map +1 -0
  589. package/lib/types/feature/block-edit/menu/config.d.ts +12 -0
  590. package/lib/types/feature/block-edit/menu/config.d.ts.map +1 -0
  591. package/lib/types/feature/block-edit/menu/group-builder.d.ts +29 -0
  592. package/lib/types/feature/block-edit/menu/group-builder.d.ts.map +1 -0
  593. package/lib/types/feature/block-edit/menu/index.d.ts +10 -0
  594. package/lib/types/feature/block-edit/menu/index.d.ts.map +1 -0
  595. package/lib/types/feature/block-edit/menu/utils.d.ts +28 -0
  596. package/lib/types/feature/block-edit/menu/utils.d.ts.map +1 -0
  597. package/lib/types/feature/code-mirror/index.d.ts +19 -0
  598. package/lib/types/feature/code-mirror/index.d.ts.map +1 -0
  599. package/lib/types/feature/cursor/index.d.ts +9 -0
  600. package/lib/types/feature/cursor/index.d.ts.map +1 -0
  601. package/lib/types/feature/image-block/index.d.ts +20 -0
  602. package/lib/types/feature/image-block/index.d.ts.map +1 -0
  603. package/lib/types/feature/index.d.ts +35 -0
  604. package/lib/types/feature/index.d.ts.map +1 -0
  605. package/lib/types/feature/link-tooltip/index.d.ts +13 -0
  606. package/lib/types/feature/link-tooltip/index.d.ts.map +1 -0
  607. package/lib/types/feature/list-item/index.d.ts +9 -0
  608. package/lib/types/feature/list-item/index.d.ts.map +1 -0
  609. package/lib/types/feature/placeholder/index.d.ts +11 -0
  610. package/lib/types/feature/placeholder/index.d.ts.map +1 -0
  611. package/lib/types/feature/shared.d.ts +5 -0
  612. package/lib/types/feature/shared.d.ts.map +1 -0
  613. package/lib/types/feature/table/index.d.ts +16 -0
  614. package/lib/types/feature/table/index.d.ts.map +1 -0
  615. package/lib/types/feature/toolbar/component.d.ts +15 -0
  616. package/lib/types/feature/toolbar/component.d.ts.map +1 -0
  617. package/lib/types/feature/toolbar/index.d.ts +12 -0
  618. package/lib/types/feature/toolbar/index.d.ts.map +1 -0
  619. package/lib/types/icons/alignCenter.d.ts +2 -0
  620. package/lib/types/icons/alignCenter.d.ts.map +1 -0
  621. package/lib/types/icons/alignLeft.d.ts +2 -0
  622. package/lib/types/icons/alignLeft.d.ts.map +1 -0
  623. package/lib/types/icons/alignRight.d.ts +2 -0
  624. package/lib/types/icons/alignRight.d.ts.map +1 -0
  625. package/lib/types/icons/bold.d.ts +2 -0
  626. package/lib/types/icons/bold.d.ts.map +1 -0
  627. package/lib/types/icons/bullet.d.ts +2 -0
  628. package/lib/types/icons/bullet.d.ts.map +1 -0
  629. package/lib/types/icons/bulletList.d.ts +2 -0
  630. package/lib/types/icons/bulletList.d.ts.map +1 -0
  631. package/lib/types/icons/caption.d.ts +2 -0
  632. package/lib/types/icons/caption.d.ts.map +1 -0
  633. package/lib/types/icons/checkBoxChecked.d.ts +2 -0
  634. package/lib/types/icons/checkBoxChecked.d.ts.map +1 -0
  635. package/lib/types/icons/checkBoxUnchecked.d.ts +2 -0
  636. package/lib/types/icons/checkBoxUnchecked.d.ts.map +1 -0
  637. package/lib/types/icons/chevronDown.d.ts +2 -0
  638. package/lib/types/icons/chevronDown.d.ts.map +1 -0
  639. package/lib/types/icons/clear.d.ts +2 -0
  640. package/lib/types/icons/clear.d.ts.map +1 -0
  641. package/lib/types/icons/code.d.ts +2 -0
  642. package/lib/types/icons/code.d.ts.map +1 -0
  643. package/lib/types/icons/confirm.d.ts +2 -0
  644. package/lib/types/icons/confirm.d.ts.map +1 -0
  645. package/lib/types/icons/divider.d.ts +2 -0
  646. package/lib/types/icons/divider.d.ts.map +1 -0
  647. package/lib/types/icons/dragHandle.d.ts +2 -0
  648. package/lib/types/icons/dragHandle.d.ts.map +1 -0
  649. package/lib/types/icons/edit.d.ts +2 -0
  650. package/lib/types/icons/edit.d.ts.map +1 -0
  651. package/lib/types/icons/h1.d.ts +2 -0
  652. package/lib/types/icons/h1.d.ts.map +1 -0
  653. package/lib/types/icons/h2.d.ts +2 -0
  654. package/lib/types/icons/h2.d.ts.map +1 -0
  655. package/lib/types/icons/h3.d.ts +2 -0
  656. package/lib/types/icons/h3.d.ts.map +1 -0
  657. package/lib/types/icons/h4.d.ts +2 -0
  658. package/lib/types/icons/h4.d.ts.map +1 -0
  659. package/lib/types/icons/h5.d.ts +2 -0
  660. package/lib/types/icons/h5.d.ts.map +1 -0
  661. package/lib/types/icons/h6.d.ts +2 -0
  662. package/lib/types/icons/h6.d.ts.map +1 -0
  663. package/lib/types/icons/image.d.ts +2 -0
  664. package/lib/types/icons/image.d.ts.map +1 -0
  665. package/lib/types/icons/index.d.ts +36 -0
  666. package/lib/types/icons/index.d.ts.map +1 -0
  667. package/lib/types/icons/italic.d.ts +2 -0
  668. package/lib/types/icons/italic.d.ts.map +1 -0
  669. package/lib/types/icons/link.d.ts +2 -0
  670. package/lib/types/icons/link.d.ts.map +1 -0
  671. package/lib/types/icons/menu.d.ts +2 -0
  672. package/lib/types/icons/menu.d.ts.map +1 -0
  673. package/lib/types/icons/orderedList.d.ts +2 -0
  674. package/lib/types/icons/orderedList.d.ts.map +1 -0
  675. package/lib/types/icons/plus.d.ts +2 -0
  676. package/lib/types/icons/plus.d.ts.map +1 -0
  677. package/lib/types/icons/quote.d.ts +2 -0
  678. package/lib/types/icons/quote.d.ts.map +1 -0
  679. package/lib/types/icons/remove.d.ts +2 -0
  680. package/lib/types/icons/remove.d.ts.map +1 -0
  681. package/lib/types/icons/search.d.ts +2 -0
  682. package/lib/types/icons/search.d.ts.map +1 -0
  683. package/lib/types/icons/strikethrough.d.ts +2 -0
  684. package/lib/types/icons/strikethrough.d.ts.map +1 -0
  685. package/lib/types/icons/table.d.ts +2 -0
  686. package/lib/types/icons/table.d.ts.map +1 -0
  687. package/lib/types/icons/text.d.ts +2 -0
  688. package/lib/types/icons/text.d.ts.map +1 -0
  689. package/lib/types/icons/todoList.d.ts +2 -0
  690. package/lib/types/icons/todoList.d.ts.map +1 -0
  691. package/lib/types/index.d.ts +3 -0
  692. package/lib/types/index.d.ts.map +1 -0
  693. package/lib/types/utils/index.d.ts +5 -0
  694. package/lib/types/utils/index.d.ts.map +1 -0
  695. package/package.json +25 -31
  696. package/src/core/crepe.ts +17 -17
  697. package/src/core/index.ts +0 -3
  698. package/src/core/slice.ts +2 -35
  699. package/src/feature/block-edit/handle/component.ts +13 -30
  700. package/src/feature/block-edit/handle/index.ts +39 -33
  701. package/src/feature/block-edit/index.ts +50 -9
  702. package/src/feature/block-edit/menu/component.ts +19 -12
  703. package/src/feature/block-edit/menu/config.ts +203 -275
  704. package/src/feature/block-edit/menu/group-builder.ts +50 -0
  705. package/src/feature/block-edit/menu/index.ts +20 -21
  706. package/src/feature/block-edit/menu/utils.ts +89 -0
  707. package/src/feature/code-mirror/index.ts +47 -47
  708. package/src/feature/cursor/index.ts +21 -0
  709. package/src/feature/image-block/index.ts +34 -45
  710. package/src/feature/index.ts +28 -7
  711. package/src/feature/link-tooltip/index.ts +23 -14
  712. package/src/feature/list-item/index.ts +22 -14
  713. package/src/feature/placeholder/index.ts +12 -11
  714. package/src/feature/shared.ts +5 -3
  715. package/src/feature/table/index.ts +54 -0
  716. package/src/feature/toolbar/component.ts +29 -12
  717. package/src/feature/toolbar/index.ts +31 -25
  718. package/src/icons/alignCenter.ts +7 -0
  719. package/src/icons/alignLeft.ts +7 -0
  720. package/src/icons/alignRight.ts +7 -0
  721. package/src/icons/bold.ts +7 -0
  722. package/src/icons/bullet.ts +14 -0
  723. package/src/icons/bulletList.ts +14 -0
  724. package/src/icons/caption.ts +7 -0
  725. package/src/icons/checkBoxChecked.ts +14 -0
  726. package/src/icons/checkBoxUnchecked.ts +14 -0
  727. package/src/icons/chevronDown.ts +7 -0
  728. package/src/icons/clear.ts +14 -0
  729. package/src/icons/code.ts +14 -0
  730. package/src/icons/confirm.ts +14 -0
  731. package/src/icons/divider.ts +14 -0
  732. package/src/icons/dragHandle.ts +7 -0
  733. package/src/icons/edit.ts +14 -0
  734. package/src/icons/h1.ts +14 -0
  735. package/src/icons/h2.ts +14 -0
  736. package/src/icons/h3.ts +14 -0
  737. package/src/icons/h4.ts +14 -0
  738. package/src/icons/h5.ts +14 -0
  739. package/src/icons/h6.ts +14 -0
  740. package/src/icons/image.ts +14 -0
  741. package/src/icons/index.ts +35 -0
  742. package/src/icons/italic.ts +7 -0
  743. package/src/icons/link.ts +7 -0
  744. package/src/icons/menu.ts +14 -0
  745. package/src/icons/orderedList.ts +14 -0
  746. package/src/icons/plus.ts +14 -0
  747. package/src/icons/quote.ts +14 -0
  748. package/src/icons/remove.ts +7 -0
  749. package/src/icons/search.ts +7 -0
  750. package/src/icons/strikethrough.ts +7 -0
  751. package/src/icons/table.ts +14 -0
  752. package/src/icons/text.ts +14 -0
  753. package/src/icons/todoList.ts +7 -0
  754. package/src/index.ts +0 -3
  755. package/src/theme/_internal/classic-common.css +220 -0
  756. package/src/theme/common/block-edit.css +138 -0
  757. package/src/theme/common/code-mirror.css +189 -0
  758. package/src/theme/common/cursor.css +15 -0
  759. package/src/theme/common/image-block.css +381 -0
  760. package/src/theme/common/link-tooltip.css +112 -0
  761. package/src/theme/common/list-item.css +43 -0
  762. package/src/theme/common/prosemirror.css +1 -0
  763. package/src/theme/common/style.css +10 -0
  764. package/src/theme/common/table.css +204 -0
  765. package/src/theme/common/toolbar.css +51 -0
  766. package/src/theme/crepe/style.css +28 -0
  767. package/src/theme/crepe-dark/style.css +28 -0
  768. package/src/theme/frame/style.css +28 -0
  769. package/src/theme/frame-dark/style.css +28 -0
  770. package/src/theme/nord/style.css +28 -0
  771. package/src/theme/nord-dark/style.css +28 -0
  772. package/src/utils/index.ts +6 -2
  773. package/src/vite-env.d.ts +0 -1
  774. package/lib/apl-p0IPP13W.js +0 -76
  775. package/lib/asciiarmor-lJsBxlJJ.js +0 -34
  776. package/lib/asn1-Q9v1zIy5.js +0 -102
  777. package/lib/asterisk-foNkeTjy.js +0 -273
  778. package/lib/brainfuck-0XqyXpNS.js +0 -35
  779. package/lib/clike-ak6Z6Yhe.js +0 -639
  780. package/lib/clojure-iYO8U8Sg.js +0 -810
  781. package/lib/clsx-7d8NmkQq.js +0 -21
  782. package/lib/cmake-SVzjkxV_.js +0 -28
  783. package/lib/cobol-APHEnAOX.js +0 -74
  784. package/lib/coffeescript-KqQa0SYG.js +0 -182
  785. package/lib/commonlisp-bwqNqR5V.js +0 -79
  786. package/lib/core/crepe.d.ts +0 -21
  787. package/lib/core/crepe.d.ts.map +0 -1
  788. package/lib/core/index.d.ts +0 -3
  789. package/lib/core/index.d.ts.map +0 -1
  790. package/lib/core/slice.d.ts +0 -12
  791. package/lib/core/slice.d.ts.map +0 -1
  792. package/lib/crystal-BViWuDpA.js +0 -217
  793. package/lib/css-KHXHXfXg.js +0 -1572
  794. package/lib/cypher-XpTt4zQ3.js +0 -69
  795. package/lib/d-fLig6yqY.js +0 -139
  796. package/lib/diff-WoKGLpy6.js +0 -18
  797. package/lib/dockerfile-u6f6Vw2s.js +0 -194
  798. package/lib/dtd-SIJRUW6K.js +0 -91
  799. package/lib/dylan-4HCLhpWP.js +0 -238
  800. package/lib/ebnf-h_0lged5.js +0 -77
  801. package/lib/ecl-Lf4FF0lf.js +0 -133
  802. package/lib/eiffel-qlw8KUyf.js +0 -112
  803. package/lib/elm-QRnB3zXs.js +0 -108
  804. package/lib/erlang-fyVKb7eK.js +0 -488
  805. package/lib/factor-BEeN4upY.js +0 -65
  806. package/lib/fcl-lRek3hEb.js +0 -106
  807. package/lib/feature/block-edit/handle/component.d.ts +0 -9
  808. package/lib/feature/block-edit/handle/component.d.ts.map +0 -1
  809. package/lib/feature/block-edit/handle/index.d.ts +0 -12
  810. package/lib/feature/block-edit/handle/index.d.ts.map +0 -1
  811. package/lib/feature/block-edit/index.d.ts +0 -3
  812. package/lib/feature/block-edit/index.d.ts.map +0 -1
  813. package/lib/feature/block-edit/menu/component.d.ts +0 -14
  814. package/lib/feature/block-edit/menu/component.d.ts.map +0 -1
  815. package/lib/feature/block-edit/menu/config.d.ts +0 -21
  816. package/lib/feature/block-edit/menu/config.d.ts.map +0 -1
  817. package/lib/feature/block-edit/menu/icons.d.ts +0 -14
  818. package/lib/feature/block-edit/menu/icons.d.ts.map +0 -1
  819. package/lib/feature/block-edit/menu/index.d.ts +0 -9
  820. package/lib/feature/block-edit/menu/index.d.ts.map +0 -1
  821. package/lib/feature/code-mirror/index.d.ts +0 -3
  822. package/lib/feature/code-mirror/index.d.ts.map +0 -1
  823. package/lib/feature/gap-cursor/index.d.ts +0 -3
  824. package/lib/feature/gap-cursor/index.d.ts.map +0 -1
  825. package/lib/feature/image-block/index.d.ts +0 -3
  826. package/lib/feature/image-block/index.d.ts.map +0 -1
  827. package/lib/feature/index.d.ts +0 -18
  828. package/lib/feature/index.d.ts.map +0 -1
  829. package/lib/feature/link-tooltip/consts.d.ts +0 -5
  830. package/lib/feature/link-tooltip/consts.d.ts.map +0 -1
  831. package/lib/feature/link-tooltip/index.d.ts +0 -3
  832. package/lib/feature/link-tooltip/index.d.ts.map +0 -1
  833. package/lib/feature/list-item/consts.d.ts +0 -2
  834. package/lib/feature/list-item/consts.d.ts.map +0 -1
  835. package/lib/feature/list-item/index.d.ts +0 -3
  836. package/lib/feature/list-item/index.d.ts.map +0 -1
  837. package/lib/feature/placeholder/index.d.ts +0 -10
  838. package/lib/feature/placeholder/index.d.ts.map +0 -1
  839. package/lib/feature/shared.d.ts +0 -3
  840. package/lib/feature/shared.d.ts.map +0 -1
  841. package/lib/feature/toolbar/component.d.ts +0 -13
  842. package/lib/feature/toolbar/component.d.ts.map +0 -1
  843. package/lib/feature/toolbar/consts.d.ts +0 -5
  844. package/lib/feature/toolbar/consts.d.ts.map +0 -1
  845. package/lib/feature/toolbar/index.d.ts +0 -3
  846. package/lib/feature/toolbar/index.d.ts.map +0 -1
  847. package/lib/forth-ua2bRd8T.js +0 -60
  848. package/lib/fortran-WnF7znuN.js +0 -443
  849. package/lib/gas-wowve1o7.js +0 -183
  850. package/lib/gherkin-m7GIChu3.js +0 -34
  851. package/lib/go-th443Dhb.js +0 -158
  852. package/lib/groovy-tR4RiZnc.js +0 -161
  853. package/lib/haskell-jxVBofv5.js +0 -375
  854. package/lib/haxe-kWPI2tq3.js +0 -390
  855. package/lib/hooks-82sqkbtE.js +0 -21
  856. package/lib/http-3GIFWUlG.js +0 -45
  857. package/lib/icons-HYkfuR-O.js +0 -50
  858. package/lib/idl-PvpMZg-l.js +0 -947
  859. package/lib/index-BSv6537G.js +0 -364
  860. package/lib/index-BoI246Ti.js +0 -507
  861. package/lib/index-DDSXiQ90.js +0 -552
  862. package/lib/index-ECCvmC6D.js +0 -1301
  863. package/lib/index-EI1FcaSv.js +0 -928
  864. package/lib/index-ESoQGvsE.js +0 -288
  865. package/lib/index-GOH7H2i9.js +0 -81
  866. package/lib/index-GjFRg3RJ.js +0 -8
  867. package/lib/index-GzVCh3P9.js +0 -353
  868. package/lib/index-KCykNSJx.js +0 -323
  869. package/lib/index-Ls2I7eOW.js +0 -20986
  870. package/lib/index-P4-KqpEN.js +0 -275
  871. package/lib/index-Qcks_HSE.js +0 -984
  872. package/lib/index-RKThEh9x.js +0 -517
  873. package/lib/index-UqF8o9eD.js +0 -19665
  874. package/lib/index-_VrGF4z-.js +0 -47
  875. package/lib/index-cteyPSwp.js +0 -83
  876. package/lib/index-f0pbmfJP.js +0 -64
  877. package/lib/index-gMYRN2wV.js +0 -107
  878. package/lib/index-jZuF1Iix.js +0 -146
  879. package/lib/index-kyD7hUif.js +0 -141
  880. package/lib/index-oszOFbwW.js +0 -1041
  881. package/lib/index-pC1MPpe2.js +0 -1744
  882. package/lib/index-q3iu4cef.js +0 -78
  883. package/lib/index-qMeqmZtK.js +0 -168
  884. package/lib/index-rs4SJ8Gd.js +0 -253
  885. package/lib/index-w-CiezW1.js +0 -135
  886. package/lib/index-x6C6leag.js +0 -99
  887. package/lib/index-xHADmDT3.js +0 -12
  888. package/lib/index-xa7wUurf.js +0 -8
  889. package/lib/index-xjkoF_Bn.js +0 -317
  890. package/lib/index-yrfirMbY.js +0 -551
  891. package/lib/index-zNGl_CdN.js +0 -8
  892. package/lib/index-zc51oyS8.js +0 -121
  893. package/lib/index.d.ts +0 -4
  894. package/lib/index.d.ts.map +0 -1
  895. package/lib/index.es.js +0 -7
  896. package/lib/javascript-8ZHqHagw.js +0 -758
  897. package/lib/jinja2-vsOFe0qD.js +0 -154
  898. package/lib/julia-dlp_pbN1.js +0 -241
  899. package/lib/livescript-Gf5R-LT6.js +0 -273
  900. package/lib/lua-c5Y_JsBp.js +0 -221
  901. package/lib/mathematica-iiGTGmUs.js +0 -35
  902. package/lib/mbox-ZJh86H8B.js +0 -78
  903. package/lib/meta-tAGyVRPE.js +0 -511
  904. package/lib/mirc-i0qkCa0y.js +0 -73
  905. package/lib/mllike-Dy551fZW.js +0 -275
  906. package/lib/modelica-n6tGqUT9.js +0 -94
  907. package/lib/mscgen-aKSbB7D9.js +0 -104
  908. package/lib/mumps-lNiKA6sp.js +0 -25
  909. package/lib/nginx--YmuCfDj.js +0 -93
  910. package/lib/nsis-zhS8iA09.js +0 -62
  911. package/lib/ntriples-E3jQl3MC.js +0 -79
  912. package/lib/octave-EQvkGIeG.js +0 -144
  913. package/lib/oz-W2cpqFf6.js +0 -152
  914. package/lib/pascal-lCh6ouNZ.js +0 -79
  915. package/lib/perl-PxEQBX0B.js +0 -915
  916. package/lib/pig-Y_bNcrzS.js +0 -56
  917. package/lib/powershell-GaQP-TZr.js +0 -249
  918. package/lib/properties-mbRyn54L.js +0 -26
  919. package/lib/prosemirror-noTDkx-k.js +0 -4
  920. package/lib/protobuf-8CJideyJ.js +0 -49
  921. package/lib/puppet-ABBaChNZ.js +0 -45
  922. package/lib/python-sKdHg3Ka.js +0 -321
  923. package/lib/q-_1yG40Nm.js +0 -89
  924. package/lib/r-Ziz56bHT.js +0 -108
  925. package/lib/rpm-ORjGOHaQ.js +0 -57
  926. package/lib/ruby-jlbYq0dT.js +0 -233
  927. package/lib/sas-2n7xeUuO.js +0 -107
  928. package/lib/schema-ywm7RaKF.js +0 -62
  929. package/lib/scheme-XCs-NPeU.js +0 -126
  930. package/lib/shell-0_1Um7Dq.js +0 -184
  931. package/lib/sieve-7uyJD1x1.js +0 -73
  932. package/lib/simple-mode--HIzBxba.js +0 -95
  933. package/lib/smalltalk-PEFzrlQ-.js +0 -48
  934. package/lib/solr-BLBaHahN.js +0 -41
  935. package/lib/sparql-4F9ZWf1b.js +0 -204
  936. package/lib/spreadsheet-SGSo6blj.js +0 -49
  937. package/lib/sql-tebLBzN0.js +0 -291
  938. package/lib/stex-SFJcFGOO.js +0 -130
  939. package/lib/stylus-rwwWYWFm.js +0 -256
  940. package/lib/swift-eorJ0tCv.js +0 -238
  941. package/lib/tcl-IwXMB8U4.js +0 -82
  942. package/lib/textile-ok2VyjwC.js +0 -299
  943. package/lib/theme/classic/index.d.ts +0 -3
  944. package/lib/theme/classic/index.d.ts.map +0 -1
  945. package/lib/theme/classic-dark/index.d.ts +0 -3
  946. package/lib/theme/classic-dark/index.d.ts.map +0 -1
  947. package/lib/theme/headless/index.d.ts +0 -3
  948. package/lib/theme/headless/index.d.ts.map +0 -1
  949. package/lib/theme/index.d.ts +0 -8
  950. package/lib/theme/index.d.ts.map +0 -1
  951. package/lib/theme/shared.d.ts +0 -3
  952. package/lib/theme/shared.d.ts.map +0 -1
  953. package/lib/tiddlywiki-DLhz8_pc.js +0 -156
  954. package/lib/tiki-DFAqFElY.js +0 -183
  955. package/lib/tippy.esm-4ny8MQOF.js +0 -1813
  956. package/lib/toml-ryxpTZEV.js +0 -49
  957. package/lib/tooltip-plugin-NpyG8C5u.js +0 -122
  958. package/lib/troff-ZzZyvNct.js +0 -36
  959. package/lib/ttcn-6gvkqqpW.js +0 -136
  960. package/lib/ttcn-cfg-oSu-Dq5C.js +0 -98
  961. package/lib/turtle-10ofr5au.js +0 -87
  962. package/lib/utils/index.d.ts +0 -4
  963. package/lib/utils/index.d.ts.map +0 -1
  964. package/lib/vb-a6n6fzrD.js +0 -74
  965. package/lib/vbscript-dgvo8jPt.js +0 -324
  966. package/lib/velocity-CBncCrwO.js +0 -97
  967. package/lib/verilog-KlcACt6C.js +0 -271
  968. package/lib/vhdl-NMd7Gf35.js +0 -117
  969. package/lib/webidl-z1UE5DN_.js +0 -160
  970. package/lib/xquery-hDt5jWTp.js +0 -431
  971. package/lib/yacas-ftgh_qwr.js +0 -74
  972. package/lib/z80-dA1PqWe1.js +0 -62
  973. package/src/feature/block-edit/menu/icons.ts +0 -171
  974. package/src/feature/block-edit/style.css +0 -126
  975. package/src/feature/code-mirror/style.css +0 -159
  976. package/src/feature/gap-cursor/index.ts +0 -31
  977. package/src/feature/image-block/style.css +0 -215
  978. package/src/feature/link-tooltip/consts.ts +0 -47
  979. package/src/feature/link-tooltip/style.css +0 -107
  980. package/src/feature/list-item/consts.ts +0 -15
  981. package/src/feature/list-item/style.css +0 -23
  982. package/src/feature/toolbar/consts.ts +0 -26
  983. package/src/feature/toolbar/style.css +0 -37
  984. package/src/theme/classic/index.ts +0 -12
  985. package/src/theme/classic/style.css +0 -192
  986. package/src/theme/classic-dark/index.ts +0 -12
  987. package/src/theme/classic-dark/style.css +0 -197
  988. package/src/theme/headless/index.ts +0 -9
  989. package/src/theme/index.ts +0 -26
  990. package/src/theme/shared.ts +0 -4
  991. /package/src/{feature/placeholder/style.css → theme/common/placeholder.css} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-crv_k6dv.js","sources":["../../../plugins/plugin-block/src/__internal__/with-meta.ts","../../../plugins/plugin-block/src/block-config.ts","../../../plugins/plugin-block/src/__internal__/select-node-by-dom.ts","../../../plugins/plugin-block/src/__internal__/serialize-for-clipboard.ts","../../../plugins/plugin-block/src/block-service.ts","../../../plugins/plugin-block/src/block-plugin.ts","../../../plugins/plugin-block/src/block-provider.ts","../../../plugins/plugin-block/src/index.ts","../../../plugins/plugin-slash/src/slash-plugin.ts","../../../plugins/plugin-slash/src/slash-provider.ts","../../src/feature/block-edit/menu/utils.ts","../../src/feature/block-edit/menu/group-builder.ts","../../src/feature/block-edit/menu/config.ts","../../src/feature/block-edit/menu/component.ts","../../src/feature/block-edit/menu/index.ts","../../src/feature/block-edit/handle/component.ts","../../src/feature/block-edit/handle/index.ts","../../src/feature/block-edit/index.ts"],"sourcesContent":["import type { Meta, MilkdownPlugin } from '@milkdown/ctx'\n\nexport function withMeta<T extends MilkdownPlugin>(plugin: T, meta: Partial<Meta> & Pick<Meta, 'displayName'>): T {\n Object.assign(plugin, {\n meta: {\n package: '@milkdown/plugin-block',\n ...meta,\n },\n })\n\n return plugin\n}\n","import type { Node, ResolvedPos } from '@milkdown/prose/model'\nimport { $ctx } from '@milkdown/utils'\n\nimport { findParent } from '@milkdown/prose'\nimport { withMeta } from './__internal__/with-meta'\n\n/// @internal\nexport type FilterNodes = (pos: ResolvedPos, node: Node) => boolean\n\n/// @internal\nexport const defaultNodeFilter: FilterNodes = (pos) => {\n const table = findParent(node => node.type.name === 'table')(pos)\n if (table)\n return false\n\n return true\n}\n\n/// A slice contains the block config.\n/// Possible properties:\n/// - `filterNodes`: A function to filter nodes that can be dragged.\nexport const blockConfig = $ctx<{ filterNodes: FilterNodes }, 'blockConfig'>({ filterNodes: defaultNodeFilter }, 'blockConfig')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockConfig>',\n})\n","import type { EditorView } from '@milkdown/prose/view'\n\nimport type { FilterNodes } from '../block-config'\nimport type { ActiveNode } from '../types'\n\nexport function selectRootNodeByDom(view: EditorView, coords: { x: number, y: number }, filterNodes: FilterNodes): ActiveNode | null {\n const root = view.dom.parentElement\n if (!root)\n return null\n\n const pos = view.posAtCoords({\n left: coords.x,\n top: coords.y,\n })?.inside\n if (pos == null || pos < 0)\n return null\n\n let $pos = view.state.doc.resolve(pos)\n let node = view.state.doc.nodeAt(pos)\n let element = view.nodeDOM(pos) as HTMLElement | null\n\n const filter = (needLookup: boolean) => {\n const checkDepth = $pos.depth >= 1 && $pos.index($pos.depth) === 0\n const shouldLookUp = needLookup || checkDepth\n\n if (!shouldLookUp)\n return\n\n const ancestorPos = $pos.before($pos.depth)\n node = view.state.doc.nodeAt(ancestorPos)\n element = view.nodeDOM(ancestorPos) as HTMLElement | null\n $pos = view.state.doc.resolve(ancestorPos)\n\n if (!filterNodes($pos, node!))\n filter(true)\n }\n\n // If filterNodes returns false, we should look up the parent node.\n const filterResult = filterNodes($pos, node!)\n filter(!filterResult)\n\n if (!element || !node)\n return null\n\n return { node, $pos, el: element }\n}\n","/**\n * Copy pasted from https://github.com/ProseMirror/prosemirror-view/blob/master/src/clipboard.ts\n */\n\nimport type { NodeType, Slice } from '@milkdown/prose/model'\nimport { DOMSerializer } from '@milkdown/prose/model'\nimport type { EditorView } from '@milkdown/prose/view'\n\nlet _detachedDoc: Document | null = null\nfunction detachedDoc() {\n return _detachedDoc || (_detachedDoc = document.implementation.createHTMLDocument('title'))\n}\n\nconst wrapMap: { [node: string]: string[] } = {\n thead: ['table'],\n tbody: ['table'],\n tfoot: ['table'],\n caption: ['table'],\n colgroup: ['table'],\n col: ['table', 'colgroup'],\n tr: ['table', 'tbody'],\n td: ['table', 'tbody', 'tr'],\n th: ['table', 'tbody', 'tr'],\n}\n\nexport function serializeForClipboard(view: EditorView, slice: Slice) {\n const context = []\n let { openStart, openEnd, content } = slice\n while (openStart > 1 && openEnd > 1 && content.childCount === 1 && content.firstChild!.childCount === 1) {\n openStart -= 1\n openEnd -= 1\n const node = content.firstChild!\n context.push(\n node.type.name,\n node.attrs !== (node.type as NodeType & { defaultAttrs: unknown }).defaultAttrs ? node.attrs : null,\n )\n content = node.content\n }\n\n const serializer = view.someProp('clipboardSerializer') || DOMSerializer.fromSchema(view.state.schema)\n const doc = detachedDoc()\n const wrap = doc.createElement('div')\n wrap.appendChild(serializer.serializeFragment(content, { document: doc }))\n\n let firstChild = wrap.firstChild\n let needsWrap\n let wrappers = 0\n // eslint-disable-next-line no-cond-assign\n while (firstChild && firstChild.nodeType === 1 && (needsWrap = wrapMap[firstChild.nodeName.toLowerCase()])) {\n for (let i = needsWrap.length - 1; i >= 0; i--) {\n const wrapper = doc.createElement(needsWrap[i] as string)\n while (wrap.firstChild) wrapper.appendChild(wrap.firstChild)\n wrap.appendChild(wrapper)\n wrappers++\n }\n firstChild = wrap.firstChild\n }\n\n if (firstChild && firstChild.nodeType === 1) {\n (firstChild as HTMLElement).setAttribute(\n 'data-pm-slice',\n `${openStart} ${openEnd}${wrappers ? ` -${wrappers}` : ''} ${JSON.stringify(context)}`,\n )\n }\n\n const text\n = view.someProp('clipboardTextSerializer', f => f(slice, view))\n || slice.content.textBetween(0, slice.content.size, '\\n\\n')\n\n return { dom: wrap, text }\n}\n","import type { Ctx } from '@milkdown/ctx'\nimport { editorViewCtx } from '@milkdown/core'\nimport { browser } from '@milkdown/prose'\nimport type { Selection } from '@milkdown/prose/state'\nimport { NodeSelection } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport throttle from 'lodash.throttle'\n\nimport type { FilterNodes } from './block-config'\nimport { blockConfig } from './block-config'\nimport { selectRootNodeByDom } from './__internal__/select-node-by-dom'\nimport { serializeForClipboard } from './__internal__/serialize-for-clipboard'\nimport type { ActiveNode } from './types'\n\nconst brokenClipboardAPI\n = (browser.ie && <number>browser.ie_version < 15) || (browser.ios && browser.webkit_version < 604)\n\nconst buffer = 20\n\n/// @internal\nexport type BlockServiceMessageType = {\n type: 'hide'\n} | {\n type: 'show'\n active: ActiveNode\n}\n\n/// @internal\nexport type BlockServiceMessage = (message: BlockServiceMessageType) => void\n\n/// @internal\n/// The block service, provide events and methods for block plugin.\n/// Generally you don't need to use this class directly.\nexport class BlockService {\n /// @internal\n #ctx?: Ctx\n\n /// @internal\n #createSelection: () => null | Selection = () => {\n if (!this.#active)\n return null\n const result = this.#active\n const view = this.#view\n\n if (view && NodeSelection.isSelectable(result.node)) {\n const nodeSelection = NodeSelection.create(view.state.doc, result.$pos.pos)\n view.dispatch(view.state.tr.setSelection(nodeSelection))\n view.focus()\n this.#activeSelection = nodeSelection\n return nodeSelection\n }\n return null\n }\n\n /// @internal\n #activeSelection: null | Selection = null\n /// @internal\n #active: null | ActiveNode = null\n /// @internal\n #activeDOMRect: undefined | DOMRect = undefined\n\n /// @internal\n #dragging = false\n\n /// @internal\n get #filterNodes(): FilterNodes | undefined {\n return this.#ctx?.get(blockConfig.key).filterNodes\n }\n\n /// @internal\n get #view() {\n return this.#ctx?.get(editorViewCtx)\n }\n\n /// @internal\n #notify?: BlockServiceMessage\n\n /// @internal\n #hide = () => {\n this.#notify?.({ type: 'hide' })\n this.#active = null\n }\n\n /// @internal\n #show = (active: ActiveNode) => {\n this.#active = active\n this.#notify?.({ type: 'show', active })\n }\n\n /// Bind editor context and notify function to the service.\n bind = (ctx: Ctx, notify: BlockServiceMessage) => {\n this.#ctx = ctx\n this.#notify = notify\n }\n\n /// Add mouse event to the dom.\n addEvent = (dom: HTMLElement) => {\n dom.addEventListener('mousedown', this.#handleMouseDown)\n dom.addEventListener('mouseup', this.#handleMouseUp)\n dom.addEventListener('dragstart', this.#handleDragStart)\n }\n\n /// Remove mouse event to the dom.\n removeEvent = (dom: HTMLElement) => {\n dom.removeEventListener('mousedown', this.#handleMouseDown)\n dom.removeEventListener('mouseup', this.#handleMouseUp)\n dom.removeEventListener('dragstart', this.#handleDragStart)\n }\n\n /// Unbind the notify function.\n unBind = () => {\n this.#notify = undefined\n }\n\n /// @internal\n #handleMouseDown = () => {\n this.#activeDOMRect = this.#active?.el.getBoundingClientRect()\n this.#createSelection()\n }\n\n /// @internal\n #handleMouseUp = () => {\n if (!this.#dragging) {\n requestAnimationFrame(() => {\n if (!this.#activeDOMRect)\n return\n this.#view?.focus()\n })\n\n return\n }\n this.#dragging = false\n this.#activeSelection = null\n }\n\n /// @internal\n #handleDragStart = (event: DragEvent) => {\n this.#dragging = true\n\n const view = this.#view\n if (!view)\n return\n view.dom.dataset.dragging = 'true'\n\n const selection = this.#activeSelection\n if (event.dataTransfer && selection) {\n const slice = selection.content()\n event.dataTransfer.effectAllowed = 'copyMove'\n const { dom, text } = serializeForClipboard(view, slice)\n event.dataTransfer.clearData()\n event.dataTransfer.setData(brokenClipboardAPI ? 'Text' : 'text/html', dom.innerHTML)\n if (!brokenClipboardAPI)\n event.dataTransfer.setData('text/plain', text)\n const activeEl = this.#active?.el\n if (activeEl)\n event.dataTransfer.setDragImage(activeEl, 0, 0)\n\n view.dragging = {\n slice,\n move: true,\n }\n }\n }\n\n /// @internal\n keydownCallback = (view: EditorView) => {\n this.#hide()\n\n this.#dragging = false\n view.dom.dataset.dragging = 'false'\n return false\n }\n\n /// @internal\n #mousemoveCallback = throttle((view: EditorView, event: MouseEvent) => {\n if (!view.editable)\n return\n\n const rect = view.dom.getBoundingClientRect()\n const x = rect.left + rect.width / 2\n const dom = view.root.elementFromPoint(x, event.clientY)\n if (!(dom instanceof Element)) {\n this.#hide()\n return\n }\n\n const filterNodes = this.#filterNodes\n if (!filterNodes)\n return\n\n const result = selectRootNodeByDom(view, { x, y: event.clientY }, filterNodes)\n\n if (!result) {\n this.#hide()\n return\n }\n this.#show(result)\n }, 200)\n\n /// @internal\n mousemoveCallback = (view: EditorView, event: MouseEvent) => {\n if (view.composing || !view.editable)\n return false\n\n this.#mousemoveCallback(view, event)\n\n return false\n }\n\n /// @internal\n dragoverCallback = (view: EditorView, event: DragEvent) => {\n if (this.#dragging) {\n const root = this.#view?.dom.parentElement\n if (!root)\n return false\n\n const hasHorizontalScrollbar = root.scrollHeight > root.clientHeight\n\n const rootRect = root.getBoundingClientRect()\n if (hasHorizontalScrollbar) {\n if (root.scrollTop > 0 && Math.abs(event.y - rootRect.y) < buffer) {\n const top = root.scrollTop > 10 ? root.scrollTop - 10 : 0\n root.scrollTop = top\n return false\n }\n const totalHeight = Math.round(view.dom.getBoundingClientRect().height)\n const scrollBottom = Math.round(root.scrollTop + rootRect.height)\n if (scrollBottom < totalHeight && Math.abs(event.y - (rootRect.height + rootRect.y)) < buffer) {\n const top = root.scrollTop + 10\n root.scrollTop = top\n return false\n }\n }\n }\n return false\n }\n\n /// @internal\n dragenterCallback = (view: EditorView) => {\n if (!view.dragging)\n return\n\n this.#dragging = true\n view.dom.dataset.dragging = 'true'\n }\n\n /// @internal\n dragleaveCallback = (view: EditorView, event: DragEvent) => {\n const x = event.clientX\n const y = event.clientY\n // if cursor out of the editor\n if (x < 0 || y < 0 || x > window.innerWidth || y > window.innerHeight) {\n this.#active = null\n this.#dragEnd(view)\n }\n }\n\n /// @internal\n dropCallback = (view: EditorView) => {\n this.#dragEnd(view)\n\n return false\n }\n\n /// @internal\n dragendCallback = (view: EditorView) => {\n this.#dragEnd(view)\n }\n\n /// @internal\n #dragEnd = (view: EditorView) => {\n this.#dragging = false\n view.dom.dataset.dragging = 'false'\n }\n}\n","import type { PluginSpec } from '@milkdown/prose/state'\nimport { Plugin, PluginKey } from '@milkdown/prose/state'\nimport { $ctx, $prose } from '@milkdown/utils'\n\nimport { BlockService } from './block-service'\nimport { withMeta } from './__internal__/with-meta'\nimport { blockConfig } from './block-config'\n\n/// @internal\nexport const blockService = $ctx(new BlockService(), 'blockService')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockService>',\n})\n\n/// A slice contains a factory that will return a plugin spec.\n/// Users can use this slice to customize the plugin.\nexport const blockSpec = $ctx<PluginSpec<any>, 'blockSpec'>({}, 'blockSpec')\n\nwithMeta(blockConfig, {\n displayName: 'Ctx<blockSpec>',\n})\n\n/// The block prosemirror plugin.\nexport const blockPlugin = $prose((ctx) => {\n const milkdownPluginBlockKey = new PluginKey('MILKDOWN_BLOCK')\n const service = ctx.get(blockService.key)\n const spec = ctx.get(blockSpec.key)\n\n return new Plugin({\n key: milkdownPluginBlockKey,\n ...spec,\n props: {\n ...spec.props,\n handleDOMEvents: {\n drop: (view) => {\n return service.dropCallback(view)\n },\n pointermove: (view, event) => {\n return service.mousemoveCallback(view, event)\n },\n keydown: (view) => {\n return service.keydownCallback(view)\n },\n dragover: (view, event) => {\n return service.dragoverCallback(view, event)\n },\n dragleave: (view, event) => {\n return service.dragleaveCallback(view, event)\n },\n dragenter: (view) => {\n return service.dragenterCallback(view)\n },\n dragend: (view) => {\n return service.dragendCallback(view)\n },\n },\n },\n })\n})\n\nwithMeta(blockPlugin, {\n displayName: 'Prose<block>',\n})\n","import type { Ctx } from '@milkdown/ctx'\nimport type { EditorState } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\n\nimport type { Placement, VirtualElement } from '@floating-ui/dom'\nimport { computePosition, flip, offset } from '@floating-ui/dom'\n\nimport { editorViewCtx } from '@milkdown/core'\nimport type { BlockService } from './block-service'\nimport { blockService } from './block-plugin'\nimport type { ActiveNode } from './types'\n\n/// The context of the block provider.\nexport interface DeriveContext {\n ctx: Ctx\n active: ActiveNode\n editorDom: HTMLElement\n blockDom: HTMLElement\n}\n\n/// Options for creating block provider.\nexport interface BlockProviderOptions {\n /// The context of the editor.\n ctx: Ctx\n /// The content of the block.\n content: HTMLElement\n /// The function to determine whether the tooltip should be shown.\n shouldShow?: (view: EditorView, prevState?: EditorState) => boolean\n /// The offset to get the block. Default is 0.\n getOffset?: (deriveContext: DeriveContext) => number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n /// The function to get the position of the block. Default is the position of the active node.\n getPosition?: (deriveContext: DeriveContext) => Omit<DOMRect, 'toJSON'>\n /// The function to get the placement of the block. Default is 'left'.\n getPlacement?: (deriveContext: DeriveContext) => Placement\n}\n\n/// A provider for creating block.\nexport class BlockProvider {\n /// @internal\n readonly #element: HTMLElement\n\n /// @internal\n readonly #ctx: Ctx\n\n /// @internal\n #service?: BlockService\n\n /// @internal\n #activeNode: ActiveNode | null = null\n\n /// @internal\n #initialized = false\n\n /// @internal\n readonly #getOffset?: (deriveContext: DeriveContext) => number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n\n /// @internal\n readonly #getPosition?: (deriveContext: DeriveContext) => Omit<DOMRect, 'toJSON'>\n\n /// @internal\n readonly #getPlacement?: (deriveContext: DeriveContext) => Placement\n\n /// The context of current active node.\n get active() {\n return this.#activeNode\n }\n\n constructor(options: BlockProviderOptions) {\n this.#ctx = options.ctx\n this.#element = options.content\n this.#getOffset = options.getOffset\n this.#getPosition = options.getPosition\n this.#getPlacement = options.getPlacement\n this.hide()\n }\n\n /// @internal\n #init() {\n const view = this.#ctx.get(editorViewCtx)\n view.dom.parentElement?.appendChild(this.#element)\n\n const service = this.#ctx.get(blockService.key)\n service.bind(this.#ctx, (message) => {\n if (message.type === 'hide') {\n this.hide()\n this.#activeNode = null\n }\n\n else if (message.type === 'show') {\n this.show(message.active)\n this.#activeNode = message.active\n }\n })\n\n this.#service = service\n this.#service.addEvent(this.#element)\n this.#element.draggable = true\n }\n\n /// Update provider state by editor view.\n update = (): void => {\n requestAnimationFrame(() => {\n if (!this.#initialized) {\n try {\n this.#init()\n this.#initialized = true\n }\n catch {\n // ignore\n }\n }\n })\n }\n\n /// Destroy the block.\n destroy = () => {\n this.#service?.unBind()\n this.#service?.removeEvent(this.#element)\n this.#element.remove()\n }\n\n /// Show the block.\n show = (active: ActiveNode) => {\n const dom = active.el\n const editorDom = this.#ctx.get(editorViewCtx).dom\n const deriveContext: DeriveContext = {\n ctx: this.#ctx,\n active,\n editorDom,\n blockDom: this.#element,\n }\n const virtualEl: VirtualElement = {\n contextElement: dom,\n getBoundingClientRect: () => {\n if (this.#getPosition)\n return this.#getPosition(deriveContext)\n\n return dom.getBoundingClientRect()\n },\n }\n const middleware = [flip()]\n if (this.#getOffset) {\n const offsetOption = this.#getOffset(deriveContext)\n const offsetExt = offset(offsetOption)\n middleware.push(offsetExt)\n }\n\n computePosition(virtualEl, this.#element, {\n placement: this.#getPlacement\n ? this.#getPlacement(deriveContext)\n : 'left',\n middleware,\n }).then(({ x, y }) => {\n Object.assign(this.#element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n this.#element.dataset.show = 'true'\n })\n }\n\n /// Hide the block.\n hide = () => {\n this.#element.dataset.show = 'false'\n setTimeout(() => {\n Object.assign(this.#element.style, {\n left: `-999px`,\n top: `-999px`,\n })\n }, 200)\n }\n}\n","import type { SliceType } from '@milkdown/ctx'\nimport type { PluginSpec } from '@milkdown/prose/state'\nimport type { $Ctx, $Prose } from '@milkdown/utils'\nimport type { FilterNodes } from './block-config'\nimport { blockConfig } from './block-config'\nimport { blockPlugin, blockService, blockSpec } from './block-plugin'\nimport type { BlockService } from './block-service'\n\nexport * from './block-plugin'\nexport * from './block-provider'\nexport * from './block-service'\nexport * from './block-config'\nexport * from './types'\n\n/// @internal\nexport type BlockPlugin = [\n $Ctx<PluginSpec<any>, 'blockSpec'>,\n $Ctx<{ filterNodes: FilterNodes }, 'blockConfig'>,\n $Ctx<BlockService, 'blockService'>,\n $Prose,\n] & {\n key: SliceType<PluginSpec<any>, 'blockSpec'>\n pluginKey: $Prose['key']\n}\n\n/// All plugins exported by this package.\nexport const block = [blockSpec, blockConfig, blockService, blockPlugin] as BlockPlugin\nblock.key = blockSpec.key\nblock.pluginKey = blockPlugin.key\n","import type { SliceType } from '@milkdown/ctx'\nimport type { PluginSpec } from '@milkdown/prose/state'\nimport { Plugin, PluginKey } from '@milkdown/prose/state'\nimport type { $Ctx, $Prose } from '@milkdown/utils'\nimport { $ctx, $prose } from '@milkdown/utils'\n\n/// @internal\nexport type SlashPluginSpecId<Id extends string> = `${Id}_SLASH_SPEC`\n\n/// @internal\nexport type SlashPlugin<Id extends string, State = any> = [$Ctx<PluginSpec<State>, SlashPluginSpecId<Id>>, $Prose] & {\n key: SliceType<PluginSpec<State>, SlashPluginSpecId<Id>>\n pluginKey: $Prose['key']\n}\n\n/// Create a slash plugin with a unique id.\nexport function slashFactory<Id extends string, State = any>(id: Id) {\n const slashSpec = $ctx<PluginSpec<State>, SlashPluginSpecId<Id>>({}, `${id}_SLASH_SPEC`)\n const slashPlugin = $prose((ctx) => {\n const spec = ctx.get(slashSpec.key)\n return new Plugin({\n key: new PluginKey(`${id}_SLASH`),\n ...spec,\n })\n })\n const result = [slashSpec, slashPlugin] as SlashPlugin<Id>\n result.key = slashSpec.key\n result.pluginKey = slashPlugin.key\n slashSpec.meta = {\n package: '@milkdown/plugin-slash',\n displayName: `Ctx<slashSpec>|${id}`,\n }\n slashPlugin.meta = {\n package: '@milkdown/plugin-slash',\n displayName: `Prose<slash>|${id}`,\n }\n\n return result\n}\n","import { findParentNode, posToDOMRect } from '@milkdown/prose'\nimport type { EditorState } from '@milkdown/prose/state'\nimport type { Node } from '@milkdown/prose/model'\nimport { TextSelection } from '@milkdown/prose/state'\nimport type { EditorView } from '@milkdown/prose/view'\nimport debounce from 'lodash.debounce'\nimport type { VirtualElement } from '@floating-ui/dom'\nimport { computePosition, flip, offset } from '@floating-ui/dom'\n\n/// Options for slash provider.\nexport interface SlashProviderOptions {\n /// The slash content.\n content: HTMLElement\n /// The debounce time for updating slash, 200ms by default.\n debounce?: number\n /// The function to determine whether the tooltip should be shown.\n shouldShow?: (view: EditorView, prevState?: EditorState) => boolean\n /// The key trigger for shouldShow, '/' by default.\n trigger?: string | string[]\n /// The offset to get the block. Default is 0.\n offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n}\n\n/// A provider for creating slash.\nexport class SlashProvider {\n /// The root element of the slash.\n element: HTMLElement\n\n /// @internal\n #initialized = false\n\n /// @internal\n readonly #debounce: number\n\n /// @internal\n readonly #trigger: string | string[]\n\n /// @internal\n readonly #shouldShow: (view: EditorView, prevState?: EditorState) => boolean\n\n /// The offset to get the block. Default is 0.\n readonly #offset?: number | {\n mainAxis?: number\n crossAxis?: number\n alignmentAxis?: number | null\n }\n\n /// On show callback.\n onShow = () => {}\n\n /// On hide callback.\n onHide = () => {}\n\n constructor(options: SlashProviderOptions) {\n this.element = options.content\n this.#debounce = options.debounce ?? 200\n this.#shouldShow = options.shouldShow ?? this.#_shouldShow\n this.#trigger = options.trigger ?? '/'\n this.#offset = options.offset\n }\n\n /// @internal\n #onUpdate = (view: EditorView, prevState?: EditorState): void => {\n const { state, composing } = view\n const { selection, doc } = state\n const { ranges } = selection\n const from = Math.min(...ranges.map(range => range.$from.pos))\n const to = Math.max(...ranges.map(range => range.$to.pos))\n const isSame = prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection)\n\n if (!this.#initialized) {\n view.dom.parentElement?.appendChild(this.element)\n this.#initialized = true\n }\n\n if (composing || isSame)\n return\n\n if (!this.#shouldShow(view, prevState)) {\n this.hide()\n return\n }\n\n const virtualEl: VirtualElement = {\n getBoundingClientRect: () => posToDOMRect(view, from, to),\n }\n computePosition(virtualEl, this.element, {\n placement: 'bottom-start',\n middleware: [flip(), offset(this.#offset)],\n })\n .then(({ x, y }) => {\n Object.assign(this.element.style, {\n left: `${x}px`,\n top: `${y}px`,\n })\n })\n\n this.show()\n }\n\n /// @internal\n #_shouldShow(view: EditorView): boolean {\n const currentTextBlockContent = this.getContent(view)\n\n if (!currentTextBlockContent)\n return false\n\n const target = currentTextBlockContent.at(-1)\n\n if (!target)\n return false\n\n return Array.isArray(this.#trigger) ? this.#trigger.includes(target) : this.#trigger === target\n }\n\n /// Update provider state by editor view.\n update = (view: EditorView, prevState?: EditorState): void => {\n const updater = debounce(this.#onUpdate, this.#debounce)\n\n updater(view, prevState)\n }\n\n /// Get the content of the current text block.\n /// Pass the `matchNode` function to determine whether the current node should be matched, by default, it will match the paragraph node.\n getContent = (view: EditorView, matchNode: (node: Node) => boolean = node => node.type.name === 'paragraph'): string | undefined => {\n const { selection } = view.state\n const { empty, $from } = selection\n const isTextBlock = view.state.selection instanceof TextSelection\n\n const isSlashChildren = this.element.contains(document.activeElement)\n\n const notHasFocus = !view.hasFocus() && !isSlashChildren\n\n const isReadonly = !view.editable\n\n const paragraph = findParentNode(matchNode)(view.state.selection)\n\n const isNotInParagraph = !paragraph\n\n if (notHasFocus || isReadonly || !empty || !isTextBlock || isNotInParagraph)\n return\n\n return $from.parent.textBetween(Math.max(0, $from.parentOffset - 500), $from.parentOffset, undefined, '\\uFFFC')\n }\n\n /// Destroy the slash.\n destroy = () => {\n }\n\n /// Show the slash.\n show = () => {\n this.element.dataset.show = 'true'\n this.onShow()\n }\n\n /// Hide the slash.\n hide = () => {\n this.element.dataset.show = 'false'\n this.onHide()\n }\n}\n","import type { html } from 'atomico'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { Command, Transaction } from '@milkdown/kit/prose/state'\nimport type { Attrs, NodeType } from '@milkdown/kit/prose/model'\nimport { findWrapping } from '@milkdown/kit/prose/transform'\n\nexport interface MenuItem {\n index: number\n key: string\n label: string\n icon: ReturnType<typeof html>\n onRun: (ctx: Ctx) => void\n}\n\ntype WithRange<T, HasIndex extends true | false = true> = HasIndex extends true ? T & { range: [start: number, end: number] } : T\n\nexport type MenuItemGroup<HasIndex extends true | false = true> = WithRange<{\n key: string\n label: string\n items: HasIndex extends true ? MenuItem[] : Omit<MenuItem, 'index'>[]\n}, HasIndex>\n\nexport function clearRange(tr: Transaction) {\n const { $from, $to } = tr.selection\n const { pos: from } = $from\n const { pos: to } = $to\n tr = tr.deleteRange(from - $from.node().content.size, to)\n return tr\n}\n\nexport function setBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const { from, to } = tr.selection\n return tr.setBlockType(from, to, nodeType, attrs)\n}\n\nexport function wrapInBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const { $from, $to } = tr.selection\n\n const range = $from.blockRange($to)\n const wrapping = range && findWrapping(range, nodeType, attrs)\n if (!wrapping)\n return null\n\n return tr.wrap(range, wrapping)\n}\n\nexport function addBlockType(tr: Transaction, nodeType: NodeType, attrs: Attrs | null = null) {\n const node = nodeType.createAndFill(attrs)\n if (!node)\n return null\n\n return tr.replaceSelectionWith(node)\n}\n\nexport function clearContentAndSetBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n if (dispatch) {\n const tr = setBlockType(clearRange(state.tr), nodeType, attrs)\n dispatch(tr.scrollIntoView())\n }\n return true\n }\n}\n\nexport function clearContentAndWrapInBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n const tr = wrapInBlockType(clearRange(state.tr), nodeType, attrs)\n if (!tr)\n return false\n\n if (dispatch)\n dispatch(tr.scrollIntoView())\n\n return true\n }\n}\n\nexport function clearContentAndAddBlockType(nodeType: NodeType, attrs: Attrs | null = null): Command {\n return (state, dispatch) => {\n const tr = addBlockType(clearRange(state.tr), nodeType, attrs)\n if (!tr)\n return false\n\n if (dispatch)\n dispatch(tr.scrollIntoView())\n\n return true\n }\n}\n","import type { MenuItem, MenuItemGroup } from './utils'\n\nexport class GroupBuilder {\n #groups: MenuItemGroup<false>[] = []\n\n clear = () => {\n this.#groups = []\n return this\n }\n\n #getGroupInstance = (group: MenuItemGroup<false>) => {\n const groupInstance = {\n group,\n addItem: (key: string, item: Omit<MenuItem, 'key' | 'index'>) => {\n const data = { key, ...item }\n group.items.push(data)\n return groupInstance\n },\n clear: () => {\n group.items = []\n return groupInstance\n },\n }\n return groupInstance\n }\n\n addGroup = (key: string, label: string) => {\n const items: Omit<MenuItem, 'index'>[] = []\n const group: MenuItemGroup<false> = {\n key,\n label,\n items,\n }\n this.#groups.push(group)\n\n return this.#getGroupInstance(group)\n }\n\n getGroup = (key: string) => {\n const group = this.#groups.find(group => group.key === key)\n if (!group)\n throw new Error(`Group with key ${key} not found`)\n\n return this.#getGroupInstance(group)\n }\n\n build = () => {\n return this.#groups\n }\n}\n","import { editorViewCtx } from '@milkdown/kit/core'\nimport {\n blockquoteSchema,\n bulletListSchema,\n codeBlockSchema,\n headingSchema,\n hrSchema,\n listItemSchema,\n orderedListSchema,\n paragraphSchema,\n} from '@milkdown/kit/preset/commonmark'\nimport { NodeSelection } from '@milkdown/kit/prose/state'\nimport { imageBlockSchema } from '@milkdown/kit/component/image-block'\nimport { createTable } from '@milkdown/kit/preset/gfm'\nimport {\n bulletListIcon,\n codeIcon,\n dividerIcon,\n h1Icon,\n h2Icon,\n h3Icon,\n h4Icon,\n h5Icon,\n h6Icon,\n imageIcon,\n orderedListIcon,\n quoteIcon,\n tableIcon,\n textIcon,\n todoListIcon,\n} from '../../../icons'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { MenuItemGroup } from './utils'\nimport {\n clearContentAndAddBlockType,\n clearContentAndSetBlockType,\n clearContentAndWrapInBlockType,\n clearRange,\n} from './utils'\nimport { GroupBuilder } from './group-builder'\n\nexport function getGroups(filter?: string, config?: BlockEditFeatureConfig) {\n const groupBuilder = new GroupBuilder()\n groupBuilder\n .addGroup('text', config?.slashMenuTextGroupLabel ?? 'Text')\n .addItem('text', {\n label: config?.slashMenuTextGroupLabel ?? 'Text',\n icon: config?.slashMenuTextIcon?.() ?? textIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(paragraphSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('h1', {\n label: config?.slashMenuH1Label ?? 'Heading 1',\n icon: config?.slashMenuH1Icon?.() ?? h1Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 1 })\n command(state, dispatch)\n },\n })\n .addItem('h2', {\n label: config?.slashMenuH2Label ?? 'Heading 2',\n icon: config?.slashMenuH2Icon?.() ?? h2Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 2 })\n command(state, dispatch)\n },\n })\n .addItem('h3', {\n label: config?.slashMenuH3Label ?? 'Heading 3',\n icon: config?.slashMenuH3Icon?.() ?? h3Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 3 })\n command(state, dispatch)\n },\n })\n .addItem('h4', {\n label: config?.slashMenuH4Label ?? 'Heading 4',\n icon: config?.slashMenuH4Icon?.() ?? h4Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 4 })\n command(state, dispatch)\n },\n })\n .addItem('h5', {\n label: config?.slashMenuH5Label ?? 'Heading 5',\n icon: config?.slashMenuH5Icon?.() ?? h5Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 5 })\n command(state, dispatch)\n },\n })\n .addItem('h6', {\n label: config?.slashMenuH6Label ?? 'Heading 6',\n icon: config?.slashMenuH6Icon?.() ?? h6Icon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndSetBlockType(headingSchema.type(ctx), { level: 6 })\n command(state, dispatch)\n },\n })\n .addItem('quote', {\n label: config?.slashMenuQuoteLabel ?? 'Quote',\n icon: config?.slashMenuQuoteIcon?.() ?? quoteIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(blockquoteSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('divider', {\n label: config?.slashMenuDividerLabel ?? 'Divider',\n icon: config?.slashMenuDividerIcon?.() ?? dividerIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(hrSchema.type(ctx))\n command(state, dispatch)\n },\n })\n\n groupBuilder.addGroup('list', config?.slashMenuListGroupLabel ?? 'List')\n .addItem('bullet-list', {\n label: config?.slashMenuBulletListLabel ?? 'Bullet List',\n icon: config?.slashMenuBulletListIcon?.() ?? bulletListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(bulletListSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('ordered-list', {\n label: config?.slashMenuOrderedListLabel ?? 'Ordered List',\n icon: config?.slashMenuOrderedListIcon?.() ?? orderedListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(orderedListSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('todo-list', {\n label: config?.slashMenuTaskListLabel ?? 'Todo List',\n icon: config?.slashMenuTaskListIcon?.() ?? todoListIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndWrapInBlockType(listItemSchema.type(ctx), { checked: false })\n command(state, dispatch)\n },\n })\n\n groupBuilder.addGroup('advanced', config?.slashMenuAdvancedGroupLabel ?? 'Advanced')\n .addItem('image', {\n label: config?.slashMenuImageLabel ?? 'Image',\n icon: config?.slashMenuImageIcon?.() ?? imageIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(imageBlockSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('code', {\n label: config?.slashMenuCodeBlockLabel ?? 'Code',\n icon: config?.slashMenuCodeBlockIcon?.() ?? codeIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n\n const command = clearContentAndAddBlockType(codeBlockSchema.type(ctx))\n command(state, dispatch)\n },\n })\n .addItem('table', {\n label: config?.slashMenuTableLabel ?? 'Table',\n icon: config?.slashMenuTableIcon?.() ?? tableIcon,\n onRun: (ctx) => {\n const view = ctx.get(editorViewCtx)\n const { dispatch, state } = view\n const tr = clearRange(state.tr)\n const table = createTable(ctx, 3, 3)\n tr.replaceSelectionWith(table)\n const { from } = tr.selection\n const pos = from - table.nodeSize + 2\n dispatch(tr)\n requestAnimationFrame(() => {\n const selection = NodeSelection.create(view.state.tr.doc, pos)\n dispatch(view.state.tr.setSelection(selection).scrollIntoView())\n })\n },\n })\n\n config?.buildMenu?.(groupBuilder)\n\n let groups = groupBuilder.build()\n\n if (filter) {\n groups = groups\n .map((group) => {\n const items = group\n .items\n .filter(item =>\n item\n .label\n .toLowerCase()\n .includes(filter.toLowerCase()))\n\n return {\n ...group,\n items,\n }\n })\n .filter(group => group.items.length > 0)\n }\n\n const items = groups.flatMap(groups => groups.items)\n items.forEach(((item, index) => {\n Object.assign(item, { index })\n }))\n\n groups.reduce((acc, group) => {\n const end = acc + group.items.length\n Object.assign(group, {\n range: [acc, end],\n })\n return end\n }, 0)\n\n return {\n groups: groups as MenuItemGroup[],\n size: items.length,\n }\n}\n","import type { Component } from 'atomico'\nimport { c, html, useCallback, useEffect, useHost, useMemo, useRef, useState } from 'atomico'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { BlockEditFeatureConfig } from '../index'\nimport { getGroups } from './config'\n\nexport interface MenuProps {\n ctx: Ctx\n show: boolean\n filter: string\n hide: () => void\n config?: BlockEditFeatureConfig\n}\n\nexport const menuComponent: Component<MenuProps> = ({\n show,\n hide,\n ctx,\n filter,\n config,\n}) => {\n const { groups, size } = useMemo(() => getGroups(filter, config), [filter])\n\n const host = useHost()\n const [hoverIndex, setHoverIndex] = useState(0)\n\n const root = useMemo(() => host.current.getRootNode() as HTMLElement, [host])\n\n const prevMousePosition = useRef({ x: -999, y: -999 })\n\n const onMouseMove = useCallback((e: MouseEvent) => {\n const prevPos = prevMousePosition.current\n if (!prevPos)\n return\n\n const { x, y } = e\n prevPos.x = x\n prevPos.y = y\n }, [])\n\n useEffect(() => {\n if (size === 0 && show)\n hide?.()\n }, [size, show])\n\n const onHover = useCallback((\n index: number | ((prev: number) => number),\n after?: (index: number) => void,\n ) => {\n setHoverIndex((prev) => {\n const next = typeof index === 'function' ? index(prev) : index\n\n after?.(next)\n return next\n })\n }, [])\n\n const scrollToIndex = useCallback((index: number) => {\n const target = host\n .current\n .querySelector<HTMLElement>(`[data-index=\"${index}\"]`)\n const scrollRoot = host.current.querySelector<HTMLElement>('.menu-groups')\n\n if (!target || !scrollRoot)\n return\n\n scrollRoot.scrollTop = target.offsetTop - scrollRoot.offsetTop\n }, [])\n\n const runByIndex = useCallback((index: number) => {\n const item = groups.flatMap(group => group.items).at(index)\n if (item && ctx)\n item.onRun(ctx)\n\n hide?.()\n }, [groups])\n\n const onKeydown = useCallback((e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault()\n hide?.()\n return\n }\n\n if (e.key === 'ArrowDown') {\n e.preventDefault()\n return onHover(index => (index < size - 1) ? index + 1 : index, scrollToIndex)\n }\n\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n return onHover(index => index <= 0 ? index : index - 1, scrollToIndex)\n }\n\n if (e.key === 'ArrowLeft') {\n e.preventDefault()\n return onHover((index) => {\n const group = groups.find(group => group.range[0] <= index && group.range[1] > index)\n if (!group)\n return index\n\n const prevGroup = groups[groups.indexOf(group) - 1]\n if (!prevGroup)\n return index\n\n return prevGroup.range[1] - 1\n }, scrollToIndex)\n }\n\n if (e.key === 'ArrowRight') {\n e.preventDefault()\n return onHover((index) => {\n const group = groups.find(group => group.range[0] <= index && group.range[1] > index)\n if (!group)\n return index\n\n const nextGroup = groups[groups.indexOf(group) + 1]\n if (!nextGroup)\n return index\n\n return nextGroup.range[0]\n }, scrollToIndex)\n }\n\n if (e.key === 'Enter') {\n e.preventDefault()\n runByIndex(hoverIndex)\n }\n }, [hide, groups, hoverIndex])\n\n const onMouseEnter = useCallback((index: number) => {\n return (e: MouseEvent) => {\n const prevPos = prevMousePosition.current\n if (!prevPos)\n return\n\n const { x, y } = e\n if (x === prevPos.x && y === prevPos.y)\n return\n\n onHover(index)\n }\n }, [])\n\n useEffect(() => {\n if (show)\n root.addEventListener('keydown', onKeydown, { capture: true })\n\n else root.removeEventListener('keydown', onKeydown, { capture: true })\n\n return () => {\n root.removeEventListener('keydown', onKeydown, { capture: true })\n }\n }, [show, onKeydown])\n\n return html`\n <host onmousedown=${(e: MouseEvent) => e.preventDefault()}>\n <nav class=\"tab-group\">\n <ul>\n ${groups.map(group =>\n html`<li\n key=${group.key}\n onmousedown=${() => onHover(group.range[0], scrollToIndex)}\n class=${hoverIndex >= group.range[0] && hoverIndex < group.range[1] ? 'selected' : ''}\n >\n ${group.label}\n </li>`)}\n </ul>\n </nav>\n <div class=\"menu-groups\" onmousemove=${onMouseMove}>\n ${groups.map((group) => {\n return html`\n <div key=${group.key} class=\"menu-group\">\n <h6>${group.label}</h6>\n <ul>\n ${group.items.map(item =>\n html`<li\n key=${item.key}\n data-index=${item.index}\n class=${hoverIndex === item.index ? 'hover' : ''}\n onmouseenter=${onMouseEnter(item.index)}\n onmousedown=${() => {\n host\n .current\n .querySelector(`[data-index=\"${item.index}\"]`)\n ?.classList.add('active')\n }}\n onmouseup=${() => {\n host\n .current\n .querySelector(`[data-index=\"${item.index}\"]`)\n ?.classList.remove('active')\n runByIndex(item.index)\n }}\n >\n ${item.icon}\n <span>${item.label}</span>\n </li>`,\n )}\n </ul>\n </div>\n `\n })}\n </div>\n </host>\n `\n}\n\nmenuComponent.props = {\n ctx: Object,\n config: Object,\n show: Boolean,\n filter: String,\n hide: Function,\n}\n\nexport const MenuElement = c(menuComponent)\n","import type { PluginView } from '@milkdown/kit/prose/state'\nimport type { EditorView } from '@milkdown/kit/prose/view'\nimport { SlashProvider, slashFactory } from '@milkdown/kit/plugin/slash'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { AtomicoThis } from 'atomico/types/dom'\nimport { $ctx } from '@milkdown/kit/utils'\nimport { defIfNotExists, isInCodeBlock, isInList } from '../../../utils'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { MenuProps } from './component'\nimport { MenuElement } from './component'\n\nexport const menu = slashFactory('CREPE_MENU')\n\nexport interface MenuAPI {\n show: (pos: number) => void\n hide: () => void\n}\n\nexport const menuAPI = $ctx({\n show: () => {},\n hide: () => {},\n} as MenuAPI, 'menuAPICtx')\n\ndefIfNotExists('milkdown-slash-menu', MenuElement)\nexport function configureMenu(ctx: Ctx, config?: BlockEditFeatureConfig) {\n ctx.set(menu.key, {\n view: view => new MenuView(ctx, view, config),\n })\n}\n\nclass MenuView implements PluginView {\n readonly #content: AtomicoThis<MenuProps, HTMLElement>\n readonly #slashProvider: SlashProvider\n #programmaticallyPos: number | null = null\n\n constructor(ctx: Ctx, view: EditorView, config?: BlockEditFeatureConfig) {\n this.#content = new MenuElement()\n this.#content.hide = this.hide\n this.#content.ctx = ctx\n this.#content.config = config\n // eslint-disable-next-line ts/no-this-alias\n const self = this\n this.#slashProvider = new SlashProvider({\n content: this.#content,\n debounce: 20,\n shouldShow(this: SlashProvider, view: EditorView) {\n if (isInCodeBlock(view.state.selection) || isInList(view.state.selection))\n return false\n\n const currentText = this.getContent(view, node =>\n ['paragraph', 'heading'].includes(node.type.name))\n\n if (currentText == null)\n return false\n\n const pos = self.#programmaticallyPos\n\n self.#content.filter = currentText.startsWith('/') ? currentText.slice(1) : currentText\n\n if (typeof pos === 'number') {\n if (view.state.doc.resolve(pos).node() !== view.state.doc.resolve(view.state.selection.from).node()) {\n self.#programmaticallyPos = null\n\n return false\n }\n\n return true\n }\n\n if (!currentText.startsWith('/'))\n return false\n\n return true\n },\n offset: 10,\n })\n\n this.#slashProvider.onShow = () => {\n this.#content.show = true\n }\n this.#slashProvider.onHide = () => {\n this.#content.show = false\n }\n this.update(view)\n\n ctx.set(menuAPI.key, {\n show: pos => this.show(pos),\n hide: () => this.hide(),\n })\n }\n\n update = (view: EditorView) => {\n this.#slashProvider.update(view)\n }\n\n show = (pos: number) => {\n this.#programmaticallyPos = pos\n this.#content.filter = ''\n this.#slashProvider.show()\n }\n\n hide = () => {\n this.#programmaticallyPos = null\n this.#slashProvider.hide()\n }\n\n destroy = () => {\n this.#slashProvider.destroy()\n this.#content.remove()\n }\n}\n","import { type Component, c, html, useEffect, useRef } from 'atomico'\nimport { menuIcon, plusIcon } from '../../../icons'\nimport type { Icon } from '../../shared'\n\nexport interface BlockHandleProps {\n show: boolean\n onAdd: () => void\n addIcon: Icon\n handleIcon: Icon\n}\n\nconst blockHandleComponent: Component<BlockHandleProps> = ({\n onAdd,\n addIcon,\n handleIcon,\n}) => {\n const ref = useRef<HTMLDivElement>()\n useEffect(() => {\n ref.current?.classList.remove('active')\n })\n const onMouseDown = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n ref.current?.classList.add('active')\n }\n const onMouseUp = (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n onAdd?.()\n ref.current?.classList.remove('active')\n }\n return html`\n <host>\n <div ref=${ref} onmousedown=${onMouseDown} onmouseup=${onMouseUp} class=\"operation-item\">\n ${addIcon?.() || plusIcon}\n </div>\n <div class=\"operation-item\">\n ${handleIcon?.() || menuIcon}\n </div>\n </host>\n `\n}\n\nblockHandleComponent.props = {\n show: Boolean,\n onAdd: Function,\n addIcon: Function,\n handleIcon: Function,\n}\n\nexport const BlockHandleElement = c(blockHandleComponent)\n","import type { PluginView } from '@milkdown/kit/prose/state'\nimport { TextSelection } from '@milkdown/kit/prose/state'\nimport { BlockProvider, block } from '@milkdown/kit/plugin/block'\nimport type { Ctx } from '@milkdown/kit/ctx'\nimport type { AtomicoThis } from 'atomico/types/dom'\nimport { editorViewCtx } from '@milkdown/kit/core'\nimport { paragraphSchema } from '@milkdown/kit/preset/commonmark'\nimport { menuAPI } from '../menu'\nimport { defIfNotExists } from '../../../utils'\nimport type { BlockEditFeatureConfig } from '../index'\nimport type { BlockHandleProps } from './component'\nimport { BlockHandleElement } from './component'\n\nexport class BlockHandleView implements PluginView {\n #content: AtomicoThis<BlockHandleProps>\n #provider: BlockProvider\n readonly #ctx: Ctx\n\n constructor(ctx: Ctx, config?: BlockEditFeatureConfig) {\n this.#ctx = ctx\n const content = new BlockHandleElement()\n this.#content = content\n this.#content.onAdd = this.onAdd\n this.#content.addIcon = config?.handleAddIcon\n this.#content.handleIcon = config?.handleDragIcon\n this.#provider = new BlockProvider({\n ctx,\n content,\n getOffset: () => 16,\n getPlacement: ({ active, blockDom }) => {\n let totalDescendant = 0\n active.node.descendants((node) => {\n totalDescendant += node.childCount\n })\n const dom = active.el\n const domRect = dom.getBoundingClientRect()\n const handleRect = blockDom.getBoundingClientRect()\n const style = window.getComputedStyle(dom)\n const paddingTop = Number.parseInt(style.paddingTop, 10) || 0\n const paddingBottom = Number.parseInt(style.paddingBottom, 10) || 0\n const height = domRect.height - paddingTop - paddingBottom\n const handleHeight = handleRect.height\n return totalDescendant > 2 || handleHeight * 2 < height ? 'left-start' : 'left'\n },\n })\n this.update()\n }\n\n update = () => {\n this.#provider.update()\n }\n\n destroy = () => {\n this.#provider.destroy()\n this.#content.remove()\n }\n\n onAdd = () => {\n const ctx = this.#ctx\n const view = ctx.get(editorViewCtx)\n if (!view.hasFocus())\n view.focus()\n\n const { state, dispatch } = view\n const active = this.#provider.active\n if (!active)\n return\n\n const $pos = active.$pos\n const pos = $pos.pos + active.node.nodeSize\n let tr = state.tr.insert(pos, paragraphSchema.type(ctx).create())\n tr = tr.setSelection(TextSelection.near(tr.doc.resolve(pos)))\n dispatch(tr.scrollIntoView())\n\n this.#provider.hide()\n ctx.get(menuAPI.key).show(tr.selection.from)\n }\n}\n\ndefIfNotExists('milkdown-block-handle', BlockHandleElement)\nexport function configureBlockHandle(ctx: Ctx, config?: BlockEditFeatureConfig) {\n ctx.set(block.key, {\n view: () => new BlockHandleView(ctx, config),\n })\n}\n","import { block } from '@milkdown/kit/plugin/block'\nimport type { DefineFeature, Icon } from '../shared'\nimport { configureBlockHandle } from './handle'\nimport { configureMenu, menu, menuAPI } from './menu'\nimport type { GroupBuilder } from './menu/group-builder'\n\ninterface BlockEditConfig {\n handleAddIcon: Icon\n handleDragIcon: Icon\n buildMenu: (builder: GroupBuilder) => void\n\n slashMenuTextGroupLabel: string\n slashMenuTextIcon: Icon\n slashMenuTextLabel: string\n slashMenuH1Icon: Icon\n slashMenuH1Label: string\n slashMenuH2Icon: Icon\n slashMenuH2Label: string\n slashMenuH3Icon: Icon\n slashMenuH3Label: string\n slashMenuH4Icon: Icon\n slashMenuH4Label: string\n slashMenuH5Icon: Icon\n slashMenuH5Label: string\n slashMenuH6Icon: Icon\n slashMenuH6Label: string\n slashMenuQuoteIcon: Icon\n slashMenuQuoteLabel: string\n slashMenuDividerIcon: Icon\n slashMenuDividerLabel: string\n\n slashMenuListGroupLabel: string\n slashMenuBulletListIcon: Icon\n slashMenuBulletListLabel: string\n slashMenuOrderedListIcon: Icon\n slashMenuOrderedListLabel: string\n slashMenuTaskListIcon: Icon\n slashMenuTaskListLabel: string\n\n slashMenuAdvancedGroupLabel: string\n slashMenuImageIcon: Icon\n slashMenuImageLabel: string\n slashMenuCodeBlockIcon: Icon\n slashMenuCodeBlockLabel: string\n slashMenuTableIcon: Icon\n slashMenuTableLabel: string\n}\n\nexport type BlockEditFeatureConfig = Partial<BlockEditConfig>\n\nexport const defineFeature: DefineFeature<BlockEditFeatureConfig> = (editor, config) => {\n editor\n .config(ctx => configureBlockHandle(ctx, config))\n .config(ctx => configureMenu(ctx, config))\n .use(menuAPI)\n .use(block)\n .use(menu)\n}\n"],"names":["findParent","$ctx","DOMSerializer","_ctx","browser","__privateAdd","__privateGet","NodeSelection","__privateSet","throttle","editorViewCtx","$prose","PluginKey","Plugin","_initialized","__privateMethod","flip","offset","computePosition","posToDOMRect","debounce","TextSelection","findParentNode","findWrapping","group","textIcon","paragraphSchema","h1Icon","headingSchema","h2Icon","h3Icon","h4Icon","h5Icon","h6Icon","quoteIcon","blockquoteSchema","dividerIcon","hrSchema","bulletListIcon","bulletListSchema","orderedListIcon","orderedListSchema","todoListIcon","listItemSchema","imageIcon","imageBlockSchema","codeIcon","codeBlockSchema","tableIcon","state","createTable","items","groups","useMemo","useHost","useState","useRef","useCallback","useEffect","html","c","_content","defIfNotExists","view","isInCodeBlock","isInList","plusIcon","menuIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEgB,SAAA,QAAA,CAAmC,QAAW,IAAoD,EAAA;AAChH,EAAA,MAAA,CAAO,OAAO,MAAQ,EAAA;AAAA,IACpB,IAAM,EAAA;AAAA,MACJ,OAAS,EAAA,wBAAA;AAAA,MACT,GAAG,IAAA;AAAA,KACL;AAAA,GACD,CAAA,CAAA;AAED,EAAO,OAAA,MAAA,CAAA;AACT;;ACDa,MAAA,iBAAA,GAAiC,CAAC,GAAQ,KAAA;AACrD,EAAM,MAAA,KAAA,GAAQA,iBAAW,CAAQ,IAAA,KAAA,IAAA,CAAK,KAAK,IAAS,KAAA,OAAO,EAAE,GAAG,CAAA,CAAA;AAChE,EAAI,IAAA,KAAA;AACF,IAAO,OAAA,KAAA,CAAA;AAET,EAAO,OAAA,IAAA,CAAA;AACT,CAAA,CAAA;AAKO,MAAM,cAAcC,UAAkD,CAAA,EAAE,WAAa,EAAA,iBAAA,IAAqB,aAAa,CAAA,CAAA;AAE9H,QAAA,CAAS,WAAa,EAAA;AAAA,EACpB,WAAa,EAAA,kBAAA;AACf,CAAC,CAAA;;ACpBe,SAAA,mBAAA,CAAoB,IAAkB,EAAA,MAAA,EAAkC,WAA6C,EAAA;AALrI,EAAA,IAAA,EAAA,CAAA;AAME,EAAM,MAAA,IAAA,GAAO,KAAK,GAAI,CAAA,aAAA,CAAA;AACtB,EAAA,IAAI,CAAC,IAAA;AACH,IAAO,OAAA,IAAA,CAAA;AAET,EAAM,MAAA,GAAA,GAAA,CAAM,UAAK,WAAY,CAAA;AAAA,IAC3B,MAAM,MAAO,CAAA,CAAA;AAAA,IACb,KAAK,MAAO,CAAA,CAAA;AAAA,GACb,MAHW,IAGR,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AACJ,EAAI,IAAA,GAAA,IAAO,QAAQ,GAAM,GAAA,CAAA;AACvB,IAAO,OAAA,IAAA,CAAA;AAET,EAAA,IAAI,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,GAAA,CAAI,QAAQ,GAAG,CAAA,CAAA;AACrC,EAAA,IAAI,IAAO,GAAA,IAAA,CAAK,KAAM,CAAA,GAAA,CAAI,OAAO,GAAG,CAAA,CAAA;AACpC,EAAI,IAAA,OAAA,GAAU,IAAK,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AAE9B,EAAM,MAAA,MAAA,GAAS,CAAC,UAAwB,KAAA;AACtC,IAAM,MAAA,UAAA,GAAa,KAAK,KAAS,IAAA,CAAA,IAAK,KAAK,KAAM,CAAA,IAAA,CAAK,KAAK,CAAM,KAAA,CAAA,CAAA;AACjE,IAAA,MAAM,eAAe,UAAc,IAAA,UAAA,CAAA;AAEnC,IAAA,IAAI,CAAC,YAAA;AACH,MAAA,OAAA;AAEF,IAAA,MAAM,WAAc,GAAA,IAAA,CAAK,MAAO,CAAA,IAAA,CAAK,KAAK,CAAA,CAAA;AAC1C,IAAA,IAAA,GAAO,IAAK,CAAA,KAAA,CAAM,GAAI,CAAA,MAAA,CAAO,WAAW,CAAA,CAAA;AACxC,IAAU,OAAA,GAAA,IAAA,CAAK,QAAQ,WAAW,CAAA,CAAA;AAClC,IAAA,IAAA,GAAO,IAAK,CAAA,KAAA,CAAM,GAAI,CAAA,OAAA,CAAQ,WAAW,CAAA,CAAA;AAEzC,IAAI,IAAA,CAAC,WAAY,CAAA,IAAA,EAAM,IAAK,CAAA;AAC1B,MAAA,MAAA,CAAO,IAAI,CAAA,CAAA;AAAA,GACf,CAAA;AAGA,EAAM,MAAA,YAAA,GAAe,WAAY,CAAA,IAAA,EAAM,IAAK,CAAA,CAAA;AAC5C,EAAA,MAAA,CAAO,CAAC,YAAY,CAAA,CAAA;AAEpB,EAAI,IAAA,CAAC,WAAW,CAAC,IAAA;AACf,IAAO,OAAA,IAAA,CAAA;AAET,EAAA,OAAO,EAAE,IAAA,EAAM,IAAM,EAAA,EAAA,EAAI,OAAQ,EAAA,CAAA;AACnC;;ACrCA,IAAI,YAAgC,GAAA,IAAA,CAAA;AACpC,SAAS,WAAc,GAAA;AACrB,EAAA,OAAO,YAAiB,KAAA,YAAA,GAAe,QAAS,CAAA,cAAA,CAAe,mBAAmB,OAAO,CAAA,CAAA,CAAA;AAC3F,CAAA;AAEA,MAAM,OAAwC,GAAA;AAAA,EAC5C,KAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACf,KAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACf,KAAA,EAAO,CAAC,OAAO,CAAA;AAAA,EACf,OAAA,EAAS,CAAC,OAAO,CAAA;AAAA,EACjB,QAAA,EAAU,CAAC,OAAO,CAAA;AAAA,EAClB,GAAA,EAAK,CAAC,OAAA,EAAS,UAAU,CAAA;AAAA,EACzB,EAAA,EAAI,CAAC,OAAA,EAAS,OAAO,CAAA;AAAA,EACrB,EAAI,EAAA,CAAC,OAAS,EAAA,OAAA,EAAS,IAAI,CAAA;AAAA,EAC3B,EAAI,EAAA,CAAC,OAAS,EAAA,OAAA,EAAS,IAAI,CAAA;AAC7B,CAAA,CAAA;AAEgB,SAAA,qBAAA,CAAsB,MAAkB,KAAc,EAAA;AACpE,EAAA,MAAM,UAAU,EAAC,CAAA;AACjB,EAAA,IAAI,EAAE,SAAA,EAAW,OAAS,EAAA,OAAA,EAAY,GAAA,KAAA,CAAA;AACtC,EAAO,OAAA,SAAA,GAAY,CAAK,IAAA,OAAA,GAAU,CAAK,IAAA,OAAA,CAAQ,eAAe,CAAK,IAAA,OAAA,CAAQ,UAAY,CAAA,UAAA,KAAe,CAAG,EAAA;AACvG,IAAa,SAAA,IAAA,CAAA,CAAA;AACb,IAAW,OAAA,IAAA,CAAA,CAAA;AACX,IAAA,MAAM,OAAO,OAAQ,CAAA,UAAA,CAAA;AACrB,IAAQ,OAAA,CAAA,IAAA;AAAA,MACN,KAAK,IAAK,CAAA,IAAA;AAAA,MACV,KAAK,KAAW,KAAA,IAAA,CAAK,IAA8C,CAAA,YAAA,GAAe,KAAK,KAAQ,GAAA,IAAA;AAAA,KACjG,CAAA;AACA,IAAA,OAAA,GAAU,IAAK,CAAA,OAAA,CAAA;AAAA,GACjB;AAEA,EAAM,MAAA,UAAA,GAAa,KAAK,QAAS,CAAA,qBAAqB,KAAKC,mBAAc,CAAA,UAAA,CAAW,IAAK,CAAA,KAAA,CAAM,MAAM,CAAA,CAAA;AACrG,EAAA,MAAM,MAAM,WAAY,EAAA,CAAA;AACxB,EAAM,MAAA,IAAA,GAAO,GAAI,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACpC,EAAK,IAAA,CAAA,WAAA,CAAY,WAAW,iBAAkB,CAAA,OAAA,EAAS,EAAE,QAAU,EAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAEzE,EAAA,IAAI,aAAa,IAAK,CAAA,UAAA,CAAA;AACtB,EAAI,IAAA,SAAA,CAAA;AACJ,EAAA,IAAI,QAAW,GAAA,CAAA,CAAA;AAEf,EAAO,OAAA,UAAA,IAAc,UAAW,CAAA,QAAA,KAAa,CAAM,KAAA,SAAA,GAAY,QAAQ,UAAW,CAAA,QAAA,CAAS,WAAY,EAAC,CAAI,CAAA,EAAA;AAC1G,IAAA,KAAA,IAAS,IAAI,SAAU,CAAA,MAAA,GAAS,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AAC9C,MAAA,MAAM,OAAU,GAAA,GAAA,CAAI,aAAc,CAAA,SAAA,CAAU,CAAC,CAAW,CAAA,CAAA;AACxD,MAAA,OAAO,IAAK,CAAA,UAAA,EAAoB,OAAA,CAAA,WAAA,CAAY,KAAK,UAAU,CAAA,CAAA;AAC3D,MAAA,IAAA,CAAK,YAAY,OAAO,CAAA,CAAA;AACxB,MAAA,QAAA,EAAA,CAAA;AAAA,KACF;AACA,IAAA,UAAA,GAAa,IAAK,CAAA,UAAA,CAAA;AAAA,GACpB;AAEA,EAAI,IAAA,UAAA,IAAc,UAAW,CAAA,QAAA,KAAa,CAAG,EAAA;AAC3C,IAAC,UAA2B,CAAA,YAAA;AAAA,MAC1B,eAAA;AAAA,MACM,CAAG,EAAA,SAAS,CAAI,CAAA,EAAA,OAAO,GAAG,QAAW,GAAA,CAAA,EAAA,EAAK,QAAQ,CAAA,CAAA,GAAK,EAAE,CAAA,CAAA,EAAI,IAAK,CAAA,SAAA,CAAU,OAAO,CAAC,CAAA,CAAA;AAAA,KAC5F,CAAA;AAAA,GACF;AAEA,EAAA,MAAM,OACE,IAAK,CAAA,QAAA,CAAS,yBAA2B,EAAA,CAAA,CAAA,KAAK,EAAE,KAAO,EAAA,IAAI,CAAC,CAAA,IAC3D,MAAM,OAAQ,CAAA,WAAA,CAAY,GAAG,KAAM,CAAA,OAAA,CAAQ,MAAM,MAAM,CAAA,CAAA;AAEhE,EAAO,OAAA,EAAE,GAAK,EAAA,IAAA,EAAM,IAAK,EAAA,CAAA;AAC3B;;;;;;;;;ACtEA,IAAAC,MAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,cAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,OAAA,EAAA,KAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,QAAA,CAAA;AAcA,MAAM,kBAAA,GACCC,cAAQ,EAAc,IAAAA,aAAA,CAAQ,aAAa,EAAQ,IAAAA,aAAA,CAAQ,GAAO,IAAAA,aAAA,CAAQ,cAAiB,GAAA,GAAA,CAAA;AAElG,MAAM,MAAS,GAAA,EAAA,CAAA;AAgBR,MAAM,YAAa,CAAA;AAAA,EAAnB,WAAA,GAAA;AAAA,IAAAC,cAAA,CAAA,IAAA,EAAA,uBAAA,CAAA,CAAA;AAEL;AAAA,IAAAA,cAAA,CAAA,IAAA,EAAAF,MAAA,CAAA,CAAA;AAGA;AAAA,IAAAE,cAAA,CAAA,IAAA,EAAA,gBAAA,EAA2C,MAAM;AAC/C,MAAA,IAAI,CAACC,cAAK,CAAA,IAAA,EAAA,OAAA,CAAA;AACR,QAAO,OAAA,IAAA,CAAA;AACT,MAAA,MAAM,SAASA,cAAK,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AACpB,MAAA,MAAM,OAAOA,cAAK,CAAA,IAAA,EAAA,uBAAA,EAAA,QAAA,CAAA,CAAA;AAElB,MAAA,IAAI,IAAQ,IAAAC,mBAAA,CAAc,YAAa,CAAA,MAAA,CAAO,IAAI,CAAG,EAAA;AACnD,QAAM,MAAA,aAAA,GAAgBA,oBAAc,MAAO,CAAA,IAAA,CAAK,MAAM,GAAK,EAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAC1E,QAAA,IAAA,CAAK,SAAS,IAAK,CAAA,KAAA,CAAM,EAAG,CAAA,YAAA,CAAa,aAAa,CAAC,CAAA,CAAA;AACvD,QAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AACX,QAAAC,cAAA,CAAA,IAAA,EAAK,gBAAmB,EAAA,aAAA,CAAA,CAAA;AACxB,QAAO,OAAA,aAAA,CAAA;AAAA,OACT;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA,CAAA;AAGA;AAAA,IAAqCH,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAA,IAAA,CAAA,CAAA;AAErC;AAAA,IAA6BA,cAAA,CAAA,IAAA,EAAA,OAAA,EAAA,IAAA,CAAA,CAAA;AAE7B;AAAA,IAAAA,cAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAA;AAGA;AAAA,IAAYA,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA;AAaZ;AAAA,IAAAA,cAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAGA;AAAA,IAAAA,cAAA,CAAA,IAAA,EAAA,KAAA,EAAQ,MAAM;AA9EhB,MAAA,IAAA,EAAA,CAAA;AA+EI,MAAA,CAAA,EAAA,GAAAC,cAAA,CAAA,IAAA,EAAK,OAAL,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAe,EAAE,IAAA,EAAM,MAAO,EAAA,CAAA,CAAA;AAC9B,MAAAE,cAAA,CAAA,IAAA,EAAK,OAAU,EAAA,IAAA,CAAA,CAAA;AAAA,KACjB,CAAA,CAAA;AAGA;AAAA,IAAAH,cAAA,CAAA,IAAA,EAAA,KAAA,EAAQ,CAAC,MAAuB,KAAA;AApFlC,MAAA,IAAA,EAAA,CAAA;AAqFI,MAAAG,cAAA,CAAA,IAAA,EAAK,OAAU,EAAA,MAAA,CAAA,CAAA;AACf,MAAA,CAAA,EAAA,GAAAF,cAAA,CAAA,IAAA,EAAK,OAAL,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAe,EAAE,IAAA,EAAM,QAAQ,MAAO,EAAA,CAAA,CAAA;AAAA,KACxC,CAAA,CAAA;AAGA;AAAA,IAAO,IAAA,CAAA,IAAA,GAAA,CAAC,KAAU,MAAgC,KAAA;AAChD,MAAAE,cAAA,CAAA,IAAA,EAAKL,MAAO,EAAA,GAAA,CAAA,CAAA;AACZ,MAAAK,cAAA,CAAA,IAAA,EAAK,OAAU,EAAA,MAAA,CAAA,CAAA;AAAA,KACjB,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,QAAA,GAAW,CAAC,GAAqB,KAAA;AAC/B,MAAI,GAAA,CAAA,gBAAA,CAAiB,WAAa,EAAAF,cAAA,CAAA,IAAA,EAAK,gBAAgB,CAAA,CAAA,CAAA;AACvD,MAAI,GAAA,CAAA,gBAAA,CAAiB,SAAW,EAAAA,cAAA,CAAA,IAAA,EAAK,cAAc,CAAA,CAAA,CAAA;AACnD,MAAI,GAAA,CAAA,gBAAA,CAAiB,WAAa,EAAAA,cAAA,CAAA,IAAA,EAAK,gBAAgB,CAAA,CAAA,CAAA;AAAA,KACzD,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,WAAA,GAAc,CAAC,GAAqB,KAAA;AAClC,MAAI,GAAA,CAAA,mBAAA,CAAoB,WAAa,EAAAA,cAAA,CAAA,IAAA,EAAK,gBAAgB,CAAA,CAAA,CAAA;AAC1D,MAAI,GAAA,CAAA,mBAAA,CAAoB,SAAW,EAAAA,cAAA,CAAA,IAAA,EAAK,cAAc,CAAA,CAAA,CAAA;AACtD,MAAI,GAAA,CAAA,mBAAA,CAAoB,WAAa,EAAAA,cAAA,CAAA,IAAA,EAAK,gBAAgB,CAAA,CAAA,CAAA;AAAA,KAC5D,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,MAAA,GAAS,MAAM;AACb,MAAAE,cAAA,CAAA,IAAA,EAAK,OAAU,EAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KACjB,CAAA;AAGA;AAAA,IAAAH,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAmB,MAAM;AAnH3B,MAAA,IAAA,EAAA,CAAA;AAoHI,MAAAG,cAAA,CAAA,IAAA,EAAK,cAAiB,EAAA,CAAA,EAAA,GAAAF,cAAA,CAAA,IAAA,EAAK,OAAL,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAc,EAAG,CAAA,qBAAA,EAAA,CAAA,CAAA;AACvC,MAAAA,cAAA,CAAA,IAAA,EAAK,gBAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAGA;AAAA,IAAAD,cAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,MAAM;AACrB,MAAI,IAAA,CAACC,qBAAK,SAAW,CAAA,EAAA;AACnB,QAAA,qBAAA,CAAsB,MAAM;AA3HlC,UAAA,IAAA,EAAA,CAAA;AA4HQ,UAAA,IAAI,CAACA,cAAK,CAAA,IAAA,EAAA,cAAA,CAAA;AACR,YAAA,OAAA;AACF,UAAA,CAAA,EAAA,GAAAA,cAAA,CAAA,IAAA,EAAK,uCAAL,IAAY,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,SACb,CAAA,CAAA;AAED,QAAA,OAAA;AAAA,OACF;AACA,MAAAE,cAAA,CAAA,IAAA,EAAK,SAAY,EAAA,KAAA,CAAA,CAAA;AACjB,MAAAA,cAAA,CAAA,IAAA,EAAK,gBAAmB,EAAA,IAAA,CAAA,CAAA;AAAA,KAC1B,CAAA,CAAA;AAGA;AAAA,IAAAH,cAAA,CAAA,IAAA,EAAA,gBAAA,EAAmB,CAAC,KAAqB,KAAA;AAxI3C,MAAA,IAAA,EAAA,CAAA;AAyII,MAAAG,cAAA,CAAA,IAAA,EAAK,SAAY,EAAA,IAAA,CAAA,CAAA;AAEjB,MAAA,MAAM,OAAOF,cAAK,CAAA,IAAA,EAAA,uBAAA,EAAA,QAAA,CAAA,CAAA;AAClB,MAAA,IAAI,CAAC,IAAA;AACH,QAAA,OAAA;AACF,MAAK,IAAA,CAAA,GAAA,CAAI,QAAQ,QAAW,GAAA,MAAA,CAAA;AAE5B,MAAA,MAAM,YAAYA,cAAK,CAAA,IAAA,EAAA,gBAAA,CAAA,CAAA;AACvB,MAAI,IAAA,KAAA,CAAM,gBAAgB,SAAW,EAAA;AACnC,QAAM,MAAA,KAAA,GAAQ,UAAU,OAAQ,EAAA,CAAA;AAChC,QAAA,KAAA,CAAM,aAAa,aAAgB,GAAA,UAAA,CAAA;AACnC,QAAA,MAAM,EAAE,GAAK,EAAA,IAAA,EAAS,GAAA,qBAAA,CAAsB,MAAM,KAAK,CAAA,CAAA;AACvD,QAAA,KAAA,CAAM,aAAa,SAAU,EAAA,CAAA;AAC7B,QAAA,KAAA,CAAM,aAAa,OAAQ,CAAA,kBAAA,GAAqB,MAAS,GAAA,WAAA,EAAa,IAAI,SAAS,CAAA,CAAA;AACnF,QAAA,IAAI,CAAC,kBAAA;AACH,UAAM,KAAA,CAAA,YAAA,CAAa,OAAQ,CAAA,YAAA,EAAc,IAAI,CAAA,CAAA;AAC/C,QAAM,MAAA,QAAA,GAAA,CAAW,EAAK,GAAAA,cAAA,CAAA,IAAA,EAAA,OAAA,CAAA,KAAL,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAC/B,QAAI,IAAA,QAAA;AACF,UAAA,KAAA,CAAM,YAAa,CAAA,YAAA,CAAa,QAAU,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AAEhD,QAAA,IAAA,CAAK,QAAW,GAAA;AAAA,UACd,KAAA;AAAA,UACA,IAAM,EAAA,IAAA;AAAA,SACR,CAAA;AAAA,OACF;AAAA,KACF,CAAA,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,eAAA,GAAkB,CAAC,IAAqB,KAAA;AACtC,MAAAA,cAAA,CAAA,IAAA,EAAK,KAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AAEA,MAAAE,cAAA,CAAA,IAAA,EAAK,SAAY,EAAA,KAAA,CAAA,CAAA;AACjB,MAAK,IAAA,CAAA,GAAA,CAAI,QAAQ,QAAW,GAAA,OAAA,CAAA;AAC5B,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAGA;AAAA,IAAqBH,cAAA,CAAA,IAAA,EAAA,kBAAA,EAAAI,gBAAA,CAAS,CAAC,IAAA,EAAkB,KAAsB,KAAA;AACrE,MAAA,IAAI,CAAC,IAAK,CAAA,QAAA;AACR,QAAA,OAAA;AAEF,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,GAAA,CAAI,qBAAsB,EAAA,CAAA;AAC5C,MAAA,MAAM,CAAI,GAAA,IAAA,CAAK,IAAO,GAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AACnC,MAAA,MAAM,MAAM,IAAK,CAAA,IAAA,CAAK,gBAAiB,CAAA,CAAA,EAAG,MAAM,OAAO,CAAA,CAAA;AACvD,MAAI,IAAA,EAAE,eAAe,OAAU,CAAA,EAAA;AAC7B,QAAAH,cAAA,CAAA,IAAA,EAAK,KAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,MAAM,cAAcA,cAAK,CAAA,IAAA,EAAA,uBAAA,EAAA,eAAA,CAAA,CAAA;AACzB,MAAA,IAAI,CAAC,WAAA;AACH,QAAA,OAAA;AAEF,MAAM,MAAA,MAAA,GAAS,oBAAoB,IAAM,EAAA,EAAE,GAAG,CAAG,EAAA,KAAA,CAAM,OAAQ,EAAA,EAAG,WAAW,CAAA,CAAA;AAE7E,MAAA,IAAI,CAAC,MAAQ,EAAA;AACX,QAAAA,cAAA,CAAA,IAAA,EAAK,KAAL,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,QAAA,OAAA;AAAA,OACF;AACA,MAAAA,cAAA,CAAA,IAAA,EAAK,OAAL,IAAW,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;AAAA,OACV,GAAG,CAAA,CAAA,CAAA;AAGN;AAAA,IAAoB,IAAA,CAAA,iBAAA,GAAA,CAAC,MAAkB,KAAsB,KAAA;AAC3D,MAAI,IAAA,IAAA,CAAK,SAAa,IAAA,CAAC,IAAK,CAAA,QAAA;AAC1B,QAAO,OAAA,KAAA,CAAA;AAET,MAAKA,cAAA,CAAA,IAAA,EAAA,kBAAA,CAAA,CAAL,WAAwB,IAAM,EAAA,KAAA,CAAA,CAAA;AAE9B,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAGA;AAAA,IAAmB,IAAA,CAAA,gBAAA,GAAA,CAAC,MAAkB,KAAqB,KAAA;AAlN7D,MAAA,IAAA,EAAA,CAAA;AAmNI,MAAA,IAAIA,qBAAK,SAAW,CAAA,EAAA;AAClB,QAAA,MAAM,IAAO,GAAA,CAAA,EAAA,GAAAA,cAAA,CAAA,IAAA,EAAK,uBAAL,EAAA,QAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAY,GAAI,CAAA,aAAA,CAAA;AAC7B,QAAA,IAAI,CAAC,IAAA;AACH,UAAO,OAAA,KAAA,CAAA;AAET,QAAM,MAAA,sBAAA,GAAyB,IAAK,CAAA,YAAA,GAAe,IAAK,CAAA,YAAA,CAAA;AAExD,QAAM,MAAA,QAAA,GAAW,KAAK,qBAAsB,EAAA,CAAA;AAC5C,QAAA,IAAI,sBAAwB,EAAA;AAC1B,UAAI,IAAA,IAAA,CAAK,SAAY,GAAA,CAAA,IAAK,IAAK,CAAA,GAAA,CAAI,MAAM,CAAI,GAAA,QAAA,CAAS,CAAC,CAAA,GAAI,MAAQ,EAAA;AACjE,YAAA,MAAM,MAAM,IAAK,CAAA,SAAA,GAAY,EAAK,GAAA,IAAA,CAAK,YAAY,EAAK,GAAA,CAAA,CAAA;AACxD,YAAA,IAAA,CAAK,SAAY,GAAA,GAAA,CAAA;AACjB,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AACA,UAAA,MAAM,cAAc,IAAK,CAAA,KAAA,CAAM,KAAK,GAAI,CAAA,qBAAA,GAAwB,MAAM,CAAA,CAAA;AACtE,UAAA,MAAM,eAAe,IAAK,CAAA,KAAA,CAAM,IAAK,CAAA,SAAA,GAAY,SAAS,MAAM,CAAA,CAAA;AAChE,UAAI,IAAA,YAAA,GAAe,WAAe,IAAA,IAAA,CAAK,GAAI,CAAA,KAAA,CAAM,CAAK,IAAA,QAAA,CAAS,MAAS,GAAA,QAAA,CAAS,CAAE,CAAA,CAAA,GAAI,MAAQ,EAAA;AAC7F,YAAM,MAAA,GAAA,GAAM,KAAK,SAAY,GAAA,EAAA,CAAA;AAC7B,YAAA,IAAA,CAAK,SAAY,GAAA,GAAA,CAAA;AACjB,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAAA,SACF;AAAA,OACF;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,iBAAA,GAAoB,CAAC,IAAqB,KAAA;AACxC,MAAA,IAAI,CAAC,IAAK,CAAA,QAAA;AACR,QAAA,OAAA;AAEF,MAAAE,cAAA,CAAA,IAAA,EAAK,SAAY,EAAA,IAAA,CAAA,CAAA;AACjB,MAAK,IAAA,CAAA,GAAA,CAAI,QAAQ,QAAW,GAAA,MAAA,CAAA;AAAA,KAC9B,CAAA;AAGA;AAAA,IAAoB,IAAA,CAAA,iBAAA,GAAA,CAAC,MAAkB,KAAqB,KAAA;AAC1D,MAAA,MAAM,IAAI,KAAM,CAAA,OAAA,CAAA;AAChB,MAAA,MAAM,IAAI,KAAM,CAAA,OAAA,CAAA;AAEhB,MAAI,IAAA,CAAA,GAAI,KAAK,CAAI,GAAA,CAAA,IAAK,IAAI,MAAO,CAAA,UAAA,IAAc,CAAI,GAAA,MAAA,CAAO,WAAa,EAAA;AACrE,QAAAA,cAAA,CAAA,IAAA,EAAK,OAAU,EAAA,IAAA,CAAA,CAAA;AACf,QAAAF,cAAA,CAAA,IAAA,EAAK,UAAL,IAAc,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,OAChB;AAAA,KACF,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,YAAA,GAAe,CAAC,IAAqB,KAAA;AACnC,MAAAA,cAAA,CAAA,IAAA,EAAK,UAAL,IAAc,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAEd,MAAO,OAAA,KAAA,CAAA;AAAA,KACT,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,eAAA,GAAkB,CAAC,IAAqB,KAAA;AACtC,MAAAA,cAAA,CAAA,IAAA,EAAK,UAAL,IAAc,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,KAChB,CAAA;AAGA;AAAA,IAAAD,cAAA,CAAA,IAAA,EAAA,QAAA,EAAW,CAAC,IAAqB,KAAA;AAC/B,MAAAG,cAAA,CAAA,IAAA,EAAK,SAAY,EAAA,KAAA,CAAA,CAAA;AACjB,MAAK,IAAA,CAAA,GAAA,CAAI,QAAQ,QAAW,GAAA,OAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAAA,GAAA;AACF,CAAA;AA/OEL,MAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,gBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAiBA,gBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAEA,OAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAEA,cAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,SAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AA7BK,uBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAgCD,eAAA,GAAY,WAA4B;AAjE9C,EAAA,IAAA,EAAA,CAAA;AAkEI,EAAA,OAAA,CAAO,EAAK,GAAAG,cAAA,CAAA,IAAA,EAAAH,MAAA,CAAA,KAAL,IAAW,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAI,YAAY,GAAK,CAAA,CAAA,WAAA,CAAA;AACzC,CAAA,CAAA;AAGI,QAAA,GAAK,WAAG;AAtEd,EAAA,IAAA,EAAA,CAAA;AAuEI,EAAO,OAAA,CAAA,EAAA,GAAAG,cAAA,CAAA,IAAA,EAAKH,MAAL,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAW,GAAI,CAAAO,mBAAA,CAAA,CAAA;AACxB,CAAA,CAAA;AAGA,OAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,KAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAMA,KAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AA+BA,gBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAMA,cAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAeA,gBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAsCA,kBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAgGA,QAAA,GAAA,IAAA,OAAA,EAAA;;ACrQK,MAAM,YAAe,GAAAT,UAAA,CAAK,IAAI,YAAA,IAAgB,cAAc,CAAA,CAAA;AAEnE,QAAA,CAAS,WAAa,EAAA;AAAA,EACpB,WAAa,EAAA,mBAAA;AACf,CAAC,CAAA,CAAA;AAIM,MAAM,SAAY,GAAAA,UAAA,CAAmC,EAAC,EAAG,WAAW,CAAA,CAAA;AAE3E,QAAA,CAAS,WAAa,EAAA;AAAA,EACpB,WAAa,EAAA,gBAAA;AACf,CAAC,CAAA,CAAA;AAGY,MAAA,WAAA,GAAcU,YAAO,CAAA,CAAC,GAAQ,KAAA;AACzC,EAAM,MAAA,sBAAA,GAAyB,IAAIC,eAAA,CAAU,gBAAgB,CAAA,CAAA;AAC7D,EAAA,MAAM,OAAU,GAAA,GAAA,CAAI,GAAI,CAAA,YAAA,CAAa,GAAG,CAAA,CAAA;AACxC,EAAA,MAAM,IAAO,GAAA,GAAA,CAAI,GAAI,CAAA,SAAA,CAAU,GAAG,CAAA,CAAA;AAElC,EAAA,OAAO,IAAIC,YAAO,CAAA;AAAA,IAChB,GAAK,EAAA,sBAAA;AAAA,IACL,GAAG,IAAA;AAAA,IACH,KAAO,EAAA;AAAA,MACL,GAAG,IAAK,CAAA,KAAA;AAAA,MACR,eAAiB,EAAA;AAAA,QACf,IAAA,EAAM,CAAC,IAAS,KAAA;AACd,UAAO,OAAA,OAAA,CAAQ,aAAa,IAAI,CAAA,CAAA;AAAA,SAClC;AAAA,QACA,WAAA,EAAa,CAAC,IAAA,EAAM,KAAU,KAAA;AAC5B,UAAO,OAAA,OAAA,CAAQ,iBAAkB,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,SAC9C;AAAA,QACA,OAAA,EAAS,CAAC,IAAS,KAAA;AACjB,UAAO,OAAA,OAAA,CAAQ,gBAAgB,IAAI,CAAA,CAAA;AAAA,SACrC;AAAA,QACA,QAAA,EAAU,CAAC,IAAA,EAAM,KAAU,KAAA;AACzB,UAAO,OAAA,OAAA,CAAQ,gBAAiB,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,SAC7C;AAAA,QACA,SAAA,EAAW,CAAC,IAAA,EAAM,KAAU,KAAA;AAC1B,UAAO,OAAA,OAAA,CAAQ,iBAAkB,CAAA,IAAA,EAAM,KAAK,CAAA,CAAA;AAAA,SAC9C;AAAA,QACA,SAAA,EAAW,CAAC,IAAS,KAAA;AACnB,UAAO,OAAA,OAAA,CAAQ,kBAAkB,IAAI,CAAA,CAAA;AAAA,SACvC;AAAA,QACA,OAAA,EAAS,CAAC,IAAS,KAAA;AACjB,UAAO,OAAA,OAAA,CAAQ,gBAAgB,IAAI,CAAA,CAAA;AAAA,SACrC;AAAA,OACF;AAAA,KACF;AAAA,GACD,CAAA,CAAA;AACH,CAAC,CAAA,CAAA;AAED,QAAA,CAAS,WAAa,EAAA;AAAA,EACpB,WAAa,EAAA,cAAA;AACf,CAAC,CAAA;;;;;;;;;;AC/DD,IAAA,QAAA,EAAAV,MAAA,EAAA,QAAA,EAAA,WAAA,EAAAW,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,OAAA,CAAA;AAyCO,MAAM,aAAc,CAAA;AAAA,EAkCzB,YAAY,OAA+B,EAAA;AAlCtC,IAAAT,cAAA,CAAA,IAAA,EAAA,wBAAA,CAAA,CAAA;AAEL;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAGT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAAF,MAAA,CAAA,CAAA;AAGT;AAAA,IAAAE,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAGA;AAAA,IAAiCA,cAAA,CAAA,IAAA,EAAA,WAAA,EAAA,IAAA,CAAA,CAAA;AAGjC;AAAA,IAAeA,cAAA,CAAA,IAAA,EAAAS,cAAA,EAAA,KAAA,CAAA,CAAA;AAGf;AAAA,IAAST,cAAA,CAAA,IAAA,EAAA,UAAA,CAAA,CAAA;AAOT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,YAAA,CAAA,CAAA;AAGT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AAwCT;AAAA,IAAA,IAAA,CAAA,MAAA,GAAS,MAAY;AACnB,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAI,IAAA,CAACC,qBAAKQ,cAAc,CAAA,EAAA;AACtB,UAAI,IAAA;AACF,YAAAC,iBAAA,CAAA,IAAA,EAAK,wBAAL,EAAA,OAAA,CAAA,CAAA,IAAA,CAAA,IAAA,CAAA,CAAA;AACA,YAAAP,cAAA,CAAA,IAAA,EAAKM,cAAe,EAAA,IAAA,CAAA,CAAA;AAAA,WAEhB,CAAA,OAAA,CAAA,EAAA;AAAA,WAEN;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AA3HlB,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA4HI,MAAA,CAAA,EAAA,GAAAR,cAAA,CAAA,IAAA,EAAK,cAAL,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA,CAAA;AACf,MAAK,CAAA,EAAA,GAAAA,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,KAAL,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAYA,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAChC,MAAAA,cAAA,CAAA,IAAA,EAAK,UAAS,MAAO,EAAA,CAAA;AAAA,KACvB,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,IAAA,GAAO,CAAC,MAAuB,KAAA;AAC7B,MAAA,MAAM,MAAM,MAAO,CAAA,EAAA,CAAA;AACnB,MAAA,MAAM,SAAY,GAAAA,cAAA,CAAA,IAAA,EAAKH,MAAK,CAAA,CAAA,GAAA,CAAIO,mBAAa,CAAE,CAAA,GAAA,CAAA;AAC/C,MAAA,MAAM,aAA+B,GAAA;AAAA,QACnC,KAAKJ,cAAK,CAAA,IAAA,EAAAH,MAAA,CAAA;AAAA,QACV,MAAA;AAAA,QACA,SAAA;AAAA,QACA,UAAUG,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA,OACjB,CAAA;AACA,MAAA,MAAM,SAA4B,GAAA;AAAA,QAChC,cAAgB,EAAA,GAAA;AAAA,QAChB,uBAAuB,MAAM;AAC3B,UAAA,IAAIA,cAAK,CAAA,IAAA,EAAA,YAAA,CAAA;AACP,YAAO,OAAAA,cAAA,CAAA,IAAA,EAAK,cAAL,IAAkB,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AAE3B,UAAA,OAAO,IAAI,qBAAsB,EAAA,CAAA;AAAA,SACnC;AAAA,OACF,CAAA;AACA,MAAM,MAAA,UAAA,GAAa,CAACU,mBAAA,EAAM,CAAA,CAAA;AAC1B,MAAA,IAAIV,qBAAK,UAAY,CAAA,EAAA;AACnB,QAAM,MAAA,YAAA,GAAeA,cAAK,CAAA,IAAA,EAAA,UAAA,CAAA,CAAL,IAAgB,CAAA,IAAA,EAAA,aAAA,CAAA,CAAA;AACrC,QAAM,MAAA,SAAA,GAAYW,sBAAO,YAAY,CAAA,CAAA;AACrC,QAAA,UAAA,CAAW,KAAK,SAAS,CAAA,CAAA;AAAA,OAC3B;AAEA,MAAgBC,8BAAA,CAAA,SAAA,EAAWZ,qBAAK,QAAU,CAAA,EAAA;AAAA,QACxC,WAAWA,cAAK,CAAA,IAAA,EAAA,aAAA,CAAA,GACZA,cAAK,CAAA,IAAA,EAAA,aAAA,CAAA,CAAL,WAAmB,aACnB,CAAA,GAAA,MAAA;AAAA,QACJ,UAAA;AAAA,OACD,CAAE,CAAA,IAAA,CAAK,CAAC,EAAE,CAAA,EAAG,GAAQ,KAAA;AACpB,QAAO,MAAA,CAAA,MAAA,CAAOA,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,KAAO,EAAA;AAAA,UACjC,IAAA,EAAM,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,UACV,GAAA,EAAK,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,SACV,CAAA,CAAA;AACD,QAAKA,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,QAAQ,IAAO,GAAA,MAAA,CAAA;AAAA,OAC9B,CAAA,CAAA;AAAA,KACH,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAKA,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,QAAQ,IAAO,GAAA,OAAA,CAAA;AAC7B,MAAA,UAAA,CAAW,MAAM;AACf,QAAO,MAAA,CAAA,MAAA,CAAOA,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,KAAO,EAAA;AAAA,UACjC,IAAM,EAAA,CAAA,MAAA,CAAA;AAAA,UACN,GAAK,EAAA,CAAA,MAAA,CAAA;AAAA,SACN,CAAA,CAAA;AAAA,SACA,GAAG,CAAA,CAAA;AAAA,KACR,CAAA;AAtGE,IAAAE,cAAA,CAAA,IAAA,EAAKL,QAAO,OAAQ,CAAA,GAAA,CAAA,CAAA;AACpB,IAAAK,cAAA,CAAA,IAAA,EAAK,UAAW,OAAQ,CAAA,OAAA,CAAA,CAAA;AACxB,IAAAA,cAAA,CAAA,IAAA,EAAK,YAAa,OAAQ,CAAA,SAAA,CAAA,CAAA;AAC1B,IAAAA,cAAA,CAAA,IAAA,EAAK,cAAe,OAAQ,CAAA,WAAA,CAAA,CAAA;AAC5B,IAAAA,cAAA,CAAA,IAAA,EAAK,eAAgB,OAAQ,CAAA,YAAA,CAAA,CAAA;AAC7B,IAAA,IAAA,CAAK,IAAK,EAAA,CAAA;AAAA,GACZ;AAAA;AAAA,EAXA,IAAI,MAAS,GAAA;AACX,IAAA,OAAOF,cAAK,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AAAA,GACd;AA0GF,CAAA;AAxIW,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGAH,MAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGT,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,WAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGAW,cAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGS,UAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAOA,YAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,aAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AA3BJ,wBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAAA;AA4CL,OAAA,GAAK,WAAG;AArFV,EAAA,IAAA,EAAA,CAAA;AAsFI,EAAA,MAAM,IAAO,GAAAR,cAAA,CAAA,IAAA,EAAKH,MAAK,CAAA,CAAA,GAAA,CAAIO,mBAAa,CAAA,CAAA;AACxC,EAAA,CAAA,EAAA,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,KAAT,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAYJ,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAEzC,EAAA,MAAM,OAAU,GAAAA,cAAA,CAAA,IAAA,EAAKH,MAAK,CAAA,CAAA,GAAA,CAAI,aAAa,GAAG,CAAA,CAAA;AAC9C,EAAA,OAAA,CAAQ,IAAK,CAAAG,cAAA,CAAA,IAAA,EAAKH,MAAM,CAAA,EAAA,CAAC,OAAY,KAAA;AACnC,IAAI,IAAA,OAAA,CAAQ,SAAS,MAAQ,EAAA;AAC3B,MAAA,IAAA,CAAK,IAAK,EAAA,CAAA;AACV,MAAAK,cAAA,CAAA,IAAA,EAAK,WAAc,EAAA,IAAA,CAAA,CAAA;AAAA,KACrB,MAAA,IAES,OAAQ,CAAA,IAAA,KAAS,MAAQ,EAAA;AAChC,MAAK,IAAA,CAAA,IAAA,CAAK,QAAQ,MAAM,CAAA,CAAA;AACxB,MAAAA,cAAA,CAAA,IAAA,EAAK,aAAc,OAAQ,CAAA,MAAA,CAAA,CAAA;AAAA,KAC7B;AAAA,GACD,CAAA,CAAA;AAED,EAAAA,cAAA,CAAA,IAAA,EAAK,QAAW,EAAA,OAAA,CAAA,CAAA;AAChB,EAAKF,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,QAAS,CAAAA,cAAA,CAAA,IAAA,EAAK,QAAQ,CAAA,CAAA,CAAA;AACpC,EAAAA,cAAA,CAAA,IAAA,EAAK,UAAS,SAAY,GAAA,IAAA,CAAA;AAC5B,CAAA;;AC/EK,MAAM,KAAQ,GAAA,CAAC,SAAW,EAAA,WAAA,EAAa,cAAc,WAAW,CAAA,CAAA;AACvE,KAAA,CAAM,MAAM,SAAU,CAAA,GAAA,CAAA;AACtB,KAAA,CAAM,YAAY,WAAY,CAAA,GAAA;;ACZvB,SAAS,aAA6C,EAAQ,EAAA;AACnE,EAAA,MAAM,YAAYL,UAA+C,CAAA,EAAI,EAAA,CAAA,EAAG,EAAE,CAAa,WAAA,CAAA,CAAA,CAAA;AACvF,EAAM,MAAA,WAAA,GAAcU,YAAO,CAAA,CAAC,GAAQ,KAAA;AAClC,IAAA,MAAM,IAAO,GAAA,GAAA,CAAI,GAAI,CAAA,SAAA,CAAU,GAAG,CAAA,CAAA;AAClC,IAAA,OAAO,IAAIE,YAAO,CAAA;AAAA,MAChB,GAAK,EAAA,IAAID,eAAU,CAAA,CAAA,EAAG,EAAE,CAAQ,MAAA,CAAA,CAAA;AAAA,MAChC,GAAG,IAAA;AAAA,KACJ,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACD,EAAM,MAAA,MAAA,GAAS,CAAC,SAAA,EAAW,WAAW,CAAA,CAAA;AACtC,EAAA,MAAA,CAAO,MAAM,SAAU,CAAA,GAAA,CAAA;AACvB,EAAA,MAAA,CAAO,YAAY,WAAY,CAAA,GAAA,CAAA;AAC/B,EAAA,SAAA,CAAU,IAAO,GAAA;AAAA,IACf,OAAS,EAAA,wBAAA;AAAA,IACT,WAAA,EAAa,kBAAkB,EAAE,CAAA,CAAA;AAAA,GACnC,CAAA;AACA,EAAA,WAAA,CAAY,IAAO,GAAA;AAAA,IACjB,OAAS,EAAA,wBAAA;AAAA,IACT,WAAA,EAAa,gBAAgB,EAAE,CAAA,CAAA;AAAA,GACjC,CAAA;AAEA,EAAO,OAAA,MAAA,CAAA;AACT;;;;;;;;;;ACtCA,IAAA,YAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,wBAAA,EAAA,cAAA,CAAA;AA4BO,MAAM,aAAc,CAAA;AAAA,EA6BzB,YAAY,OAA+B,EAAA;AA7BtC,IAAAP,cAAA,CAAA,IAAA,EAAA,wBAAA,CAAA,CAAA;AAKL;AAAA,IAAeA,cAAA,CAAA,IAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;AAGf;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAGT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AAGT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;AAGT;AAAA,IAASA,cAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAOT;AAAA,IAAA,IAAA,CAAA,MAAA,GAAS,MAAM;AAAA,KAAC,CAAA;AAGhB;AAAA,IAAA,IAAA,CAAA,MAAA,GAAS,MAAM;AAAA,KAAC,CAAA;AAWhB;AAAA,IAAYA,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA,CAAC,MAAkB,SAAkC,KAAA;AAlEnE,MAAA,IAAA,EAAA,CAAA;AAmEI,MAAM,MAAA,EAAE,KAAO,EAAA,SAAA,EAAc,GAAA,IAAA,CAAA;AAC7B,MAAM,MAAA,EAAE,SAAW,EAAA,GAAA,EAAQ,GAAA,KAAA,CAAA;AAC3B,MAAM,MAAA,EAAE,QAAW,GAAA,SAAA,CAAA;AACnB,MAAM,MAAA,IAAA,GAAO,IAAK,CAAA,GAAA,CAAI,GAAG,MAAA,CAAO,IAAI,CAAS,KAAA,KAAA,KAAA,CAAM,KAAM,CAAA,GAAG,CAAC,CAAA,CAAA;AAC7D,MAAM,MAAA,EAAA,GAAK,IAAK,CAAA,GAAA,CAAI,GAAG,MAAA,CAAO,IAAI,CAAS,KAAA,KAAA,KAAA,CAAM,GAAI,CAAA,GAAG,CAAC,CAAA,CAAA;AACzD,MAAM,MAAA,MAAA,GAAS,SAAa,IAAA,SAAA,CAAU,GAAI,CAAA,EAAA,CAAG,GAAG,CAAK,IAAA,SAAA,CAAU,SAAU,CAAA,EAAA,CAAG,SAAS,CAAA,CAAA;AAErF,MAAI,IAAA,CAACC,qBAAK,YAAc,CAAA,EAAA;AACtB,QAAA,CAAA,EAAA,GAAA,IAAA,CAAK,GAAI,CAAA,aAAA,KAAT,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,CAAY,IAAK,CAAA,OAAA,CAAA,CAAA;AACzC,QAAAE,cAAA,CAAA,IAAA,EAAK,YAAe,EAAA,IAAA,CAAA,CAAA;AAAA,OACtB;AAEA,MAAA,IAAI,SAAa,IAAA,MAAA;AACf,QAAA,OAAA;AAEF,MAAA,IAAI,CAACF,cAAA,CAAA,IAAA,EAAK,WAAL,CAAA,CAAA,IAAA,CAAA,IAAA,EAAiB,MAAM,SAAY,CAAA,EAAA;AACtC,QAAA,IAAA,CAAK,IAAK,EAAA,CAAA;AACV,QAAA,OAAA;AAAA,OACF;AAEA,MAAA,MAAM,SAA4B,GAAA;AAAA,QAChC,qBAAuB,EAAA,MAAMa,kBAAa,CAAA,IAAA,EAAM,MAAM,EAAE,CAAA;AAAA,OAC1D,CAAA;AACA,MAAgBD,8BAAA,CAAA,SAAA,EAAW,KAAK,OAAS,EAAA;AAAA,QACvC,SAAW,EAAA,cAAA;AAAA,QACX,YAAY,CAACF,mBAAA,IAAQC,qBAAO,CAAAX,cAAA,CAAA,IAAA,EAAK,QAAO,CAAC,CAAA;AAAA,OAC1C,CACE,CAAA,IAAA,CAAK,CAAC,EAAE,CAAA,EAAG,GAAQ,KAAA;AAClB,QAAO,MAAA,CAAA,MAAA,CAAO,IAAK,CAAA,OAAA,CAAQ,KAAO,EAAA;AAAA,UAChC,IAAA,EAAM,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,UACV,GAAA,EAAK,GAAG,CAAC,CAAA,EAAA,CAAA;AAAA,SACV,CAAA,CAAA;AAAA,OACF,CAAA,CAAA;AAEH,MAAA,IAAA,CAAK,IAAK,EAAA,CAAA;AAAA,KACZ,CAAA,CAAA;AAkBA;AAAA,IAAS,IAAA,CAAA,MAAA,GAAA,CAAC,MAAkB,SAAkC,KAAA;AAC5D,MAAA,MAAM,OAAU,GAAAc,gBAAA,CAASd,cAAK,CAAA,IAAA,EAAA,SAAA,CAAA,EAAWA,qBAAK,SAAS,CAAA,CAAA,CAAA;AAEvD,MAAA,OAAA,CAAQ,MAAM,SAAS,CAAA,CAAA;AAAA,KACzB,CAAA;AAIA;AAAA;AAAA,IAAA,IAAA,CAAA,UAAA,GAAa,CAAC,IAAkB,EAAA,SAAA,GAAqC,UAAQ,IAAK,CAAA,IAAA,CAAK,SAAS,WAAoC,KAAA;AAClI,MAAM,MAAA,EAAE,SAAU,EAAA,GAAI,IAAK,CAAA,KAAA,CAAA;AAC3B,MAAM,MAAA,EAAE,KAAO,EAAA,KAAA,EAAU,GAAA,SAAA,CAAA;AACzB,MAAM,MAAA,WAAA,GAAc,IAAK,CAAA,KAAA,CAAM,SAAqB,YAAAe,mBAAA,CAAA;AAEpD,MAAA,MAAM,eAAkB,GAAA,IAAA,CAAK,OAAQ,CAAA,QAAA,CAAS,SAAS,aAAa,CAAA,CAAA;AAEpE,MAAA,MAAM,WAAc,GAAA,CAAC,IAAK,CAAA,QAAA,MAAc,CAAC,eAAA,CAAA;AAEzC,MAAM,MAAA,UAAA,GAAa,CAAC,IAAK,CAAA,QAAA,CAAA;AAEzB,MAAA,MAAM,YAAYC,oBAAe,CAAA,SAAS,CAAE,CAAA,IAAA,CAAK,MAAM,SAAS,CAAA,CAAA;AAEhE,MAAA,MAAM,mBAAmB,CAAC,SAAA,CAAA;AAE1B,MAAA,IAAI,WAAe,IAAA,UAAA,IAAc,CAAC,KAAA,IAAS,CAAC,WAAe,IAAA,gBAAA;AACzD,QAAA,OAAA;AAEF,MAAA,OAAO,KAAM,CAAA,MAAA,CAAO,WAAY,CAAA,IAAA,CAAK,GAAI,CAAA,CAAA,EAAG,KAAM,CAAA,YAAA,GAAe,GAAG,CAAA,EAAG,KAAM,CAAA,YAAA,EAAc,QAAW,QAAQ,CAAA,CAAA;AAAA,KAChH,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AAAA,KAChB,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAK,IAAA,CAAA,OAAA,CAAQ,QAAQ,IAAO,GAAA,MAAA,CAAA;AAC5B,MAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,KACd,CAAA;AAGA;AAAA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAK,IAAA,CAAA,OAAA,CAAQ,QAAQ,IAAO,GAAA,OAAA,CAAA;AAC5B,MAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,KACd,CAAA;AAnKF,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA0DI,IAAA,IAAA,CAAK,UAAU,OAAQ,CAAA,OAAA,CAAA;AACvB,IAAKd,cAAA,CAAA,IAAA,EAAA,SAAA,EAAA,CAAY,EAAQ,GAAA,OAAA,CAAA,QAAA,KAAR,IAAoB,GAAA,EAAA,GAAA,GAAA,CAAA,CAAA;AACrC,IAAAA,cAAA,CAAA,IAAA,EAAK,WAAc,EAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,KAAA,IAAA,GAAA,EAAA,GAAsB,eAAK,CAAA,IAAA,EAAA,wBAAA,EAAA,cAAA,CAAA,CAAA,CAAA;AAC9C,IAAKA,cAAA,CAAA,IAAA,EAAA,QAAA,EAAA,CAAW,EAAQ,GAAA,OAAA,CAAA,OAAA,KAAR,IAAmB,GAAA,EAAA,GAAA,GAAA,CAAA,CAAA;AACnC,IAAAA,cAAA,CAAA,IAAA,EAAK,SAAU,OAAQ,CAAA,MAAA,CAAA,CAAA;AAAA,GACzB;AAqGF,CAAA;AAnIE,YAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGS,SAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,WAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAGA,OAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAqBT,SAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAtCK,wBAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAAA;AA6EL,cAAA,GAAY,SAAC,IAA2B,EAAA;AACtC,EAAM,MAAA,uBAAA,GAA0B,IAAK,CAAA,UAAA,CAAW,IAAI,CAAA,CAAA;AAEpD,EAAA,IAAI,CAAC,uBAAA;AACH,IAAO,OAAA,KAAA,CAAA;AAET,EAAM,MAAA,MAAA,GAAS,uBAAwB,CAAA,EAAA,CAAG,CAAE,CAAA,CAAA,CAAA;AAE5C,EAAA,IAAI,CAAC,MAAA;AACH,IAAO,OAAA,KAAA,CAAA;AAET,EAAO,OAAA,KAAA,CAAM,OAAQ,CAAAF,cAAA,CAAA,IAAA,EAAK,QAAQ,CAAA,CAAA,GAAIA,cAAK,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,QAAS,CAAA,MAAM,CAAI,GAAAA,cAAA,CAAA,IAAA,EAAK,QAAa,CAAA,KAAA,MAAA,CAAA;AAC3F,CAAA;;AC/FK,SAAS,WAAW,EAAiB,EAAA;AAC1C,EAAA,MAAM,EAAE,KAAA,EAAO,GAAI,EAAA,GAAI,EAAG,CAAA,SAAA,CAAA;AAC1B,EAAM,MAAA,EAAE,GAAK,EAAA,IAAA,EAAS,GAAA,KAAA,CAAA;AACtB,EAAM,MAAA,EAAE,GAAK,EAAA,EAAA,EAAO,GAAA,GAAA,CAAA;AACpB,EAAK,EAAA,GAAA,EAAA,CAAG,YAAY,IAAO,GAAA,KAAA,CAAM,MAAO,CAAA,OAAA,CAAQ,MAAM,EAAE,CAAA,CAAA;AACxD,EAAO,OAAA,EAAA,CAAA;AACT,CAAA;AAEO,SAAS,YAAa,CAAA,EAAA,EAAiB,QAAoB,EAAA,KAAA,GAAsB,IAAM,EAAA;AAC5F,EAAA,MAAM,EAAE,IAAA,EAAM,EAAG,EAAA,GAAI,EAAG,CAAA,SAAA,CAAA;AACxB,EAAA,OAAO,EAAG,CAAA,YAAA,CAAa,IAAM,EAAA,EAAA,EAAI,UAAU,KAAK,CAAA,CAAA;AAClD,CAAA;AAEO,SAAS,eAAgB,CAAA,EAAA,EAAiB,QAAoB,EAAA,KAAA,GAAsB,IAAM,EAAA;AAC/F,EAAA,MAAM,EAAE,KAAA,EAAO,GAAI,EAAA,GAAI,EAAG,CAAA,SAAA,CAAA;AAE1B,EAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,UAAA,CAAW,GAAG,CAAA,CAAA;AAClC,EAAA,MAAM,QAAW,GAAA,KAAA,IAASiB,sBAAa,CAAA,KAAA,EAAO,UAAU,KAAK,CAAA,CAAA;AAC7D,EAAA,IAAI,CAAC,QAAA;AACH,IAAO,OAAA,IAAA,CAAA;AAET,EAAO,OAAA,EAAA,CAAG,IAAK,CAAA,KAAA,EAAO,QAAQ,CAAA,CAAA;AAChC,CAAA;AAEO,SAAS,YAAa,CAAA,EAAA,EAAiB,QAAoB,EAAA,KAAA,GAAsB,IAAM,EAAA;AAC5F,EAAM,MAAA,IAAA,GAAO,QAAS,CAAA,aAAA,CAAc,KAAK,CAAA,CAAA;AACzC,EAAA,IAAI,CAAC,IAAA;AACH,IAAO,OAAA,IAAA,CAAA;AAET,EAAO,OAAA,EAAA,CAAG,qBAAqB,IAAI,CAAA,CAAA;AACrC,CAAA;AAEgB,SAAA,2BAAA,CAA4B,QAAoB,EAAA,KAAA,GAAsB,IAAe,EAAA;AACnG,EAAO,OAAA,CAAC,OAAO,QAAa,KAAA;AAC1B,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,MAAM,KAAK,YAAa,CAAA,UAAA,CAAW,MAAM,EAAE,CAAA,EAAG,UAAU,KAAK,CAAA,CAAA;AAC7D,MAAS,QAAA,CAAA,EAAA,CAAG,gBAAgB,CAAA,CAAA;AAAA,KAC9B;AACA,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA;AACF,CAAA;AAEgB,SAAA,8BAAA,CAA+B,QAAoB,EAAA,KAAA,GAAsB,IAAe,EAAA;AACtG,EAAO,OAAA,CAAC,OAAO,QAAa,KAAA;AAC1B,IAAA,MAAM,KAAK,eAAgB,CAAA,UAAA,CAAW,MAAM,EAAE,CAAA,EAAG,UAAU,KAAK,CAAA,CAAA;AAChE,IAAA,IAAI,CAAC,EAAA;AACH,MAAO,OAAA,KAAA,CAAA;AAET,IAAI,IAAA,QAAA;AACF,MAAS,QAAA,CAAA,EAAA,CAAG,gBAAgB,CAAA,CAAA;AAE9B,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA;AACF,CAAA;AAEgB,SAAA,2BAAA,CAA4B,QAAoB,EAAA,KAAA,GAAsB,IAAe,EAAA;AACnG,EAAO,OAAA,CAAC,OAAO,QAAa,KAAA;AAC1B,IAAA,MAAM,KAAK,YAAa,CAAA,UAAA,CAAW,MAAM,EAAE,CAAA,EAAG,UAAU,KAAK,CAAA,CAAA;AAC7D,IAAA,IAAI,CAAC,EAAA;AACH,MAAO,OAAA,KAAA,CAAA;AAET,IAAI,IAAA,QAAA;AACF,MAAS,QAAA,CAAA,EAAA,CAAG,gBAAgB,CAAA,CAAA;AAE9B,IAAO,OAAA,IAAA,CAAA;AAAA,GACT,CAAA;AACF;;;;;;;;;ACxFA,IAAA,OAAA,EAAA,iBAAA,CAAA;AAEO,MAAM,YAAa,CAAA;AAAA,EAAnB,WAAA,GAAA;AACL,IAAAlB,cAAA,CAAA,IAAA,EAAA,OAAA,EAAkC,EAAC,CAAA,CAAA;AAEnC,IAAA,IAAA,CAAA,KAAA,GAAQ,MAAM;AACZ,MAAAG,cAAA,CAAA,IAAA,EAAK,SAAU,EAAC,CAAA,CAAA;AAChB,MAAO,OAAA,IAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAAH,cAAA,CAAA,IAAA,EAAA,iBAAA,EAAoB,CAAC,KAAgC,KAAA;AACnD,MAAA,MAAM,aAAgB,GAAA;AAAA,QACpB,KAAA;AAAA,QACA,OAAA,EAAS,CAAC,GAAA,EAAa,IAA0C,KAAA;AAC/D,UAAA,MAAM,IAAO,GAAA,EAAE,GAAK,EAAA,GAAG,IAAK,EAAA,CAAA;AAC5B,UAAM,KAAA,CAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AACrB,UAAO,OAAA,aAAA,CAAA;AAAA,SACT;AAAA,QACA,OAAO,MAAM;AACX,UAAA,KAAA,CAAM,QAAQ,EAAC,CAAA;AACf,UAAO,OAAA,aAAA,CAAA;AAAA,SACT;AAAA,OACF,CAAA;AACA,MAAO,OAAA,aAAA,CAAA;AAAA,KACT,CAAA,CAAA;AAEA,IAAW,IAAA,CAAA,QAAA,GAAA,CAAC,KAAa,KAAkB,KAAA;AACzC,MAAA,MAAM,QAAmC,EAAC,CAAA;AAC1C,MAAA,MAAM,KAA8B,GAAA;AAAA,QAClC,GAAA;AAAA,QACA,KAAA;AAAA,QACA,KAAA;AAAA,OACF,CAAA;AACA,MAAKC,cAAA,CAAA,IAAA,EAAA,OAAA,CAAA,CAAQ,KAAK,KAAK,CAAA,CAAA;AAEvB,MAAO,OAAAA,cAAA,CAAA,IAAA,EAAK,mBAAL,IAAuB,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAA,IAAA,CAAA,QAAA,GAAW,CAAC,GAAgB,KAAA;AAC1B,MAAM,MAAA,KAAA,GAAQA,qBAAK,OAAQ,CAAA,CAAA,IAAA,CAAK,CAAAkB,MAASA,KAAAA,MAAAA,CAAM,QAAQ,GAAG,CAAA,CAAA;AAC1D,MAAA,IAAI,CAAC,KAAA;AACH,QAAA,MAAM,IAAI,KAAA,CAAM,CAAkB,eAAA,EAAA,GAAG,CAAY,UAAA,CAAA,CAAA,CAAA;AAEnD,MAAO,OAAAlB,cAAA,CAAA,IAAA,EAAK,mBAAL,IAAuB,CAAA,IAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,GAAQ,MAAM;AACZ,MAAA,OAAOA,cAAK,CAAA,IAAA,EAAA,OAAA,CAAA,CAAA;AAAA,KACd,CAAA;AAAA,GAAA;AACF,CAAA;AA9CE,OAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AAOA,iBAAA,GAAA,IAAA,OAAA,EAAA;;AC+Bc,SAAA,SAAA,CAAU,QAAiB,MAAiC,EAAA;AAzC5E,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA0CE,EAAM,MAAA,YAAA,GAAe,IAAI,YAAa,EAAA,CAAA;AACtC,EACG,YAAA,CAAA,QAAA,CAAS,SAAQ,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,uBAAA,KAAR,YAAmC,MAAM,CAAA,CAC1D,QAAQ,MAAQ,EAAA;AAAA,IACf,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,uBAAA,KAAR,IAAmC,GAAA,EAAA,GAAA,MAAA;AAAA,IAC1C,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,iBAAA,KAAR,IAAiC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAmB,iBAAA;AAAA,IACvC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIf,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,2BAAA,CAA4BgB,qBAAgB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACrE,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIjB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAInB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAE,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIpB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAG,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIrB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAI,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAItB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,IAAM,EAAA;AAAA,IACb,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,gBAAA,KAAR,IAA4B,GAAA,EAAA,GAAA,WAAA;AAAA,IACnC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,eAAA,KAAR,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAK,eAAA;AAAA,IACrC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIvB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,4BAA4BkB,mBAAc,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,KAAO,EAAA,CAAA,EAAG,CAAA,CAAA;AACjF,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,mBAAA,KAAR,IAA+B,GAAA,EAAA,GAAA,OAAA;AAAA,IACtC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,kBAAA,KAAR,IAAkC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAM,kBAAA;AAAA,IACxC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIxB,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,8BAAA,CAA+ByB,sBAAiB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACzE,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,SAAW,EAAA;AAAA,IAClB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,qBAAA,KAAR,IAAiC,GAAA,EAAA,GAAA,SAAA;AAAA,IACxC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,oBAAA,KAAR,IAAoC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,oBAAA;AAAA,IAC1C,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAI1B,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,2BAAA,CAA4B2B,cAAS,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAC9D,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CAAA,CAAA;AAEH,EAAa,YAAA,CAAA,QAAA,CAAS,SAAQ,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,uBAAA,KAAR,YAAmC,MAAM,CAAA,CACpE,QAAQ,aAAe,EAAA;AAAA,IACtB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,wBAAA,KAAR,IAAoC,GAAA,EAAA,GAAA,aAAA;AAAA,IAC3C,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,uBAAA,KAAR,IAAuC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,uBAAA;AAAA,IAC7C,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAI5B,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,8BAAA,CAA+B6B,sBAAiB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACzE,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,cAAgB,EAAA;AAAA,IACvB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,yBAAA,KAAR,IAAqC,GAAA,EAAA,GAAA,cAAA;AAAA,IAC5C,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,wBAAA,KAAR,IAAwC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,wBAAA;AAAA,IAC9C,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAI9B,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,8BAAA,CAA+B+B,uBAAkB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAC1E,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,WAAa,EAAA;AAAA,IACpB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,sBAAA,KAAR,IAAkC,GAAA,EAAA,GAAA,WAAA;AAAA,IACzC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,qBAAA,KAAR,IAAqC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,qBAAA;AAAA,IAC3C,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIhC,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAM,MAAA,OAAA,GAAU,+BAA+BiC,oBAAe,CAAA,IAAA,CAAK,GAAG,CAAG,EAAA,EAAE,OAAS,EAAA,KAAA,EAAO,CAAA,CAAA;AAC3F,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CAAA,CAAA;AAEH,EAAa,YAAA,CAAA,QAAA,CAAS,aAAY,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,2BAAA,KAAR,YAAuC,UAAU,CAAA,CAChF,QAAQ,OAAS,EAAA;AAAA,IAChB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,mBAAA,KAAR,IAA+B,GAAA,EAAA,GAAA,OAAA;AAAA,IACtC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,kBAAA,KAAR,IAAkC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,kBAAA;AAAA,IACxC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIlC,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,2BAAA,CAA4BmC,uBAAiB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACtE,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,MAAQ,EAAA;AAAA,IACf,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,uBAAA,KAAR,IAAmC,GAAA,EAAA,GAAA,MAAA;AAAA,IAC1C,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,sBAAA,KAAR,IAAsC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,iBAAA;AAAA,IAC5C,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIpC,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,EAAA,KAAA,EAAU,GAAA,IAAA,CAAA;AAE5B,MAAA,MAAM,OAAU,GAAA,2BAAA,CAA4BqC,qBAAgB,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AACrE,MAAA,OAAA,CAAQ,OAAO,QAAQ,CAAA,CAAA;AAAA,KACzB;AAAA,GACD,CACA,CAAA,OAAA,CAAQ,OAAS,EAAA;AAAA,IAChB,KAAA,EAAA,CAAO,EAAQ,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,mBAAA,KAAR,IAA+B,GAAA,EAAA,GAAA,OAAA;AAAA,IACtC,IAAA,EAAA,CAAM,EAAQ,GAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,kBAAA,KAAR,IAAkC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,CAAA,KAAA,IAAA,GAAA,EAAA,GAAAC,kBAAA;AAAA,IACxC,KAAA,EAAO,CAAC,GAAQ,KAAA;AACd,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAItC,mBAAa,CAAA,CAAA;AAClC,MAAM,MAAA,EAAE,QAAU,SAAAuC,OAAA,EAAU,GAAA,IAAA,CAAA;AAC5B,MAAM,MAAA,EAAA,GAAK,UAAW,CAAAA,OAAA,CAAM,EAAE,CAAA,CAAA;AAC9B,MAAA,MAAM,KAAQ,GAAAC,iBAAA,CAAY,GAAK,EAAA,CAAA,EAAG,CAAC,CAAA,CAAA;AACnC,MAAA,EAAA,CAAG,qBAAqB,KAAK,CAAA,CAAA;AAC7B,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,EAAG,CAAA,SAAA,CAAA;AACpB,MAAM,MAAA,GAAA,GAAM,IAAO,GAAA,KAAA,CAAM,QAAW,GAAA,CAAA,CAAA;AACpC,MAAA,QAAA,CAAS,EAAE,CAAA,CAAA;AACX,MAAA,qBAAA,CAAsB,MAAM;AAC1B,QAAA,MAAM,YAAY3C,mBAAc,CAAA,MAAA,CAAO,KAAK,KAAM,CAAA,EAAA,CAAG,KAAK,GAAG,CAAA,CAAA;AAC7D,QAAA,QAAA,CAAS,KAAK,KAAM,CAAA,EAAA,CAAG,aAAa,SAAS,CAAA,CAAE,gBAAgB,CAAA,CAAA;AAAA,OAChE,CAAA,CAAA;AAAA,KACH;AAAA,GACD,CAAA,CAAA;AAEH,EAAA,CAAA,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,cAAR,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,MAAA,EAAA,YAAA,CAAA,CAAA;AAEpB,EAAI,IAAA,MAAA,GAAS,aAAa,KAAM,EAAA,CAAA;AAEhC,EAAA,IAAI,MAAQ,EAAA;AACV,IAAS,MAAA,GAAA,MAAA,CACN,GAAI,CAAA,CAAC,KAAU,KAAA;AACd,MAAA,MAAM4C,MAAQ,GAAA,KAAA,CACX,KACA,CAAA,MAAA,CAAO,CACN,IAAA,KAAA,IAAA,CACG,KACA,CAAA,WAAA,EACA,CAAA,QAAA,CAAS,MAAO,CAAA,WAAA,EAAa,CAAC,CAAA,CAAA;AAErC,MAAO,OAAA;AAAA,QACL,GAAG,KAAA;AAAA,QACH,KAAAA,EAAAA,MAAAA;AAAA,OACF,CAAA;AAAA,KACD,CACA,CAAA,MAAA,CAAO,WAAS,KAAM,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,GAC3C;AAEA,EAAA,MAAM,QAAQ,MAAO,CAAA,OAAA,CAAQ,CAAAC,OAAAA,KAAUA,QAAO,KAAK,CAAA,CAAA;AACnD,EAAM,KAAA,CAAA,OAAA,CAAS,CAAC,IAAA,EAAM,KAAU,KAAA;AAC9B,IAAA,MAAA,CAAO,MAAO,CAAA,IAAA,EAAM,EAAE,KAAA,EAAO,CAAA,CAAA;AAAA,GAC7B,CAAA,CAAA;AAEF,EAAO,MAAA,CAAA,MAAA,CAAO,CAAC,GAAA,EAAK,KAAU,KAAA;AAC5B,IAAM,MAAA,GAAA,GAAM,GAAM,GAAA,KAAA,CAAM,KAAM,CAAA,MAAA,CAAA;AAC9B,IAAA,MAAA,CAAO,OAAO,KAAO,EAAA;AAAA,MACnB,KAAA,EAAO,CAAC,GAAA,EAAK,GAAG,CAAA;AAAA,KACjB,CAAA,CAAA;AACD,IAAO,OAAA,GAAA,CAAA;AAAA,KACN,CAAC,CAAA,CAAA;AAEJ,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,MAAM,KAAM,CAAA,MAAA;AAAA,GACd,CAAA;AACF;;ACxPO,MAAM,gBAAsC,CAAC;AAAA,EAClD,IAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AAAA,EACA,MAAA;AAAA,EACA,MAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,EAAE,MAAA,EAAQ,IAAK,EAAA,GAAIC,eAAQ,CAAA,MAAM,SAAU,CAAA,MAAA,EAAQ,MAAM,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAE1E,EAAA,MAAM,OAAOC,eAAQ,EAAA,CAAA;AACrB,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,iBAAS,CAAC,CAAA,CAAA;AAE9C,EAAM,MAAA,IAAA,GAAOF,gBAAQ,MAAM,IAAA,CAAK,QAAQ,WAAY,EAAA,EAAkB,CAAC,IAAI,CAAC,CAAA,CAAA;AAE5E,EAAA,MAAM,oBAAoBG,cAAO,CAAA,EAAE,GAAG,CAAM,GAAA,EAAA,CAAA,EAAG,MAAM,CAAA,CAAA;AAErD,EAAM,MAAA,WAAA,GAAcC,mBAAY,CAAA,CAAC,CAAkB,KAAA;AACjD,IAAA,MAAM,UAAU,iBAAkB,CAAA,OAAA,CAAA;AAClC,IAAA,IAAI,CAAC,OAAA;AACH,MAAA,OAAA;AAEF,IAAM,MAAA,EAAE,CAAG,EAAA,CAAA,EAAM,GAAA,CAAA,CAAA;AACjB,IAAA,OAAA,CAAQ,CAAI,GAAA,CAAA,CAAA;AACZ,IAAA,OAAA,CAAQ,CAAI,GAAA,CAAA,CAAA;AAAA,GACd,EAAG,EAAE,CAAA,CAAA;AAEL,EAAAC,iBAAA,CAAU,MAAM;AACd,IAAA,IAAI,SAAS,CAAK,IAAA,IAAA;AAChB,MAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAAA;AAAA,GACD,EAAA,CAAC,IAAM,EAAA,IAAI,CAAC,CAAA,CAAA;AAEf,EAAA,MAAM,OAAU,GAAAD,mBAAA,CAAY,CAC1B,KAAA,EACA,KACG,KAAA;AACH,IAAA,aAAA,CAAc,CAAC,IAAS,KAAA;AACtB,MAAA,MAAM,OAAO,OAAO,KAAA,KAAU,UAAa,GAAA,KAAA,CAAM,IAAI,CAAI,GAAA,KAAA,CAAA;AAEzD,MAAQ,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AACR,MAAO,OAAA,IAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAAA,GACH,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,aAAA,GAAgBA,mBAAY,CAAA,CAAC,KAAkB,KAAA;AACnD,IAAA,MAAM,SAAS,IACZ,CAAA,OAAA,CACA,aAA2B,CAAA,CAAA,aAAA,EAAgB,KAAK,CAAI,EAAA,CAAA,CAAA,CAAA;AACvD,IAAA,MAAM,UAAa,GAAA,IAAA,CAAK,OAAQ,CAAA,aAAA,CAA2B,cAAc,CAAA,CAAA;AAEzE,IAAI,IAAA,CAAC,UAAU,CAAC,UAAA;AACd,MAAA,OAAA;AAEF,IAAW,UAAA,CAAA,SAAA,GAAY,MAAO,CAAA,SAAA,GAAY,UAAW,CAAA,SAAA,CAAA;AAAA,GACvD,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,UAAA,GAAaA,mBAAY,CAAA,CAAC,KAAkB,KAAA;AAChD,IAAM,MAAA,IAAA,GAAO,OAAO,OAAQ,CAAA,CAAA,KAAA,KAAS,MAAM,KAAK,CAAA,CAAE,GAAG,KAAK,CAAA,CAAA;AAC1D,IAAA,IAAI,IAAQ,IAAA,GAAA;AACV,MAAA,IAAA,CAAK,MAAM,GAAG,CAAA,CAAA;AAEhB,IAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAAA;AAAA,GACF,EAAG,CAAC,MAAM,CAAC,CAAA,CAAA;AAEX,EAAM,MAAA,SAAA,GAAYA,mBAAY,CAAA,CAAC,CAAqB,KAAA;AAClD,IAAI,IAAA,CAAA,CAAE,QAAQ,QAAU,EAAA;AACtB,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,EAAA,CAAA;AACA,MAAA,OAAA;AAAA,KACF;AAEA,IAAI,IAAA,CAAA,CAAE,QAAQ,WAAa,EAAA;AACzB,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAO,OAAA,OAAA,CAAQ,WAAU,KAAQ,GAAA,IAAA,GAAO,IAAK,KAAQ,GAAA,CAAA,GAAI,OAAO,aAAa,CAAA,CAAA;AAAA,KAC/E;AAEA,IAAI,IAAA,CAAA,CAAE,QAAQ,SAAW,EAAA;AACvB,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAA,OAAO,QAAQ,CAAS,KAAA,KAAA,KAAA,IAAS,IAAI,KAAQ,GAAA,KAAA,GAAQ,GAAG,aAAa,CAAA,CAAA;AAAA,KACvE;AAEA,IAAI,IAAA,CAAA,CAAE,QAAQ,WAAa,EAAA;AACzB,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAO,OAAA,OAAA,CAAQ,CAAC,KAAU,KAAA;AACxB,QAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,IAAK,CAAA,CAAAjC,WAASA,MAAM,CAAA,KAAA,CAAM,CAAC,CAAA,IAAK,KAASA,IAAAA,MAAAA,CAAM,KAAM,CAAA,CAAC,IAAI,KAAK,CAAA,CAAA;AACpF,QAAA,IAAI,CAAC,KAAA;AACH,UAAO,OAAA,KAAA,CAAA;AAET,QAAA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAK,IAAI,CAAC,CAAA,CAAA;AAClD,QAAA,IAAI,CAAC,SAAA;AACH,UAAO,OAAA,KAAA,CAAA;AAET,QAAO,OAAA,SAAA,CAAU,KAAM,CAAA,CAAC,CAAI,GAAA,CAAA,CAAA;AAAA,SAC3B,aAAa,CAAA,CAAA;AAAA,KAClB;AAEA,IAAI,IAAA,CAAA,CAAE,QAAQ,YAAc,EAAA;AAC1B,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAO,OAAA,OAAA,CAAQ,CAAC,KAAU,KAAA;AACxB,QAAA,MAAM,KAAQ,GAAA,MAAA,CAAO,IAAK,CAAA,CAAAA,WAASA,MAAM,CAAA,KAAA,CAAM,CAAC,CAAA,IAAK,KAASA,IAAAA,MAAAA,CAAM,KAAM,CAAA,CAAC,IAAI,KAAK,CAAA,CAAA;AACpF,QAAA,IAAI,CAAC,KAAA;AACH,UAAO,OAAA,KAAA,CAAA;AAET,QAAA,MAAM,YAAY,MAAO,CAAA,MAAA,CAAO,OAAQ,CAAA,KAAK,IAAI,CAAC,CAAA,CAAA;AAClD,QAAA,IAAI,CAAC,SAAA;AACH,UAAO,OAAA,KAAA,CAAA;AAET,QAAO,OAAA,SAAA,CAAU,MAAM,CAAC,CAAA,CAAA;AAAA,SACvB,aAAa,CAAA,CAAA;AAAA,KAClB;AAEA,IAAI,IAAA,CAAA,CAAE,QAAQ,OAAS,EAAA;AACrB,MAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,MAAA,UAAA,CAAW,UAAU,CAAA,CAAA;AAAA,KACvB;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,MAAA,EAAQ,UAAU,CAAC,CAAA,CAAA;AAE7B,EAAM,MAAA,YAAA,GAAeiC,mBAAY,CAAA,CAAC,KAAkB,KAAA;AAClD,IAAA,OAAO,CAAC,CAAkB,KAAA;AACxB,MAAA,MAAM,UAAU,iBAAkB,CAAA,OAAA,CAAA;AAClC,MAAA,IAAI,CAAC,OAAA;AACH,QAAA,OAAA;AAEF,MAAM,MAAA,EAAE,CAAG,EAAA,CAAA,EAAM,GAAA,CAAA,CAAA;AACjB,MAAA,IAAI,CAAM,KAAA,OAAA,CAAQ,CAAK,IAAA,CAAA,KAAM,OAAQ,CAAA,CAAA;AACnC,QAAA,OAAA;AAEF,MAAA,OAAA,CAAQ,KAAK,CAAA,CAAA;AAAA,KACf,CAAA;AAAA,GACF,EAAG,EAAE,CAAA,CAAA;AAEL,EAAAC,iBAAA,CAAU,MAAM;AACd,IAAI,IAAA,IAAA;AACF,MAAA,IAAA,CAAK,iBAAiB,SAAW,EAAA,SAAA,EAAW,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAAA,cAErD,mBAAoB,CAAA,SAAA,EAAW,WAAW,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAErE,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,oBAAoB,SAAW,EAAA,SAAA,EAAW,EAAE,OAAA,EAAS,MAAM,CAAA,CAAA;AAAA,KAClE,CAAA;AAAA,GACC,EAAA,CAAC,IAAM,EAAA,SAAS,CAAC,CAAA,CAAA;AAEpB,EAAO,OAAAC,YAAA,CAAA;AAAA,sBAAA,EACe,CAAC,CAAA,KAAkB,CAAE,CAAA,cAAA,EAAgB,CAAA;AAAA;AAAA;AAAA,UAGjD,EAAA,MAAA,CAAO,IAAI,CACX,KAAA,KAAAA,YAAA,CAAA;AAAA,kBAAA,EACQ,MAAM,GAAG,CAAA;AAAA,0BAAA,EACD,MAAM,OAAQ,CAAA,KAAA,CAAM,MAAM,CAAC,CAAA,EAAG,aAAa,CAAC,CAAA;AAAA,oBAClD,EAAA,UAAA,IAAc,KAAM,CAAA,KAAA,CAAM,CAAC,CAAA,IAAK,UAAa,GAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAI,GAAA,UAAA,GAAa,EAAE,CAAA;AAAA;AAAA,cAAA,EAEnF,MAAM,KAAK,CAAA;AAAA,iBAAA,CACT,CAAC,CAAA;AAAA;AAAA;AAAA,2CAAA,EAG0B,WAAW,CAAA;AAAA,QAC9C,EAAA,MAAA,CAAO,GAAI,CAAA,CAAC,KAAU,KAAA;AACtB,IAAO,OAAAA,YAAA,CAAA;AAAA,qBAAA,EACM,MAAM,GAAG,CAAA;AAAA,kBAAA,EACZ,MAAM,KAAK,CAAA;AAAA;AAAA,gBAAA,EAEb,MAAM,KAAM,CAAA,GAAA;AAAA,MAAI,CAChB,IAAA,KAAAA,YAAA,CAAA;AAAA,wBAAA,EACQ,KAAK,GAAG,CAAA;AAAA,+BAAA,EACD,KAAK,KAAK,CAAA;AAAA,0BAAA,EACf,UAAe,KAAA,IAAA,CAAK,KAAQ,GAAA,OAAA,GAAU,EAAE,CAAA;AAAA,iCACjC,EAAA,YAAA,CAAa,IAAK,CAAA,KAAK,CAAC,CAAA;AAAA,gCAAA,EACzB,MAAM;AArLxC,QAAA,IAAA,EAAA,CAAA;AAsLsB,QACG,CAAA,EAAA,GAAA,IAAA,CAAA,OAAA,CACA,cAAc,CAAgB,aAAA,EAAA,IAAA,CAAK,KAAK,CAAI,EAAA,CAAA,CAAA,KAF/C,IAGI,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,GAAI,CAAA,QAAA,CAAA,CAAA;AAAA,OACnB,CAAA;AAAA,8BAAA,EACW,MAAM;AA3LtC,QAAA,IAAA,EAAA,CAAA;AA4LsB,QACG,CAAA,EAAA,GAAA,IAAA,CAAA,OAAA,CACA,cAAc,CAAgB,aAAA,EAAA,IAAA,CAAK,KAAK,CAAI,EAAA,CAAA,CAAA,KAF/C,IAGI,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,MAAO,CAAA,QAAA,CAAA,CAAA;AACrB,QAAA,UAAA,CAAW,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB,CAAA;AAAA;AAAA,oBAAA,EAEC,KAAK,IAAI,CAAA;AAAA,0BAAA,EACH,KAAK,KAAK,CAAA;AAAA,uBAAA,CAAA;AAAA,KAErB,CAAA;AAAA;AAAA;AAAA,UAAA,CAAA,CAAA;AAAA,GAIR,CAAC,CAAA;AAAA;AAAA;AAAA,EAAA,CAAA,CAAA;AAIV,CAAA,CAAA;AAEA,aAAA,CAAc,KAAQ,GAAA;AAAA,EACpB,GAAK,EAAA,MAAA;AAAA,EACL,MAAQ,EAAA,MAAA;AAAA,EACR,IAAM,EAAA,OAAA;AAAA,EACN,MAAQ,EAAA,MAAA;AAAA,EACR,IAAM,EAAA,QAAA;AACR,CAAA,CAAA;AAEa,MAAA,WAAA,GAAcC,UAAE,aAAa,CAAA;;;;;;;;;ACxN1C,IAAAC,UAAA,EAAA,cAAA,EAAA,oBAAA,CAAA;AAWa,MAAA,IAAA,GAAO,aAAa,YAAY,CAAA,CAAA;AAOtC,MAAM,UAAU5D,UAAK,CAAA;AAAA,EAC1B,MAAM,MAAM;AAAA,GAAC;AAAA,EACb,MAAM,MAAM;AAAA,GAAC;AACf,CAAA,EAAc,YAAY,CAAA,CAAA;AAE1B6D,sBAAA,CAAe,uBAAuB,WAAW,CAAA,CAAA;AACjC,SAAA,aAAA,CAAc,KAAU,MAAiC,EAAA;AACvE,EAAI,GAAA,CAAA,GAAA,CAAI,KAAK,GAAK,EAAA;AAAA,IAChB,MAAM,CAAQ,IAAA,KAAA,IAAI,QAAS,CAAA,GAAA,EAAK,MAAM,MAAM,CAAA;AAAA,GAC7C,CAAA,CAAA;AACH,CAAA;AAEA,MAAM,QAA+B,CAAA;AAAA,EAKnC,WAAA,CAAY,GAAU,EAAA,IAAA,EAAkB,MAAiC,EAAA;AAJzE,IAASzD,cAAA,CAAA,IAAA,EAAAwD,UAAA,CAAA,CAAA;AACT,IAASxD,cAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAA;AACT,IAAsCA,cAAA,CAAA,IAAA,EAAA,oBAAA,EAAA,IAAA,CAAA,CAAA;AA0DtC,IAAA,IAAA,CAAA,MAAA,GAAS,CAAC,IAAqB,KAAA;AAC7B,MAAKC,cAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAe,OAAO,IAAI,CAAA,CAAA;AAAA,KACjC,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,GAAO,CAAC,GAAgB,KAAA;AACtB,MAAAE,cAAA,CAAA,IAAA,EAAK,oBAAuB,EAAA,GAAA,CAAA,CAAA;AAC5B,MAAAF,cAAA,CAAA,IAAA,EAAKuD,YAAS,MAAS,GAAA,EAAA,CAAA;AACvB,MAAAvD,cAAA,CAAA,IAAA,EAAK,gBAAe,IAAK,EAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAA,IAAA,CAAA,IAAA,GAAO,MAAM;AACX,MAAAE,cAAA,CAAA,IAAA,EAAK,oBAAuB,EAAA,IAAA,CAAA,CAAA;AAC5B,MAAAF,cAAA,CAAA,IAAA,EAAK,gBAAe,IAAK,EAAA,CAAA;AAAA,KAC3B,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AACd,MAAAA,cAAA,CAAA,IAAA,EAAK,gBAAe,OAAQ,EAAA,CAAA;AAC5B,MAAAA,cAAA,CAAA,IAAA,EAAKuD,YAAS,MAAO,EAAA,CAAA;AAAA,KACvB,CAAA;AAzEE,IAAKrD,cAAA,CAAA,IAAA,EAAAqD,UAAA,EAAW,IAAI,WAAY,EAAA,CAAA,CAAA;AAChC,IAAKvD,cAAA,CAAA,IAAA,EAAAuD,UAAA,CAAA,CAAS,OAAO,IAAK,CAAA,IAAA,CAAA;AAC1B,IAAAvD,cAAA,CAAA,IAAA,EAAKuD,YAAS,GAAM,GAAA,GAAA,CAAA;AACpB,IAAAvD,cAAA,CAAA,IAAA,EAAKuD,YAAS,MAAS,GAAA,MAAA,CAAA;AAEvB,IAAA,MAAM,IAAO,GAAA,IAAA,CAAA;AACb,IAAKrD,cAAA,CAAA,IAAA,EAAA,cAAA,EAAiB,IAAI,aAAc,CAAA;AAAA,MACtC,SAASF,cAAK,CAAA,IAAA,EAAAuD,UAAA,CAAA;AAAA,MACd,QAAU,EAAA,EAAA;AAAA,MACV,WAAgCE,KAAkB,EAAA;AAChD,QAAI,IAAAC,qBAAA,CAAcD,MAAK,KAAM,CAAA,SAAS,KAAKE,gBAASF,CAAAA,KAAAA,CAAK,MAAM,SAAS,CAAA;AACtE,UAAO,OAAA,KAAA,CAAA;AAET,QAAA,MAAM,WAAc,GAAA,IAAA,CAAK,UAAWA,CAAAA,KAAAA,EAAM,CACxC,IAAA,KAAA,CAAC,WAAa,EAAA,SAAS,CAAE,CAAA,QAAA,CAAS,IAAK,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAEnD,QAAA,IAAI,WAAe,IAAA,IAAA;AACjB,UAAO,OAAA,KAAA,CAAA;AAET,QAAA,MAAM,MAAMzD,cAAK,CAAA,IAAA,EAAA,oBAAA,CAAA,CAAA;AAEjB,QAAKA,cAAA,CAAA,IAAA,EAAAuD,UAAA,CAAA,CAAS,SAAS,WAAY,CAAA,UAAA,CAAW,GAAG,CAAI,GAAA,WAAA,CAAY,KAAM,CAAA,CAAC,CAAI,GAAA,WAAA,CAAA;AAE5E,QAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC3B,UAAA,IAAIE,MAAK,KAAM,CAAA,GAAA,CAAI,QAAQ,GAAG,CAAA,CAAE,MAAWA,KAAAA,KAAAA,CAAK,KAAM,CAAA,GAAA,CAAI,QAAQA,KAAK,CAAA,KAAA,CAAM,UAAU,IAAI,CAAA,CAAE,MAAQ,EAAA;AACnG,YAAAvD,cAAA,CAAA,IAAA,EAAK,oBAAuB,EAAA,IAAA,CAAA,CAAA;AAE5B,YAAO,OAAA,KAAA,CAAA;AAAA,WACT;AAEA,UAAO,OAAA,IAAA,CAAA;AAAA,SACT;AAEA,QAAI,IAAA,CAAC,WAAY,CAAA,UAAA,CAAW,GAAG,CAAA;AAC7B,UAAO,OAAA,KAAA,CAAA;AAET,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAAA,MACA,MAAQ,EAAA,EAAA;AAAA,KACT,CAAA,CAAA,CAAA;AAED,IAAKF,cAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAe,SAAS,MAAM;AACjC,MAAAA,cAAA,CAAA,IAAA,EAAKuD,YAAS,IAAO,GAAA,IAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAKvD,cAAA,CAAA,IAAA,EAAA,cAAA,CAAA,CAAe,SAAS,MAAM;AACjC,MAAAA,cAAA,CAAA,IAAA,EAAKuD,YAAS,IAAO,GAAA,KAAA,CAAA;AAAA,KACvB,CAAA;AACA,IAAA,IAAA,CAAK,OAAO,IAAI,CAAA,CAAA;AAEhB,IAAI,GAAA,CAAA,GAAA,CAAI,QAAQ,GAAK,EAAA;AAAA,MACnB,IAAM,EAAA,CAAA,GAAA,KAAO,IAAK,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA,MAC1B,IAAA,EAAM,MAAM,IAAA,CAAK,IAAK,EAAA;AAAA,KACvB,CAAA,CAAA;AAAA,GACH;AAqBF,CAAA;AA/EWA,UAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACA,cAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACT,oBAAA,GAAA,IAAA,OAAA,EAAA;;ACtBF,MAAM,uBAAoD,CAAC;AAAA,EACzD,KAAA;AAAA,EACA,OAAA;AAAA,EACA,UAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,MAAML,cAAuB,EAAA,CAAA;AACnC,EAAAE,iBAAA,CAAU,MAAM;AAjBlB,IAAA,IAAA,EAAA,CAAA;AAkBI,IAAI,CAAA,EAAA,GAAA,GAAA,CAAA,OAAA,KAAJ,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,MAAO,CAAA,QAAA,CAAA,CAAA;AAAA,GAC/B,CAAA,CAAA;AACD,EAAM,MAAA,WAAA,GAAc,CAAC,CAAkB,KAAA;AApBzC,IAAA,IAAA,EAAA,CAAA;AAqBI,IAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,IAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAClB,IAAI,CAAA,EAAA,GAAA,GAAA,CAAA,OAAA,KAAJ,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,GAAI,CAAA,QAAA,CAAA,CAAA;AAAA,GAC7B,CAAA;AACA,EAAM,MAAA,SAAA,GAAY,CAAC,CAAkB,KAAA;AAzBvC,IAAA,IAAA,EAAA,CAAA;AA0BI,IAAA,CAAA,CAAE,cAAe,EAAA,CAAA;AACjB,IAAA,CAAA,CAAE,eAAgB,EAAA,CAAA;AAClB,IAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,EAAA,CAAA;AACA,IAAI,CAAA,EAAA,GAAA,GAAA,CAAA,OAAA,KAAJ,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA,CAAU,MAAO,CAAA,QAAA,CAAA,CAAA;AAAA,GAChC,CAAA;AACA,EAAO,OAAAC,YAAA,CAAA;AAAA;AAAA,eAAA,EAEQ,GAAG,CAAA,aAAA,EAAgB,WAAW,CAAA,WAAA,EAAc,SAAS,CAAA;AAAA,QAAA,EAAA,CAC5D,yCAAeO,iBAAQ,CAAA;AAAA;AAAA;AAAA,QAAA,EAAA,CAGvB,+CAAkBC,iBAAQ,CAAA;AAAA;AAAA;AAAA,EAAA,CAAA,CAAA;AAIpC,CAAA,CAAA;AAEA,oBAAA,CAAqB,KAAQ,GAAA;AAAA,EAC3B,IAAM,EAAA,OAAA;AAAA,EACN,KAAO,EAAA,QAAA;AAAA,EACP,OAAS,EAAA,QAAA;AAAA,EACT,UAAY,EAAA,QAAA;AACd,CAAA,CAAA;AAEa,MAAA,kBAAA,GAAqBP,UAAE,oBAAoB,CAAA;;;;;;;;;AClDxD,IAAA,QAAA,EAAA,SAAA,EAAA,IAAA,CAAA;AAaO,MAAM,eAAsC,CAAA;AAAA,EAKjD,WAAA,CAAY,KAAU,MAAiC,EAAA;AAJvD,IAAA,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAA;AACA,IAAA,YAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AACA,IAAS,YAAA,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAgCT,IAAA,IAAA,CAAA,MAAA,GAAS,MAAM;AACb,MAAA,YAAA,CAAA,IAAA,EAAK,WAAU,MAAO,EAAA,CAAA;AAAA,KACxB,CAAA;AAEA,IAAA,IAAA,CAAA,OAAA,GAAU,MAAM;AACd,MAAA,YAAA,CAAA,IAAA,EAAK,WAAU,OAAQ,EAAA,CAAA;AACvB,MAAA,YAAA,CAAA,IAAA,EAAK,UAAS,MAAO,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,IAAA,CAAA,KAAA,GAAQ,MAAM;AACZ,MAAA,MAAM,MAAM,YAAK,CAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AACjB,MAAM,MAAA,IAAA,GAAO,GAAI,CAAA,GAAA,CAAIlD,mBAAa,CAAA,CAAA;AAClC,MAAI,IAAA,CAAC,KAAK,QAAS,EAAA;AACjB,QAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AAEb,MAAM,MAAA,SAAEuC,OAAO,EAAA,QAAA,EAAa,GAAA,IAAA,CAAA;AAC5B,MAAM,MAAA,MAAA,GAAS,mBAAK,SAAU,CAAA,CAAA,MAAA,CAAA;AAC9B,MAAA,IAAI,CAAC,MAAA;AACH,QAAA,OAAA;AAEF,MAAA,MAAM,OAAO,MAAO,CAAA,IAAA,CAAA;AACpB,MAAA,MAAM,GAAM,GAAA,IAAA,CAAK,GAAM,GAAA,MAAA,CAAO,IAAK,CAAA,QAAA,CAAA;AACnC,MAAI,IAAA,EAAA,GAAKA,OAAM,CAAA,EAAA,CAAG,MAAO,CAAA,GAAA,EAAKvB,sBAAgB,IAAK,CAAA,GAAG,CAAE,CAAA,MAAA,EAAQ,CAAA,CAAA;AAChE,MAAK,EAAA,GAAA,EAAA,CAAG,aAAaL,mBAAc,CAAA,IAAA,CAAK,GAAG,GAAI,CAAA,OAAA,CAAQ,GAAG,CAAC,CAAC,CAAA,CAAA;AAC5D,MAAS,QAAA,CAAA,EAAA,CAAG,gBAAgB,CAAA,CAAA;AAE5B,MAAA,YAAA,CAAA,IAAA,EAAK,WAAU,IAAK,EAAA,CAAA;AACpB,MAAA,GAAA,CAAI,IAAI,OAAQ,CAAA,GAAG,EAAE,IAAK,CAAA,EAAA,CAAG,UAAU,IAAI,CAAA,CAAA;AAAA,KAC7C,CAAA;AAzDE,IAAA,YAAA,CAAA,IAAA,EAAK,IAAO,EAAA,GAAA,CAAA,CAAA;AACZ,IAAM,MAAA,OAAA,GAAU,IAAI,kBAAmB,EAAA,CAAA;AACvC,IAAA,YAAA,CAAA,IAAA,EAAK,QAAW,EAAA,OAAA,CAAA,CAAA;AAChB,IAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,QAAQ,IAAK,CAAA,KAAA,CAAA;AAC3B,IAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,UAAU,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,aAAA,CAAA;AAChC,IAAK,YAAA,CAAA,IAAA,EAAA,QAAA,CAAA,CAAS,aAAa,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,cAAA,CAAA;AACnC,IAAK,YAAA,CAAA,IAAA,EAAA,SAAA,EAAY,IAAI,aAAc,CAAA;AAAA,MACjC,GAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAW,MAAM,EAAA;AAAA,MACjB,YAAc,EAAA,CAAC,EAAE,MAAA,EAAQ,UAAe,KAAA;AACtC,QAAA,IAAI,eAAkB,GAAA,CAAA,CAAA;AACtB,QAAO,MAAA,CAAA,IAAA,CAAK,WAAY,CAAA,CAAC,IAAS,KAAA;AAChC,UAAA,eAAA,IAAmB,IAAK,CAAA,UAAA,CAAA;AAAA,SACzB,CAAA,CAAA;AACD,QAAA,MAAM,MAAM,MAAO,CAAA,EAAA,CAAA;AACnB,QAAM,MAAA,OAAA,GAAU,IAAI,qBAAsB,EAAA,CAAA;AAC1C,QAAM,MAAA,UAAA,GAAa,SAAS,qBAAsB,EAAA,CAAA;AAClD,QAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,gBAAA,CAAiB,GAAG,CAAA,CAAA;AACzC,QAAA,MAAM,aAAa,MAAO,CAAA,QAAA,CAAS,KAAM,CAAA,UAAA,EAAY,EAAE,CAAK,IAAA,CAAA,CAAA;AAC5D,QAAA,MAAM,gBAAgB,MAAO,CAAA,QAAA,CAAS,KAAM,CAAA,aAAA,EAAe,EAAE,CAAK,IAAA,CAAA,CAAA;AAClE,QAAM,MAAA,MAAA,GAAS,OAAQ,CAAA,MAAA,GAAS,UAAa,GAAA,aAAA,CAAA;AAC7C,QAAA,MAAM,eAAe,UAAW,CAAA,MAAA,CAAA;AAChC,QAAA,OAAO,eAAkB,GAAA,CAAA,IAAK,YAAe,GAAA,CAAA,GAAI,SAAS,YAAe,GAAA,MAAA,CAAA;AAAA,OAC3E;AAAA,KACD,CAAA,CAAA,CAAA;AACD,IAAA,IAAA,CAAK,MAAO,EAAA,CAAA;AAAA,GACd;AA+BF,CAAA;AA/DE,QAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACA,SAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AACS,IAAA,GAAA,IAAA,OAAA,EAAA,CAAA;AA+DXyC,sBAAA,CAAe,yBAAyB,kBAAkB,CAAA,CAAA;AAC1C,SAAA,oBAAA,CAAqB,KAAU,MAAiC,EAAA;AAC9E,EAAI,GAAA,CAAA,GAAA,CAAI,MAAM,GAAK,EAAA;AAAA,IACjB,IAAM,EAAA,MAAM,IAAI,eAAA,CAAgB,KAAK,MAAM,CAAA;AAAA,GAC5C,CAAA,CAAA;AACH;;AClCa,MAAA,aAAA,GAAuD,CAAC,MAAA,EAAQ,MAAW,KAAA;AACtF,EACG,MAAA,CAAA,MAAA,CAAO,SAAO,oBAAqB,CAAA,GAAA,EAAK,MAAM,CAAC,CAAA,CAC/C,OAAO,CAAO,GAAA,KAAA,aAAA,CAAc,KAAK,MAAM,CAAC,EACxC,GAAI,CAAA,OAAO,EACX,GAAI,CAAA,KAAK,CACT,CAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AACb;;;;"}