research-copilot 0.1.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 (395) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +190 -0
  3. package/app/build/icon.icns +0 -0
  4. package/app/build/icon.ico +0 -0
  5. package/app/build/icon.png +0 -0
  6. package/app/out/main/index.mjs +6719 -0
  7. package/app/out/preload/index.js +141 -0
  8. package/app/out/renderer/assets/Inter-Variable-Latin-8kRkwJBP.woff2 +0 -0
  9. package/app/out/renderer/assets/Inter-Variable-LatinExt-B_-bZUTo.woff2 +0 -0
  10. package/app/out/renderer/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 +0 -0
  11. package/app/out/renderer/assets/KaTeX_AMS-Regular-DMm9YOAa.woff +0 -0
  12. package/app/out/renderer/assets/KaTeX_AMS-Regular-DRggAlZN.ttf +0 -0
  13. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf +0 -0
  14. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff +0 -0
  15. package/app/out/renderer/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 +0 -0
  16. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff +0 -0
  17. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 +0 -0
  18. package/app/out/renderer/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf +0 -0
  19. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf +0 -0
  20. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff +0 -0
  21. package/app/out/renderer/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 +0 -0
  22. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CB_wures.ttf +0 -0
  23. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 +0 -0
  24. package/app/out/renderer/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff +0 -0
  25. package/app/out/renderer/assets/KaTeX_Main-Bold-Cx986IdX.woff2 +0 -0
  26. package/app/out/renderer/assets/KaTeX_Main-Bold-Jm3AIy58.woff +0 -0
  27. package/app/out/renderer/assets/KaTeX_Main-Bold-waoOVXN0.ttf +0 -0
  28. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 +0 -0
  29. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf +0 -0
  30. package/app/out/renderer/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff +0 -0
  31. package/app/out/renderer/assets/KaTeX_Main-Italic-3WenGoN9.ttf +0 -0
  32. package/app/out/renderer/assets/KaTeX_Main-Italic-BMLOBm91.woff +0 -0
  33. package/app/out/renderer/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 +0 -0
  34. package/app/out/renderer/assets/KaTeX_Main-Regular-B22Nviop.woff2 +0 -0
  35. package/app/out/renderer/assets/KaTeX_Main-Regular-Dr94JaBh.woff +0 -0
  36. package/app/out/renderer/assets/KaTeX_Main-Regular-ypZvNtVU.ttf +0 -0
  37. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf +0 -0
  38. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 +0 -0
  39. package/app/out/renderer/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff +0 -0
  40. package/app/out/renderer/assets/KaTeX_Math-Italic-DA0__PXp.woff +0 -0
  41. package/app/out/renderer/assets/KaTeX_Math-Italic-flOr_0UB.ttf +0 -0
  42. package/app/out/renderer/assets/KaTeX_Math-Italic-t53AETM-.woff2 +0 -0
  43. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf +0 -0
  44. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 +0 -0
  45. package/app/out/renderer/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff +0 -0
  46. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 +0 -0
  47. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff +0 -0
  48. package/app/out/renderer/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf +0 -0
  49. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf +0 -0
  50. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff +0 -0
  51. package/app/out/renderer/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 +0 -0
  52. package/app/out/renderer/assets/KaTeX_Script-Regular-C5JkGWo-.ttf +0 -0
  53. package/app/out/renderer/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 +0 -0
  54. package/app/out/renderer/assets/KaTeX_Script-Regular-D5yQViql.woff +0 -0
  55. package/app/out/renderer/assets/KaTeX_Size1-Regular-C195tn64.woff +0 -0
  56. package/app/out/renderer/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf +0 -0
  57. package/app/out/renderer/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 +0 -0
  58. package/app/out/renderer/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf +0 -0
  59. package/app/out/renderer/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 +0 -0
  60. package/app/out/renderer/assets/KaTeX_Size2-Regular-oD1tc_U0.woff +0 -0
  61. package/app/out/renderer/assets/KaTeX_Size3-Regular-CTq5MqoE.woff +0 -0
  62. package/app/out/renderer/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf +0 -0
  63. package/app/out/renderer/assets/KaTeX_Size4-Regular-BF-4gkZK.woff +0 -0
  64. package/app/out/renderer/assets/KaTeX_Size4-Regular-DWFBv043.ttf +0 -0
  65. package/app/out/renderer/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 +0 -0
  66. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff +0 -0
  67. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 +0 -0
  68. package/app/out/renderer/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf +0 -0
  69. package/app/out/renderer/assets/MilkdownMarkdownEditor-bLPxrCVb.js +89821 -0
  70. package/app/out/renderer/assets/MilkdownMarkdownEditor-tTNRIB2K.css +2555 -0
  71. package/app/out/renderer/assets/Tableau10-BqnYsPR6.js +9 -0
  72. package/app/out/renderer/assets/apl-fqmucPXA.js +140 -0
  73. package/app/out/renderer/assets/arc-J47ePHZ2.js +132 -0
  74. package/app/out/renderer/assets/array-DgktLKBx.js +6 -0
  75. package/app/out/renderer/assets/asciiarmor-DucZyvP0.js +56 -0
  76. package/app/out/renderer/assets/asn1-BnOEsgAm.js +144 -0
  77. package/app/out/renderer/assets/asterisk-QAlztEwS.js +345 -0
  78. package/app/out/renderer/assets/blockDiagram-c4efeb88-5uRQXgQJ.js +1817 -0
  79. package/app/out/renderer/assets/brainfuck-DZVCuF_t.js +53 -0
  80. package/app/out/renderer/assets/c4Diagram-c83219d4-C4iCTPEL.js +2464 -0
  81. package/app/out/renderer/assets/channel-ZAmhHE3g.js +7 -0
  82. package/app/out/renderer/assets/classDiagram-beda092f-7NOZxq_W.js +357 -0
  83. package/app/out/renderer/assets/classDiagram-v2-2358418a-5fPT-cUH.js +291 -0
  84. package/app/out/renderer/assets/clike-xqXYL6ge.js +805 -0
  85. package/app/out/renderer/assets/clojure-BhXMqnxz.js +849 -0
  86. package/app/out/renderer/assets/clone-CsnzsYXQ.js +8 -0
  87. package/app/out/renderer/assets/cmake-BGaNd9E7.js +71 -0
  88. package/app/out/renderer/assets/cobol-4yqQntpt.js +120 -0
  89. package/app/out/renderer/assets/coffeescript-D2dXvhEc.js +308 -0
  90. package/app/out/renderer/assets/commonlisp-CF_VNHQR.js +130 -0
  91. package/app/out/renderer/assets/createText-1719965b-Cji7KN4K.js +4904 -0
  92. package/app/out/renderer/assets/crystal-DyuLTqLs.js +398 -0
  93. package/app/out/renderer/assets/css-c-jst79C.js +1783 -0
  94. package/app/out/renderer/assets/cypher-Dlu_3r4V.js +121 -0
  95. package/app/out/renderer/assets/d-UURgV0Ux.js +179 -0
  96. package/app/out/renderer/assets/diff-B_Bi2Crb.js +25 -0
  97. package/app/out/renderer/assets/dockerfile-Bvk733Ga.js +201 -0
  98. package/app/out/renderer/assets/dtd-Dy74G54E.js +114 -0
  99. package/app/out/renderer/assets/dylan-TSb-Nfix.js +314 -0
  100. package/app/out/renderer/assets/ebnf-DAomQUbD.js +139 -0
  101. package/app/out/renderer/assets/ecl-B59qGGVg.js +178 -0
  102. package/app/out/renderer/assets/edges-96097737-CD0EvAZQ.js +1844 -0
  103. package/app/out/renderer/assets/eiffel-Dze7nlu3.js +134 -0
  104. package/app/out/renderer/assets/elm-DG7jkhNZ.js +176 -0
  105. package/app/out/renderer/assets/erDiagram-0228fc6a-DRYXBpi7.js +1321 -0
  106. package/app/out/renderer/assets/erlang-BO6gOnGA.js +674 -0
  107. package/app/out/renderer/assets/factor-CMxFHDqz.js +65 -0
  108. package/app/out/renderer/assets/fcl-CDDUNjTj.js +141 -0
  109. package/app/out/renderer/assets/flowDb-c6c81e3f-CuoIN-Cy.js +1713 -0
  110. package/app/out/renderer/assets/flowDiagram-50d868cf-CPWPLOml.js +1272 -0
  111. package/app/out/renderer/assets/flowDiagram-v2-4f6560a1-C_R12s4S.js +33 -0
  112. package/app/out/renderer/assets/flowchart-elk-definition-6af322e1-BdKUSFpi.js +92921 -0
  113. package/app/out/renderer/assets/forth-B9D2JCeE.js +116 -0
  114. package/app/out/renderer/assets/fortran-CAG2BFbe.js +467 -0
  115. package/app/out/renderer/assets/ganttDiagram-a2739b55-ygqT5HlG.js +3399 -0
  116. package/app/out/renderer/assets/gas-d3KEcW3x.js +294 -0
  117. package/app/out/renderer/assets/gherkin-DhZlEZiy.js +115 -0
  118. package/app/out/renderer/assets/gitGraphDiagram-82fe8481-D97GT4iA.js +1791 -0
  119. package/app/out/renderer/assets/graph-DpC13d95.js +1237 -0
  120. package/app/out/renderer/assets/groovy-CpwJiBl7.js +223 -0
  121. package/app/out/renderer/assets/haskell-BlGBCCe3.js +459 -0
  122. package/app/out/renderer/assets/haxe-7MlzfeYV.js +514 -0
  123. package/app/out/renderer/assets/http-BqypyemW.js +79 -0
  124. package/app/out/renderer/assets/idl-4HIGJlDI.js +985 -0
  125. package/app/out/renderer/assets/index-4-ziknCv.js +292 -0
  126. package/app/out/renderer/assets/index-5325376f-Bbs7Fbqr.js +663 -0
  127. package/app/out/renderer/assets/index-B2jip-rk.js +2489 -0
  128. package/app/out/renderer/assets/index-BKTVfokE.js +312 -0
  129. package/app/out/renderer/assets/index-BiJbFgVG.js +118 -0
  130. package/app/out/renderer/assets/index-Bn433Fat.js +83 -0
  131. package/app/out/renderer/assets/index-BqDyyRCx.js +39679 -0
  132. package/app/out/renderer/assets/index-BzFMeMPn.js +158 -0
  133. package/app/out/renderer/assets/index-C-_uCjZJ.css +2701 -0
  134. package/app/out/renderer/assets/index-C1ithNW1.js +1765 -0
  135. package/app/out/renderer/assets/index-CAJkRYkO.js +407 -0
  136. package/app/out/renderer/assets/index-CleO0-yj.js +690 -0
  137. package/app/out/renderer/assets/index-Cq4MH3sY.js +1020 -0
  138. package/app/out/renderer/assets/index-CtA0Xj22.js +705 -0
  139. package/app/out/renderer/assets/index-CvAZkqBZ.js +83 -0
  140. package/app/out/renderer/assets/index-D3UDN-5c.js +152 -0
  141. package/app/out/renderer/assets/index-D4F9R5ao.js +179 -0
  142. package/app/out/renderer/assets/index-D6RguhZ5.js +328 -0
  143. package/app/out/renderer/assets/index-DnEowqXv.js +386 -0
  144. package/app/out/renderer/assets/index-K8c8Mqdy.js +98 -0
  145. package/app/out/renderer/assets/index-Kh14gO6K.js +62 -0
  146. package/app/out/renderer/assets/index-WFd2jRnA.js +333 -0
  147. package/app/out/renderer/assets/index-WgMfkRFp.js +313 -0
  148. package/app/out/renderer/assets/index-Y4lKyF6t.js +1042 -0
  149. package/app/out/renderer/assets/index-fx307_f1.js +643 -0
  150. package/app/out/renderer/assets/infoDiagram-8eee0895-ptaVSwzq.js +511 -0
  151. package/app/out/renderer/assets/init-ZxktEp_H.js +16 -0
  152. package/app/out/renderer/assets/javascript-C3MnDRiU.js +994 -0
  153. package/app/out/renderer/assets/journeyDiagram-c64418c1-aloEGOQp.js +1184 -0
  154. package/app/out/renderer/assets/julia-Bs6JJhYG.js +407 -0
  155. package/app/out/renderer/assets/layout-ZeuHE_aY.js +2217 -0
  156. package/app/out/renderer/assets/line-CAgaGl-S.js +45 -0
  157. package/app/out/renderer/assets/linear-DIg7lTe1.js +539 -0
  158. package/app/out/renderer/assets/livescript-DmzgM3Yt.js +296 -0
  159. package/app/out/renderer/assets/lua-8cJgIlqe.js +256 -0
  160. package/app/out/renderer/assets/mathematica-DNLOL9PQ.js +110 -0
  161. package/app/out/renderer/assets/mbox-Ga7d4MMN.js +117 -0
  162. package/app/out/renderer/assets/mindmap-definition-8da855dc-B8XVoUxz.js +36054 -0
  163. package/app/out/renderer/assets/mirc-Dma3B8rS.js +107 -0
  164. package/app/out/renderer/assets/mllike-DHn7xckP.js +334 -0
  165. package/app/out/renderer/assets/modelica-0d55jYY0.js +147 -0
  166. package/app/out/renderer/assets/mscgen-DdqZYINH.js +135 -0
  167. package/app/out/renderer/assets/mumps-Btr8VblO.js +93 -0
  168. package/app/out/renderer/assets/nginx-DTDtBDVN.js +141 -0
  169. package/app/out/renderer/assets/nsis-3zG7tgur.js +62 -0
  170. package/app/out/renderer/assets/ntriples-CvgOYMpL.js +153 -0
  171. package/app/out/renderer/assets/octave-DYBj3-tl.js +200 -0
  172. package/app/out/renderer/assets/ordinal-DSZU4PqD.js +76 -0
  173. package/app/out/renderer/assets/oz-R_e8WMIi.js +231 -0
  174. package/app/out/renderer/assets/pascal-GD8iposT.js +105 -0
  175. package/app/out/renderer/assets/path-Cp2qmpkd.js +109 -0
  176. package/app/out/renderer/assets/perl-DL9mHpoi.js +1105 -0
  177. package/app/out/renderer/assets/pieDiagram-a8764435-DlwoeBU2.js +770 -0
  178. package/app/out/renderer/assets/pig-C_4T4YIV.js +101 -0
  179. package/app/out/renderer/assets/powershell-B0suO7Vd.js +328 -0
  180. package/app/out/renderer/assets/properties-BR-vP1aU.js +58 -0
  181. package/app/out/renderer/assets/protobuf-BxgpyhoW.js +77 -0
  182. package/app/out/renderer/assets/pug-By0kVCfm.js +405 -0
  183. package/app/out/renderer/assets/puppet-Bdao66PW.js +137 -0
  184. package/app/out/renderer/assets/python-CvWbmiX4.js +427 -0
  185. package/app/out/renderer/assets/q-CrbCVq4a.js +131 -0
  186. package/app/out/renderer/assets/quadrantDiagram-1e28029f-BaSi1XB4.js +1200 -0
  187. package/app/out/renderer/assets/r-V7nswm59.js +170 -0
  188. package/app/out/renderer/assets/requirementDiagram-08caed73-D3EFyegZ.js +1092 -0
  189. package/app/out/renderer/assets/rpm-C-DLY-If.js +109 -0
  190. package/app/out/renderer/assets/ruby-JDKLJNK0.js +330 -0
  191. package/app/out/renderer/assets/sankeyDiagram-a04cb91d-Cv44AsnM.js +1174 -0
  192. package/app/out/renderer/assets/sas-D2UG-yhZ.js +207 -0
  193. package/app/out/renderer/assets/scheme-BKzrkGJD.js +222 -0
  194. package/app/out/renderer/assets/sequenceDiagram-c5b8d532-CuUBu-x4.js +3337 -0
  195. package/app/out/renderer/assets/shell-BlsXDxCn.js +222 -0
  196. package/app/out/renderer/assets/sieve-CjwBwOY5.js +135 -0
  197. package/app/out/renderer/assets/simple-mode-DMneyfDu.js +130 -0
  198. package/app/out/renderer/assets/smalltalk-BOIGQuhN.js +121 -0
  199. package/app/out/renderer/assets/solr-CwD7U71z.js +69 -0
  200. package/app/out/renderer/assets/sparql-DYskk2vE.js +249 -0
  201. package/app/out/renderer/assets/spreadsheet-Bgtt3oLP.js +87 -0
  202. package/app/out/renderer/assets/sql-BSrOzCRI.js +354 -0
  203. package/app/out/renderer/assets/stateDiagram-1ecb1508-BOU34Zp4.js +454 -0
  204. package/app/out/renderer/assets/stateDiagram-v2-c2b004d7-BgRoffou.js +326 -0
  205. package/app/out/renderer/assets/stex-B6LNC55o.js +231 -0
  206. package/app/out/renderer/assets/styles-b4e223ce-BMr9TPuj.js +1483 -0
  207. package/app/out/renderer/assets/styles-ca3715f6-DgbNw99p.js +1363 -0
  208. package/app/out/renderer/assets/styles-d45a18b0-DtRYKYKf.js +574 -0
  209. package/app/out/renderer/assets/stylus-BkS-boTH.js +565 -0
  210. package/app/out/renderer/assets/svgDrawCommon-b86b1483-Bein03PD.js +100 -0
  211. package/app/out/renderer/assets/swift-FRZi1uvB.js +291 -0
  212. package/app/out/renderer/assets/tcl-CUcaCdmq.js +114 -0
  213. package/app/out/renderer/assets/textile-BnFpjsrl.js +414 -0
  214. package/app/out/renderer/assets/tiddlywiki-CjprD-Qp.js +218 -0
  215. package/app/out/renderer/assets/tiki-B4EPSQ1G.js +265 -0
  216. package/app/out/renderer/assets/timeline-definition-faaaa080-BlWpLE_4.js +1212 -0
  217. package/app/out/renderer/assets/toml-BOuWGMcf.js +76 -0
  218. package/app/out/renderer/assets/troff-E1bJ0PPL.js +61 -0
  219. package/app/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +133 -0
  220. package/app/out/renderer/assets/ttcn-tKd4HLu4.js +192 -0
  221. package/app/out/renderer/assets/turtle-Dq7-1WAf.js +124 -0
  222. package/app/out/renderer/assets/vb-Dp90gtsv.js +196 -0
  223. package/app/out/renderer/assets/vbscript-CI6_mxxU.js +479 -0
  224. package/app/out/renderer/assets/velocity-BwIZK1TH.js +149 -0
  225. package/app/out/renderer/assets/verilog-DDCYnHN8.js +430 -0
  226. package/app/out/renderer/assets/vhdl-DCkMIyT9.js +158 -0
  227. package/app/out/renderer/assets/webidl-BTLTThCm.js +204 -0
  228. package/app/out/renderer/assets/xquery-BgiOC5Ce.js +525 -0
  229. package/app/out/renderer/assets/xychartDiagram-f5964ef8-Bhga-YXm.js +1799 -0
  230. package/app/out/renderer/assets/yacas-b5lAVEIl.js +130 -0
  231. package/app/out/renderer/assets/z80-BZV19vqv.js +93 -0
  232. package/app/out/renderer/index.html +13 -0
  233. package/app/out/skills/community-builtin/README.md +29 -0
  234. package/app/out/skills/community-builtin/document-docx/SKILL.md +44 -0
  235. package/app/out/skills/community-builtin/document-docx/scripts/docx-to-markdown.sh +20 -0
  236. package/app/out/skills/community-builtin/document-docx/scripts/extract-docx-text.sh +28 -0
  237. package/app/out/skills/community-builtin/document-docx/scripts/init-docx-template.sh +32 -0
  238. package/app/out/skills/community-builtin/document-docx/scripts/setup-docx-tools.sh +10 -0
  239. package/app/out/skills/community-builtin/markitdown/SKILL.md +105 -0
  240. package/app/out/skills/community-builtin/markitdown/scripts/batch-convert.sh +40 -0
  241. package/app/out/skills/community-builtin/markitdown/scripts/convert-file.sh +24 -0
  242. package/app/out/skills/community-builtin/markitdown/scripts/setup-markitdown.sh +10 -0
  243. package/app/out/skills/community-builtin/repo-quick-audit/SKILL.md +27 -0
  244. package/app/out/skills/community-builtin/repo-quick-audit/scripts/audit-basics.sh +19 -0
  245. package/app/out/skills/research-pilot-default-project-skills/README.md +23 -0
  246. package/app/out/skills/research-pilot-default-project-skills/citation-management/SKILL.md +39 -0
  247. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/doi-to-bibtex.sh +25 -0
  248. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/normalize-bibtex-keys.sh +51 -0
  249. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/setup-citation-tools.sh +10 -0
  250. package/app/out/skills/research-pilot-default-project-skills/citation-management/scripts/validate-bib.sh +31 -0
  251. package/app/out/skills/research-pilot-default-project-skills/matplotlib/SKILL.md +34 -0
  252. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/api_reference.md +412 -0
  253. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/common_issues.md +563 -0
  254. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/plot_types.md +476 -0
  255. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/styling_guide.md +589 -0
  256. package/app/out/skills/research-pilot-default-project-skills/matplotlib/references/subagent_quickstart.md +30 -0
  257. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/plot_template.py +401 -0
  258. package/app/out/skills/research-pilot-default-project-skills/matplotlib/scripts/style_configurator.py +409 -0
  259. package/app/out/skills/research-pilot-default-project-skills/research-grants/SKILL.md +38 -0
  260. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/check-grant-compliance.sh +40 -0
  261. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/grant-summary-card.sh +32 -0
  262. package/app/out/skills/research-pilot-default-project-skills/research-grants/scripts/init-grant-structure.sh +70 -0
  263. package/app/package.json +77 -0
  264. package/bin/cli.mjs +56 -0
  265. package/lib/README.md +145 -0
  266. package/lib/skills/_generated.ts +13 -0
  267. package/lib/skills/builtin/brainstorming-research-ideas/SKILL.md +280 -0
  268. package/lib/skills/builtin/coding/SKILL.md +114 -0
  269. package/lib/skills/builtin/creative-thinking-for-research/SKILL.md +273 -0
  270. package/lib/skills/builtin/matplotlib/SKILL.md +361 -0
  271. package/lib/skills/builtin/matplotlib/references/api_reference.md +412 -0
  272. package/lib/skills/builtin/matplotlib/references/common_issues.md +563 -0
  273. package/lib/skills/builtin/matplotlib/references/plot_types.md +476 -0
  274. package/lib/skills/builtin/matplotlib/references/styling_guide.md +589 -0
  275. package/lib/skills/builtin/matplotlib/scripts/plot_template.py +401 -0
  276. package/lib/skills/builtin/matplotlib/scripts/style_configurator.py +409 -0
  277. package/lib/skills/builtin/paper-writing/SKILL.md +554 -0
  278. package/lib/skills/builtin/paper-writing/references/checklists.md +524 -0
  279. package/lib/skills/builtin/paper-writing/references/citation-workflow.md +562 -0
  280. package/lib/skills/builtin/paper-writing/references/reviewer-guidelines.md +462 -0
  281. package/lib/skills/builtin/paper-writing/references/sources.md +189 -0
  282. package/lib/skills/builtin/paper-writing/references/systems-conferences.md +260 -0
  283. package/lib/skills/builtin/paper-writing/references/writing-guide.md +476 -0
  284. package/lib/skills/builtin/paper-writing/templates/README.md +408 -0
  285. package/lib/skills/builtin/paper-writing/templates/aaai2026/README.md +534 -0
  286. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
  287. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
  288. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bib +111 -0
  289. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
  290. package/lib/skills/builtin/paper-writing/templates/aaai2026/aaai2026.sty +315 -0
  291. package/lib/skills/builtin/paper-writing/templates/acl/README.md +50 -0
  292. package/lib/skills/builtin/paper-writing/templates/acl/acl.sty +312 -0
  293. package/lib/skills/builtin/paper-writing/templates/acl/acl_latex.tex +377 -0
  294. package/lib/skills/builtin/paper-writing/templates/acl/acl_lualatex.tex +101 -0
  295. package/lib/skills/builtin/paper-writing/templates/acl/acl_natbib.bst +1940 -0
  296. package/lib/skills/builtin/paper-writing/templates/acl/anthology.bib.txt +26 -0
  297. package/lib/skills/builtin/paper-writing/templates/acl/custom.bib +70 -0
  298. package/lib/skills/builtin/paper-writing/templates/acl/formatting.md +326 -0
  299. package/lib/skills/builtin/paper-writing/templates/asplos2027/main.tex +459 -0
  300. package/lib/skills/builtin/paper-writing/templates/asplos2027/references.bib +135 -0
  301. package/lib/skills/builtin/paper-writing/templates/colm2025/README.md +3 -0
  302. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
  303. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
  304. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
  305. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
  306. package/lib/skills/builtin/paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
  307. package/lib/skills/builtin/paper-writing/templates/colm2025/fancyhdr.sty +485 -0
  308. package/lib/skills/builtin/paper-writing/templates/colm2025/math_commands.tex +508 -0
  309. package/lib/skills/builtin/paper-writing/templates/colm2025/natbib.sty +1246 -0
  310. package/lib/skills/builtin/paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
  311. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
  312. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
  313. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
  314. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
  315. package/lib/skills/builtin/paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
  316. package/lib/skills/builtin/paper-writing/templates/iclr2026/math_commands.tex +508 -0
  317. package/lib/skills/builtin/paper-writing/templates/iclr2026/natbib.sty +1246 -0
  318. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithm.sty +79 -0
  319. package/lib/skills/builtin/paper-writing/templates/icml2026/algorithmic.sty +201 -0
  320. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.bib +75 -0
  321. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.pdf +0 -0
  322. package/lib/skills/builtin/paper-writing/templates/icml2026/example_paper.tex +662 -0
  323. package/lib/skills/builtin/paper-writing/templates/icml2026/fancyhdr.sty +864 -0
  324. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.bst +1443 -0
  325. package/lib/skills/builtin/paper-writing/templates/icml2026/icml2026.sty +767 -0
  326. package/lib/skills/builtin/paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
  327. package/lib/skills/builtin/paper-writing/templates/neurips2025/Makefile +36 -0
  328. package/lib/skills/builtin/paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
  329. package/lib/skills/builtin/paper-writing/templates/neurips2025/main.tex +38 -0
  330. package/lib/skills/builtin/paper-writing/templates/neurips2025/neurips.sty +382 -0
  331. package/lib/skills/builtin/paper-writing/templates/nsdi2027/main.tex +426 -0
  332. package/lib/skills/builtin/paper-writing/templates/nsdi2027/references.bib +151 -0
  333. package/lib/skills/builtin/paper-writing/templates/nsdi2027/usenix-2020-09.sty +83 -0
  334. package/lib/skills/builtin/paper-writing/templates/osdi2026/main.tex +429 -0
  335. package/lib/skills/builtin/paper-writing/templates/osdi2026/references.bib +150 -0
  336. package/lib/skills/builtin/paper-writing/templates/osdi2026/usenix-2020-09.sty +83 -0
  337. package/lib/skills/builtin/paper-writing/templates/sosp2026/main.tex +532 -0
  338. package/lib/skills/builtin/paper-writing/templates/sosp2026/references.bib +148 -0
  339. package/lib/skills/builtin/research-grants/SKILL.md +958 -0
  340. package/lib/skills/builtin/research-grants/assets/budget_justification_template.md +453 -0
  341. package/lib/skills/builtin/research-grants/assets/nih_specific_aims_template.md +166 -0
  342. package/lib/skills/builtin/research-grants/assets/nsf_project_summary_template.md +92 -0
  343. package/lib/skills/builtin/research-grants/references/README.md +285 -0
  344. package/lib/skills/builtin/research-grants/references/broader_impacts.md +392 -0
  345. package/lib/skills/builtin/research-grants/references/darpa_guidelines.md +636 -0
  346. package/lib/skills/builtin/research-grants/references/doe_guidelines.md +586 -0
  347. package/lib/skills/builtin/research-grants/references/nih_guidelines.md +851 -0
  348. package/lib/skills/builtin/research-grants/references/nsf_guidelines.md +570 -0
  349. package/lib/skills/builtin/research-grants/references/nstc_guidelines.md +733 -0
  350. package/lib/skills/builtin/research-grants/references/specific_aims_guide.md +458 -0
  351. package/lib/skills/builtin/rewrite-humanize/SKILL.md +116 -0
  352. package/lib/skills/builtin/rewrite-humanize/references/cs-venue-tone.md +57 -0
  353. package/lib/skills/builtin/rewrite-humanize/references/lexicon.md +50 -0
  354. package/lib/skills/builtin/scholar-evaluation/SKILL.md +300 -0
  355. package/lib/skills/builtin/scholar-evaluation/references/evaluation_framework.md +663 -0
  356. package/lib/skills/builtin/scholar-evaluation/scripts/calculate_scores.py +379 -0
  357. package/lib/skills/builtin/scientific-schematics/SKILL.md +603 -0
  358. package/lib/skills/builtin/scientific-schematics/references/QUICK_REFERENCE.md +182 -0
  359. package/lib/skills/builtin/scientific-schematics/references/README.md +292 -0
  360. package/lib/skills/builtin/scientific-schematics/references/best_practices.md +560 -0
  361. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic.cpython-312.pyc +0 -0
  362. package/lib/skills/builtin/scientific-schematics/scripts/__pycache__/generate_schematic_ai.cpython-312.pyc +0 -0
  363. package/lib/skills/builtin/scientific-schematics/scripts/example_usage.sh +85 -0
  364. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic.py +141 -0
  365. package/lib/skills/builtin/scientific-schematics/scripts/generate_schematic_ai.py +910 -0
  366. package/lib/skills/builtin/scientific-visualization/SKILL.md +749 -0
  367. package/lib/skills/builtin/scientific-visualization/assets/color_palettes.py +197 -0
  368. package/lib/skills/builtin/scientific-visualization/assets/nature.mplstyle +63 -0
  369. package/lib/skills/builtin/scientific-visualization/assets/presentation.mplstyle +61 -0
  370. package/lib/skills/builtin/scientific-visualization/assets/publication.mplstyle +68 -0
  371. package/lib/skills/builtin/scientific-visualization/references/color_palettes.md +348 -0
  372. package/lib/skills/builtin/scientific-visualization/references/journal_requirements.md +320 -0
  373. package/lib/skills/builtin/scientific-visualization/references/matplotlib_examples.md +620 -0
  374. package/lib/skills/builtin/scientific-visualization/references/publication_guidelines.md +205 -0
  375. package/lib/skills/builtin/scientific-visualization/scripts/figure_export.py +343 -0
  376. package/lib/skills/builtin/scientific-visualization/scripts/style_presets.py +416 -0
  377. package/lib/skills/builtin/scientific-writing/SKILL.md +745 -0
  378. package/lib/skills/builtin/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
  379. package/lib/skills/builtin/scientific-writing/assets/scientific_report.sty +606 -0
  380. package/lib/skills/builtin/scientific-writing/assets/scientific_report_template.tex +449 -0
  381. package/lib/skills/builtin/scientific-writing/references/citation_styles.md +720 -0
  382. package/lib/skills/builtin/scientific-writing/references/figures_tables.md +806 -0
  383. package/lib/skills/builtin/scientific-writing/references/imrad_structure.md +686 -0
  384. package/lib/skills/builtin/scientific-writing/references/professional_report_formatting.md +664 -0
  385. package/lib/skills/builtin/scientific-writing/references/reporting_guidelines.md +748 -0
  386. package/lib/skills/builtin/scientific-writing/references/writing_principles.md +824 -0
  387. package/lib/skills/builtin/seaborn/SKILL.md +674 -0
  388. package/lib/skills/builtin/seaborn/references/examples.md +822 -0
  389. package/lib/skills/builtin/seaborn/references/function_reference.md +770 -0
  390. package/lib/skills/builtin/seaborn/references/objects_interface.md +964 -0
  391. package/lib/skills/data-analysis/SKILL.md +285 -0
  392. package/lib/skills/generate-skill-content.mjs +58 -0
  393. package/lib/skills/index.ts +34 -0
  394. package/lib/skills/loader.ts +452 -0
  395. package/package.json +62 -0
@@ -0,0 +1,1092 @@
1
+ import { n as getAccDescription, m as setAccDescription, o as getAccTitle, q as setAccTitle, r as getConfig, u as select, w as configureSvgSize, M as clear$1, v as log$1, C as common$1 } from "./MilkdownMarkdownEditor-bLPxrCVb.js";
2
+ import { G as Graph } from "./graph-DpC13d95.js";
3
+ import { l as layout } from "./layout-ZeuHE_aY.js";
4
+ import { l as line } from "./line-CAgaGl-S.js";
5
+ import "./index-BqDyyRCx.js";
6
+ import "./array-DgktLKBx.js";
7
+ import "./path-Cp2qmpkd.js";
8
+ var parser = function() {
9
+ var o = function(k, v, o2, l) {
10
+ for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v)
11
+ ;
12
+ return o2;
13
+ }, $V0 = [1, 3], $V1 = [1, 4], $V2 = [1, 5], $V3 = [1, 6], $V4 = [5, 6, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63], $V5 = [1, 18], $V6 = [2, 7], $V7 = [1, 22], $V8 = [1, 23], $V9 = [1, 24], $Va = [1, 25], $Vb = [1, 26], $Vc = [1, 27], $Vd = [1, 20], $Ve = [1, 28], $Vf = [1, 29], $Vg = [62, 63], $Vh = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 51, 53, 62, 63], $Vi = [1, 47], $Vj = [1, 48], $Vk = [1, 49], $Vl = [1, 50], $Vm = [1, 51], $Vn = [1, 52], $Vo = [1, 53], $Vp = [53, 54], $Vq = [1, 64], $Vr = [1, 60], $Vs = [1, 61], $Vt = [1, 62], $Vu = [1, 63], $Vv = [1, 65], $Vw = [1, 69], $Vx = [1, 70], $Vy = [1, 67], $Vz = [1, 68], $VA = [5, 8, 9, 11, 13, 31, 32, 33, 34, 35, 36, 44, 62, 63];
14
+ var parser2 = {
15
+ trace: function trace() {
16
+ },
17
+ yy: {},
18
+ symbols_: { "error": 2, "start": 3, "directive": 4, "NEWLINE": 5, "RD": 6, "diagram": 7, "EOF": 8, "acc_title": 9, "acc_title_value": 10, "acc_descr": 11, "acc_descr_value": 12, "acc_descr_multiline_value": 13, "requirementDef": 14, "elementDef": 15, "relationshipDef": 16, "requirementType": 17, "requirementName": 18, "STRUCT_START": 19, "requirementBody": 20, "ID": 21, "COLONSEP": 22, "id": 23, "TEXT": 24, "text": 25, "RISK": 26, "riskLevel": 27, "VERIFYMTHD": 28, "verifyType": 29, "STRUCT_STOP": 30, "REQUIREMENT": 31, "FUNCTIONAL_REQUIREMENT": 32, "INTERFACE_REQUIREMENT": 33, "PERFORMANCE_REQUIREMENT": 34, "PHYSICAL_REQUIREMENT": 35, "DESIGN_CONSTRAINT": 36, "LOW_RISK": 37, "MED_RISK": 38, "HIGH_RISK": 39, "VERIFY_ANALYSIS": 40, "VERIFY_DEMONSTRATION": 41, "VERIFY_INSPECTION": 42, "VERIFY_TEST": 43, "ELEMENT": 44, "elementName": 45, "elementBody": 46, "TYPE": 47, "type": 48, "DOCREF": 49, "ref": 50, "END_ARROW_L": 51, "relationship": 52, "LINE": 53, "END_ARROW_R": 54, "CONTAINS": 55, "COPIES": 56, "DERIVES": 57, "SATISFIES": 58, "VERIFIES": 59, "REFINES": 60, "TRACES": 61, "unqString": 62, "qString": 63, "$accept": 0, "$end": 1 },
19
+ terminals_: { 2: "error", 5: "NEWLINE", 6: "RD", 8: "EOF", 9: "acc_title", 10: "acc_title_value", 11: "acc_descr", 12: "acc_descr_value", 13: "acc_descr_multiline_value", 19: "STRUCT_START", 21: "ID", 22: "COLONSEP", 24: "TEXT", 26: "RISK", 28: "VERIFYMTHD", 30: "STRUCT_STOP", 31: "REQUIREMENT", 32: "FUNCTIONAL_REQUIREMENT", 33: "INTERFACE_REQUIREMENT", 34: "PERFORMANCE_REQUIREMENT", 35: "PHYSICAL_REQUIREMENT", 36: "DESIGN_CONSTRAINT", 37: "LOW_RISK", 38: "MED_RISK", 39: "HIGH_RISK", 40: "VERIFY_ANALYSIS", 41: "VERIFY_DEMONSTRATION", 42: "VERIFY_INSPECTION", 43: "VERIFY_TEST", 44: "ELEMENT", 47: "TYPE", 49: "DOCREF", 51: "END_ARROW_L", 53: "LINE", 54: "END_ARROW_R", 55: "CONTAINS", 56: "COPIES", 57: "DERIVES", 58: "SATISFIES", 59: "VERIFIES", 60: "REFINES", 61: "TRACES", 62: "unqString", 63: "qString" },
20
+ productions_: [0, [3, 3], [3, 2], [3, 4], [4, 2], [4, 2], [4, 1], [7, 0], [7, 2], [7, 2], [7, 2], [7, 2], [7, 2], [14, 5], [20, 5], [20, 5], [20, 5], [20, 5], [20, 2], [20, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [17, 1], [27, 1], [27, 1], [27, 1], [29, 1], [29, 1], [29, 1], [29, 1], [15, 5], [46, 5], [46, 5], [46, 2], [46, 1], [16, 5], [16, 5], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [52, 1], [18, 1], [18, 1], [23, 1], [23, 1], [25, 1], [25, 1], [45, 1], [45, 1], [48, 1], [48, 1], [50, 1], [50, 1]],
21
+ performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {
22
+ var $0 = $$.length - 1;
23
+ switch (yystate) {
24
+ case 4:
25
+ this.$ = $$[$0].trim();
26
+ yy.setAccTitle(this.$);
27
+ break;
28
+ case 5:
29
+ case 6:
30
+ this.$ = $$[$0].trim();
31
+ yy.setAccDescription(this.$);
32
+ break;
33
+ case 7:
34
+ this.$ = [];
35
+ break;
36
+ case 13:
37
+ yy.addRequirement($$[$0 - 3], $$[$0 - 4]);
38
+ break;
39
+ case 14:
40
+ yy.setNewReqId($$[$0 - 2]);
41
+ break;
42
+ case 15:
43
+ yy.setNewReqText($$[$0 - 2]);
44
+ break;
45
+ case 16:
46
+ yy.setNewReqRisk($$[$0 - 2]);
47
+ break;
48
+ case 17:
49
+ yy.setNewReqVerifyMethod($$[$0 - 2]);
50
+ break;
51
+ case 20:
52
+ this.$ = yy.RequirementType.REQUIREMENT;
53
+ break;
54
+ case 21:
55
+ this.$ = yy.RequirementType.FUNCTIONAL_REQUIREMENT;
56
+ break;
57
+ case 22:
58
+ this.$ = yy.RequirementType.INTERFACE_REQUIREMENT;
59
+ break;
60
+ case 23:
61
+ this.$ = yy.RequirementType.PERFORMANCE_REQUIREMENT;
62
+ break;
63
+ case 24:
64
+ this.$ = yy.RequirementType.PHYSICAL_REQUIREMENT;
65
+ break;
66
+ case 25:
67
+ this.$ = yy.RequirementType.DESIGN_CONSTRAINT;
68
+ break;
69
+ case 26:
70
+ this.$ = yy.RiskLevel.LOW_RISK;
71
+ break;
72
+ case 27:
73
+ this.$ = yy.RiskLevel.MED_RISK;
74
+ break;
75
+ case 28:
76
+ this.$ = yy.RiskLevel.HIGH_RISK;
77
+ break;
78
+ case 29:
79
+ this.$ = yy.VerifyType.VERIFY_ANALYSIS;
80
+ break;
81
+ case 30:
82
+ this.$ = yy.VerifyType.VERIFY_DEMONSTRATION;
83
+ break;
84
+ case 31:
85
+ this.$ = yy.VerifyType.VERIFY_INSPECTION;
86
+ break;
87
+ case 32:
88
+ this.$ = yy.VerifyType.VERIFY_TEST;
89
+ break;
90
+ case 33:
91
+ yy.addElement($$[$0 - 3]);
92
+ break;
93
+ case 34:
94
+ yy.setNewElementType($$[$0 - 2]);
95
+ break;
96
+ case 35:
97
+ yy.setNewElementDocRef($$[$0 - 2]);
98
+ break;
99
+ case 38:
100
+ yy.addRelationship($$[$0 - 2], $$[$0], $$[$0 - 4]);
101
+ break;
102
+ case 39:
103
+ yy.addRelationship($$[$0 - 2], $$[$0 - 4], $$[$0]);
104
+ break;
105
+ case 40:
106
+ this.$ = yy.Relationships.CONTAINS;
107
+ break;
108
+ case 41:
109
+ this.$ = yy.Relationships.COPIES;
110
+ break;
111
+ case 42:
112
+ this.$ = yy.Relationships.DERIVES;
113
+ break;
114
+ case 43:
115
+ this.$ = yy.Relationships.SATISFIES;
116
+ break;
117
+ case 44:
118
+ this.$ = yy.Relationships.VERIFIES;
119
+ break;
120
+ case 45:
121
+ this.$ = yy.Relationships.REFINES;
122
+ break;
123
+ case 46:
124
+ this.$ = yy.Relationships.TRACES;
125
+ break;
126
+ }
127
+ },
128
+ table: [{ 3: 1, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [3] }, { 3: 8, 4: 2, 5: [1, 7], 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 5: [1, 9] }, { 10: [1, 10] }, { 12: [1, 11] }, o($V4, [2, 6]), { 3: 12, 4: 2, 6: $V0, 9: $V1, 11: $V2, 13: $V3 }, { 1: [2, 2] }, { 4: 17, 5: $V5, 7: 13, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 1] }, { 8: [1, 30] }, { 4: 17, 5: $V5, 7: 31, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 32, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 33, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 34, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 4: 17, 5: $V5, 7: 35, 8: $V6, 9: $V1, 11: $V2, 13: $V3, 14: 14, 15: 15, 16: 16, 17: 19, 23: 21, 31: $V7, 32: $V8, 33: $V9, 34: $Va, 35: $Vb, 36: $Vc, 44: $Vd, 62: $Ve, 63: $Vf }, { 18: 36, 62: [1, 37], 63: [1, 38] }, { 45: 39, 62: [1, 40], 63: [1, 41] }, { 51: [1, 42], 53: [1, 43] }, o($Vg, [2, 20]), o($Vg, [2, 21]), o($Vg, [2, 22]), o($Vg, [2, 23]), o($Vg, [2, 24]), o($Vg, [2, 25]), o($Vh, [2, 49]), o($Vh, [2, 50]), { 1: [2, 3] }, { 8: [2, 8] }, { 8: [2, 9] }, { 8: [2, 10] }, { 8: [2, 11] }, { 8: [2, 12] }, { 19: [1, 44] }, { 19: [2, 47] }, { 19: [2, 48] }, { 19: [1, 45] }, { 19: [2, 53] }, { 19: [2, 54] }, { 52: 46, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 52: 54, 55: $Vi, 56: $Vj, 57: $Vk, 58: $Vl, 59: $Vm, 60: $Vn, 61: $Vo }, { 5: [1, 55] }, { 5: [1, 56] }, { 53: [1, 57] }, o($Vp, [2, 40]), o($Vp, [2, 41]), o($Vp, [2, 42]), o($Vp, [2, 43]), o($Vp, [2, 44]), o($Vp, [2, 45]), o($Vp, [2, 46]), { 54: [1, 58] }, { 5: $Vq, 20: 59, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 66, 47: $Vy, 49: $Vz }, { 23: 71, 62: $Ve, 63: $Vf }, { 23: 72, 62: $Ve, 63: $Vf }, o($VA, [2, 13]), { 22: [1, 73] }, { 22: [1, 74] }, { 22: [1, 75] }, { 22: [1, 76] }, { 5: $Vq, 20: 77, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, o($VA, [2, 19]), o($VA, [2, 33]), { 22: [1, 78] }, { 22: [1, 79] }, { 5: $Vw, 30: $Vx, 46: 80, 47: $Vy, 49: $Vz }, o($VA, [2, 37]), o($VA, [2, 38]), o($VA, [2, 39]), { 23: 81, 62: $Ve, 63: $Vf }, { 25: 82, 62: [1, 83], 63: [1, 84] }, { 27: 85, 37: [1, 86], 38: [1, 87], 39: [1, 88] }, { 29: 89, 40: [1, 90], 41: [1, 91], 42: [1, 92], 43: [1, 93] }, o($VA, [2, 18]), { 48: 94, 62: [1, 95], 63: [1, 96] }, { 50: 97, 62: [1, 98], 63: [1, 99] }, o($VA, [2, 36]), { 5: [1, 100] }, { 5: [1, 101] }, { 5: [2, 51] }, { 5: [2, 52] }, { 5: [1, 102] }, { 5: [2, 26] }, { 5: [2, 27] }, { 5: [2, 28] }, { 5: [1, 103] }, { 5: [2, 29] }, { 5: [2, 30] }, { 5: [2, 31] }, { 5: [2, 32] }, { 5: [1, 104] }, { 5: [2, 55] }, { 5: [2, 56] }, { 5: [1, 105] }, { 5: [2, 57] }, { 5: [2, 58] }, { 5: $Vq, 20: 106, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 107, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 108, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vq, 20: 109, 21: $Vr, 24: $Vs, 26: $Vt, 28: $Vu, 30: $Vv }, { 5: $Vw, 30: $Vx, 46: 110, 47: $Vy, 49: $Vz }, { 5: $Vw, 30: $Vx, 46: 111, 47: $Vy, 49: $Vz }, o($VA, [2, 14]), o($VA, [2, 15]), o($VA, [2, 16]), o($VA, [2, 17]), o($VA, [2, 34]), o($VA, [2, 35])],
129
+ defaultActions: { 8: [2, 2], 12: [2, 1], 30: [2, 3], 31: [2, 8], 32: [2, 9], 33: [2, 10], 34: [2, 11], 35: [2, 12], 37: [2, 47], 38: [2, 48], 40: [2, 53], 41: [2, 54], 83: [2, 51], 84: [2, 52], 86: [2, 26], 87: [2, 27], 88: [2, 28], 90: [2, 29], 91: [2, 30], 92: [2, 31], 93: [2, 32], 95: [2, 55], 96: [2, 56], 98: [2, 57], 99: [2, 58] },
130
+ parseError: function parseError(str, hash) {
131
+ if (hash.recoverable) {
132
+ this.trace(str);
133
+ } else {
134
+ var error = new Error(str);
135
+ error.hash = hash;
136
+ throw error;
137
+ }
138
+ },
139
+ parse: function parse(input) {
140
+ var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, TERROR = 2, EOF = 1;
141
+ var args = lstack.slice.call(arguments, 1);
142
+ var lexer2 = Object.create(this.lexer);
143
+ var sharedState = { yy: {} };
144
+ for (var k in this.yy) {
145
+ if (Object.prototype.hasOwnProperty.call(this.yy, k)) {
146
+ sharedState.yy[k] = this.yy[k];
147
+ }
148
+ }
149
+ lexer2.setInput(input, sharedState.yy);
150
+ sharedState.yy.lexer = lexer2;
151
+ sharedState.yy.parser = this;
152
+ if (typeof lexer2.yylloc == "undefined") {
153
+ lexer2.yylloc = {};
154
+ }
155
+ var yyloc = lexer2.yylloc;
156
+ lstack.push(yyloc);
157
+ var ranges = lexer2.options && lexer2.options.ranges;
158
+ if (typeof sharedState.yy.parseError === "function") {
159
+ this.parseError = sharedState.yy.parseError;
160
+ } else {
161
+ this.parseError = Object.getPrototypeOf(this).parseError;
162
+ }
163
+ function lex() {
164
+ var token;
165
+ token = tstack.pop() || lexer2.lex() || EOF;
166
+ if (typeof token !== "number") {
167
+ if (token instanceof Array) {
168
+ tstack = token;
169
+ token = tstack.pop();
170
+ }
171
+ token = self.symbols_[token] || token;
172
+ }
173
+ return token;
174
+ }
175
+ var symbol, state, action, r, yyval = {}, p, len, newState, expected;
176
+ while (true) {
177
+ state = stack[stack.length - 1];
178
+ if (this.defaultActions[state]) {
179
+ action = this.defaultActions[state];
180
+ } else {
181
+ if (symbol === null || typeof symbol == "undefined") {
182
+ symbol = lex();
183
+ }
184
+ action = table[state] && table[state][symbol];
185
+ }
186
+ if (typeof action === "undefined" || !action.length || !action[0]) {
187
+ var errStr = "";
188
+ expected = [];
189
+ for (p in table[state]) {
190
+ if (this.terminals_[p] && p > TERROR) {
191
+ expected.push("'" + this.terminals_[p] + "'");
192
+ }
193
+ }
194
+ if (lexer2.showPosition) {
195
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + lexer2.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
196
+ } else {
197
+ errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == EOF ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
198
+ }
199
+ this.parseError(errStr, {
200
+ text: lexer2.match,
201
+ token: this.terminals_[symbol] || symbol,
202
+ line: lexer2.yylineno,
203
+ loc: yyloc,
204
+ expected
205
+ });
206
+ }
207
+ if (action[0] instanceof Array && action.length > 1) {
208
+ throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
209
+ }
210
+ switch (action[0]) {
211
+ case 1:
212
+ stack.push(symbol);
213
+ vstack.push(lexer2.yytext);
214
+ lstack.push(lexer2.yylloc);
215
+ stack.push(action[1]);
216
+ symbol = null;
217
+ {
218
+ yyleng = lexer2.yyleng;
219
+ yytext = lexer2.yytext;
220
+ yylineno = lexer2.yylineno;
221
+ yyloc = lexer2.yylloc;
222
+ }
223
+ break;
224
+ case 2:
225
+ len = this.productions_[action[1]][1];
226
+ yyval.$ = vstack[vstack.length - len];
227
+ yyval._$ = {
228
+ first_line: lstack[lstack.length - (len || 1)].first_line,
229
+ last_line: lstack[lstack.length - 1].last_line,
230
+ first_column: lstack[lstack.length - (len || 1)].first_column,
231
+ last_column: lstack[lstack.length - 1].last_column
232
+ };
233
+ if (ranges) {
234
+ yyval._$.range = [
235
+ lstack[lstack.length - (len || 1)].range[0],
236
+ lstack[lstack.length - 1].range[1]
237
+ ];
238
+ }
239
+ r = this.performAction.apply(yyval, [
240
+ yytext,
241
+ yyleng,
242
+ yylineno,
243
+ sharedState.yy,
244
+ action[1],
245
+ vstack,
246
+ lstack
247
+ ].concat(args));
248
+ if (typeof r !== "undefined") {
249
+ return r;
250
+ }
251
+ if (len) {
252
+ stack = stack.slice(0, -1 * len * 2);
253
+ vstack = vstack.slice(0, -1 * len);
254
+ lstack = lstack.slice(0, -1 * len);
255
+ }
256
+ stack.push(this.productions_[action[1]][0]);
257
+ vstack.push(yyval.$);
258
+ lstack.push(yyval._$);
259
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
260
+ stack.push(newState);
261
+ break;
262
+ case 3:
263
+ return true;
264
+ }
265
+ }
266
+ return true;
267
+ }
268
+ };
269
+ var lexer = /* @__PURE__ */ function() {
270
+ var lexer2 = {
271
+ EOF: 1,
272
+ parseError: function parseError(str, hash) {
273
+ if (this.yy.parser) {
274
+ this.yy.parser.parseError(str, hash);
275
+ } else {
276
+ throw new Error(str);
277
+ }
278
+ },
279
+ // resets the lexer, sets new input
280
+ setInput: function(input, yy) {
281
+ this.yy = yy || this.yy || {};
282
+ this._input = input;
283
+ this._more = this._backtrack = this.done = false;
284
+ this.yylineno = this.yyleng = 0;
285
+ this.yytext = this.matched = this.match = "";
286
+ this.conditionStack = ["INITIAL"];
287
+ this.yylloc = {
288
+ first_line: 1,
289
+ first_column: 0,
290
+ last_line: 1,
291
+ last_column: 0
292
+ };
293
+ if (this.options.ranges) {
294
+ this.yylloc.range = [0, 0];
295
+ }
296
+ this.offset = 0;
297
+ return this;
298
+ },
299
+ // consumes and returns one char from the input
300
+ input: function() {
301
+ var ch = this._input[0];
302
+ this.yytext += ch;
303
+ this.yyleng++;
304
+ this.offset++;
305
+ this.match += ch;
306
+ this.matched += ch;
307
+ var lines = ch.match(/(?:\r\n?|\n).*/g);
308
+ if (lines) {
309
+ this.yylineno++;
310
+ this.yylloc.last_line++;
311
+ } else {
312
+ this.yylloc.last_column++;
313
+ }
314
+ if (this.options.ranges) {
315
+ this.yylloc.range[1]++;
316
+ }
317
+ this._input = this._input.slice(1);
318
+ return ch;
319
+ },
320
+ // unshifts one char (or a string) into the input
321
+ unput: function(ch) {
322
+ var len = ch.length;
323
+ var lines = ch.split(/(?:\r\n?|\n)/g);
324
+ this._input = ch + this._input;
325
+ this.yytext = this.yytext.substr(0, this.yytext.length - len);
326
+ this.offset -= len;
327
+ var oldLines = this.match.split(/(?:\r\n?|\n)/g);
328
+ this.match = this.match.substr(0, this.match.length - 1);
329
+ this.matched = this.matched.substr(0, this.matched.length - 1);
330
+ if (lines.length - 1) {
331
+ this.yylineno -= lines.length - 1;
332
+ }
333
+ var r = this.yylloc.range;
334
+ this.yylloc = {
335
+ first_line: this.yylloc.first_line,
336
+ last_line: this.yylineno + 1,
337
+ first_column: this.yylloc.first_column,
338
+ last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
339
+ };
340
+ if (this.options.ranges) {
341
+ this.yylloc.range = [r[0], r[0] + this.yyleng - len];
342
+ }
343
+ this.yyleng = this.yytext.length;
344
+ return this;
345
+ },
346
+ // When called from action, caches matched text and appends it on next action
347
+ more: function() {
348
+ this._more = true;
349
+ return this;
350
+ },
351
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
352
+ reject: function() {
353
+ if (this.options.backtrack_lexer) {
354
+ this._backtrack = true;
355
+ } else {
356
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
357
+ text: "",
358
+ token: null,
359
+ line: this.yylineno
360
+ });
361
+ }
362
+ return this;
363
+ },
364
+ // retain first n characters of the match
365
+ less: function(n) {
366
+ this.unput(this.match.slice(n));
367
+ },
368
+ // displays already matched input, i.e. for error messages
369
+ pastInput: function() {
370
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
371
+ return (past.length > 20 ? "..." : "") + past.substr(-20).replace(/\n/g, "");
372
+ },
373
+ // displays upcoming input, i.e. for error messages
374
+ upcomingInput: function() {
375
+ var next = this.match;
376
+ if (next.length < 20) {
377
+ next += this._input.substr(0, 20 - next.length);
378
+ }
379
+ return (next.substr(0, 20) + (next.length > 20 ? "..." : "")).replace(/\n/g, "");
380
+ },
381
+ // displays the character position where the lexing error occurred, i.e. for error messages
382
+ showPosition: function() {
383
+ var pre = this.pastInput();
384
+ var c = new Array(pre.length + 1).join("-");
385
+ return pre + this.upcomingInput() + "\n" + c + "^";
386
+ },
387
+ // test the lexed token: return FALSE when not a match, otherwise return token
388
+ test_match: function(match, indexed_rule) {
389
+ var token, lines, backup;
390
+ if (this.options.backtrack_lexer) {
391
+ backup = {
392
+ yylineno: this.yylineno,
393
+ yylloc: {
394
+ first_line: this.yylloc.first_line,
395
+ last_line: this.last_line,
396
+ first_column: this.yylloc.first_column,
397
+ last_column: this.yylloc.last_column
398
+ },
399
+ yytext: this.yytext,
400
+ match: this.match,
401
+ matches: this.matches,
402
+ matched: this.matched,
403
+ yyleng: this.yyleng,
404
+ offset: this.offset,
405
+ _more: this._more,
406
+ _input: this._input,
407
+ yy: this.yy,
408
+ conditionStack: this.conditionStack.slice(0),
409
+ done: this.done
410
+ };
411
+ if (this.options.ranges) {
412
+ backup.yylloc.range = this.yylloc.range.slice(0);
413
+ }
414
+ }
415
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
416
+ if (lines) {
417
+ this.yylineno += lines.length;
418
+ }
419
+ this.yylloc = {
420
+ first_line: this.yylloc.last_line,
421
+ last_line: this.yylineno + 1,
422
+ first_column: this.yylloc.last_column,
423
+ last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length
424
+ };
425
+ this.yytext += match[0];
426
+ this.match += match[0];
427
+ this.matches = match;
428
+ this.yyleng = this.yytext.length;
429
+ if (this.options.ranges) {
430
+ this.yylloc.range = [this.offset, this.offset += this.yyleng];
431
+ }
432
+ this._more = false;
433
+ this._backtrack = false;
434
+ this._input = this._input.slice(match[0].length);
435
+ this.matched += match[0];
436
+ token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);
437
+ if (this.done && this._input) {
438
+ this.done = false;
439
+ }
440
+ if (token) {
441
+ return token;
442
+ } else if (this._backtrack) {
443
+ for (var k in backup) {
444
+ this[k] = backup[k];
445
+ }
446
+ return false;
447
+ }
448
+ return false;
449
+ },
450
+ // return next match in input
451
+ next: function() {
452
+ if (this.done) {
453
+ return this.EOF;
454
+ }
455
+ if (!this._input) {
456
+ this.done = true;
457
+ }
458
+ var token, match, tempMatch, index;
459
+ if (!this._more) {
460
+ this.yytext = "";
461
+ this.match = "";
462
+ }
463
+ var rules = this._currentRules();
464
+ for (var i = 0; i < rules.length; i++) {
465
+ tempMatch = this._input.match(this.rules[rules[i]]);
466
+ if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
467
+ match = tempMatch;
468
+ index = i;
469
+ if (this.options.backtrack_lexer) {
470
+ token = this.test_match(tempMatch, rules[i]);
471
+ if (token !== false) {
472
+ return token;
473
+ } else if (this._backtrack) {
474
+ match = false;
475
+ continue;
476
+ } else {
477
+ return false;
478
+ }
479
+ } else if (!this.options.flex) {
480
+ break;
481
+ }
482
+ }
483
+ }
484
+ if (match) {
485
+ token = this.test_match(match, rules[index]);
486
+ if (token !== false) {
487
+ return token;
488
+ }
489
+ return false;
490
+ }
491
+ if (this._input === "") {
492
+ return this.EOF;
493
+ } else {
494
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
495
+ text: "",
496
+ token: null,
497
+ line: this.yylineno
498
+ });
499
+ }
500
+ },
501
+ // return next match that has a token
502
+ lex: function lex() {
503
+ var r = this.next();
504
+ if (r) {
505
+ return r;
506
+ } else {
507
+ return this.lex();
508
+ }
509
+ },
510
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
511
+ begin: function begin(condition) {
512
+ this.conditionStack.push(condition);
513
+ },
514
+ // pop the previously active lexer condition state off the condition stack
515
+ popState: function popState() {
516
+ var n = this.conditionStack.length - 1;
517
+ if (n > 0) {
518
+ return this.conditionStack.pop();
519
+ } else {
520
+ return this.conditionStack[0];
521
+ }
522
+ },
523
+ // produce the lexer rule set which is active for the currently active lexer condition state
524
+ _currentRules: function _currentRules() {
525
+ if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {
526
+ return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
527
+ } else {
528
+ return this.conditions["INITIAL"].rules;
529
+ }
530
+ },
531
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
532
+ topState: function topState(n) {
533
+ n = this.conditionStack.length - 1 - Math.abs(n || 0);
534
+ if (n >= 0) {
535
+ return this.conditionStack[n];
536
+ } else {
537
+ return "INITIAL";
538
+ }
539
+ },
540
+ // alias for begin(condition)
541
+ pushState: function pushState(condition) {
542
+ this.begin(condition);
543
+ },
544
+ // return the number of states currently on the stack
545
+ stateStackSize: function stateStackSize() {
546
+ return this.conditionStack.length;
547
+ },
548
+ options: { "case-insensitive": true },
549
+ performAction: function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {
550
+ switch ($avoiding_name_collisions) {
551
+ case 0:
552
+ return "title";
553
+ case 1:
554
+ this.begin("acc_title");
555
+ return 9;
556
+ case 2:
557
+ this.popState();
558
+ return "acc_title_value";
559
+ case 3:
560
+ this.begin("acc_descr");
561
+ return 11;
562
+ case 4:
563
+ this.popState();
564
+ return "acc_descr_value";
565
+ case 5:
566
+ this.begin("acc_descr_multiline");
567
+ break;
568
+ case 6:
569
+ this.popState();
570
+ break;
571
+ case 7:
572
+ return "acc_descr_multiline_value";
573
+ case 8:
574
+ return 5;
575
+ case 9:
576
+ break;
577
+ case 10:
578
+ break;
579
+ case 11:
580
+ break;
581
+ case 12:
582
+ return 8;
583
+ case 13:
584
+ return 6;
585
+ case 14:
586
+ return 19;
587
+ case 15:
588
+ return 30;
589
+ case 16:
590
+ return 22;
591
+ case 17:
592
+ return 21;
593
+ case 18:
594
+ return 24;
595
+ case 19:
596
+ return 26;
597
+ case 20:
598
+ return 28;
599
+ case 21:
600
+ return 31;
601
+ case 22:
602
+ return 32;
603
+ case 23:
604
+ return 33;
605
+ case 24:
606
+ return 34;
607
+ case 25:
608
+ return 35;
609
+ case 26:
610
+ return 36;
611
+ case 27:
612
+ return 37;
613
+ case 28:
614
+ return 38;
615
+ case 29:
616
+ return 39;
617
+ case 30:
618
+ return 40;
619
+ case 31:
620
+ return 41;
621
+ case 32:
622
+ return 42;
623
+ case 33:
624
+ return 43;
625
+ case 34:
626
+ return 44;
627
+ case 35:
628
+ return 55;
629
+ case 36:
630
+ return 56;
631
+ case 37:
632
+ return 57;
633
+ case 38:
634
+ return 58;
635
+ case 39:
636
+ return 59;
637
+ case 40:
638
+ return 60;
639
+ case 41:
640
+ return 61;
641
+ case 42:
642
+ return 47;
643
+ case 43:
644
+ return 49;
645
+ case 44:
646
+ return 51;
647
+ case 45:
648
+ return 54;
649
+ case 46:
650
+ return 53;
651
+ case 47:
652
+ this.begin("string");
653
+ break;
654
+ case 48:
655
+ this.popState();
656
+ break;
657
+ case 49:
658
+ return "qString";
659
+ case 50:
660
+ yy_.yytext = yy_.yytext.trim();
661
+ return 62;
662
+ }
663
+ },
664
+ rules: [/^(?:title\s[^#\n;]+)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:(\r?\n)+)/i, /^(?:\s+)/i, /^(?:#[^\n]*)/i, /^(?:%[^\n]*)/i, /^(?:$)/i, /^(?:requirementDiagram\b)/i, /^(?:\{)/i, /^(?:\})/i, /^(?::)/i, /^(?:id\b)/i, /^(?:text\b)/i, /^(?:risk\b)/i, /^(?:verifyMethod\b)/i, /^(?:requirement\b)/i, /^(?:functionalRequirement\b)/i, /^(?:interfaceRequirement\b)/i, /^(?:performanceRequirement\b)/i, /^(?:physicalRequirement\b)/i, /^(?:designConstraint\b)/i, /^(?:low\b)/i, /^(?:medium\b)/i, /^(?:high\b)/i, /^(?:analysis\b)/i, /^(?:demonstration\b)/i, /^(?:inspection\b)/i, /^(?:test\b)/i, /^(?:element\b)/i, /^(?:contains\b)/i, /^(?:copies\b)/i, /^(?:derives\b)/i, /^(?:satisfies\b)/i, /^(?:verifies\b)/i, /^(?:refines\b)/i, /^(?:traces\b)/i, /^(?:type\b)/i, /^(?:docref\b)/i, /^(?:<-)/i, /^(?:->)/i, /^(?:-)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:[\w][^\r\n\{\<\>\-\=]*)/i],
665
+ conditions: { "acc_descr_multiline": { "rules": [6, 7], "inclusive": false }, "acc_descr": { "rules": [4], "inclusive": false }, "acc_title": { "rules": [2], "inclusive": false }, "unqString": { "rules": [], "inclusive": false }, "token": { "rules": [], "inclusive": false }, "string": { "rules": [48, 49], "inclusive": false }, "INITIAL": { "rules": [0, 1, 3, 5, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 50], "inclusive": true } }
666
+ };
667
+ return lexer2;
668
+ }();
669
+ parser2.lexer = lexer;
670
+ function Parser() {
671
+ this.yy = {};
672
+ }
673
+ Parser.prototype = parser2;
674
+ parser2.Parser = Parser;
675
+ return new Parser();
676
+ }();
677
+ parser.parser = parser;
678
+ const parser$1 = parser;
679
+ let relations = [];
680
+ let latestRequirement = {};
681
+ let requirements = {};
682
+ let latestElement = {};
683
+ let elements = {};
684
+ const RequirementType = {
685
+ REQUIREMENT: "Requirement",
686
+ FUNCTIONAL_REQUIREMENT: "Functional Requirement",
687
+ INTERFACE_REQUIREMENT: "Interface Requirement",
688
+ PERFORMANCE_REQUIREMENT: "Performance Requirement",
689
+ PHYSICAL_REQUIREMENT: "Physical Requirement",
690
+ DESIGN_CONSTRAINT: "Design Constraint"
691
+ };
692
+ const RiskLevel = {
693
+ LOW_RISK: "Low",
694
+ MED_RISK: "Medium",
695
+ HIGH_RISK: "High"
696
+ };
697
+ const VerifyType = {
698
+ VERIFY_ANALYSIS: "Analysis",
699
+ VERIFY_DEMONSTRATION: "Demonstration",
700
+ VERIFY_INSPECTION: "Inspection",
701
+ VERIFY_TEST: "Test"
702
+ };
703
+ const Relationships = {
704
+ CONTAINS: "contains",
705
+ COPIES: "copies",
706
+ DERIVES: "derives",
707
+ SATISFIES: "satisfies",
708
+ VERIFIES: "verifies",
709
+ REFINES: "refines",
710
+ TRACES: "traces"
711
+ };
712
+ const addRequirement = (name, type) => {
713
+ if (requirements[name] === void 0) {
714
+ requirements[name] = {
715
+ name,
716
+ type,
717
+ id: latestRequirement.id,
718
+ text: latestRequirement.text,
719
+ risk: latestRequirement.risk,
720
+ verifyMethod: latestRequirement.verifyMethod
721
+ };
722
+ }
723
+ latestRequirement = {};
724
+ return requirements[name];
725
+ };
726
+ const getRequirements = () => requirements;
727
+ const setNewReqId = (id) => {
728
+ if (latestRequirement !== void 0) {
729
+ latestRequirement.id = id;
730
+ }
731
+ };
732
+ const setNewReqText = (text) => {
733
+ if (latestRequirement !== void 0) {
734
+ latestRequirement.text = text;
735
+ }
736
+ };
737
+ const setNewReqRisk = (risk) => {
738
+ if (latestRequirement !== void 0) {
739
+ latestRequirement.risk = risk;
740
+ }
741
+ };
742
+ const setNewReqVerifyMethod = (verifyMethod) => {
743
+ if (latestRequirement !== void 0) {
744
+ latestRequirement.verifyMethod = verifyMethod;
745
+ }
746
+ };
747
+ const addElement = (name) => {
748
+ if (elements[name] === void 0) {
749
+ elements[name] = {
750
+ name,
751
+ type: latestElement.type,
752
+ docRef: latestElement.docRef
753
+ };
754
+ log$1.info("Added new requirement: ", name);
755
+ }
756
+ latestElement = {};
757
+ return elements[name];
758
+ };
759
+ const getElements = () => elements;
760
+ const setNewElementType = (type) => {
761
+ if (latestElement !== void 0) {
762
+ latestElement.type = type;
763
+ }
764
+ };
765
+ const setNewElementDocRef = (docRef) => {
766
+ if (latestElement !== void 0) {
767
+ latestElement.docRef = docRef;
768
+ }
769
+ };
770
+ const addRelationship = (type, src, dst) => {
771
+ relations.push({
772
+ type,
773
+ src,
774
+ dst
775
+ });
776
+ };
777
+ const getRelationships = () => relations;
778
+ const clear = () => {
779
+ relations = [];
780
+ latestRequirement = {};
781
+ requirements = {};
782
+ latestElement = {};
783
+ elements = {};
784
+ clear$1();
785
+ };
786
+ const db = {
787
+ RequirementType,
788
+ RiskLevel,
789
+ VerifyType,
790
+ Relationships,
791
+ getConfig: () => getConfig().req,
792
+ addRequirement,
793
+ getRequirements,
794
+ setNewReqId,
795
+ setNewReqText,
796
+ setNewReqRisk,
797
+ setNewReqVerifyMethod,
798
+ setAccTitle,
799
+ getAccTitle,
800
+ setAccDescription,
801
+ getAccDescription,
802
+ addElement,
803
+ getElements,
804
+ setNewElementType,
805
+ setNewElementDocRef,
806
+ addRelationship,
807
+ getRelationships,
808
+ clear
809
+ };
810
+ const getStyles = (options) => `
811
+
812
+ marker {
813
+ fill: ${options.relationColor};
814
+ stroke: ${options.relationColor};
815
+ }
816
+
817
+ marker.cross {
818
+ stroke: ${options.lineColor};
819
+ }
820
+
821
+ svg {
822
+ font-family: ${options.fontFamily};
823
+ font-size: ${options.fontSize};
824
+ }
825
+
826
+ .reqBox {
827
+ fill: ${options.requirementBackground};
828
+ fill-opacity: 1.0;
829
+ stroke: ${options.requirementBorderColor};
830
+ stroke-width: ${options.requirementBorderSize};
831
+ }
832
+
833
+ .reqTitle, .reqLabel{
834
+ fill: ${options.requirementTextColor};
835
+ }
836
+ .reqLabelBox {
837
+ fill: ${options.relationLabelBackground};
838
+ fill-opacity: 1.0;
839
+ }
840
+
841
+ .req-title-line {
842
+ stroke: ${options.requirementBorderColor};
843
+ stroke-width: ${options.requirementBorderSize};
844
+ }
845
+ .relationshipLine {
846
+ stroke: ${options.relationColor};
847
+ stroke-width: 1;
848
+ }
849
+ .relationshipLabel {
850
+ fill: ${options.relationLabelColor};
851
+ }
852
+
853
+ `;
854
+ const styles = getStyles;
855
+ const ReqMarkers = {
856
+ CONTAINS: "contains",
857
+ ARROW: "arrow"
858
+ };
859
+ const insertLineEndings = (parentNode, conf2) => {
860
+ let containsNode = parentNode.append("defs").append("marker").attr("id", ReqMarkers.CONTAINS + "_line_ending").attr("refX", 0).attr("refY", conf2.line_height / 2).attr("markerWidth", conf2.line_height).attr("markerHeight", conf2.line_height).attr("orient", "auto").append("g");
861
+ containsNode.append("circle").attr("cx", conf2.line_height / 2).attr("cy", conf2.line_height / 2).attr("r", conf2.line_height / 2).attr("fill", "none");
862
+ containsNode.append("line").attr("x1", 0).attr("x2", conf2.line_height).attr("y1", conf2.line_height / 2).attr("y2", conf2.line_height / 2).attr("stroke-width", 1);
863
+ containsNode.append("line").attr("y1", 0).attr("y2", conf2.line_height).attr("x1", conf2.line_height / 2).attr("x2", conf2.line_height / 2).attr("stroke-width", 1);
864
+ parentNode.append("defs").append("marker").attr("id", ReqMarkers.ARROW + "_line_ending").attr("refX", conf2.line_height).attr("refY", 0.5 * conf2.line_height).attr("markerWidth", conf2.line_height).attr("markerHeight", conf2.line_height).attr("orient", "auto").append("path").attr(
865
+ "d",
866
+ `M0,0
867
+ L${conf2.line_height},${conf2.line_height / 2}
868
+ M${conf2.line_height},${conf2.line_height / 2}
869
+ L0,${conf2.line_height}`
870
+ ).attr("stroke-width", 1);
871
+ };
872
+ const markers = {
873
+ ReqMarkers,
874
+ insertLineEndings
875
+ };
876
+ let conf = {};
877
+ let relCnt = 0;
878
+ const newRectNode = (parentNode, id) => {
879
+ return parentNode.insert("rect", "#" + id).attr("class", "req reqBox").attr("x", 0).attr("y", 0).attr("width", conf.rect_min_width + "px").attr("height", conf.rect_min_height + "px");
880
+ };
881
+ const newTitleNode = (parentNode, id, txts) => {
882
+ let x = conf.rect_min_width / 2;
883
+ let title = parentNode.append("text").attr("class", "req reqLabel reqTitle").attr("id", id).attr("x", x).attr("y", conf.rect_padding).attr("dominant-baseline", "hanging");
884
+ let i = 0;
885
+ txts.forEach((textStr) => {
886
+ if (i == 0) {
887
+ title.append("tspan").attr("text-anchor", "middle").attr("x", conf.rect_min_width / 2).attr("dy", 0).text(textStr);
888
+ } else {
889
+ title.append("tspan").attr("text-anchor", "middle").attr("x", conf.rect_min_width / 2).attr("dy", conf.line_height * 0.75).text(textStr);
890
+ }
891
+ i++;
892
+ });
893
+ let yPadding = 1.5 * conf.rect_padding;
894
+ let linePadding = i * conf.line_height * 0.75;
895
+ let totalY = yPadding + linePadding;
896
+ parentNode.append("line").attr("class", "req-title-line").attr("x1", "0").attr("x2", conf.rect_min_width).attr("y1", totalY).attr("y2", totalY);
897
+ return {
898
+ titleNode: title,
899
+ y: totalY
900
+ };
901
+ };
902
+ const newBodyNode = (parentNode, id, txts, yStart) => {
903
+ let body = parentNode.append("text").attr("class", "req reqLabel").attr("id", id).attr("x", conf.rect_padding).attr("y", yStart).attr("dominant-baseline", "hanging");
904
+ let currentRow = 0;
905
+ const charLimit = 30;
906
+ let wrappedTxts = [];
907
+ txts.forEach((textStr) => {
908
+ let currentTextLen = textStr.length;
909
+ while (currentTextLen > charLimit && currentRow < 3) {
910
+ let firstPart = textStr.substring(0, charLimit);
911
+ textStr = textStr.substring(charLimit, textStr.length);
912
+ currentTextLen = textStr.length;
913
+ wrappedTxts[wrappedTxts.length] = firstPart;
914
+ currentRow++;
915
+ }
916
+ if (currentRow == 3) {
917
+ let lastStr = wrappedTxts[wrappedTxts.length - 1];
918
+ wrappedTxts[wrappedTxts.length - 1] = lastStr.substring(0, lastStr.length - 4) + "...";
919
+ } else {
920
+ wrappedTxts[wrappedTxts.length] = textStr;
921
+ }
922
+ currentRow = 0;
923
+ });
924
+ wrappedTxts.forEach((textStr) => {
925
+ body.append("tspan").attr("x", conf.rect_padding).attr("dy", conf.line_height).text(textStr);
926
+ });
927
+ return body;
928
+ };
929
+ const addEdgeLabel = (parentNode, svgPath, conf2, txt) => {
930
+ const len = svgPath.node().getTotalLength();
931
+ const labelPoint = svgPath.node().getPointAtLength(len * 0.5);
932
+ const labelId = "rel" + relCnt;
933
+ relCnt++;
934
+ const labelNode = parentNode.append("text").attr("class", "req relationshipLabel").attr("id", labelId).attr("x", labelPoint.x).attr("y", labelPoint.y).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(txt);
935
+ const labelBBox = labelNode.node().getBBox();
936
+ parentNode.insert("rect", "#" + labelId).attr("class", "req reqLabelBox").attr("x", labelPoint.x - labelBBox.width / 2).attr("y", labelPoint.y - labelBBox.height / 2).attr("width", labelBBox.width).attr("height", labelBBox.height).attr("fill", "white").attr("fill-opacity", "85%");
937
+ };
938
+ const drawRelationshipFromLayout = function(svg, rel, g, insert, diagObj) {
939
+ const edge = g.edge(elementString(rel.src), elementString(rel.dst));
940
+ const lineFunction = line().x(function(d) {
941
+ return d.x;
942
+ }).y(function(d) {
943
+ return d.y;
944
+ });
945
+ const svgPath = svg.insert("path", "#" + insert).attr("class", "er relationshipLine").attr("d", lineFunction(edge.points)).attr("fill", "none");
946
+ if (rel.type == diagObj.db.Relationships.CONTAINS) {
947
+ svgPath.attr(
948
+ "marker-start",
949
+ "url(" + common$1.getUrl(conf.arrowMarkerAbsolute) + "#" + rel.type + "_line_ending)"
950
+ );
951
+ } else {
952
+ svgPath.attr("stroke-dasharray", "10,7");
953
+ svgPath.attr(
954
+ "marker-end",
955
+ "url(" + common$1.getUrl(conf.arrowMarkerAbsolute) + "#" + markers.ReqMarkers.ARROW + "_line_ending)"
956
+ );
957
+ }
958
+ addEdgeLabel(svg, svgPath, conf, `<<${rel.type}>>`);
959
+ return;
960
+ };
961
+ const drawReqs = (reqs, graph, svgNode) => {
962
+ Object.keys(reqs).forEach((reqName) => {
963
+ let req = reqs[reqName];
964
+ reqName = elementString(reqName);
965
+ log$1.info("Added new requirement: ", reqName);
966
+ const groupNode = svgNode.append("g").attr("id", reqName);
967
+ const textId = "req-" + reqName;
968
+ const rectNode = newRectNode(groupNode, textId);
969
+ let titleNodeInfo = newTitleNode(groupNode, reqName + "_title", [
970
+ `<<${req.type}>>`,
971
+ `${req.name}`
972
+ ]);
973
+ newBodyNode(
974
+ groupNode,
975
+ reqName + "_body",
976
+ [
977
+ `Id: ${req.id}`,
978
+ `Text: ${req.text}`,
979
+ `Risk: ${req.risk}`,
980
+ `Verification: ${req.verifyMethod}`
981
+ ],
982
+ titleNodeInfo.y
983
+ );
984
+ const rectBBox = rectNode.node().getBBox();
985
+ graph.setNode(reqName, {
986
+ width: rectBBox.width,
987
+ height: rectBBox.height,
988
+ shape: "rect",
989
+ id: reqName
990
+ });
991
+ });
992
+ };
993
+ const drawElements = (els, graph, svgNode) => {
994
+ Object.keys(els).forEach((elName) => {
995
+ let el = els[elName];
996
+ const id = elementString(elName);
997
+ const groupNode = svgNode.append("g").attr("id", id);
998
+ const textId = "element-" + id;
999
+ const rectNode = newRectNode(groupNode, textId);
1000
+ let titleNodeInfo = newTitleNode(groupNode, textId + "_title", [`<<Element>>`, `${elName}`]);
1001
+ newBodyNode(
1002
+ groupNode,
1003
+ textId + "_body",
1004
+ [`Type: ${el.type || "Not Specified"}`, `Doc Ref: ${el.docRef || "None"}`],
1005
+ titleNodeInfo.y
1006
+ );
1007
+ const rectBBox = rectNode.node().getBBox();
1008
+ graph.setNode(id, {
1009
+ width: rectBBox.width,
1010
+ height: rectBBox.height,
1011
+ shape: "rect",
1012
+ id
1013
+ });
1014
+ });
1015
+ };
1016
+ const addRelationships = (relationships, g) => {
1017
+ relationships.forEach(function(r) {
1018
+ let src = elementString(r.src);
1019
+ let dst = elementString(r.dst);
1020
+ g.setEdge(src, dst, { relationship: r });
1021
+ });
1022
+ return relationships;
1023
+ };
1024
+ const adjustEntities = function(svgNode, graph) {
1025
+ graph.nodes().forEach(function(v) {
1026
+ if (v !== void 0 && graph.node(v) !== void 0) {
1027
+ svgNode.select("#" + v);
1028
+ svgNode.select("#" + v).attr(
1029
+ "transform",
1030
+ "translate(" + (graph.node(v).x - graph.node(v).width / 2) + "," + (graph.node(v).y - graph.node(v).height / 2) + " )"
1031
+ );
1032
+ }
1033
+ });
1034
+ return;
1035
+ };
1036
+ const elementString = (str) => {
1037
+ return str.replace(/\s/g, "").replace(/\./g, "_");
1038
+ };
1039
+ const draw = (text, id, _version, diagObj) => {
1040
+ conf = getConfig().requirement;
1041
+ const securityLevel = conf.securityLevel;
1042
+ let sandboxElement;
1043
+ if (securityLevel === "sandbox") {
1044
+ sandboxElement = select("#i" + id);
1045
+ }
1046
+ const root = securityLevel === "sandbox" ? select(sandboxElement.nodes()[0].contentDocument.body) : select("body");
1047
+ const svg = root.select(`[id='${id}']`);
1048
+ markers.insertLineEndings(svg, conf);
1049
+ const g = new Graph({
1050
+ multigraph: false,
1051
+ compound: false,
1052
+ directed: true
1053
+ }).setGraph({
1054
+ rankdir: conf.layoutDirection,
1055
+ marginx: 20,
1056
+ marginy: 20,
1057
+ nodesep: 100,
1058
+ edgesep: 100,
1059
+ ranksep: 100
1060
+ }).setDefaultEdgeLabel(function() {
1061
+ return {};
1062
+ });
1063
+ let requirements2 = diagObj.db.getRequirements();
1064
+ let elements2 = diagObj.db.getElements();
1065
+ let relationships = diagObj.db.getRelationships();
1066
+ drawReqs(requirements2, g, svg);
1067
+ drawElements(elements2, g, svg);
1068
+ addRelationships(relationships, g);
1069
+ layout(g);
1070
+ adjustEntities(svg, g);
1071
+ relationships.forEach(function(rel) {
1072
+ drawRelationshipFromLayout(svg, rel, g, id, diagObj);
1073
+ });
1074
+ const padding = conf.rect_padding;
1075
+ const svgBounds = svg.node().getBBox();
1076
+ const width = svgBounds.width + padding * 2;
1077
+ const height = svgBounds.height + padding * 2;
1078
+ configureSvgSize(svg, height, width, conf.useMaxWidth);
1079
+ svg.attr("viewBox", `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`);
1080
+ };
1081
+ const renderer = {
1082
+ draw
1083
+ };
1084
+ const diagram = {
1085
+ parser: parser$1,
1086
+ db,
1087
+ renderer,
1088
+ styles
1089
+ };
1090
+ export {
1091
+ diagram
1092
+ };