open-walnut 0.3.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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +339 -0
  3. package/bin/open-walnut.js +2 -0
  4. package/bin/walnut.js +2 -0
  5. package/dist/cli.js +137849 -0
  6. package/dist/daemon-binaries/acp-worker.js +44 -0
  7. package/dist/daemon-binaries/acp-worker.js.version +1 -0
  8. package/dist/data/skills/daily-standup/SKILL.md +16 -0
  9. package/dist/data/skills/install-plugin/SKILL.md +118 -0
  10. package/dist/data/skills/learn/SKILL.md +46 -0
  11. package/dist/data/skills/register-repo/SKILL.md +20 -0
  12. package/dist/data/skills/setup-cloud-companion/SKILL.md +326 -0
  13. package/dist/data/skills/triage/SKILL.md +23 -0
  14. package/dist/data/skills/walnut-calendar/SKILL.md +92 -0
  15. package/dist/data/skills/walnut-manage-repos/SKILL.md +107 -0
  16. package/dist/data/skills/walnut-peer-sessions/SKILL.md +61 -0
  17. package/dist/data/skills/walnut-register-repo/SKILL.md +72 -0
  18. package/dist/data/skills/walnut-register-repo/references/yaml-format.md +111 -0
  19. package/dist/data/skills/walnut-register-repo/scripts/validate-repo.py +177 -0
  20. package/dist/data/skills/walnut-routines/SKILL.md +65 -0
  21. package/dist/data/skills/weekly-review/SKILL.md +22 -0
  22. package/dist/data/walnut-calendar.swift +213 -0
  23. package/dist/data/walnut-extract.swift +80 -0
  24. package/dist/hooks/on-compact.js +976 -0
  25. package/dist/hooks/on-stop.js +1329 -0
  26. package/dist/integrations/jira/index.js +4200 -0
  27. package/dist/integrations/jira/manifest.json +26 -0
  28. package/dist/integrations/local/index.js +51 -0
  29. package/dist/integrations/local/manifest.json +10 -0
  30. package/dist/integrations/ms-todo/index.js +4672 -0
  31. package/dist/integrations/ms-todo/manifest.json +17 -0
  32. package/dist/session-server/index.js +1382 -0
  33. package/dist/web/server.js +135275 -0
  34. package/dist/web/static/assets/apl-B4CMkyY2.js +1 -0
  35. package/dist/web/static/assets/asciiarmor-Df11BRmG.js +1 -0
  36. package/dist/web/static/assets/asn1-EdZsLKOL.js +1 -0
  37. package/dist/web/static/assets/asterisk-B-8jnY81.js +1 -0
  38. package/dist/web/static/assets/brainfuck-C4LP7Hcl.js +1 -0
  39. package/dist/web/static/assets/clike-B9uivgTg.js +1 -0
  40. package/dist/web/static/assets/clojure-BMjYHr_A.js +1 -0
  41. package/dist/web/static/assets/cmake-BQqOBYOt.js +1 -0
  42. package/dist/web/static/assets/cobol-CWcv1MsR.js +1 -0
  43. package/dist/web/static/assets/coffeescript-S37ZYGWr.js +1 -0
  44. package/dist/web/static/assets/commonlisp-DBKNyK5s.js +1 -0
  45. package/dist/web/static/assets/crystal-SjHAIU92.js +1 -0
  46. package/dist/web/static/assets/css-BnMrqG3P.js +1 -0
  47. package/dist/web/static/assets/cypher-C_CwsFkJ.js +1 -0
  48. package/dist/web/static/assets/d-pRatUO7H.js +1 -0
  49. package/dist/web/static/assets/diff-DbItnlRl.js +1 -0
  50. package/dist/web/static/assets/dockerfile-BKs6k2Af.js +1 -0
  51. package/dist/web/static/assets/dtd-DF_7sFjM.js +1 -0
  52. package/dist/web/static/assets/dylan-DwRh75JA.js +1 -0
  53. package/dist/web/static/assets/ebnf-CDyGwa7X.js +1 -0
  54. package/dist/web/static/assets/ecl-Cabwm37j.js +1 -0
  55. package/dist/web/static/assets/eiffel-CnydiIhH.js +1 -0
  56. package/dist/web/static/assets/elm-vLlmbW-K.js +1 -0
  57. package/dist/web/static/assets/erlang-BNw1qcRV.js +1 -0
  58. package/dist/web/static/assets/factor-kuTfRLto.js +1 -0
  59. package/dist/web/static/assets/fcl-Kvtd6kyn.js +1 -0
  60. package/dist/web/static/assets/forth-Ffai-XNe.js +1 -0
  61. package/dist/web/static/assets/fortran-DYz_wnZ1.js +1 -0
  62. package/dist/web/static/assets/gas-Bneqetm1.js +1 -0
  63. package/dist/web/static/assets/gherkin-heZmZLOM.js +1 -0
  64. package/dist/web/static/assets/groovy-D9Dt4D0W.js +1 -0
  65. package/dist/web/static/assets/haskell-Cw1EW3IL.js +1 -0
  66. package/dist/web/static/assets/haxe-H-WmDvRZ.js +1 -0
  67. package/dist/web/static/assets/http-DBlCnlav.js +1 -0
  68. package/dist/web/static/assets/idl-BEugSyMb.js +1 -0
  69. package/dist/web/static/assets/index-B3K5yAdA.js +1 -0
  70. package/dist/web/static/assets/index-B7OvpXOs.js +632 -0
  71. package/dist/web/static/assets/index-C07UNJIJ.js +1 -0
  72. package/dist/web/static/assets/index-C8k-3wfu.js +2 -0
  73. package/dist/web/static/assets/index-CBXGsT3t.js +1 -0
  74. package/dist/web/static/assets/index-CUrO3qpX.js +1 -0
  75. package/dist/web/static/assets/index-CpTvBBAa.js +1 -0
  76. package/dist/web/static/assets/index-D4J6slTf.js +1 -0
  77. package/dist/web/static/assets/index-DUgC5K_q.js +3 -0
  78. package/dist/web/static/assets/index-DhqXE1wa.js +1 -0
  79. package/dist/web/static/assets/index-DkGqHTCk.js +1 -0
  80. package/dist/web/static/assets/index-DsxFiBic.js +1 -0
  81. package/dist/web/static/assets/index-Dz3umkfm.js +1 -0
  82. package/dist/web/static/assets/index-G2v0oaqp.js +1 -0
  83. package/dist/web/static/assets/index-GNDKJKwy.js +1 -0
  84. package/dist/web/static/assets/index-U1CVtNUH.css +32 -0
  85. package/dist/web/static/assets/index-ft4kpQXq.js +1 -0
  86. package/dist/web/static/assets/index-ls7h0u-p.js +1 -0
  87. package/dist/web/static/assets/index-nL5l5WPW.js +7 -0
  88. package/dist/web/static/assets/javascript-iXu5QeM3.js +1 -0
  89. package/dist/web/static/assets/julia-DuME0IfC.js +1 -0
  90. package/dist/web/static/assets/livescript-BwQOo05w.js +1 -0
  91. package/dist/web/static/assets/lua-VAEuO923.js +1 -0
  92. package/dist/web/static/assets/mathematica-DTrFuWx2.js +1 -0
  93. package/dist/web/static/assets/mbox-CNhZ1qSd.js +1 -0
  94. package/dist/web/static/assets/mirc-CjQqDB4T.js +1 -0
  95. package/dist/web/static/assets/mllike-CXdrOF99.js +1 -0
  96. package/dist/web/static/assets/modelica-Dc1JOy9r.js +1 -0
  97. package/dist/web/static/assets/mscgen-BA5vi2Kp.js +1 -0
  98. package/dist/web/static/assets/mumps-BT43cFF4.js +1 -0
  99. package/dist/web/static/assets/nginx-DdIZxoE0.js +1 -0
  100. package/dist/web/static/assets/nsis-LdVXkNf5.js +1 -0
  101. package/dist/web/static/assets/ntriples-BfvgReVJ.js +1 -0
  102. package/dist/web/static/assets/octave-Ck1zUtKM.js +1 -0
  103. package/dist/web/static/assets/oz-BzwKVEFT.js +1 -0
  104. package/dist/web/static/assets/pascal--L3eBynH.js +1 -0
  105. package/dist/web/static/assets/perl-CdXCOZ3F.js +1 -0
  106. package/dist/web/static/assets/pig-CevX1Tat.js +1 -0
  107. package/dist/web/static/assets/powershell-CFHJl5sT.js +1 -0
  108. package/dist/web/static/assets/properties-C78fOPTZ.js +1 -0
  109. package/dist/web/static/assets/protobuf-ChK-085T.js +1 -0
  110. package/dist/web/static/assets/pug-DeIclll2.js +1 -0
  111. package/dist/web/static/assets/puppet-DMA9R1ak.js +1 -0
  112. package/dist/web/static/assets/python-BuPzkPfP.js +1 -0
  113. package/dist/web/static/assets/q-pXgVlZs6.js +1 -0
  114. package/dist/web/static/assets/r-B6wPVr8A.js +1 -0
  115. package/dist/web/static/assets/rpm-CTu-6PCP.js +1 -0
  116. package/dist/web/static/assets/ruby-B2Rjki9n.js +1 -0
  117. package/dist/web/static/assets/sas-B4kiWyti.js +1 -0
  118. package/dist/web/static/assets/scheme-C41bIUwD.js +1 -0
  119. package/dist/web/static/assets/shell-CjFT_Tl9.js +1 -0
  120. package/dist/web/static/assets/sieve-C3Gn_uJK.js +1 -0
  121. package/dist/web/static/assets/simple-mode-GW_nhZxv.js +1 -0
  122. package/dist/web/static/assets/smalltalk-CnHTOXQT.js +1 -0
  123. package/dist/web/static/assets/solr-DehyRSwq.js +1 -0
  124. package/dist/web/static/assets/sparql-DkYu6x3z.js +1 -0
  125. package/dist/web/static/assets/spreadsheet-BCZA_wO0.js +1 -0
  126. package/dist/web/static/assets/sql-D0XecflT.js +1 -0
  127. package/dist/web/static/assets/stex-C3f8Ysf7.js +1 -0
  128. package/dist/web/static/assets/stylus-B533Al4x.js +1 -0
  129. package/dist/web/static/assets/swift-BzpIVaGY.js +1 -0
  130. package/dist/web/static/assets/tcl-DVfN8rqt.js +1 -0
  131. package/dist/web/static/assets/textile-CnDTJFAw.js +1 -0
  132. package/dist/web/static/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  133. package/dist/web/static/assets/tiki-DGYXhP31.js +1 -0
  134. package/dist/web/static/assets/toml-Bm5Em-hy.js +1 -0
  135. package/dist/web/static/assets/troff-wAsdV37c.js +1 -0
  136. package/dist/web/static/assets/ttcn-CfJYG6tj.js +1 -0
  137. package/dist/web/static/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  138. package/dist/web/static/assets/turtle-B1tBg_DP.js +1 -0
  139. package/dist/web/static/assets/vb-CmGdzxic.js +1 -0
  140. package/dist/web/static/assets/vbscript-BuJXcnF6.js +1 -0
  141. package/dist/web/static/assets/velocity-D8B20fx6.js +1 -0
  142. package/dist/web/static/assets/verilog-C6RDOZhf.js +1 -0
  143. package/dist/web/static/assets/vhdl-lSbBsy5d.js +1 -0
  144. package/dist/web/static/assets/webidl-ZXfAyPTL.js +1 -0
  145. package/dist/web/static/assets/xquery-DzFWVndE.js +1 -0
  146. package/dist/web/static/assets/yacas-BJ4BC0dw.js +1 -0
  147. package/dist/web/static/assets/z80-Hz9HOZM7.js +1 -0
  148. package/dist/web/static/index.html +22 -0
  149. package/dist/web/static/walnut-icon.png +0 -0
  150. package/dist/workers/git-compaction-worker.js +898 -0
  151. package/dist/workers/qmd-index-worker.js +97162 -0
  152. package/package.json +143 -0
  153. package/patches/@anthropic-ai+claude-agent-sdk+0.2.50.patch +13 -0
  154. package/scripts/patch-qmd.mjs +171 -0
  155. package/scripts/postinstall.mjs +120 -0
@@ -0,0 +1 @@
1
+ function u(n){for(var e={},i=n.split(" "),r=0;r<i.length;++r)e[i[r]]=!0;return e}var s=u("#end #else #break #stop #[[ #]] #{end} #{else} #{break} #{stop}"),a=u("#if #elseif #foreach #set #include #parse #macro #define #evaluate #{if} #{elseif} #{foreach} #{set} #{include} #{parse} #{macro} #{define} #{evaluate}"),c=u("$foreach.count $foreach.hasNext $foreach.first $foreach.last $foreach.topmost $foreach.parent.count $foreach.parent.hasNext $foreach.parent.first $foreach.parent.last $foreach.parent $velocityCount $!bodyContent $bodyContent"),k=/[+\-*&%=<>!?:\/|]/;function o(n,e,i){return e.tokenize=i,i(n,e)}function t(n,e){var i=e.beforeParams;e.beforeParams=!1;var r=n.next();if(r=="'"&&!e.inString&&e.inParams)return e.lastTokenWasBuiltin=!1,o(n,e,p(r));if(r=='"'){if(e.lastTokenWasBuiltin=!1,e.inString)return e.inString=!1,"string";if(e.inParams)return o(n,e,p(r))}else{if(/[\[\]{}\(\),;\.]/.test(r))return r=="("&&i?e.inParams=!0:r==")"&&(e.inParams=!1,e.lastTokenWasBuiltin=!0),null;if(/\d/.test(r))return e.lastTokenWasBuiltin=!1,n.eatWhile(/[\w\.]/),"number";if(r=="#"&&n.eat("*"))return e.lastTokenWasBuiltin=!1,o(n,e,h);if(r=="#"&&n.match(/ *\[ *\[/))return e.lastTokenWasBuiltin=!1,o(n,e,b);if(r=="#"&&n.eat("#"))return e.lastTokenWasBuiltin=!1,n.skipToEnd(),"comment";if(r=="$")return n.eat("!"),n.eatWhile(/[\w\d\$_\.{}-]/),c&&c.propertyIsEnumerable(n.current())?"keyword":(e.lastTokenWasBuiltin=!0,e.beforeParams=!0,"builtin");if(k.test(r))return e.lastTokenWasBuiltin=!1,n.eatWhile(k),"operator";n.eatWhile(/[\w\$_{}@]/);var l=n.current();return s&&s.propertyIsEnumerable(l)?"keyword":a&&a.propertyIsEnumerable(l)||n.current().match(/^#@?[a-z0-9_]+ *$/i)&&n.peek()=="("&&!(a&&a.propertyIsEnumerable(l.toLowerCase()))?(e.beforeParams=!0,e.lastTokenWasBuiltin=!1,"keyword"):e.inString?(e.lastTokenWasBuiltin=!1,"string"):n.pos>l.length&&n.string.charAt(n.pos-l.length-1)=="."&&e.lastTokenWasBuiltin?"builtin":(e.lastTokenWasBuiltin=!1,null)}}function p(n){return function(e,i){for(var r=!1,l,f=!1;(l=e.next())!=null;){if(l==n&&!r){f=!0;break}if(n=='"'&&e.peek()=="$"&&!r){i.inString=!0,f=!0;break}r=!r&&l=="\\"}return f&&(i.tokenize=t),"string"}}function h(n,e){for(var i=!1,r;r=n.next();){if(r=="#"&&i){e.tokenize=t;break}i=r=="*"}return"comment"}function b(n,e){for(var i=0,r;r=n.next();){if(r=="#"&&i==2){e.tokenize=t;break}r=="]"?i++:r!=" "&&(i=0)}return"meta"}const W={name:"velocity",startState:function(){return{tokenize:t,beforeParams:!1,inParams:!1,inString:!1,lastTokenWasBuiltin:!1}},token:function(n,e){return n.eatSpace()?null:e.tokenize(n,e)},languageData:{commentTokens:{line:"##",block:{open:"#*",close:"*#"}}}};export{W as velocity};
@@ -0,0 +1 @@
1
+ function A(i){var o=i.statementIndentUnit,u=i.dontAlignCalls,c=i.noIndentKeywords||[],s=i.multiLineStrings,a=i.hooks||{};function g(e){for(var n={},t=e.split(" "),r=0;r<t.length;++r)n[t[r]]=!0;return n}var h=g("accept_on alias always always_comb always_ff always_latch and assert assign assume automatic before begin bind bins binsof bit break buf bufif0 bufif1 byte case casex casez cell chandle checker class clocking cmos config const constraint context continue cover covergroup coverpoint cross deassign default defparam design disable dist do edge else end endcase endchecker endclass endclocking endconfig endfunction endgenerate endgroup endinterface endmodule endpackage endprimitive endprogram endproperty endspecify endsequence endtable endtask enum event eventually expect export extends extern final first_match for force foreach forever fork forkjoin function generate genvar global highz0 highz1 if iff ifnone ignore_bins illegal_bins implements implies import incdir include initial inout input inside instance int integer interconnect interface intersect join join_any join_none large let liblist library local localparam logic longint macromodule matches medium modport module nand negedge nettype new nexttime nmos nor noshowcancelled not notif0 notif1 null or output package packed parameter pmos posedge primitive priority program property protected pull0 pull1 pulldown pullup pulsestyle_ondetect pulsestyle_onevent pure rand randc randcase randsequence rcmos real realtime ref reg reject_on release repeat restrict return rnmos rpmos rtran rtranif0 rtranif1 s_always s_eventually s_nexttime s_until s_until_with scalared sequence shortint shortreal showcancelled signed small soft solve specify specparam static string strong strong0 strong1 struct super supply0 supply1 sync_accept_on sync_reject_on table tagged task this throughout time timeprecision timeunit tran tranif0 tranif1 tri tri0 tri1 triand trior trireg type typedef union unique unique0 unsigned until until_with untyped use uwire var vectored virtual void wait wait_order wand weak weak0 weak1 while wildcard wire with within wor xnor xor"),w=/[\+\-\*\/!~&|^%=?:]/,k=/[\[\]{}()]/,b=/\d[0-9_]*/,I=/\d*\s*'s?d\s*\d[0-9_]*/i,O=/\d*\s*'s?b\s*[xz01][xz01_]*/i,T=/\d*\s*'s?o\s*[xz0-7][xz0-7_]*/i,W=/\d*\s*'s?h\s*[0-9a-fxz?][0-9a-fxz?_]*/i,B=/(\d[\d_]*(\.\d[\d_]*)?E-?[\d_]+)|(\d[\d_]*\.\d[\d_]*)/i,M=/^((\w+)|[)}\]])/,U=/[)}\]]/,d,v,K=g("case checker class clocking config function generate interface module package primitive program property specify sequence table task"),f={};for(var m in K)f[m]="end"+m;f.begin="end",f.casex="endcase",f.casez="endcase",f.do="while",f.fork="join;join_any;join_none",f.covergroup="endgroup";for(var V in c){var m=c[V];f[m]&&(f[m]=void 0)}var R=g("always always_comb always_ff always_latch assert assign assume else export for foreach forever if import initial repeat while");function _(e,n){var t=e.peek(),r;if(a[t]&&(r=a[t](e,n))!=!1||a.tokenBase&&(r=a.tokenBase(e,n))!=!1)return r;if(/[,;:\.]/.test(t))return d=e.next(),null;if(k.test(t))return d=e.next(),"bracket";if(t=="`")return e.next(),e.eatWhile(/[\w\$_]/)?"def":null;if(t=="$")return e.next(),e.eatWhile(/[\w\$_]/)?"meta":null;if(t=="#")return e.next(),e.eatWhile(/[\d_.]/),"def";if(t=='"')return e.next(),n.tokenize=D(t),n.tokenize(e,n);if(t=="/"){if(e.next(),e.eat("*"))return n.tokenize=L,L(e,n);if(e.eat("/"))return e.skipToEnd(),"comment";e.backUp(1)}if(e.match(B)||e.match(I)||e.match(O)||e.match(T)||e.match(W)||e.match(b)||e.match(B))return"number";if(e.eatWhile(w))return"meta";if(e.eatWhile(/[\w\$_]/)){var l=e.current();return h[l]?(f[l]&&(d="newblock"),R[l]&&(d="newstatement"),v=l,"keyword"):"variable"}return e.next(),null}function D(e){return function(n,t){for(var r=!1,l,y=!1;(l=n.next())!=null;){if(l==e&&!r){y=!0;break}r=!r&&l=="\\"}return(y||!(r||s))&&(t.tokenize=_),"string"}}function L(e,n){for(var t=!1,r;r=e.next();){if(r=="/"&&t){n.tokenize=_;break}t=r=="*"}return"comment"}function j(e,n,t,r,l){this.indented=e,this.column=n,this.type=t,this.align=r,this.prev=l}function p(e,n,t){var r=e.indented,l=new j(r,n,t,null,e.context);return e.context=l}function C(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}function N(e,n){if(e==n)return!0;var t=n.split(";");for(var r in t)if(e==t[r])return!0;return!1}function P(){var e=[];for(var n in f)if(f[n]){var t=f[n].split(";");for(var r in t)e.push(t[r])}var l=new RegExp("[{}()\\[\\]]|("+e.join("|")+")$");return l}return{name:"verilog",startState:function(e){var n={tokenize:null,context:new j(-e,0,"top",!1),indented:0,startOfLine:!0};return a.startState&&a.startState(n),n},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0),a.token){var r=a.token(e,n);if(r!==void 0)return r}if(e.eatSpace())return null;d=null,v=null;var r=(n.tokenize||_)(e,n);if(r=="comment"||r=="meta"||r=="variable")return r;if(t.align==null&&(t.align=!0),d==t.type)C(n);else if(d==";"&&t.type=="statement"||t.type&&N(v,t.type))for(t=C(n);t&&t.type=="statement";)t=C(n);else if(d=="{")p(n,e.column(),"}");else if(d=="[")p(n,e.column(),"]");else if(d=="(")p(n,e.column(),")");else if(t&&t.type=="endcase"&&d==":")p(n,e.column(),"statement");else if(d=="newstatement")p(n,e.column(),"statement");else if(d=="newblock"&&!(v=="function"&&t&&(t.type=="statement"||t.type=="endgroup"))){if(!(v=="task"&&t&&t.type=="statement")){var l=f[v];p(n,e.column(),l)}}return n.startOfLine=!1,r},indent:function(e,n,t){if(e.tokenize!=_&&e.tokenize!=null)return null;if(a.indent){var r=a.indent(e);if(r>=0)return r}var l=e.context,y=n&&n.charAt(0);l.type=="statement"&&y=="}"&&(l=l.prev);var x=!1,$=n.match(M);return $&&(x=N($[0],l.type)),l.type=="statement"?l.indented+(y=="{"?0:o||t.unit):U.test(l.type)&&l.align&&!u?l.column+(x?0:1):l.type==")"&&!x?l.indented+(o||t.unit):l.indented+(x?0:t.unit)},languageData:{indentOnInput:P(),commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}}}const J=A({});var z={"|":"link",">":"property",$:"variable",$$:"variable","?$":"qualifier","?*":"qualifier","-":"contentSeparator","/":"property","/-":"property","@":"variableName.special","@-":"variableName.special","@++":"variableName.special","@+=":"variableName.special","@+=-":"variableName.special","@--":"variableName.special","@-=":"variableName.special","%+":"tag","%-":"tag","%":"tag",">>":"tag","<<":"tag","<>":"tag","#":"tag","^":"attribute","^^":"attribute","^!":"attribute","*":"variable","**":"variable","\\":"keyword",'"':"comment"},E={"/":"beh-hier",">":"beh-hier","-":"phys-hier","|":"pipe","?":"when","@":"stage","\\":"keyword"},S=3,q=/^([~!@#\$%\^&\*-\+=\?\/\\\|'"<>]+)([\d\w_]*)/,F=/^[! ] */,G=/^\/[\/\*]/;const Q=A({hooks:{electricInput:!1,token:function(i,o){var u=void 0,c;if(i.sol()&&!o.tlvInBlockComment){i.peek()=="\\"&&(u="def",i.skipToEnd(),i.string.match(/\\SV/)?o.tlvCodeActive=!1:i.string.match(/\\TLV/)&&(o.tlvCodeActive=!0)),o.tlvCodeActive&&i.pos==0&&o.indented==0&&(c=i.match(F,!1))&&(o.indented=c[0].length);var s=o.indented,a=s/S;if(a<=o.tlvIndentationStyle.length){var g=i.string.length==s,h=a*S;if(h<i.string.length){var w=i.string.slice(h),k=w[0];E[k]&&(c=w.match(q))&&z[c[1]]&&(s+=S,k=="\\"&&h>0||(o.tlvIndentationStyle[a]=E[k],a++))}if(!g)for(;o.tlvIndentationStyle.length>a;)o.tlvIndentationStyle.pop()}o.tlvNextIndent=s}if(o.tlvCodeActive){var c;if(u===void 0)if(o.tlvInBlockComment)i.match(/^.*?\*\//)?o.tlvInBlockComment=!1:i.skipToEnd(),u="comment";else if((c=i.match(G))&&!o.tlvInBlockComment)c[0]=="//"?i.skipToEnd():o.tlvInBlockComment=!0,u="comment";else if(c=i.match(q)){var b=c[1],I=c[2];z.hasOwnProperty(b)&&(I.length>0||i.eol())?u=z[b]:i.backUp(i.current().length-1)}else i.match(/^\t+/)?u="invalid":i.match(/^[\[\]{}\(\);\:]+/)?u="meta":(c=i.match(/^[mM]4([\+_])?[\w\d_]*/))?u=c[1]=="+"?"keyword.special":"keyword":i.match(/^ +/)?i.eol()&&(u="error"):i.match(/^[\w\d_]+/)?u="number":i.next()}else i.match(/^[mM]4([\w\d_]*)/)&&(u="keyword");return u},indent:function(i){return i.tlvCodeActive==!0?i.tlvNextIndent:-1},startState:function(i){i.tlvIndentationStyle=[],i.tlvCodeActive=!0,i.tlvNextIndent=-1,i.tlvInBlockComment=!1}}});export{Q as tlv,J as verilog};
@@ -0,0 +1 @@
1
+ function f(e){for(var t={},n=e.split(","),r=0;r<n.length;++r){var i=n[r].toUpperCase(),l=n[r].charAt(0).toUpperCase()+n[r].slice(1);t[n[r]]=!0,t[i]=!0,t[l]=!0}return t}function p(e){return e.eatWhile(/[\w\$_]/),"meta"}var k=f("null"),s={"`":p,$:p},g=!1,y=f("abs,access,after,alias,all,and,architecture,array,assert,attribute,begin,block,body,buffer,bus,case,component,configuration,constant,disconnect,downto,else,elsif,end,end block,end case,end component,end for,end generate,end if,end loop,end process,end record,end units,entity,exit,file,for,function,generate,generic,generic map,group,guarded,if,impure,in,inertial,inout,is,label,library,linkage,literal,loop,map,mod,nand,new,next,nor,null,of,on,open,or,others,out,package,package body,port,port map,postponed,procedure,process,pure,range,record,register,reject,rem,report,return,rol,ror,select,severity,signal,sla,sll,sra,srl,subtype,then,to,transport,type,unaffected,units,until,use,variable,wait,when,while,with,xnor,xor"),v=f("architecture,entity,begin,case,port,else,elsif,end,for,function,if"),d=/[&|~><!\)\(*#%@+\/=?\:;}{,\.\^\-\[\]]/,o;function c(e,t){var n=e.next();if(s[n]){var r=s[n](e,t);if(r!==!1)return r}if(n=='"')return t.tokenize=m(n),t.tokenize(e,t);if(n=="'")return t.tokenize=b(n),t.tokenize(e,t);if(/[\[\]{}\(\),;\:\.]/.test(n))return o=n,null;if(/[\d']/.test(n))return e.eatWhile(/[\w\.']/),"number";if(n=="-"&&e.eat("-"))return e.skipToEnd(),"comment";if(d.test(n))return e.eatWhile(d),"operator";e.eatWhile(/[\w\$_]/);var i=e.current();return y.propertyIsEnumerable(i.toLowerCase())?(v.propertyIsEnumerable(i)&&(o="newstatement"),"keyword"):k.propertyIsEnumerable(i)?"atom":"variable"}function b(e){return function(t,n){for(var r=!1,i,l=!1;(i=t.next())!=null;){if(i==e&&!r){l=!0;break}r=!r&&i=="--"}return(l||!(r||g))&&(n.tokenize=c),"string"}}function m(e){return function(t,n){for(var r=!1,i,l=!1;(i=t.next())!=null;){if(i==e&&!r){l=!0;break}r=!r&&i=="--"}return(l||!(r||g))&&(n.tokenize=c),"string.special"}}function h(e,t,n,r,i){this.indented=e,this.column=t,this.type=n,this.align=r,this.prev=i}function a(e,t,n){return e.context=new h(e.indented,t,n,null,e.context)}function u(e){var t=e.context.type;return(t==")"||t=="]"||t=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}const w={name:"vhdl",startState:function(e){return{tokenize:null,context:new h(-e,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,t){var n=t.context;if(e.sol()&&(n.align==null&&(n.align=!1),t.indented=e.indentation(),t.startOfLine=!0),e.eatSpace())return null;o=null;var r=(t.tokenize||c)(e,t);if(r=="comment"||r=="meta")return r;if(n.align==null&&(n.align=!0),(o==";"||o==":")&&n.type=="statement")u(t);else if(o=="{")a(t,e.column(),"}");else if(o=="[")a(t,e.column(),"]");else if(o=="(")a(t,e.column(),")");else if(o=="}"){for(;n.type=="statement";)n=u(t);for(n.type=="}"&&(n=u(t));n.type=="statement";)n=u(t)}else o==n.type?u(t):(n.type=="}"||n.type=="top"||n.type=="statement"&&o=="newstatement")&&a(t,e.column(),"statement");return t.startOfLine=!1,r},indent:function(e,t,n){if(e.tokenize!=c&&e.tokenize!=null)return 0;var r=t&&t.charAt(0),i=e.context,l=r==i.type;return i.type=="statement"?i.indented+(r=="{"?0:n.unit):i.align?i.column+(l?0:1):i.indented+(l?0:n.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"--"}}};export{w as vhdl};
@@ -0,0 +1 @@
1
+ function a(e){return new RegExp("^(("+e.join(")|(")+"))\\b")}var l=["Clamp","Constructor","EnforceRange","Exposed","ImplicitThis","Global","PrimaryGlobal","LegacyArrayClass","LegacyUnenumerableNamedProperties","LenientThis","NamedConstructor","NewObject","NoInterfaceObject","OverrideBuiltins","PutForwards","Replaceable","SameObject","TreatNonObjectAsNull","TreatNullAs","EmptyString","Unforgeable","Unscopeable"],u=a(l),o=["unsigned","short","long","unrestricted","float","double","boolean","byte","octet","Promise","ArrayBuffer","DataView","Int8Array","Int16Array","Int32Array","Uint8Array","Uint16Array","Uint32Array","Uint8ClampedArray","Float32Array","Float64Array","ByteString","DOMString","USVString","sequence","object","RegExp","Error","DOMException","FrozenArray","any","void"],m=a(o),c=["attribute","callback","const","deleter","dictionary","enum","getter","implements","inherit","interface","iterable","legacycaller","maplike","partial","required","serializer","setlike","setter","static","stringifier","typedef","optional","readonly","or"],s=a(c),f=["true","false","Infinity","NaN","null"],y=a(f),d=["callback","dictionary","enum","interface"],p=a(d),b=["typedef"],v=a(b),A=/^[:<=>?]/,g=/^-?([1-9][0-9]*|0[Xx][0-9A-Fa-f]+|0[0-7]*)/,h=/^-?(([0-9]+\.[0-9]*|[0-9]*\.[0-9]+)([Ee][+-]?[0-9]+)?|[0-9]+[Ee][+-]?[0-9]+)/,i=/^_?[A-Za-z][0-9A-Z_a-z-]*/,D=/^_?[A-Za-z][0-9A-Z_a-z-]*(?=\s*;)/,k=/^"[^"]*"/,E=/^\/\*.*?\*\//,C=/^\/\*.*/,w=/^.*?\*\//;function N(e,r){if(e.eatSpace())return null;if(r.inComment)return e.match(w)?(r.inComment=!1,"comment"):(e.skipToEnd(),"comment");if(e.match("//"))return e.skipToEnd(),"comment";if(e.match(E))return"comment";if(e.match(C))return r.inComment=!0,"comment";if(e.match(/^-?[0-9\.]/,!1)&&(e.match(g)||e.match(h)))return"number";if(e.match(k))return"string";if(r.startDef&&e.match(i))return"def";if(r.endDef&&e.match(D))return r.endDef=!1,"def";if(e.match(s))return"keyword";if(e.match(m)){var t=r.lastToken,n=(e.match(/^\s*(.+?)\b/,!1)||[])[1];return t===":"||t==="implements"||n==="implements"||n==="="?"builtin":"type"}return e.match(u)?"builtin":e.match(y)?"atom":e.match(i)?"variable":e.match(A)?"operator":(e.next(),null)}const S={name:"webidl",startState:function(){return{inComment:!1,lastToken:"",startDef:!1,endDef:!1}},token:function(e,r){var t=N(e,r);if(t){var n=e.current();r.lastToken=n,t==="keyword"?(r.startDef=p.test(n),r.endDef=r.endDef||v.test(n)):r.startDef=!1}return t},languageData:{autocomplete:l.concat(o).concat(c).concat(f)}};export{S as webIDL};
@@ -0,0 +1 @@
1
+ var d=(function(){function e(w){return{type:w,style:"keyword"}}for(var n=e("operator"),t={type:"atom",style:"atom"},i={type:"punctuation",style:null},o={type:"axis_specifier",style:"qualifier"},l={",":i},p=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],r=0,a=p.length;r<a;r++)l[p[r]]=e(p[r]);for(var g=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"],r=0,a=g.length;r<a;r++)l[g[r]]=t;for(var f=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"],r=0,a=f.length;r<a;r++)l[f[r]]=n;for(var v=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"],r=0,a=v.length;r<a;r++)l[v[r]]=o;return l})();function x(e,n,t){return n.tokenize=t,t(e,n)}function u(e,n){var t=e.next(),i=!1,o=_(e);if(t=="<"){if(e.match("!--",!0))return x(e,n,N);if(e.match("![CDATA",!1))return n.tokenize=E,"tag";if(e.match("?",!1))return x(e,n,A);var l=e.eat("/");e.eatSpace();for(var p="",r;r=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)p+=r;return x(e,n,S(p,l))}else{if(t=="{")return s(n,{type:"codeblock"}),null;if(t=="}")return c(n),null;if(b(n))return t==">"?"tag":t=="/"&&e.eat(">")?(c(n),"tag"):"variable";if(/\d/.test(t))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if(t==="("&&e.eat(":"))return s(n,{type:"comment"}),x(e,n,z);if(!o&&(t==='"'||t==="'"))return m(e,n,t);if(t==="$")return x(e,n,T);if(t===":"&&e.eat("="))return"keyword";if(t==="(")return s(n,{type:"paren"}),null;if(t===")")return c(n),null;if(t==="[")return s(n,{type:"bracket"}),null;if(t==="]")return c(n),null;var a=d.propertyIsEnumerable(t)&&d[t];if(o&&t==='"')for(;e.next()!=='"';);if(o&&t==="'")for(;e.next()!=="'";);a||e.eatWhile(/[\w\$_-]/);var g=e.eat(":");!e.eat(":")&&g&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(i=!0);var f=e.current();return a=d.propertyIsEnumerable(f)&&d[f],i&&!a&&(a={type:"function_call",style:"def"}),D(n)?(c(n),"variable"):((f=="element"||f=="attribute"||a.type=="axis_specifier")&&s(n,{type:"xmlconstructor"}),a?a.style:"variable")}}function z(e,n){for(var t=!1,i=!1,o=0,l;l=e.next();){if(l==")"&&t)if(o>0)o--;else{c(n);break}else l==":"&&i&&o++;t=l==":",i=l=="("}return"comment"}function I(e,n){return function(t,i){for(var o;o=t.next();)if(o==e){c(i),n&&(i.tokenize=n);break}else if(t.match("{",!1)&&h(i))return s(i,{type:"codeblock"}),i.tokenize=u,"string";return"string"}}function m(e,n,t,i){let o=I(t,i);return s(n,{type:"string",name:t,tokenize:o}),x(e,n,o)}function T(e,n){var t=/[\w\$_-]/;if(e.eat('"')){for(;e.next()!=='"';);e.eat(":")}else e.eatWhile(t),e.match(":=",!1)||e.eat(":");return e.eatWhile(t),n.tokenize=u,"variable"}function S(e,n){return function(t,i){if(t.eatSpace(),n&&t.eat(">"))return c(i),i.tokenize=u,"tag";if(t.eat("/")||s(i,{type:"tag",name:e,tokenize:u}),t.eat(">"))i.tokenize=u;else return i.tokenize=y,"tag";return"tag"}}function y(e,n){var t=e.next();return t=="/"&&e.eat(">")?(h(n)&&c(n),b(n)&&c(n),"tag"):t==">"?(h(n)&&c(n),"tag"):t=="="?null:t=='"'||t=="'"?m(e,n,t,y):(h(n)||s(n,{type:"attribute",tokenize:y}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(c(n),n.tokenize=u),"attribute")}function N(e,n){for(var t;t=e.next();)if(t=="-"&&e.match("->",!0))return n.tokenize=u,"comment"}function E(e,n){for(var t;t=e.next();)if(t=="]"&&e.match("]",!0))return n.tokenize=u,"comment"}function A(e,n){for(var t;t=e.next();)if(t=="?"&&e.match(">",!0))return n.tokenize=u,"processingInstruction"}function b(e){return k(e,"tag")}function h(e){return k(e,"attribute")}function D(e){return k(e,"xmlconstructor")}function _(e){return e.current()==='"'?e.match(/^[^\"]+\"\:/,!1):e.current()==="'"?e.match(/^[^\"]+\'\:/,!1):!1}function k(e,n){return e.stack.length&&e.stack[e.stack.length-1].type==n}function s(e,n){e.stack.push(n)}function c(e){e.stack.pop();var n=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=n||u}const C={name:"xquery",startState:function(){return{tokenize:u,cc:[],stack:[]}},token:function(e,n){if(e.eatSpace())return null;var t=n.tokenize(e,n);return t},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};export{C as xQuery};
@@ -0,0 +1 @@
1
+ function t(e){for(var n={},r=e.split(" "),o=0;o<r.length;++o)n[r[o]]=!0;return n}var a=t("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"),f="(?:(?:\\.\\d+|\\d+\\.\\d*|\\d+)(?:[eE][+-]?\\d+)?)",u="(?:[a-zA-Z\\$'][a-zA-Z0-9\\$']*)",p=new RegExp(f),d=new RegExp(u),k=new RegExp(u+"?_"+u),s=new RegExp(u+"\\s*\\(");function l(e,n){var r;if(r=e.next(),r==='"')return n.tokenize=v,n.tokenize(e,n);if(r==="/"){if(e.eat("*"))return n.tokenize=h,n.tokenize(e,n);if(e.eat("/"))return e.skipToEnd(),"comment"}e.backUp(1);var o=e.match(/^(\w+)\s*\(/,!1);o!==null&&a.hasOwnProperty(o[1])&&n.scopes.push("bodied");var i=c(n);if(i==="bodied"&&r==="["&&n.scopes.pop(),(r==="["||r==="{"||r==="(")&&n.scopes.push(r),i=c(n),(i==="["&&r==="]"||i==="{"&&r==="}"||i==="("&&r===")")&&n.scopes.pop(),r===";")for(;i==="bodied";)n.scopes.pop(),i=c(n);return e.match(/\d+ *#/,!0,!1)?"qualifier":e.match(p,!0,!1)?"number":e.match(k,!0,!1)?"variableName.special":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(s,!0,!1)?(e.backUp(1),"variableName.function"):e.match(d,!0,!1)?"variable":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%|#)/,!0,!1)?"operator":"error"}function v(e,n){for(var r,o=!1,i=!1;(r=e.next())!=null;){if(r==='"'&&!i){o=!0;break}i=!i&&r==="\\"}return o&&!i&&(n.tokenize=l),"string"}function h(e,n){for(var r,o;(o=e.next())!=null;){if(r==="*"&&o==="/"){n.tokenize=l;break}r=o}return"comment"}function c(e){var n=null;return e.scopes.length>0&&(n=e.scopes[e.scopes.length-1]),n}const b={name:"yacas",startState:function(){return{tokenize:l,scopes:[]}},token:function(e,n){return e.eatSpace()?null:n.tokenize(e,n)},indent:function(e,n,r){if(e.tokenize!==l&&e.tokenize!==null)return null;var o=0;return(n==="]"||n==="];"||n==="}"||n==="};"||n===");")&&(o=-1),(e.scopes.length+o)*r.unit},languageData:{electricInput:/[{}\[\]()\;]/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}};export{b as yacas};
@@ -0,0 +1 @@
1
+ function o(t){var n,l;t?(n=/^(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,l=/^(((call|j[pr]|rst|ret[in]?)(\.([sl]?i)?[sl])?)|(rs|st)mix)\b/i):(n=/^(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,l=/^(call|j[pr]|ret[in]?|b_?(call|jump))\b/i);var u=/^(af?|bc?|c|de?|e|hl?|l|i[xy]?|r|sp)\b/i,d=/^(n?[zc]|p[oe]?|m)\b/i,f=/^([hl][xy]|i[xy][hl]|slia|sll)\b/i,c=/^([\da-f]+h|[0-7]+o|[01]+b|\d+d?)\b/i;return{name:"z80",startState:function(){return{context:0}},token:function(e,i){if(e.column()||(i.context=0),e.eatSpace())return null;var r;if(e.eatWhile(/\w/))if(t&&e.eat(".")&&e.eatWhile(/\w/),r=e.current(),e.indentation()){if((i.context==1||i.context==4)&&u.test(r))return i.context=4,"variable";if(i.context==2&&d.test(r))return i.context=4,"variableName.special";if(n.test(r))return i.context=1,"keyword";if(l.test(r))return i.context=2,"keyword";if(i.context==4&&c.test(r))return"number";if(f.test(r))return"error"}else return e.match(c)?"number":null;else{if(e.eat(";"))return e.skipToEnd(),"comment";if(e.eat('"')){for(;(r=e.next())&&r!='"';)r=="\\"&&e.next();return"string"}else if(e.eat("'")){if(e.match(/\\?.'/))return"number"}else if(e.eat(".")||e.sol()&&e.eat("#")){if(i.context=5,e.eatWhile(/\w/))return"def"}else if(e.eat("$")){if(e.eatWhile(/[\da-f]/i))return"number"}else if(e.eat("%")){if(e.eatWhile(/[01]/))return"number"}else e.next()}return null}}}const a=o(!1),s=o(!0);export{s as ez80,a as z80};
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <link rel="icon" type="image/png" href="/walnut-icon.png" />
7
+ <title>Open Walnut</title>
8
+ <script>
9
+ (function() {
10
+ var t = 'system';
11
+ try { t = localStorage.getItem('open-walnut-theme') || 'system'; } catch(e) {}
12
+ if (t === 'dark') document.documentElement.dataset.theme = 'dark';
13
+ else if (t === 'light') document.documentElement.dataset.theme = 'light';
14
+ })();
15
+ </script>
16
+ <script type="module" crossorigin src="/assets/index-B7OvpXOs.js"></script>
17
+ <link rel="stylesheet" crossorigin href="/assets/index-U1CVtNUH.css">
18
+ </head>
19
+ <body>
20
+ <div id="root"></div>
21
+ </body>
22
+ </html>
Binary file