repl-sdk 1.0.0 → 1.0.1

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 (272) hide show
  1. package/dist/apl-fqmucPXA.js +141 -0
  2. package/dist/apl-fqmucPXA.js.map +1 -0
  3. package/dist/asciiarmor-DucZyvP0.js +57 -0
  4. package/dist/asciiarmor-DucZyvP0.js.map +1 -0
  5. package/dist/asn1-BnOEsgAm.js +145 -0
  6. package/dist/asn1-BnOEsgAm.js.map +1 -0
  7. package/dist/assets/{tar-worker-kdkltuRC.js → tar-worker-CxTcoQcr.js} +1 -6
  8. package/dist/assets/{tar-worker-kdkltuRC.js.map → tar-worker-CxTcoQcr.js.map} +1 -1
  9. package/dist/asterisk-QAlztEwS.js +346 -0
  10. package/dist/asterisk-QAlztEwS.js.map +1 -0
  11. package/dist/brainfuck-DZVCuF_t.js +54 -0
  12. package/dist/brainfuck-DZVCuF_t.js.map +1 -0
  13. package/dist/clike-CTYGlS6x.js +800 -0
  14. package/dist/clike-CTYGlS6x.js.map +1 -0
  15. package/dist/clojure-BhXMqnxz.js +850 -0
  16. package/dist/clojure-BhXMqnxz.js.map +1 -0
  17. package/dist/cmake-BGaNd9E7.js +72 -0
  18. package/dist/cmake-BGaNd9E7.js.map +1 -0
  19. package/dist/cobol-4yqQntpt.js +121 -0
  20. package/dist/cobol-4yqQntpt.js.map +1 -0
  21. package/dist/codemirror-De3S70Np.js +2912 -0
  22. package/dist/codemirror-De3S70Np.js.map +1 -0
  23. package/dist/coffeescript-D2dXvhEc.js +309 -0
  24. package/dist/coffeescript-D2dXvhEc.js.map +1 -0
  25. package/dist/commonlisp-CF_VNHQR.js +131 -0
  26. package/dist/commonlisp-CF_VNHQR.js.map +1 -0
  27. package/dist/crystal-DyuLTqLs.js +399 -0
  28. package/dist/crystal-DyuLTqLs.js.map +1 -0
  29. package/dist/css-DkSyTW67.js +1773 -0
  30. package/dist/css-DkSyTW67.js.map +1 -0
  31. package/dist/cypher-Dlu_3r4V.js +122 -0
  32. package/dist/cypher-Dlu_3r4V.js.map +1 -0
  33. package/dist/d-UURgV0Ux.js +180 -0
  34. package/dist/d-UURgV0Ux.js.map +1 -0
  35. package/dist/diff-B_Bi2Crb.js +26 -0
  36. package/dist/diff-B_Bi2Crb.js.map +1 -0
  37. package/dist/dockerfile-Bvk733Ga.js +202 -0
  38. package/dist/dockerfile-Bvk733Ga.js.map +1 -0
  39. package/dist/dtd-Dy74G54E.js +115 -0
  40. package/dist/dtd-Dy74G54E.js.map +1 -0
  41. package/dist/dylan-TSb-Nfix.js +315 -0
  42. package/dist/dylan-TSb-Nfix.js.map +1 -0
  43. package/dist/ebnf-4fKAGW3a.js +141 -0
  44. package/dist/ebnf-4fKAGW3a.js.map +1 -0
  45. package/dist/ecl-B59qGGVg.js +179 -0
  46. package/dist/ecl-B59qGGVg.js.map +1 -0
  47. package/dist/eiffel-Dze7nlu3.js +135 -0
  48. package/dist/eiffel-Dze7nlu3.js.map +1 -0
  49. package/dist/elm-DG7jkhNZ.js +177 -0
  50. package/dist/elm-DG7jkhNZ.js.map +1 -0
  51. package/dist/erlang-BO6gOnGA.js +675 -0
  52. package/dist/erlang-BO6gOnGA.js.map +1 -0
  53. package/dist/factor-CMxFHDqz.js +66 -0
  54. package/dist/factor-CMxFHDqz.js.map +1 -0
  55. package/dist/fcl-CDDUNjTj.js +142 -0
  56. package/dist/fcl-CDDUNjTj.js.map +1 -0
  57. package/dist/forth-B9D2JCeE.js +117 -0
  58. package/dist/forth-B9D2JCeE.js.map +1 -0
  59. package/dist/fortran-CAG2BFbe.js +468 -0
  60. package/dist/fortran-CAG2BFbe.js.map +1 -0
  61. package/dist/gas-0Aw8zDr5.js +294 -0
  62. package/dist/gas-0Aw8zDr5.js.map +1 -0
  63. package/dist/gherkin-DhZlEZiy.js +116 -0
  64. package/dist/gherkin-DhZlEZiy.js.map +1 -0
  65. package/dist/{gjs-CzFzkEFv.js → gjs-DfguZDLq.js} +4 -4
  66. package/dist/gjs-DfguZDLq.js.map +1 -0
  67. package/dist/{gmd-D9OXs2v3.js → gmd-Yas-Oo8k.js} +3 -6
  68. package/dist/gmd-Yas-Oo8k.js.map +1 -0
  69. package/dist/groovy-CpwJiBl7.js +224 -0
  70. package/dist/groovy-CpwJiBl7.js.map +1 -0
  71. package/dist/haskell-ySd-OUo8.js +460 -0
  72. package/dist/haskell-ySd-OUo8.js.map +1 -0
  73. package/dist/haxe-7MlzfeYV.js +515 -0
  74. package/dist/haxe-7MlzfeYV.js.map +1 -0
  75. package/dist/{hbs-CuhWjffM.js → hbs-CxcmWxSJ.js} +2 -2
  76. package/dist/{hbs-CuhWjffM.js.map → hbs-CxcmWxSJ.js.map} +1 -1
  77. package/dist/http-BqypyemW.js +80 -0
  78. package/dist/http-BqypyemW.js.map +1 -0
  79. package/dist/idl-4HIGJlDI.js +986 -0
  80. package/dist/idl-4HIGJlDI.js.map +1 -0
  81. package/dist/index-B3Meoznj.js +118 -0
  82. package/dist/index-B3Meoznj.js.map +1 -0
  83. package/dist/index-BQyfDUUx.js +692 -0
  84. package/dist/index-BQyfDUUx.js.map +1 -0
  85. package/dist/index-BRDroAD8.js +305 -0
  86. package/dist/index-BRDroAD8.js.map +1 -0
  87. package/dist/index-BRMAzRyM.js +179 -0
  88. package/dist/index-BRMAzRyM.js.map +1 -0
  89. package/dist/index-Bb8uYQgv.js +927 -0
  90. package/dist/index-Bb8uYQgv.js.map +1 -0
  91. package/dist/index-BlOjO66K.js +17618 -0
  92. package/dist/index-BlOjO66K.js.map +1 -0
  93. package/dist/index-BoGWnSNL.js +706 -0
  94. package/dist/index-BoGWnSNL.js.map +1 -0
  95. package/dist/index-BsRrEiOu.js +98 -0
  96. package/dist/index-BsRrEiOu.js.map +1 -0
  97. package/dist/index-C2sFZMth.js +391 -0
  98. package/dist/index-C2sFZMth.js.map +1 -0
  99. package/dist/index-C7xwOjmS.js +291 -0
  100. package/dist/index-C7xwOjmS.js.map +1 -0
  101. package/dist/index-CA3lFUx6.js +315 -0
  102. package/dist/index-CA3lFUx6.js.map +1 -0
  103. package/dist/index-CB-pPTIf.js +98 -0
  104. package/dist/index-CB-pPTIf.js.map +1 -0
  105. package/dist/index-CCa6x1FE.js +386 -0
  106. package/dist/index-CCa6x1FE.js.map +1 -0
  107. package/dist/index-CD4DINI1.js +158 -0
  108. package/dist/index-CD4DINI1.js.map +1 -0
  109. package/dist/index-CE0B_fcG.js +328 -0
  110. package/dist/index-CE0B_fcG.js.map +1 -0
  111. package/dist/{index-CUWCqMoD.js → index-CVGAEPMV.js} +33 -27
  112. package/dist/index-CVGAEPMV.js.map +1 -0
  113. package/dist/index-CmaT2afn.js +332 -0
  114. package/dist/index-CmaT2afn.js.map +1 -0
  115. package/dist/index-D8sUxXp5.js +83 -0
  116. package/dist/index-D8sUxXp5.js.map +1 -0
  117. package/dist/index-DIz8Vpn-.js +737 -0
  118. package/dist/index-DIz8Vpn-.js.map +1 -0
  119. package/dist/index-DNP1xT-S.js +408 -0
  120. package/dist/index-DNP1xT-S.js.map +1 -0
  121. package/dist/index-DOAqdvnQ.js +862 -0
  122. package/dist/index-DOAqdvnQ.js.map +1 -0
  123. package/dist/index-DVUMFbgi.js +152 -0
  124. package/dist/index-DVUMFbgi.js.map +1 -0
  125. package/dist/index-VeTBKRVd.js +83 -0
  126. package/dist/index-VeTBKRVd.js.map +1 -0
  127. package/dist/index-dXZeR7Bx.js +1767 -0
  128. package/dist/index-dXZeR7Bx.js.map +1 -0
  129. package/dist/index-gtqbIb6T.js +62 -0
  130. package/dist/index-gtqbIb6T.js.map +1 -0
  131. package/dist/index-pN_pUAQ7.js +2426 -0
  132. package/dist/index-pN_pUAQ7.js.map +1 -0
  133. package/dist/index-wasu5VX0.js +1150 -0
  134. package/dist/index-wasu5VX0.js.map +1 -0
  135. package/dist/javascript-Bt8B7yTi.js +993 -0
  136. package/dist/javascript-Bt8B7yTi.js.map +1 -0
  137. package/dist/julia-Bs6JJhYG.js +408 -0
  138. package/dist/julia-Bs6JJhYG.js.map +1 -0
  139. package/dist/livescript-DmzgM3Yt.js +297 -0
  140. package/dist/livescript-DmzgM3Yt.js.map +1 -0
  141. package/dist/lua-8cJgIlqe.js +257 -0
  142. package/dist/lua-8cJgIlqe.js.map +1 -0
  143. package/dist/mathematica-DNLOL9PQ.js +111 -0
  144. package/dist/mathematica-DNLOL9PQ.js.map +1 -0
  145. package/dist/mbox-Ga7d4MMN.js +118 -0
  146. package/dist/mbox-Ga7d4MMN.js.map +1 -0
  147. package/dist/mirc-Dma3B8rS.js +108 -0
  148. package/dist/mirc-Dma3B8rS.js.map +1 -0
  149. package/dist/mllike-DHn7xckP.js +335 -0
  150. package/dist/mllike-DHn7xckP.js.map +1 -0
  151. package/dist/modelica-0d55jYY0.js +148 -0
  152. package/dist/modelica-0d55jYY0.js.map +1 -0
  153. package/dist/mscgen-DdqZYINH.js +136 -0
  154. package/dist/mscgen-DdqZYINH.js.map +1 -0
  155. package/dist/mumps-Btr8VblO.js +94 -0
  156. package/dist/mumps-Btr8VblO.js.map +1 -0
  157. package/dist/nginx-DTDtBDVN.js +142 -0
  158. package/dist/nginx-DTDtBDVN.js.map +1 -0
  159. package/dist/nsis-3zG7tgur.js +63 -0
  160. package/dist/nsis-3zG7tgur.js.map +1 -0
  161. package/dist/ntriples-CvgOYMpL.js +154 -0
  162. package/dist/ntriples-CvgOYMpL.js.map +1 -0
  163. package/dist/octave-DYBj3-tl.js +201 -0
  164. package/dist/octave-DYBj3-tl.js.map +1 -0
  165. package/dist/oz-R_e8WMIi.js +232 -0
  166. package/dist/oz-R_e8WMIi.js.map +1 -0
  167. package/dist/parse-CAqQaKsh.js +21685 -0
  168. package/dist/parse-CAqQaKsh.js.map +1 -0
  169. package/dist/pascal-GD8iposT.js +106 -0
  170. package/dist/pascal-GD8iposT.js.map +1 -0
  171. package/dist/perl-DL9mHpoi.js +1106 -0
  172. package/dist/perl-DL9mHpoi.js.map +1 -0
  173. package/dist/pig-C_4T4YIV.js +102 -0
  174. package/dist/pig-C_4T4YIV.js.map +1 -0
  175. package/dist/powershell-B0suO7Vd.js +329 -0
  176. package/dist/powershell-B0suO7Vd.js.map +1 -0
  177. package/dist/properties-BR-vP1aU.js +59 -0
  178. package/dist/properties-BR-vP1aU.js.map +1 -0
  179. package/dist/protobuf-BxgpyhoW.js +78 -0
  180. package/dist/protobuf-BxgpyhoW.js.map +1 -0
  181. package/dist/pug-vHnWR0UE.js +406 -0
  182. package/dist/pug-vHnWR0UE.js.map +1 -0
  183. package/dist/puppet-Bdao66PW.js +138 -0
  184. package/dist/puppet-Bdao66PW.js.map +1 -0
  185. package/dist/python-BFGRmuZ9.js +427 -0
  186. package/dist/python-BFGRmuZ9.js.map +1 -0
  187. package/dist/q-CrbCVq4a.js +132 -0
  188. package/dist/q-CrbCVq4a.js.map +1 -0
  189. package/dist/r-V7nswm59.js +171 -0
  190. package/dist/r-V7nswm59.js.map +1 -0
  191. package/dist/repl-sdk.js +7 -0
  192. package/dist/repl-sdk.js.map +1 -0
  193. package/dist/rpm-C-DLY-If.js +110 -0
  194. package/dist/rpm-C-DLY-If.js.map +1 -0
  195. package/dist/ruby-JDKLJNK0.js +331 -0
  196. package/dist/ruby-JDKLJNK0.js.map +1 -0
  197. package/dist/sas-D2UG-yhZ.js +208 -0
  198. package/dist/sas-D2UG-yhZ.js.map +1 -0
  199. package/dist/scheme-BKzrkGJD.js +223 -0
  200. package/dist/scheme-BKzrkGJD.js.map +1 -0
  201. package/dist/shell-BlsXDxCn.js +223 -0
  202. package/dist/shell-BlsXDxCn.js.map +1 -0
  203. package/dist/sieve-CjwBwOY5.js +136 -0
  204. package/dist/sieve-CjwBwOY5.js.map +1 -0
  205. package/dist/simple-mode-DMneyfDu.js +131 -0
  206. package/dist/simple-mode-DMneyfDu.js.map +1 -0
  207. package/dist/smalltalk-BOIGQuhN.js +122 -0
  208. package/dist/smalltalk-BOIGQuhN.js.map +1 -0
  209. package/dist/solr-CwD7U71z.js +70 -0
  210. package/dist/solr-CwD7U71z.js.map +1 -0
  211. package/dist/sparql-DYskk2vE.js +250 -0
  212. package/dist/sparql-DYskk2vE.js.map +1 -0
  213. package/dist/spreadsheet-Bgtt3oLP.js +88 -0
  214. package/dist/spreadsheet-Bgtt3oLP.js.map +1 -0
  215. package/dist/sql-Cei9CMfk.js +343 -0
  216. package/dist/sql-Cei9CMfk.js.map +1 -0
  217. package/dist/stex-C1nZSzAw.js +231 -0
  218. package/dist/stex-C1nZSzAw.js.map +1 -0
  219. package/dist/stylus-BkS-boTH.js +566 -0
  220. package/dist/stylus-BkS-boTH.js.map +1 -0
  221. package/dist/swift-FRZi1uvB.js +292 -0
  222. package/dist/swift-FRZi1uvB.js.map +1 -0
  223. package/dist/tcl-CUcaCdmq.js +115 -0
  224. package/dist/tcl-CUcaCdmq.js.map +1 -0
  225. package/dist/textile-BnFpjsrl.js +415 -0
  226. package/dist/textile-BnFpjsrl.js.map +1 -0
  227. package/dist/tiddlywiki-CjprD-Qp.js +219 -0
  228. package/dist/tiddlywiki-CjprD-Qp.js.map +1 -0
  229. package/dist/tiki-DK9DOeWn.js +269 -0
  230. package/dist/tiki-DK9DOeWn.js.map +1 -0
  231. package/dist/toml-BOuWGMcf.js +77 -0
  232. package/dist/toml-BOuWGMcf.js.map +1 -0
  233. package/dist/troff-E1bJ0PPL.js +62 -0
  234. package/dist/troff-E1bJ0PPL.js.map +1 -0
  235. package/dist/ttcn-cfg-Dc39-fIP.js +134 -0
  236. package/dist/ttcn-cfg-Dc39-fIP.js.map +1 -0
  237. package/dist/ttcn-tKd4HLu4.js +193 -0
  238. package/dist/ttcn-tKd4HLu4.js.map +1 -0
  239. package/dist/turtle-Dq7-1WAf.js +125 -0
  240. package/dist/turtle-Dq7-1WAf.js.map +1 -0
  241. package/dist/vb-Dp90gtsv.js +197 -0
  242. package/dist/vb-Dp90gtsv.js.map +1 -0
  243. package/dist/vbscript-Bfn8O8I7.js +479 -0
  244. package/dist/vbscript-Bfn8O8I7.js.map +1 -0
  245. package/dist/velocity-BwIZK1TH.js +150 -0
  246. package/dist/velocity-BwIZK1TH.js.map +1 -0
  247. package/dist/verilog-CnT9bMk0.js +430 -0
  248. package/dist/verilog-CnT9bMk0.js.map +1 -0
  249. package/dist/vhdl-DCkMIyT9.js +159 -0
  250. package/dist/vhdl-DCkMIyT9.js.map +1 -0
  251. package/dist/webidl-BTLTThCm.js +205 -0
  252. package/dist/webidl-BTLTThCm.js.map +1 -0
  253. package/dist/xquery-BrBUuxMR.js +526 -0
  254. package/dist/xquery-BrBUuxMR.js.map +1 -0
  255. package/dist/yacas-b5lAVEIl.js +131 -0
  256. package/dist/yacas-b5lAVEIl.js.map +1 -0
  257. package/dist/z80-ClgwfNdB.js +93 -0
  258. package/dist/z80-ClgwfNdB.js.map +1 -0
  259. package/package.json +10 -11
  260. package/src/compilers/ember/gjs.js +2 -2
  261. package/src/compilers/ember/gmd.js +1 -1
  262. package/src/compilers/markdown.js +1 -1
  263. package/src/compilers/react.js +15 -3
  264. package/dist/codemirror-D4aIVflZ.js +0 -110
  265. package/dist/codemirror-D4aIVflZ.js.map +0 -1
  266. package/dist/gjs-CzFzkEFv.js.map +0 -1
  267. package/dist/gmd-D9OXs2v3.js.map +0 -1
  268. package/dist/index-CUWCqMoD.js.map +0 -1
  269. package/dist/index.js +0 -7
  270. package/dist/index.js.map +0 -1
  271. package/dist/parse-aBKk9rfS.js +0 -328
  272. package/dist/parse-aBKk9rfS.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ function words(str) {
2
+ var obj = {}, words2 = str.split(" ");
3
+ for (var i = 0; i < words2.length; ++i) obj[words2[i]] = true;
4
+ return obj;
5
+ }
6
+ var bodiedOps = words("Assert BackQuote D Defun Deriv For ForEach FromFile FromString Function Integrate InverseTaylor Limit LocalSymbols Macro MacroRule MacroRulePattern NIntegrate Rule RulePattern Subst TD TExplicitSum TSum Taylor Taylor1 Taylor2 Taylor3 ToFile ToStdout ToString TraceRule Until While");
7
+ var pFloatForm = "(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)";
8
+ var pIdentifier = "(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)";
9
+ var reFloatForm = new RegExp(pFloatForm);
10
+ var reIdentifier = new RegExp(pIdentifier);
11
+ var rePattern = new RegExp(pIdentifier + "?_" + pIdentifier);
12
+ var reFunctionLike = new RegExp(pIdentifier + "\\s*\\(");
13
+ function tokenBase(stream, state) {
14
+ var ch;
15
+ ch = stream.next();
16
+ if (ch === '"') {
17
+ state.tokenize = tokenString;
18
+ return state.tokenize(stream, state);
19
+ }
20
+ if (ch === "/") {
21
+ if (stream.eat("*")) {
22
+ state.tokenize = tokenComment;
23
+ return state.tokenize(stream, state);
24
+ }
25
+ if (stream.eat("/")) {
26
+ stream.skipToEnd();
27
+ return "comment";
28
+ }
29
+ }
30
+ stream.backUp(1);
31
+ var m = stream.match(/^(\w+)\s*\(/, false);
32
+ if (m !== null && bodiedOps.hasOwnProperty(m[1]))
33
+ state.scopes.push("bodied");
34
+ var scope = currentScope(state);
35
+ if (scope === "bodied" && ch === "[")
36
+ state.scopes.pop();
37
+ if (ch === "[" || ch === "{" || ch === "(")
38
+ state.scopes.push(ch);
39
+ scope = currentScope(state);
40
+ if (scope === "[" && ch === "]" || scope === "{" && ch === "}" || scope === "(" && ch === ")")
41
+ state.scopes.pop();
42
+ if (ch === ";") {
43
+ while (scope === "bodied") {
44
+ state.scopes.pop();
45
+ scope = currentScope(state);
46
+ }
47
+ }
48
+ if (stream.match(/\d+ *#/, true, false)) {
49
+ return "qualifier";
50
+ }
51
+ if (stream.match(reFloatForm, true, false)) {
52
+ return "number";
53
+ }
54
+ if (stream.match(rePattern, true, false)) {
55
+ return "variableName.special";
56
+ }
57
+ if (stream.match(/(?:\[|\]|{|}|\(|\))/, true, false)) {
58
+ return "bracket";
59
+ }
60
+ if (stream.match(reFunctionLike, true, false)) {
61
+ stream.backUp(1);
62
+ return "variableName.function";
63
+ }
64
+ if (stream.match(reIdentifier, true, false)) {
65
+ return "variable";
66
+ }
67
+ if (stream.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/, true, false)) {
68
+ return "operator";
69
+ }
70
+ return "error";
71
+ }
72
+ function tokenString(stream, state) {
73
+ var next, end = false, escaped = false;
74
+ while ((next = stream.next()) != null) {
75
+ if (next === '"' && !escaped) {
76
+ end = true;
77
+ break;
78
+ }
79
+ escaped = !escaped && next === "\\";
80
+ }
81
+ if (end && !escaped) {
82
+ state.tokenize = tokenBase;
83
+ }
84
+ return "string";
85
+ }
86
+ function tokenComment(stream, state) {
87
+ var prev, next;
88
+ while ((next = stream.next()) != null) {
89
+ if (prev === "*" && next === "/") {
90
+ state.tokenize = tokenBase;
91
+ break;
92
+ }
93
+ prev = next;
94
+ }
95
+ return "comment";
96
+ }
97
+ function currentScope(state) {
98
+ var scope = null;
99
+ if (state.scopes.length > 0)
100
+ scope = state.scopes[state.scopes.length - 1];
101
+ return scope;
102
+ }
103
+ const yacas = {
104
+ name: "yacas",
105
+ startState: function() {
106
+ return {
107
+ tokenize: tokenBase,
108
+ scopes: []
109
+ };
110
+ },
111
+ token: function(stream, state) {
112
+ if (stream.eatSpace()) return null;
113
+ return state.tokenize(stream, state);
114
+ },
115
+ indent: function(state, textAfter, cx) {
116
+ if (state.tokenize !== tokenBase && state.tokenize !== null)
117
+ return null;
118
+ var delta = 0;
119
+ if (textAfter === "]" || textAfter === "];" || textAfter === "}" || textAfter === "};" || textAfter === ");")
120
+ delta = -1;
121
+ return (state.scopes.length + delta) * cx.unit;
122
+ },
123
+ languageData: {
124
+ electricInput: /[{}\[\]()\;]/,
125
+ commentTokens: { line: "//", block: { open: "/*", close: "*/" } }
126
+ }
127
+ };
128
+ export {
129
+ yacas
130
+ };
131
+ //# sourceMappingURL=yacas-b5lAVEIl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yacas-b5lAVEIl.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/yacas.js"],"sourcesContent":["function words(str) {\n var obj = {}, words = str.split(\" \");\n for (var i = 0; i < words.length; ++i) obj[words[i]] = true;\n return obj;\n}\n\nvar bodiedOps = words(\"Assert BackQuote D Defun Deriv For ForEach FromFile \" +\n \"FromString Function Integrate InverseTaylor Limit \" +\n \"LocalSymbols Macro MacroRule MacroRulePattern \" +\n \"NIntegrate Rule RulePattern Subst TD TExplicitSum \" +\n \"TSum Taylor Taylor1 Taylor2 Taylor3 ToFile \" +\n \"ToStdout ToString TraceRule Until While\");\n\n// patterns\nvar pFloatForm = \"(?:(?:\\\\.\\\\d+|\\\\d+\\\\.\\\\d*|\\\\d+)(?:[eE][+-]?\\\\d+)?)\";\nvar pIdentifier = \"(?:[a-zA-Z\\\\$'][a-zA-Z0-9\\\\$']*)\";\n\n// regular expressions\nvar reFloatForm = new RegExp(pFloatForm);\nvar reIdentifier = new RegExp(pIdentifier);\nvar rePattern = new RegExp(pIdentifier + \"?_\" + pIdentifier);\nvar reFunctionLike = new RegExp(pIdentifier + \"\\\\s*\\\\(\");\n\nfunction tokenBase(stream, state) {\n var ch;\n\n // get next character\n ch = stream.next();\n\n // string\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n\n // comment\n if (ch === '/') {\n if (stream.eat('*')) {\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n if (stream.eat(\"/\")) {\n stream.skipToEnd();\n return \"comment\";\n }\n }\n\n // go back one character\n stream.backUp(1);\n\n // update scope info\n var m = stream.match(/^(\\w+)\\s*\\(/, false);\n if (m !== null && bodiedOps.hasOwnProperty(m[1]))\n state.scopes.push('bodied');\n\n var scope = currentScope(state);\n\n if (scope === 'bodied' && ch === '[')\n state.scopes.pop();\n\n if (ch === '[' || ch === '{' || ch === '(')\n state.scopes.push(ch);\n\n scope = currentScope(state);\n\n if (scope === '[' && ch === ']' ||\n scope === '{' && ch === '}' ||\n scope === '(' && ch === ')')\n state.scopes.pop();\n\n if (ch === ';') {\n while (scope === 'bodied') {\n state.scopes.pop();\n scope = currentScope(state);\n }\n }\n\n // look for ordered rules\n if (stream.match(/\\d+ *#/, true, false)) {\n return 'qualifier';\n }\n\n // look for numbers\n if (stream.match(reFloatForm, true, false)) {\n return 'number';\n }\n\n // look for placeholders\n if (stream.match(rePattern, true, false)) {\n return 'variableName.special';\n }\n\n // match all braces separately\n if (stream.match(/(?:\\[|\\]|{|}|\\(|\\))/, true, false)) {\n return 'bracket';\n }\n\n // literals looking like function calls\n if (stream.match(reFunctionLike, true, false)) {\n stream.backUp(1);\n return 'variableName.function';\n }\n\n // all other identifiers\n if (stream.match(reIdentifier, true, false)) {\n return 'variable';\n }\n\n // operators; note that operators like @@ or /; are matched separately for each symbol.\n if (stream.match(/(?:\\\\|\\+|\\-|\\*|\\/|,|;|\\.|:|@|~|=|>|<|&|\\||_|`|'|\\^|\\?|!|%|#)/, true, false)) {\n return 'operator';\n }\n\n // everything else is an error\n return 'error';\n}\n\nfunction tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n};\n\nfunction tokenComment(stream, state) {\n var prev, next;\n while((next = stream.next()) != null) {\n if (prev === '*' && next === '/') {\n state.tokenize = tokenBase;\n break;\n }\n prev = next;\n }\n return 'comment';\n}\n\nfunction currentScope(state) {\n var scope = null;\n if (state.scopes.length > 0)\n scope = state.scopes[state.scopes.length - 1];\n return scope;\n}\n\nexport const yacas = {\n name: \"yacas\",\n startState: function() {\n return {\n tokenize: tokenBase,\n scopes: []\n };\n },\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n indent: function(state, textAfter, cx) {\n if (state.tokenize !== tokenBase && state.tokenize !== null)\n return null;\n\n var delta = 0;\n if (textAfter === ']' || textAfter === '];' ||\n textAfter === '}' || textAfter === '};' ||\n textAfter === ');')\n delta = -1;\n\n return (state.scopes.length + delta) * cx.unit;\n },\n\n languageData: {\n electricInput: /[{}\\[\\]()\\;]/,\n commentTokens: {line: \"//\", block: {open: \"/*\", close: \"*/\"}}\n }\n};\n"],"names":["words"],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1,93 @@
1
+ function mkZ80(ez80) {
2
+ var keywords1, keywords2;
3
+ if (ez80) {
4
+ keywords1 = /^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\.([sl]?i)?[sl])?\b/i;
5
+ keywords2 = /^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i;
6
+ } else {
7
+ keywords1 = /^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\b/i;
8
+ keywords2 = /^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i;
9
+ }
10
+ var variables1 = /^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i;
11
+ var variables2 = /^(n?[zc]|p[oe]?|m)\b/i;
12
+ var errors = /^([hl][xy]|i[xy][hl]|slia|sll)\b/i;
13
+ var numbers = /^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;
14
+ return {
15
+ name: "z80",
16
+ startState: function() {
17
+ return {
18
+ context: 0
19
+ };
20
+ },
21
+ token: function(stream, state) {
22
+ if (!stream.column())
23
+ state.context = 0;
24
+ if (stream.eatSpace())
25
+ return null;
26
+ var w;
27
+ if (stream.eatWhile(/\w/)) {
28
+ if (ez80 && stream.eat(".")) {
29
+ stream.eatWhile(/\w/);
30
+ }
31
+ w = stream.current();
32
+ if (stream.indentation()) {
33
+ if ((state.context == 1 || state.context == 4) && variables1.test(w)) {
34
+ state.context = 4;
35
+ return "variable";
36
+ }
37
+ if (state.context == 2 && variables2.test(w)) {
38
+ state.context = 4;
39
+ return "variableName.special";
40
+ }
41
+ if (keywords1.test(w)) {
42
+ state.context = 1;
43
+ return "keyword";
44
+ } else if (keywords2.test(w)) {
45
+ state.context = 2;
46
+ return "keyword";
47
+ } else if (state.context == 4 && numbers.test(w)) {
48
+ return "number";
49
+ }
50
+ if (errors.test(w))
51
+ return "error";
52
+ } else if (stream.match(numbers)) {
53
+ return "number";
54
+ } else {
55
+ return null;
56
+ }
57
+ } else if (stream.eat(";")) {
58
+ stream.skipToEnd();
59
+ return "comment";
60
+ } else if (stream.eat('"')) {
61
+ while (w = stream.next()) {
62
+ if (w == '"')
63
+ break;
64
+ if (w == "\\")
65
+ stream.next();
66
+ }
67
+ return "string";
68
+ } else if (stream.eat("'")) {
69
+ if (stream.match(/\\?.'/))
70
+ return "number";
71
+ } else if (stream.eat(".") || stream.sol() && stream.eat("#")) {
72
+ state.context = 5;
73
+ if (stream.eatWhile(/\w/))
74
+ return "def";
75
+ } else if (stream.eat("$")) {
76
+ if (stream.eatWhile(/[\da-f]/i))
77
+ return "number";
78
+ } else if (stream.eat("%")) {
79
+ if (stream.eatWhile(/[01]/))
80
+ return "number";
81
+ } else {
82
+ stream.next();
83
+ }
84
+ return null;
85
+ }
86
+ };
87
+ }
88
+ const z80 = mkZ80(false);
89
+ mkZ80(true);
90
+ export {
91
+ z80
92
+ };
93
+ //# sourceMappingURL=z80-ClgwfNdB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"z80-ClgwfNdB.js","sources":["../../../node_modules/.pnpm/@codemirror+legacy-modes@6.5.2/node_modules/@codemirror/legacy-modes/mode/z80.js"],"sourcesContent":["function mkZ80(ez80) {\n var keywords1, keywords2;\n if (ez80) {\n keywords1 = /^(exx?|(ld|cp)([di]r?)?|[lp]ea|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|[de]i|halt|im|in([di]mr?|ir?|irx|2r?)|ot(dmr?|[id]rx|imr?)|out(0?|[di]r?|[di]2r?)|tst(io)?|slp)(\\.([sl]?i)?[sl])?\\b/i;\n keywords2 = /^(((call|j[pr]|rst|ret[in]?)(\\.([sl]?i)?[sl])?)|(rs|st)mix)\\b/i;\n } else {\n keywords1 = /^(exx?|(ld|cp|in)([di]r?)?|pop|push|ad[cd]|cpl|daa|dec|inc|neg|sbc|sub|and|bit|[cs]cf|x?or|res|set|r[lr]c?a?|r[lr]d|s[lr]a|srl|djnz|nop|rst|[de]i|halt|im|ot[di]r|out[di]?)\\b/i;\n keywords2 = /^(call|j[pr]|ret[in]?|b_?(call|jump))\\b/i;\n }\n\n var variables1 = /^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\\b/i;\n var variables2 = /^(n?[zc]|p[oe]?|m)\\b/i;\n var errors = /^([hl][xy]|i[xy][hl]|slia|sll)\\b/i;\n var numbers = /^([\\da-f]+h|[0-7]+o|[01]+b|\\d+d?)\\b/i;\n\n return {\n name: \"z80\",\n startState: function() {\n return {\n context: 0\n };\n },\n token: function(stream, state) {\n if (!stream.column())\n state.context = 0;\n\n if (stream.eatSpace())\n return null;\n\n var w;\n\n if (stream.eatWhile(/\\w/)) {\n if (ez80 && stream.eat('.')) {\n stream.eatWhile(/\\w/);\n }\n w = stream.current();\n\n if (stream.indentation()) {\n if ((state.context == 1 || state.context == 4) && variables1.test(w)) {\n state.context = 4;\n return 'variable';\n }\n\n if (state.context == 2 && variables2.test(w)) {\n state.context = 4;\n return 'variableName.special';\n }\n\n if (keywords1.test(w)) {\n state.context = 1;\n return 'keyword';\n } else if (keywords2.test(w)) {\n state.context = 2;\n return 'keyword';\n } else if (state.context == 4 && numbers.test(w)) {\n return 'number';\n }\n\n if (errors.test(w))\n return 'error';\n } else if (stream.match(numbers)) {\n return 'number';\n } else {\n return null;\n }\n } else if (stream.eat(';')) {\n stream.skipToEnd();\n return 'comment';\n } else if (stream.eat('\"')) {\n while (w = stream.next()) {\n if (w == '\"')\n break;\n\n if (w == '\\\\')\n stream.next();\n }\n return 'string';\n } else if (stream.eat('\\'')) {\n if (stream.match(/\\\\?.'/))\n return 'number';\n } else if (stream.eat('.') || stream.sol() && stream.eat('#')) {\n state.context = 5;\n\n if (stream.eatWhile(/\\w/))\n return 'def';\n } else if (stream.eat('$')) {\n if (stream.eatWhile(/[\\da-f]/i))\n return 'number';\n } else if (stream.eat('%')) {\n if (stream.eatWhile(/[01]/))\n return 'number';\n } else {\n stream.next();\n }\n return null;\n }\n };\n};\n\nexport const z80 = mkZ80(false)\nexport const ez80 = mkZ80(true)\n"],"names":[],"mappings":"AAAA,SAAS,MAAM,MAAM;AACnB,MAAI,WAAW;AACf,MAAI,MAAM;AACR,gBAAY;AACZ,gBAAY;AAAA,EACd,OAAO;AACL,gBAAY;AACZ,gBAAY;AAAA,EACd;AAEA,MAAI,aAAa;AACjB,MAAI,aAAa;AACjB,MAAI,SAAS;AACb,MAAI,UAAU;AAEd,SAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY,WAAW;AACrB,aAAO;AAAA,QACL,SAAS;AAAA,MACjB;AAAA,IACI;AAAA,IACA,OAAO,SAAS,QAAQ,OAAO;AAC7B,UAAI,CAAC,OAAO,OAAM;AAChB,cAAM,UAAU;AAElB,UAAI,OAAO,SAAQ;AACjB,eAAO;AAET,UAAI;AAEJ,UAAI,OAAO,SAAS,IAAI,GAAG;AACzB,YAAI,QAAQ,OAAO,IAAI,GAAG,GAAG;AAC3B,iBAAO,SAAS,IAAI;AAAA,QACtB;AACA,YAAI,OAAO,QAAO;AAElB,YAAI,OAAO,eAAe;AACxB,eAAK,MAAM,WAAW,KAAK,MAAM,WAAW,MAAM,WAAW,KAAK,CAAC,GAAG;AACpE,kBAAM,UAAU;AAChB,mBAAO;AAAA,UACT;AAEA,cAAI,MAAM,WAAW,KAAK,WAAW,KAAK,CAAC,GAAG;AAC5C,kBAAM,UAAU;AAChB,mBAAO;AAAA,UACT;AAEA,cAAI,UAAU,KAAK,CAAC,GAAG;AACrB,kBAAM,UAAU;AAChB,mBAAO;AAAA,UACT,WAAW,UAAU,KAAK,CAAC,GAAG;AAC5B,kBAAM,UAAU;AAChB,mBAAO;AAAA,UACT,WAAW,MAAM,WAAW,KAAK,QAAQ,KAAK,CAAC,GAAG;AAChD,mBAAO;AAAA,UACT;AAEA,cAAI,OAAO,KAAK,CAAC;AACf,mBAAO;AAAA,QACX,WAAW,OAAO,MAAM,OAAO,GAAG;AAChC,iBAAO;AAAA,QACT,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,eAAO,UAAS;AAChB,eAAO;AAAA,MACT,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,eAAO,IAAI,OAAO,QAAQ;AACxB,cAAI,KAAK;AACP;AAEF,cAAI,KAAK;AACP,mBAAO,KAAI;AAAA,QACf;AACA,eAAO;AAAA,MACT,WAAW,OAAO,IAAI,GAAI,GAAG;AAC3B,YAAI,OAAO,MAAM,OAAO;AACtB,iBAAO;AAAA,MACX,WAAW,OAAO,IAAI,GAAG,KAAK,OAAO,SAAS,OAAO,IAAI,GAAG,GAAG;AAC7D,cAAM,UAAU;AAEhB,YAAI,OAAO,SAAS,IAAI;AACtB,iBAAO;AAAA,MACX,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,YAAI,OAAO,SAAS,UAAU;AAC5B,iBAAO;AAAA,MACX,WAAW,OAAO,IAAI,GAAG,GAAG;AAC1B,YAAI,OAAO,SAAS,MAAM;AACxB,iBAAO;AAAA,MACX,OAAO;AACL,eAAO,KAAI;AAAA,MACb;AACA,aAAO;AAAA,IACT;AAAA,EACJ;AACA;AAEY,MAAC,MAAM,MAAM,KAAK;AACV,MAAM,IAAI;","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repl-sdk",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -36,28 +36,27 @@
36
36
  ],
37
37
  "license": "MIT",
38
38
  "devDependencies": {
39
- "@babel/plugin-proposal-decorators": "^7.28.0",
40
- "@nullvoxpopuli/eslint-configs": "^5.3.4",
39
+ "@nullvoxpopuli/eslint-configs": "^5.4.0",
41
40
  "@shikijs/rehype": "^3.7.0",
42
41
  "@tsconfig/ember": "^3.0.7",
43
42
  "@types/common-tags": "^1.8.4",
44
43
  "@types/hast": "^3.0.4",
45
44
  "@types/mdast": "^4.0.4",
46
45
  "common-tags": "^1.8.2",
47
- "eslint": "^9.34.0",
46
+ "eslint": "^9.39.1",
48
47
  "mdast": "^3.0.0",
49
- "prettier": "^3.6.2",
50
- "publint": "^0.3.12",
48
+ "prettier": "^3.7.4",
49
+ "publint": "^0.3.16",
51
50
  "rehype-raw": "^7.0.0",
52
51
  "rehype-stringify": "^10.0.1",
53
52
  "remark-gfm": "^4.0.1",
54
53
  "remark-parse": "^11.0.0",
55
54
  "remark-rehype": "^11.1.2",
56
- "typescript": "^5.8.3",
55
+ "typescript": "^5.9.3",
57
56
  "unified": "^11.0.5",
58
57
  "unist-util-visit": "^5.0.0",
59
58
  "vfile": "^6.0.3",
60
- "vite": "^6.3.5",
59
+ "vite": "^7.2.7",
61
60
  "vite-plugin-dts": "4.5.4",
62
61
  "vitest": "^3.2.4"
63
62
  },
@@ -91,9 +90,9 @@
91
90
  "resolve.exports": "^2.0.3",
92
91
  "resolve.imports": "^2.0.3",
93
92
  "tarparser": "^0.0.5",
94
- "codemirror-lang-glimdown": "2.0.0",
95
- "codemirror-lang-glimmer": "2.0.0",
96
- "codemirror-lang-glimmer-js": "2.0.0"
93
+ "codemirror-lang-glimdown": "2.0.1",
94
+ "codemirror-lang-glimmer-js": "2.0.1",
95
+ "codemirror-lang-glimmer": "2.0.1"
97
96
  },
98
97
  "volta": {
99
98
  "extends": "../../package.json"
@@ -78,7 +78,7 @@ export async function compiler(config, api) {
78
78
  * @param {string} text
79
79
  */
80
80
  async function transform(text) {
81
- return babel.transform(text, {
81
+ return babel.transformAsync(text, {
82
82
  filename: `dynamic-repl.js`,
83
83
  plugins: [
84
84
  [
@@ -96,7 +96,7 @@ export async function compiler(config, api) {
96
96
  decoratorTransforms,
97
97
  {
98
98
  runtime: {
99
- import: 'decorator-transforms/runtime',
99
+ import: 'decorator-transforms/runtime-esm',
100
100
  },
101
101
  },
102
102
  ],
@@ -48,7 +48,7 @@ export async function compiler(config, api) {
48
48
  const { isLive, isPreview, needsLive, allowedFormats, getFlavorFromMeta, isBelow } =
49
49
  buildCodeFenceMetaUtils(api);
50
50
 
51
- const { parseMarkdown } = await import(/* @vite-ignore */ '../markdown/parse.js');
51
+ const { parseMarkdown } = await import('../markdown/parse.js');
52
52
 
53
53
  /**
54
54
  * @type {import('../../types.ts').Compiler}
@@ -44,7 +44,7 @@ export const md = {
44
44
 
45
45
  // No recursing for now.
46
46
 
47
- const { parseMarkdown } = await import(/* @vite-ignore */ './markdown/parse.js');
47
+ const { parseMarkdown } = await import('./markdown/parse.js');
48
48
 
49
49
  /**
50
50
  * @type {import('../types.ts').Compiler}
@@ -10,11 +10,16 @@ export const jsx = {
10
10
  },
11
11
  },
12
12
  resolve: (id) => {
13
+ /**
14
+ * NOTE: react still only publishes CJS to NPM
15
+ */
13
16
  switch (id) {
14
17
  case 'react':
15
- return `https://esm.sh/react`;
18
+ return `https://esm.sh/react@19.2.3/es2022/react.development.mjs`;
19
+ case 'react/jsx-dev-runtime':
20
+ return `https://esm.sh/react@19.2.3/es2022/jsx-dev-runtime.development.mjs`;
16
21
  case 'react-dom/client':
17
- return `https://esm.sh/react-dom/client`;
22
+ return `https://esm.sh/react-dom@19.2.3/es2022/client.development.mjs`;
18
23
  case '@babel/standalone':
19
24
  return `https://esm.sh/@babel/standalone`;
20
25
  }
@@ -28,7 +33,14 @@ export const jsx = {
28
33
  async compile(text) {
29
34
  const result = babel.transform(text, {
30
35
  filename: `repl.js`,
31
- presets: [babel.availablePresets.react],
36
+ presets: [
37
+ [
38
+ babel.availablePresets.react,
39
+ {
40
+ // useBuiltIns: true,
41
+ },
42
+ ],
43
+ ],
32
44
  });
33
45
 
34
46
  return result.code;
@@ -1,110 +0,0 @@
1
- import { completionKeymap } from "@codemirror/autocomplete";
2
- import { indentWithTab } from "@codemirror/commands";
3
- import { markdownKeymap } from "@codemirror/lang-markdown";
4
- import { Compartment, EditorState, EditorSelection } from "@codemirror/state";
5
- import { keymap } from "@codemirror/view";
6
- import { EditorView, basicSetup } from "codemirror";
7
- import { foldByIndent } from "codemirror-lang-mermaid";
8
- async function buildCodemirror({
9
- element,
10
- text,
11
- format,
12
- extensions,
13
- handleUpdate,
14
- getLang,
15
- getSupport
16
- }) {
17
- const languageConf = new Compartment();
18
- const supportConf = new Compartment();
19
- const tabSize = new Compartment();
20
- const updateListener = EditorView.updateListener.of(({ state, docChanged }) => {
21
- if (docChanged) {
22
- handleUpdate(state.doc.toString());
23
- }
24
- });
25
- async function languageForFormat(format2) {
26
- switch (format2) {
27
- case "glimdown":
28
- case "gdm":
29
- case "gmd":
30
- return getLang("gmd");
31
- case "jsx":
32
- case "jsx|react":
33
- return getLang("jsx|react");
34
- default:
35
- return getLang(format2);
36
- }
37
- }
38
- async function supportForFormat(format2) {
39
- const support2 = await getSupport(format2);
40
- if (!support2) {
41
- return [];
42
- }
43
- return Array.isArray(support2) ? support2 : [support2];
44
- }
45
- const [language, support] = await Promise.all([
46
- languageForFormat(format),
47
- supportForFormat(format)
48
- ]);
49
- const editorExtensions = [
50
- // features
51
- basicSetup,
52
- foldByIndent(),
53
- // Language
54
- languageConf.of(language),
55
- supportConf.of(support),
56
- updateListener,
57
- EditorView.lineWrapping,
58
- keymap.of([indentWithTab, ...completionKeymap, ...markdownKeymap]),
59
- // TODO: lsp,
60
- ...extensions ?? []
61
- ].filter(Boolean);
62
- const view = new EditorView({
63
- parent: element,
64
- state: EditorState.create({
65
- extensions: editorExtensions
66
- })
67
- });
68
- const setText = async (text2, format2) => {
69
- const [language2, support2] = await Promise.all([
70
- languageForFormat(format2),
71
- supportForFormat(format2)
72
- ]);
73
- console.debug(`Codemirror changing to ${format2}: ${language2 ? "ok" : "not ok"}`);
74
- view.dispatch({
75
- changes: {
76
- from: 0,
77
- to: view.state.doc.length,
78
- insert: text2
79
- },
80
- effects: [languageConf.reconfigure(language2), supportConf.reconfigure(support2)]
81
- });
82
- };
83
- const setFormat = async (format2) => {
84
- const [language2, support2] = await Promise.all([
85
- languageForFormat(format2),
86
- supportForFormat(format2)
87
- ]);
88
- console.debug(`Codemirror changing to ${format2}: ${language2 ? "ok" : "not ok"}`);
89
- view.dispatch({
90
- effects: [languageConf.reconfigure(language2), supportConf.reconfigure(support2)]
91
- });
92
- };
93
- view.dispatch(
94
- view.state.changeByRange((range) => ({
95
- changes: [{ from: range.from, insert: text }],
96
- range: EditorSelection.range(range.from, range.to)
97
- }))
98
- );
99
- view.dispatch({
100
- effects: [
101
- tabSize.reconfigure(EditorState.tabSize.of(2))
102
- // languageConf.reconfigure(languageForFormat(format)),
103
- ]
104
- });
105
- return { view, setText, setFormat };
106
- }
107
- export {
108
- buildCodemirror
109
- };
110
- //# sourceMappingURL=codemirror-D4aIVflZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"codemirror-D4aIVflZ.js","sources":["../src/codemirror.js"],"sourcesContent":["import { completionKeymap } from '@codemirror/autocomplete';\nimport { indentWithTab } from '@codemirror/commands';\nimport { markdownKeymap } from '@codemirror/lang-markdown';\nimport { Compartment, EditorSelection, EditorState } from '@codemirror/state';\nimport { keymap } from '@codemirror/view';\nimport { basicSetup, EditorView } from 'codemirror';\n// @ts-ignore\nimport { foldByIndent } from 'codemirror-lang-mermaid';\n\n/**\n * Builds and creates a codemirror instance for the given element\n *\n * @typedef {any} Extension\n *\n * @typedef {object} CodemirrorOptions\n * @property {HTMLElement} element\n * @property {string} text\n * @property {string} format\n * @property {Extension[]} [ extensions ]\n * @property {(text: string) => void} handleUpdate\n * @property {(format: string) => Promise<Extension>} getLang\n * @property {(format: string) => Promise<Extension>} getSupport\n *\n * @param {CodemirrorOptions} options\n */\nexport async function buildCodemirror({\n element,\n text,\n format,\n extensions,\n handleUpdate,\n getLang,\n getSupport,\n}) {\n const languageConf = new Compartment();\n const supportConf = new Compartment();\n const tabSize = new Compartment();\n\n const updateListener = EditorView.updateListener.of(({ state, docChanged }) => {\n if (docChanged) {\n handleUpdate(state.doc.toString());\n }\n });\n\n /**\n * @param {string} format\n */\n async function languageForFormat(format) {\n switch (format) {\n case 'glimdown':\n case 'gdm':\n case 'gmd':\n return getLang('gmd');\n case 'jsx':\n case 'jsx|react':\n return getLang('jsx|react');\n default:\n return getLang(format);\n }\n }\n\n /**\n * @param {string} format\n */\n async function supportForFormat(format) {\n const support = await getSupport(format);\n\n if (!support) {\n return [];\n }\n\n return Array.isArray(support) ? support : [support];\n }\n\n const [language, support] = await Promise.all([\n languageForFormat(format),\n supportForFormat(format),\n ]);\n\n const editorExtensions = [\n // features\n basicSetup,\n foldByIndent(),\n // Language\n languageConf.of(language),\n supportConf.of(support),\n\n updateListener,\n EditorView.lineWrapping,\n keymap.of([indentWithTab, ...completionKeymap, ...markdownKeymap]),\n\n // TODO: lsp,\n\n ...(extensions ?? []),\n ].filter(Boolean);\n\n const view = new EditorView({\n parent: element,\n state: EditorState.create({\n extensions: editorExtensions,\n }),\n });\n\n /**\n * Called from the host app to update the editor.\n *\n * @param {string} text\n * @param {string} format\n */\n const setText = async (text, format) => {\n const [language, support] = await Promise.all([\n languageForFormat(format),\n supportForFormat(format),\n ]);\n\n console.debug(`Codemirror changing to ${format}: ${language ? 'ok' : 'not ok'}`);\n\n view.dispatch({\n changes: {\n from: 0,\n to: view.state.doc.length,\n insert: text,\n },\n effects: [languageConf.reconfigure(language), supportConf.reconfigure(support)],\n });\n };\n\n /**\n * Changes just the format of the editor.\n *\n * @param {string} format\n */\n const setFormat = async (format) => {\n const [language, support] = await Promise.all([\n languageForFormat(format),\n supportForFormat(format),\n ]);\n\n console.debug(`Codemirror changing to ${format}: ${language ? 'ok' : 'not ok'}`);\n\n view.dispatch({\n effects: [languageConf.reconfigure(language), supportConf.reconfigure(support)],\n });\n };\n\n view.dispatch(\n view.state.changeByRange((range) => ({\n changes: [{ from: range.from, insert: text }],\n range: EditorSelection.range(range.from, range.to),\n }))\n );\n\n view.dispatch({\n effects: [\n tabSize.reconfigure(EditorState.tabSize.of(2)),\n // languageConf.reconfigure(languageForFormat(format)),\n ],\n });\n\n return { view, setText, setFormat };\n}\n"],"names":["format","support","text","language"],"mappings":";;;;;;;AAyBO,eAAe,gBAAgB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,QAAM,eAAe,IAAI,YAAW;AACpC,QAAM,cAAc,IAAI,YAAW;AACnC,QAAM,UAAU,IAAI,YAAW;AAE/B,QAAM,iBAAiB,WAAW,eAAe,GAAG,CAAC,EAAE,OAAO,iBAAiB;AAC7E,QAAI,YAAY;AACd,mBAAa,MAAM,IAAI,UAAU;AAAA,IACnC;AAAA,EACF,CAAC;AAKD,iBAAe,kBAAkBA,SAAQ;AACvC,YAAQA,SAAM;AAAA,MACZ,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AACH,eAAO,QAAQ,KAAK;AAAA,MACtB,KAAK;AAAA,MACL,KAAK;AACH,eAAO,QAAQ,WAAW;AAAA,MAC5B;AACE,eAAO,QAAQA,OAAM;AAAA,IAC7B;AAAA,EACE;AAKA,iBAAe,iBAAiBA,SAAQ;AACtC,UAAMC,WAAU,MAAM,WAAWD,OAAM;AAEvC,QAAI,CAACC,UAAS;AACZ,aAAO,CAAA;AAAA,IACT;AAEA,WAAO,MAAM,QAAQA,QAAO,IAAIA,WAAU,CAACA,QAAO;AAAA,EACpD;AAEA,QAAM,CAAC,UAAU,OAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,IAC5C,kBAAkB,MAAM;AAAA,IACxB,iBAAiB,MAAM;AAAA,EAC3B,CAAG;AAED,QAAM,mBAAmB;AAAA;AAAA,IAEvB;AAAA,IACA,aAAY;AAAA;AAAA,IAEZ,aAAa,GAAG,QAAQ;AAAA,IACxB,YAAY,GAAG,OAAO;AAAA,IAEtB;AAAA,IACA,WAAW;AAAA,IACX,OAAO,GAAG,CAAC,eAAe,GAAG,kBAAkB,GAAG,cAAc,CAAC;AAAA;AAAA,IAIjE,GAAI,cAAc,CAAA;AAAA,EACtB,EAAI,OAAO,OAAO;AAEhB,QAAM,OAAO,IAAI,WAAW;AAAA,IAC1B,QAAQ;AAAA,IACR,OAAO,YAAY,OAAO;AAAA,MACxB,YAAY;AAAA,IAClB,CAAK;AAAA,EACL,CAAG;AAQD,QAAM,UAAU,OAAOC,OAAMF,YAAW;AACtC,UAAM,CAACG,WAAUF,QAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5C,kBAAkBD,OAAM;AAAA,MACxB,iBAAiBA,OAAM;AAAA,IAC7B,CAAK;AAED,YAAQ,MAAM,0BAA0BA,OAAM,KAAKG,YAAW,OAAO,QAAQ,EAAE;AAE/E,SAAK,SAAS;AAAA,MACZ,SAAS;AAAA,QACP,MAAM;AAAA,QACN,IAAI,KAAK,MAAM,IAAI;AAAA,QACnB,QAAQD;AAAA,MAChB;AAAA,MACM,SAAS,CAAC,aAAa,YAAYC,SAAQ,GAAG,YAAY,YAAYF,QAAO,CAAC;AAAA,IACpF,CAAK;AAAA,EACH;AAOA,QAAM,YAAY,OAAOD,YAAW;AAClC,UAAM,CAACG,WAAUF,QAAO,IAAI,MAAM,QAAQ,IAAI;AAAA,MAC5C,kBAAkBD,OAAM;AAAA,MACxB,iBAAiBA,OAAM;AAAA,IAC7B,CAAK;AAED,YAAQ,MAAM,0BAA0BA,OAAM,KAAKG,YAAW,OAAO,QAAQ,EAAE;AAE/E,SAAK,SAAS;AAAA,MACZ,SAAS,CAAC,aAAa,YAAYA,SAAQ,GAAG,YAAY,YAAYF,QAAO,CAAC;AAAA,IACpF,CAAK;AAAA,EACH;AAEA,OAAK;AAAA,IACH,KAAK,MAAM,cAAc,CAAC,WAAW;AAAA,MACnC,SAAS,CAAC,EAAE,MAAM,MAAM,MAAM,QAAQ,MAAM;AAAA,MAC5C,OAAO,gBAAgB,MAAM,MAAM,MAAM,MAAM,EAAE;AAAA,IACvD,EAAM;AAAA,EACN;AAEE,OAAK,SAAS;AAAA,IACZ,SAAS;AAAA,MACP,QAAQ,YAAY,YAAY,QAAQ,GAAG,CAAC,CAAC;AAAA;AAAA,IAEnD;AAAA,EACA,CAAG;AAED,SAAO,EAAE,MAAM,SAAS,UAAS;AACnC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gjs-CzFzkEFv.js","sources":["../src/compilers/ember/gjs.js"],"sourcesContent":["import { cache } from '../../cache.js';\nimport { renderApp } from './render-app-island.js';\n\nlet elementId = 0;\n\nconst buildDependencies = [\n /**\n * The only version of babel that is easily runnable in the browser\n * This includes way too much stuff.\n */\n '@babel/standalone',\n /**\n * We will be using this decorator transform\n * instead of the babel one.\n * The babel transform does way too much transforming.\n */\n 'decorator-transforms',\n\n /**\n * Babel plugin that understands all the different ways\n * which templates have been authored and what they need to\n * compile to over the years.\n */\n 'babel-plugin-ember-template-compilation',\n /**\n * The actual template-compiler is ember-sounce-dependent,\n * because the underlying format / bytecodes / etc is private,\n * and can change between versions of ember-source.\n */\n 'ember-source/dist/ember-template-compiler.js',\n /**\n * Converts gjs/gts to standard js/ts\n */\n 'content-tag',\n /**\n * Older-style build macros\n * (before import.meta.env was even a thing)\n *\n * These remove `@glimmer/env` and DEBUG usages\n */\n 'babel-plugin-debug-macros',\n\n /**\n * build macros, because the ecosystem isn't standardized on imprt.meta.env?.X\n * Also, @embroider/macros does dead-code-elimination, which is handy.\n */\n // '@embroider/macros/babel',\n];\n\n/**\n * @type {import('../../types.ts').CompilerConfig['compiler']}\n */\nexport async function compiler(config, api) {\n const [\n _babel,\n _decoratorTransforms,\n _emberTemplateCompilation,\n compiler,\n contentTag,\n { default: DebugMacros },\n // embroiderMacros,\n ] = await api.tryResolveAll(buildDependencies);\n\n // These libraries are compiled incorrectly for cjs<->ESM compat\n const decoratorTransforms =\n 'default' in _decoratorTransforms ? _decoratorTransforms.default : _decoratorTransforms;\n\n const emberTemplateCompilation =\n 'default' in _emberTemplateCompilation\n ? _emberTemplateCompilation.default\n : _emberTemplateCompilation;\n\n const babel = 'availablePlugins' in _babel ? _babel : _babel.default;\n\n // let macros = embroiderMacros.buildMacros();\n\n /**\n * @param {string} text\n */\n async function transform(text) {\n return babel.transform(text, {\n filename: `dynamic-repl.js`,\n plugins: [\n [\n emberTemplateCompilation,\n {\n compiler,\n transforms: [\n // ...macros.templateMacros\n ],\n targetFormat: 'wire',\n },\n ],\n [\n // @ts-ignore - we don't care about types here..\n decoratorTransforms,\n {\n runtime: {\n import: 'decorator-transforms/runtime',\n },\n },\n ],\n // ...macros.babelMacros,\n [\n DebugMacros,\n {\n flags: [\n {\n source: '@glimmer/env',\n flags: {\n DEBUG: true,\n CI: false,\n },\n },\n ],\n debugTools: {\n isDebug: true,\n source: '@ember/debug',\n assertPredicateIndex: 1,\n },\n externalizeHelpers: {\n module: '@ember/debug',\n },\n },\n '@ember/debug stripping',\n ],\n [\n DebugMacros,\n {\n externalizeHelpers: {\n module: '@ember/application/deprecations',\n },\n debugTools: {\n isDebug: true,\n source: '@ember/application/deprecations',\n assertPredicateIndex: 1,\n },\n },\n '@ember/application/deprecations stripping',\n ],\n ],\n presets: [],\n });\n }\n\n const preprocessor = new contentTag.Preprocessor();\n\n /**\n * @type {import('../../types.ts').Compiler}\n */\n const gjsCompiler = {\n compile: async (text, options) => {\n const { code: preprocessed } = preprocessor.process(text, { filename: 'dynamic-repl.js' });\n const transformed = await transform(preprocessed);\n\n const code = transformed.code;\n\n return code;\n },\n render: async (element, compiled, extra, compiler) => {\n /**\n *\n * TODO: These will make things easier:\n * https://github.com/emberjs/rfcs/pull/1099\n * https://github.com/ember-cli/ember-addon-blueprint/blob/main/files/tests/test-helper.js\n */\n const attribute = `data-repl-sdk-ember-gjs-${elementId++}`;\n\n element.setAttribute(attribute, '');\n\n const [application, destroyable, resolver, router, route, testWaiters, runloop] =\n await compiler.tryResolveAll([\n '@ember/application',\n '@ember/destroyable',\n 'ember-resolver',\n '@ember/routing/router',\n '@ember/routing/route',\n '@ember/test-waiters',\n '@ember/runloop',\n ]);\n\n // We don't want to await here, because we need to early\n // return the element so that the app can render in to it.\n // (Ember will only render in to an element if it's present in the DOM)\n return renderApp({\n element,\n selector: `[${attribute}]`,\n component: compiled,\n log: compiler.announce,\n modules: {\n application,\n destroyable,\n resolver,\n router,\n route,\n testWaiters,\n runloop,\n },\n });\n },\n handlers: {\n js: async (text) => {\n return gjsCompiler.compile(text, {});\n },\n mjs: async (text) => {\n return gjsCompiler.compile(text, {});\n },\n },\n };\n\n return gjsCompiler;\n}\n"],"names":["compiler"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"gmd-D9OXs2v3.js","sources":["../src/compilers/ember/gmd.js"],"sourcesContent":["/**\n * @typedef {import('unified').Plugin} Plugin\n */\nimport { assert, isRecord } from '../../utils.js';\nimport { buildCodeFenceMetaUtils } from '../markdown/utils.js';\nimport { renderApp } from './render-app-island.js';\n\nlet elementId = 0;\n\n/**\n * @param {unknown} [ options ]\n * @returns {{\n * scope: Record<string, unknown>,\n * remarkPlugins: Plugin[],\n * rehypePlugins: Plugin[],\n * ShadowComponent: string | undefined,\n * CopyComponent: string | undefined\n * }}\n */\nexport function filterOptions(options) {\n if (!isRecord(options)) {\n return {\n scope: {},\n remarkPlugins: [],\n rehypePlugins: [],\n ShadowComponent: undefined,\n CopyComponent: undefined,\n };\n }\n\n return {\n scope: /** @type {Record<string, unknown>}*/ (options?.scope || {}),\n remarkPlugins: /** @type {Plugin[]}*/ (options?.remarkPlugins || []),\n rehypePlugins: /** @type {Plugin[]}*/ (options?.rehypePlugins || []),\n ShadowComponent: /** @type {string}*/ (options?.ShadowComponent),\n CopyComponent: /** @type {string}*/ (options?.CopyComponent),\n };\n}\n\n/**\n * @type {import('../../types.ts').CompilerConfig['compiler']}\n */\nexport async function compiler(config, api) {\n const userOptions = filterOptions(\n /** @type {Record<string, unknown>} */ (config.userOptions)?.gmd || config\n );\n\n const { isLive, isPreview, needsLive, allowedFormats, getFlavorFromMeta, isBelow } =\n buildCodeFenceMetaUtils(api);\n\n const { parseMarkdown } = await import(/* @vite-ignore */ '../markdown/parse.js');\n\n /**\n * @type {import('../../types.ts').Compiler}\n */\n const gmdCompiler = {\n compile: async (text, options) => {\n const compileOptions = filterOptions(options);\n const result = await parseMarkdown(text, {\n remarkPlugins: [...userOptions.remarkPlugins, ...compileOptions.remarkPlugins],\n rehypePlugins: [...userOptions.rehypePlugins, ...compileOptions.rehypePlugins],\n isLive,\n isPreview,\n isBelow,\n needsLive,\n ALLOWED_FORMATS: allowedFormats,\n getFlavorFromMeta,\n });\n\n const { template } = await api.tryResolve('@ember/template-compiler/runtime');\n\n const scope = {\n ...filterOptions(userOptions).scope,\n ...filterOptions(options).scope,\n };\n\n const component = template(result.text, {\n scope: () => ({\n ...scope,\n // TODO: compile all the components from \"result\" and add them to scope here\n // would this be better than the markdown style multiple islands\n }),\n });\n\n return { compiled: component, ...result, scope };\n },\n render: async (element, compiled, extra, compiler) => {\n /**\n *\n * TODO: These will make things easier:\n * https://github.com/emberjs/rfcs/pull/1099\n * https://github.com/ember-cli/ember-addon-blueprint/blob/main/files/tests/test-helper.js\n */\n const attribute = `data-repl-sdk-ember-gmd-${elementId++}`;\n\n element.setAttribute(attribute, '');\n\n const [application, destroyable, resolver, router, route, testWaiters, runloop] =\n await compiler.tryResolveAll([\n '@ember/application',\n '@ember/destroyable',\n 'ember-resolver',\n '@ember/routing/router',\n '@ember/routing/route',\n '@ember/test-waiters',\n '@ember/runloop',\n ]);\n\n // We don't want to await here, because we need to early\n // return the element so that the app can render in to it.\n // (Ember will only render in to an element if it's present in the DOM)\n const destroy = await renderApp({\n element,\n selector: `[${attribute}]`,\n component: compiled,\n log: compiler.announce,\n modules: {\n application,\n destroyable,\n resolver,\n router,\n route,\n testWaiters,\n runloop,\n },\n });\n\n /**\n * @type {(() => void)[]}\n */\n const destroyables = [];\n\n await Promise.all(\n /** @type {unknown[]} */ (extra.codeBlocks).map(async (/** @type {unknown} */ info) => {\n /** @type {Record<string, unknown>} */\n const infoObj = /** @type {Record<string, unknown>} */ (info);\n\n if (\n !api.canCompile(\n /** @type {string} */ (infoObj.format),\n /** @type {string} */ (infoObj.flavor)\n )\n ) {\n return;\n }\n\n const flavor = /** @type {string} */ (infoObj.flavor);\n const hasScope =\n flavor === 'ember' || infoObj.format === 'gjs' || infoObj.format === 'hbs';\n const subRender = await compiler.compile(\n /** @type {string} */ (infoObj.format),\n /** @type {string} */ (infoObj.code),\n {\n ...compiler.optionsFor(/** @type {string} */ (infoObj.format), flavor),\n flavor: flavor,\n // @ts-ignore\n ...(hasScope\n ? {\n scope: extra.scope,\n }\n : {}),\n }\n );\n\n const selector = `#${/** @type {string} */ (infoObj.placeholderId)}`;\n const target = element.querySelector(selector);\n\n assert(\n `Could not find placeholder / target element (using selector: \\`${selector}\\`). ` +\n `Could not render ${/** @type {string} */ (infoObj.format)} block.`,\n target\n );\n\n destroyables.push(subRender.destroy);\n target.appendChild(subRender.element);\n })\n );\n\n return () => {\n for (const subDestroy of destroyables) {\n subDestroy();\n }\n\n destroy();\n };\n },\n };\n\n return gmdCompiler;\n}\n"],"names":["compiler"],"mappings":";;AAOA,IAAI,YAAY;AAYT,SAAS,cAAc,SAAS;AACrC,MAAI,CAAC,SAAS,OAAO,GAAG;AACtB,WAAO;AAAA,MACL,OAAO,CAAA;AAAA,MACP,eAAe,CAAA;AAAA,MACf,eAAe,CAAA;AAAA,MACf,iBAAiB;AAAA,MACjB,eAAe;AAAA,IACrB;AAAA,EACE;AAEA,SAAO;AAAA,IACL;AAAA;AAAA,MAA8C,SAAS,SAAS;;IAChE;AAAA;AAAA,MAAuC,SAAS,iBAAiB;;IACjE;AAAA;AAAA,MAAuC,SAAS,iBAAiB;;IACjE;AAAA;AAAA,MAAuC,SAAS;AAAA;AAAA,IAChD;AAAA;AAAA,MAAqC,SAAS;AAAA;AAAA,EAClD;AACA;AAKO,eAAe,SAAS,QAAQ,KAAK;AAC1C,QAAM,cAAc;AAAA;AAAA,IACsB,OAAO,aAAc,OAAO;AAAA,EACxE;AAEE,QAAM,EAAE,QAAQ,WAAW,WAAW,gBAAgB,mBAAmB,QAAO,IAC9E,wBAAwB,GAAG;AAE7B,QAAM,EAAE,cAAa,IAAK,MAAM;AAAA;AAAA,IAA0B;AAAA,EAAsB;AAKhF,QAAM,cAAc;AAAA,IAClB,SAAS,OAAO,MAAM,YAAY;AAChC,YAAM,iBAAiB,cAAc,OAAO;AAC5C,YAAM,SAAS,MAAM,cAAc,MAAM;AAAA,QACvC,eAAe,CAAC,GAAG,YAAY,eAAe,GAAG,eAAe,aAAa;AAAA,QAC7E,eAAe,CAAC,GAAG,YAAY,eAAe,GAAG,eAAe,aAAa;AAAA,QAC7E;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,iBAAiB;AAAA,QACjB;AAAA,MACR,CAAO;AAED,YAAM,EAAE,SAAQ,IAAK,MAAM,IAAI,WAAW,kCAAkC;AAE5E,YAAM,QAAQ;AAAA,QACZ,GAAG,cAAc,WAAW,EAAE;AAAA,QAC9B,GAAG,cAAc,OAAO,EAAE;AAAA,MAClC;AAEM,YAAM,YAAY,SAAS,OAAO,MAAM;AAAA,QACtC,OAAO,OAAO;AAAA,UACZ,GAAG;AAAA;AAAA;AAAA,QAGb;AAAA,MACA,CAAO;AAED,aAAO,EAAE,UAAU,WAAW,GAAG,QAAQ,MAAK;AAAA,IAChD;AAAA,IACA,QAAQ,OAAO,SAAS,UAAU,OAAOA,cAAa;AAOpD,YAAM,YAAY,2BAA2B,WAAW;AAExD,cAAQ,aAAa,WAAW,EAAE;AAElC,YAAM,CAAC,aAAa,aAAa,UAAU,QAAQ,OAAO,aAAa,OAAO,IAC5E,MAAMA,UAAS,cAAc;AAAA,QAC3B;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACV,CAAS;AAKH,YAAM,UAAU,MAAM,UAAU;AAAA,QAC9B;AAAA,QACA,UAAU,IAAI,SAAS;AAAA,QACvB,WAAW;AAAA,QACX,KAAKA,UAAS;AAAA,QACd,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACV;AAAA,MACA,CAAO;AAKD,YAAM,eAAe,CAAA;AAErB,YAAM,QAAQ;AAAA;AAAA,QACc,MAAM,WAAY,IAAI,OAA8B,SAAS;AAErF,gBAAM;AAAA;AAAA,YAAkD;AAAA;AAExD,cACE,CAAC,IAAI;AAAA;AAAA,YACoB,QAAQ;AAAA;AAAA,YACR,QAAQ;AAAA,UAC7C,GACY;AACA;AAAA,UACF;AAEA,gBAAM;AAAA;AAAA,YAAgC,QAAQ;AAAA;AAC9C,gBAAM,WACJ,WAAW,WAAW,QAAQ,WAAW,SAAS,QAAQ,WAAW;AACvE,gBAAM,YAAY,MAAMA,UAAS;AAAA;AAAA,YACR,QAAQ;AAAA;AAAA,YACR,QAAQ;AAAA,YAC/B;AAAA,cACE,GAAGA,UAAS;AAAA;AAAA,gBAAkC,QAAQ;AAAA,gBAAS;AAAA,cAAM;AAAA,cACrE;AAAA;AAAA,cAEA,GAAI,WACA;AAAA,gBACE,OAAO,MAAM;AAAA,cACjC,IACkB;YAClB;AAAA,UACA;AAEU,gBAAM,WAAW;AAAA,UAA2B,QAAQ,aAAa;AACjE,gBAAM,SAAS,QAAQ,cAAc,QAAQ;AAE7C;AAAA,YACE,kEAAkE,QAAQ;AAAA,YAC7B,QAAQ,MAAM;AAAA,YAC3D;AAAA,UACZ;AAEU,uBAAa,KAAK,UAAU,OAAO;AACnC,iBAAO,YAAY,UAAU,OAAO;AAAA,QACtC,CAAC;AAAA,MACT;AAEM,aAAO,MAAM;AACX,mBAAW,cAAc,cAAc;AACrC,qBAAU;AAAA,QACZ;AAEA,gBAAO;AAAA,MACT;AAAA,IACF;AAAA,EACJ;AAEE,SAAO;AACT;"}