@sjcrh/proteinpaint-client 2.191.4 → 2.193.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 (963) hide show
  1. package/dist/2dmaf-US2ZAJJJ.js +1373 -0
  2. package/dist/AIProjectAdmin-QQO2PNAJ.js +958 -0
  3. package/dist/AIProjectAdmin-QQO2PNAJ.js.map +7 -0
  4. package/dist/AppHeader-UKB344GC.js +835 -0
  5. package/dist/BoxPlot-JEBLRKBY.js +1217 -0
  6. package/dist/BoxPlot-JEBLRKBY.js.map +7 -0
  7. package/dist/CorrelationVolcano-J3IFVSZB.js +619 -0
  8. package/dist/DE-PAPJP6AH.js +95 -0
  9. package/dist/DEinput-YON466QQ.js +301 -0
  10. package/dist/DifferentialAnalysis-DEUODXGG.js +245 -0
  11. package/dist/Disco-OZM4S7HF.js +3297 -0
  12. package/dist/Disco-OZM4S7HF.js.map +7 -0
  13. package/dist/Disco.UI-VIHYJGYU.js +249 -0
  14. package/dist/Disco.UI-VIHYJGYU.js.map +7 -0
  15. package/dist/DmrPlot-DSELMC4E.js +642 -0
  16. package/dist/GB-MUPI6RL5.js +1151 -0
  17. package/dist/GB-MUPI6RL5.js.map +7 -0
  18. package/dist/GeneExpInput-3AQEPTFZ.js +367 -0
  19. package/dist/GeneExpInput-3AQEPTFZ.js.map +7 -0
  20. package/dist/HicApp-BP7PSXY2.js +2250 -0
  21. package/dist/NumBinaryEditor-CHWQT445.js +271 -0
  22. package/dist/NumBinaryEditor.unit.spec-MXRNK7XH.js +286 -0
  23. package/dist/NumContEditor-XS3RA7GY.js +109 -0
  24. package/dist/NumContEditor.unit.spec-662MHSP4.js +169 -0
  25. package/dist/NumCustomBinEditor-LUVIAXMZ.js +38 -0
  26. package/dist/NumCustomBinEditor.unit.spec-3D3GY3F4.js +284 -0
  27. package/dist/NumDiscreteEditor-24W2A5IN.js +179 -0
  28. package/dist/NumDiscreteEditor.unit.spec-B5T42Z5S.js +202 -0
  29. package/dist/NumRegularBinEditor-AING4HZ5.js +38 -0
  30. package/dist/NumRegularBinEditor.unit.spec-UKSVZH2S.js +227 -0
  31. package/dist/NumSplineEditor-54KNKHJX.js +198 -0
  32. package/dist/NumSplineEditor.unit.spec-5FTST3Y5.js +199 -0
  33. package/dist/NumericDensity-C7DQZ5Q5.js +38 -0
  34. package/dist/NumericDensity.unit.spec-HV6SD3ZS.js +221 -0
  35. package/dist/NumericHandler-FV3L23EC.js +39 -0
  36. package/dist/NumericHandler.unit.spec-E72DXVBB.js +219 -0
  37. package/dist/ProteomeInput-3XTK74SN.js +396 -0
  38. package/dist/RunChart2-X5FBZVRX.js +758 -0
  39. package/dist/SC-WE5DG2CQ.js +1127 -0
  40. package/dist/SC-WE5DG2CQ.js.map +7 -0
  41. package/dist/Volcano-2USCTLKO.js +1379 -0
  42. package/dist/WSIViewer-U6VSJUFF.js +48562 -0
  43. package/dist/WSIViewer-U6VSJUFF.js.map +7 -0
  44. package/dist/WsiSamplesPlot-VIKSG63U.js +165 -0
  45. package/dist/adSandbox-VXUJGPD3.js +38 -0
  46. package/dist/animatedBubbleChart-4P7XLKSB.js +555 -0
  47. package/dist/animatedBubbleChart-4P7XLKSB.js.map +7 -0
  48. package/dist/app-KHZT2BVF.js +49 -0
  49. package/dist/app-XLYH3YPL.js +37 -0
  50. package/dist/app.js +20 -20
  51. package/dist/bam-C23ZARYE.js +860 -0
  52. package/dist/barchart-KGXLYEIP.js +47 -0
  53. package/dist/barchart.data-7OI5GZZ6.js +22 -0
  54. package/dist/barchart.events-3KDNIFBG.js +47 -0
  55. package/dist/barchart.integration.spec-OQYY54AQ.js +2010 -0
  56. package/dist/barchart.integration.spec-OQYY54AQ.js.map +7 -0
  57. package/dist/barchart2-AT5FXOUY.js +314 -0
  58. package/dist/barchart2-AT5FXOUY.js.map +7 -0
  59. package/dist/bars.renderer-57KSYAAT.js +12 -0
  60. package/dist/block-TCWYUB4R.js +6226 -0
  61. package/dist/block-TCWYUB4R.js.map +7 -0
  62. package/dist/block.init-7FHXQJNE.js +38 -0
  63. package/dist/block.mds.expressionrank-UGZQK7Z3.js +359 -0
  64. package/dist/block.mds.geneboxplot-2CQLB4YN.js +828 -0
  65. package/dist/block.mds.junction-JHPHWVOS.js +1545 -0
  66. package/dist/block.mds.svcnv-E7P2SVKK.js +6801 -0
  67. package/dist/block.svg-MVRR3C6V.js +164 -0
  68. package/dist/block.tk.aicheck-KX46G4TR.js +283 -0
  69. package/dist/block.tk.ase-WMXI47BF.js +365 -0
  70. package/dist/block.tk.bam-KFEGVEQQ.js +1906 -0
  71. package/dist/block.tk.bedgraphdot-P4DBCWFK.js +384 -0
  72. package/dist/block.tk.bigwig.ui-WJPH2Z7F.js +212 -0
  73. package/dist/block.tk.hicstraw-RSD6I2NX.js +823 -0
  74. package/dist/block.tk.junction-VZS2DEDO.js +2364 -0
  75. package/dist/block.tk.junction.textmatrixui-UCWGHZDI.js +199 -0
  76. package/dist/block.tk.ld-ERSIIBM2.js +99 -0
  77. package/dist/block.tk.menu-2ZNXE7CE.js +1029 -0
  78. package/dist/block.tk.pgv-EJLACCFR.js +944 -0
  79. package/dist/brainImaging-BMZJY6OT.js +423 -0
  80. package/dist/brainRegions-RZEBXPAS.js +221 -0
  81. package/dist/brainRegions-RZEBXPAS.js.map +7 -0
  82. package/dist/bubbleHeatmap-ERJFMLPK.js +383 -0
  83. package/dist/bubbleHeatmap-ERJFMLPK.js.map +7 -0
  84. package/dist/chunk-27FPMFP2.js +54 -0
  85. package/dist/chunk-3LYZMOLO.js +58 -0
  86. package/dist/chunk-455XZIIA.js +222 -0
  87. package/dist/chunk-474DTKP7.js +263 -0
  88. package/dist/chunk-4AP3O3JW.js +226 -0
  89. package/dist/chunk-4JWN7E7Q.js +117 -0
  90. package/dist/chunk-55MOHL3P.js +158 -0
  91. package/dist/chunk-5CR24RTX.js +381 -0
  92. package/dist/chunk-5QTJUPFS.js +26 -0
  93. package/dist/chunk-5TJQ6633.js +291 -0
  94. package/dist/chunk-5X5LI5YM.js +254 -0
  95. package/dist/chunk-634MOGE3.js +314 -0
  96. package/dist/chunk-634MOGE3.js.map +7 -0
  97. package/dist/chunk-6G4YOMWW.js +1825 -0
  98. package/dist/chunk-6SCBPP4C.js +95 -0
  99. package/dist/chunk-6YVEYTNH.js +4269 -0
  100. package/dist/chunk-6YVEYTNH.js.map +7 -0
  101. package/dist/chunk-73R5BVCY.js +5067 -0
  102. package/dist/chunk-73R5BVCY.js.map +7 -0
  103. package/dist/chunk-74XVBQF7.js +55 -0
  104. package/dist/chunk-7I3LST7R.js +272 -0
  105. package/dist/chunk-7KRS7L4U.js +1443 -0
  106. package/dist/chunk-7KRS7L4U.js.map +7 -0
  107. package/dist/chunk-ATUYZWHV.js +1289 -0
  108. package/dist/chunk-ATUYZWHV.js.map +7 -0
  109. package/dist/chunk-B6U3EDAF.js +448 -0
  110. package/dist/chunk-B6U3EDAF.js.map +7 -0
  111. package/dist/chunk-BKPDYW5T.js +177 -0
  112. package/dist/chunk-BO47H3VP.js +477 -0
  113. package/dist/chunk-BOO4W7WD.js +482 -0
  114. package/dist/chunk-C6YT5EM2.js +217 -0
  115. package/dist/chunk-CDUNE45Q.js +534 -0
  116. package/dist/chunk-CLN7ANNL.js +216 -0
  117. package/dist/chunk-CLNSNNQU.js +302 -0
  118. package/dist/chunk-COYULNJF.js +119 -0
  119. package/dist/chunk-DBFKUPM6.js +1275 -0
  120. package/dist/chunk-DNVSEW6P.js +170 -0
  121. package/dist/chunk-E6XLLQCG.js +299 -0
  122. package/dist/chunk-E6XLLQCG.js.map +7 -0
  123. package/dist/chunk-EC3SKPQT.js +446 -0
  124. package/dist/chunk-EDXQKDVQ.js +368 -0
  125. package/dist/chunk-EY253UB7.js +448 -0
  126. package/dist/chunk-EY253UB7.js.map +7 -0
  127. package/dist/chunk-FABY3ISP.js +176 -0
  128. package/dist/chunk-FABY3ISP.js.map +7 -0
  129. package/dist/chunk-FOPHIWFD.js +100 -0
  130. package/dist/chunk-FVX76DZS.js +203 -0
  131. package/dist/chunk-FXGE233W.js +2681 -0
  132. package/dist/chunk-GBXX3AHJ.js +343 -0
  133. package/dist/chunk-GVCQGWN7.js +34 -0
  134. package/dist/chunk-HXNUQOGN.js +234 -0
  135. package/dist/chunk-HXNUQOGN.js.map +7 -0
  136. package/dist/chunk-HXZSSHEB.js +37 -0
  137. package/dist/chunk-I73KUUYG.js +287 -0
  138. package/dist/chunk-IKDWQJZE.js +736 -0
  139. package/dist/chunk-IVXCWCKS.js +317 -0
  140. package/dist/chunk-IVXCWCKS.js.map +7 -0
  141. package/dist/chunk-JEZUPG4J.js +617 -0
  142. package/dist/chunk-JEZUPG4J.js.map +7 -0
  143. package/dist/chunk-JWHFMFF2.js +142 -0
  144. package/dist/chunk-K3OJJZCQ.js +230 -0
  145. package/dist/chunk-KM4JBR26.js +815 -0
  146. package/dist/chunk-KNOFEVOJ.js +54 -0
  147. package/dist/chunk-L7VDSIM7.js +20881 -0
  148. package/dist/chunk-L7VDSIM7.js.map +7 -0
  149. package/dist/chunk-LLX3NKB4.js +148 -0
  150. package/dist/chunk-LQJMCE7G.js +467 -0
  151. package/dist/chunk-LSWU6EAQ.js +31 -0
  152. package/dist/chunk-MNIBZTQE.js +146 -0
  153. package/dist/chunk-MQJVDIQK.js +2786 -0
  154. package/dist/chunk-N25ENPO3.js +14 -0
  155. package/dist/chunk-N3JT3KCV.js +399 -0
  156. package/dist/chunk-N6QEVQZV.js +194 -0
  157. package/dist/chunk-NJDW6ZQP.js +102 -0
  158. package/dist/chunk-NLQQIVTC.js +276 -0
  159. package/dist/chunk-NU2W6B7I.js +833 -0
  160. package/dist/chunk-NU2W6B7I.js.map +7 -0
  161. package/dist/chunk-OR43PGBV.js +98 -0
  162. package/dist/chunk-PWUERAAF.js +182 -0
  163. package/dist/chunk-PXCFA4ZQ.js +2327 -0
  164. package/dist/chunk-QSEGY3U5.js +129 -0
  165. package/dist/chunk-SC6IPDJR.js +6364 -0
  166. package/dist/chunk-SDMOLIEU.js +1205 -0
  167. package/dist/chunk-SDMOLIEU.js.map +7 -0
  168. package/dist/chunk-SOTB4FRE.js +2098 -0
  169. package/dist/chunk-SOTB4FRE.js.map +7 -0
  170. package/dist/chunk-T46LHXJW.js +283 -0
  171. package/dist/chunk-TJYRBEBK.js +2878 -0
  172. package/dist/chunk-UDL2DEBB.js +50 -0
  173. package/dist/chunk-UN3O2MNB.js +375 -0
  174. package/dist/chunk-UN3O2MNB.js.map +7 -0
  175. package/dist/chunk-UXDVUCXU.js +190 -0
  176. package/dist/chunk-UXDVUCXU.js.map +7 -0
  177. package/dist/chunk-VDIVDU3T.js +386 -0
  178. package/dist/chunk-VQZ2Z5YU.js +587 -0
  179. package/dist/chunk-VQZ2Z5YU.js.map +7 -0
  180. package/dist/chunk-VRLC7DAU.js +2833 -0
  181. package/dist/chunk-VRLC7DAU.js.map +7 -0
  182. package/dist/chunk-XQSQQSGB.js +1102 -0
  183. package/dist/chunk-XVXAQ3FI.js +1943 -0
  184. package/dist/chunk-Y45JIQ5Y.js +1219 -0
  185. package/dist/chunk-Y45JIQ5Y.js.map +7 -0
  186. package/dist/chunk-YQMENK5H.js +102 -0
  187. package/dist/chunk-ZUC4XNWU.js +514 -0
  188. package/dist/condition-ZPFBPMEZ.js +332 -0
  189. package/dist/controls-LIVMV2GV.js +41 -0
  190. package/dist/controls.config-2EOMBN5E.js +39 -0
  191. package/dist/correlation-D6GAPOP5.js +102 -0
  192. package/dist/correlation-D6GAPOP5.js.map +7 -0
  193. package/dist/cuminc-GPFDRNUP.js +1149 -0
  194. package/dist/cuminc.integration.spec-V4JYKLA6.js +678 -0
  195. package/dist/customdata.inputui-DSEUS3CT.js +289 -0
  196. package/dist/dataDownload-KT6K3M7Q.js +330 -0
  197. package/dist/dataDownload.integration.spec-VEX2RTSA.js +193 -0
  198. package/dist/databrowser.ui-VJKNMIXA.js +433 -0
  199. package/dist/dictionary-B27BMR5H.js +118 -0
  200. package/dist/dictionary-B27BMR5H.js.map +7 -0
  201. package/dist/dnaMethylation-BWQGUXVR.js +38 -0
  202. package/dist/dnaMethylation.integration.spec-YMGT2HYZ.js +203 -0
  203. package/dist/dofetch-BMSZZAAQ.js +51 -0
  204. package/dist/e2pca-KSY4DP53.js +350 -0
  205. package/dist/ep-4PAYGMWK.js +1256 -0
  206. package/dist/expclust.gdc.spec-XXFP2HHE.js +307 -0
  207. package/dist/facet-VCJQ7QPE.js +521 -0
  208. package/dist/forms2-IUD2SNOQ.js +539 -0
  209. package/dist/forms2-IUD2SNOQ.js.map +7 -0
  210. package/dist/gb-JDH242LG.js +88 -0
  211. package/dist/geneExpClustering-L23JB7XA.js +249 -0
  212. package/dist/geneExpression-P2ERCRXO.js +313 -0
  213. package/dist/geneExpression-QGPVFAN4.js +38 -0
  214. package/dist/geneExpression.unit.spec-6BQBM6VL.js +102 -0
  215. package/dist/geneORA-XIMJP665.js +278 -0
  216. package/dist/geneRanking-AJH5G22J.js +551 -0
  217. package/dist/geneVariant-AUUZ7S2B.js +41 -0
  218. package/dist/geneVariant-H6BGRRON.js +39 -0
  219. package/dist/geneVariant.integration.spec-FRCH6VI4.js +198 -0
  220. package/dist/genefusion.ui-AAJ37VFA.js +309 -0
  221. package/dist/geneset-5ARBBUYH.js +208 -0
  222. package/dist/genomeBrowser.spec-RV7YBSMZ.js +281 -0
  223. package/dist/grin2-4MYLICII.js +75 -0
  224. package/dist/grin2-4MYLICII.js.map +7 -0
  225. package/dist/grin2-RBK4NI6W.js +967 -0
  226. package/dist/grin2-RBK4NI6W.js.map +7 -0
  227. package/dist/gsea-XUMCVLFK.js +47 -0
  228. package/dist/hierCluster-HXOTNMC5.js +63 -0
  229. package/dist/hierCluster-PEDY7OTZ.js +59 -0
  230. package/dist/hierCluster.config-RKYCGNWW.js +40 -0
  231. package/dist/hierCluster.integration.spec-YKMAT7UU.js +395 -0
  232. package/dist/hierCluster.interactivity-LPTHVWHR.js +54 -0
  233. package/dist/hierCluster.renderers-4XWKHCNW.js +21 -0
  234. package/dist/imagePlot-3DF7ZH3U.js +163 -0
  235. package/dist/importPlot-N74SV3TL.js +8 -0
  236. package/dist/isoformExpression-FU7Y4OGU.js +40 -0
  237. package/dist/isoformExpression.unit.spec-BLQDKV37.js +208 -0
  238. package/dist/launch.adhoc-Y35FZV6H.js +42 -0
  239. package/dist/leftlabel.sample-ERJGAYTF.js +264 -0
  240. package/dist/leftlabel.sample-ERJGAYTF.js.map +7 -0
  241. package/dist/legacyDataset-TNIIJABK.js +119 -0
  242. package/dist/lollipop-DU37Q5E2.js +171 -0
  243. package/dist/maf-NRLSNDOT.js +452 -0
  244. package/dist/maftimeline-GRXGOOSJ.js +593 -0
  245. package/dist/matrix-G3BULZ7Y.js +58 -0
  246. package/dist/matrix-TCTX26A4.js +63 -0
  247. package/dist/matrix.cells-ED6RS5EC.js +28 -0
  248. package/dist/matrix.config-QHO2YNOT.js +41 -0
  249. package/dist/matrix.data-KQFMXWRX.js +25 -0
  250. package/dist/matrix.groups-RE74EFLY.js +27 -0
  251. package/dist/matrix.integration.spec-Y4FCZ2Q2.js +3072 -0
  252. package/dist/matrix.interactivity-3DW5WAM3.js +42 -0
  253. package/dist/matrix.layout-W57D765I.js +44 -0
  254. package/dist/matrix.legend-ZST44PIB.js +22 -0
  255. package/dist/matrix.renderers-NFRKXO7Y.js +38 -0
  256. package/dist/matrix.serieses-6ZKTFVWY.js +21 -0
  257. package/dist/matrix.sort-2UE47IOC.js +27 -0
  258. package/dist/matrix.sort.unit.spec-5CMWEXPE.js +472 -0
  259. package/dist/matrix.sorterUi-WC2YX7S7.js +18 -0
  260. package/dist/matrix.sorterUi.unit.spec-Y2HXWHJN.js +342 -0
  261. package/dist/mavb-BI4XKI5P.js +732 -0
  262. package/dist/mds.fimo-UJYESPNC.js +518 -0
  263. package/dist/mds.samplescatterplot-JKU5B4QR.js +1550 -0
  264. package/dist/mds.survivalplot-OP7Y4D3L.js +483 -0
  265. package/dist/numericDictTermCluster-DRIEJJSP.js +72 -0
  266. package/dist/oncomatrix-A3IE47HV.js +295 -0
  267. package/dist/oncomatrix.spec-TDWB2ROF.js +448 -0
  268. package/dist/plot.2dvaf-XY34TDSM.js +377 -0
  269. package/dist/plot.app-WRCBLYGO.js +41 -0
  270. package/dist/plot.barplot-RXGOUNHM.js +102 -0
  271. package/dist/plot.boxplot-GBZGSS3D.js +152 -0
  272. package/dist/plot.brainImaging-DYPKMNHL.js +51 -0
  273. package/dist/plot.disco-5K2SCKJ4.js +102 -0
  274. package/dist/plot.dzi-THJIFHIS.js +33 -0
  275. package/dist/plot.ssgq-FSIUIV3A.js +139 -0
  276. package/dist/plot.vaf2cov-HP6KEBVJ.js +259 -0
  277. package/dist/plot.wsi-MR6JMOXW.js +36 -0
  278. package/dist/polar2-IT3OF5DX.js +231 -0
  279. package/dist/polar2-IT3OF5DX.js.map +7 -0
  280. package/dist/profileForms-XXGJVF2T.js +446 -0
  281. package/dist/profileForms-XXGJVF2T.js.map +7 -0
  282. package/dist/profilePlot-J2C35OEY.js +54 -0
  283. package/dist/proteinView-7FDCILPH.js +1556 -0
  284. package/dist/proteinView-7FDCILPH.js.map +7 -0
  285. package/dist/qualitative-N7S2JHZM.js +43 -0
  286. package/dist/radar2-CDDOQGQX.js +326 -0
  287. package/dist/radar2-CDDOQGQX.js.map +7 -0
  288. package/dist/radarFacility2-ZQTHO2ON.js +334 -0
  289. package/dist/radarFacility2-ZQTHO2ON.js.map +7 -0
  290. package/dist/regression-PBGAMZAV.js +56 -0
  291. package/dist/regression.inputs-54E5YKI4.js +48 -0
  292. package/dist/regression.inputs.term-52MBTMVM.js +48 -0
  293. package/dist/regression.inputs.values.table-F3FOAYFV.js +45 -0
  294. package/dist/regression.integration.spec-M4RPJUE4.js +784 -0
  295. package/dist/regression.results-JOK6I2ZD.js +40 -0
  296. package/dist/regression.spec-O4HZB2HQ.js +708 -0
  297. package/dist/report-BDDTM7SV.js +222 -0
  298. package/dist/sampleScatter.spec-272GLYEK.js +202 -0
  299. package/dist/sampleView-E6OHEEP4.js +48 -0
  300. package/dist/samplelst-3LNF3DBG.js +111 -0
  301. package/dist/samplematrix-HL445X7I.js +2198 -0
  302. package/dist/sc-4LELHVIS.js +86 -0
  303. package/dist/scatter-IZIZURQD.js +851 -0
  304. package/dist/scatter-IZIZURQD.js.map +7 -0
  305. package/dist/scatter.integration.spec-BBEWMA7M.js +1206 -0
  306. package/dist/scatter.integration.spec-BBEWMA7M.js.map +7 -0
  307. package/dist/selectGenomeWithTklst-5LQGT4Z7.js +134 -0
  308. package/dist/singleCellCellType-T3ZT64EK.js +38 -0
  309. package/dist/singleCellCellType.unit.spec-AE4IAHOF.js +160 -0
  310. package/dist/singleCellGeneExpression-SRJXSDEB.js +38 -0
  311. package/dist/singleCellGeneExpression.unit.spec-EPL73UUO.js +153 -0
  312. package/dist/singleCellPlot-P2BHFTYZ.js +54 -0
  313. package/dist/singlecell-32SSD7VN.js +1572 -0
  314. package/dist/singlecell-7KRD5DP7.js +86 -0
  315. package/dist/snp-LE5R377N.js +38 -0
  316. package/dist/snp.unit.spec-UY6KQ5NJ.js +176 -0
  317. package/dist/snplocus-CP34ABUJ.js +208 -0
  318. package/dist/spliceevent.a53ss.diagram-JWLWQDNJ.js +151 -0
  319. package/dist/spliceevent.exonskip.diagram-C5526P7P.js +277 -0
  320. package/dist/spliceevent.noeventdiagram-352M63YB.js +460 -0
  321. package/dist/ssGSEA-BFTCECV3.js +38 -0
  322. package/dist/ssGSEA.unit.spec-4OUCKRDQ.js +88 -0
  323. package/dist/summarizeCnvGeneexp-Y3AWFIZA.js +163 -0
  324. package/dist/summarizeGeneexpSurvival-U5JSPG22.js +108 -0
  325. package/dist/summarizeMutationCnv-KCOVQEBC.js +164 -0
  326. package/dist/summarizeMutationDiagnosis-EQXEQABW.js +40 -0
  327. package/dist/summarizeMutationSurvival-4VGLG4SC.js +99 -0
  328. package/dist/summary-DXYCBNI4.js +49 -0
  329. package/dist/summary.integration.spec-MZTJISLP.js +414 -0
  330. package/dist/summaryInput-5Z3XVIL6.js +235 -0
  331. package/dist/sunburst-WVSQJYP2.js +284 -0
  332. package/dist/survival-3R3J2JBE.js +46 -0
  333. package/dist/survival-XQWFVGCJ.js +58 -0
  334. package/dist/survival.integration.spec-EBDPIBYM.js +821 -0
  335. package/dist/svgraph-SY2HVMYL.js +1387 -0
  336. package/dist/svmr-TIIMFKG7.js +3842 -0
  337. package/dist/table-5RFTXIQL.js +200 -0
  338. package/dist/termCollection-23QXTZDN.js +38 -0
  339. package/dist/termCollection-7KXABWVW.js +179 -0
  340. package/dist/termCollection.unit.spec-4AN2Z4PQ.js +208 -0
  341. package/dist/tk-WW6PJGPQ.js +46 -0
  342. package/dist/tp.ui-S5PO3MPH.js +1459 -0
  343. package/dist/tvs.dt-O7LUM5TK.js +39 -0
  344. package/dist/tvs.dtcnv.categorical-2OUFOD3W.js +40 -0
  345. package/dist/tvs.dtcnv.continuous-NOOUY5SZ.js +72 -0
  346. package/dist/tvs.dtfusion-KXQMP3UF.js +40 -0
  347. package/dist/tvs.dtsnvindel-PWHFTWZU.js +40 -0
  348. package/dist/tvs.dtsv-25FLS572.js +40 -0
  349. package/dist/tvs.numeric-KYAU5OV3.js +21 -0
  350. package/dist/tvs.samplelst-FLXNJFIV.js +104 -0
  351. package/dist/tvs.termCollection-PSVOMJE4.js +159 -0
  352. package/dist/violin-SWMEFWRA.js +46 -0
  353. package/dist/violin.integration.spec-6EQ6GC2N.js +1425 -0
  354. package/dist/violin.interactivity-WBIWPLSM.js +38 -0
  355. package/dist/violin.renderer-3WARZUOH.js +40 -0
  356. package/dist/vocabulary-WLHYHDX7.js +41 -0
  357. package/package.json +3 -3
  358. package/dist/2dmaf-Z3D2M3FB.js +0 -1373
  359. package/dist/AIProjectAdmin-2OQOQXH4.js +0 -956
  360. package/dist/AIProjectAdmin-2OQOQXH4.js.map +0 -7
  361. package/dist/AppHeader-PXLGVCVS.js +0 -835
  362. package/dist/BoxPlot-PUZKHACO.js +0 -1211
  363. package/dist/BoxPlot-PUZKHACO.js.map +0 -7
  364. package/dist/CorrelationVolcano-RO6CFLZA.js +0 -619
  365. package/dist/DE-CCA5SBJG.js +0 -95
  366. package/dist/DEinput-MRUQW6X6.js +0 -301
  367. package/dist/DifferentialAnalysis-5YQQLJKR.js +0 -245
  368. package/dist/Disco-4FTOJBLG.js +0 -3237
  369. package/dist/Disco-4FTOJBLG.js.map +0 -7
  370. package/dist/Disco.UI-IWVSK3RN.js +0 -245
  371. package/dist/Disco.UI-IWVSK3RN.js.map +0 -7
  372. package/dist/DmrPlot-FPJJHTM5.js +0 -642
  373. package/dist/GB-H6JETPRC.js +0 -1130
  374. package/dist/GB-H6JETPRC.js.map +0 -7
  375. package/dist/GeneExpInput-Q42COANS.js +0 -366
  376. package/dist/GeneExpInput-Q42COANS.js.map +0 -7
  377. package/dist/HicApp-BBD2YOMT.js +0 -2250
  378. package/dist/NumBinaryEditor-WMSF7HIO.js +0 -271
  379. package/dist/NumBinaryEditor.unit.spec-QQATLHF7.js +0 -286
  380. package/dist/NumContEditor-4CSTHVRX.js +0 -109
  381. package/dist/NumContEditor.unit.spec-2YF3OS3A.js +0 -169
  382. package/dist/NumCustomBinEditor-KFAYUWYV.js +0 -38
  383. package/dist/NumCustomBinEditor.unit.spec-YHAUSGPN.js +0 -284
  384. package/dist/NumDiscreteEditor-F46H5CME.js +0 -179
  385. package/dist/NumDiscreteEditor.unit.spec-5BIAWAVN.js +0 -202
  386. package/dist/NumRegularBinEditor-G7KOA7NR.js +0 -38
  387. package/dist/NumRegularBinEditor.unit.spec-Y6CBCWLN.js +0 -227
  388. package/dist/NumSplineEditor-JP2V2L4Y.js +0 -198
  389. package/dist/NumSplineEditor.unit.spec-N34QBZN3.js +0 -199
  390. package/dist/NumericDensity-JOPHLURB.js +0 -38
  391. package/dist/NumericDensity.unit.spec-N45PCLOT.js +0 -221
  392. package/dist/NumericHandler-SIM4E2Z5.js +0 -39
  393. package/dist/NumericHandler.unit.spec-NKLYDVTG.js +0 -219
  394. package/dist/ProteomeInput-5KMNE3PZ.js +0 -396
  395. package/dist/RunChart2-N7AZVQXJ.js +0 -758
  396. package/dist/SC-M6RGALZM.js +0 -936
  397. package/dist/SC-M6RGALZM.js.map +0 -7
  398. package/dist/Volcano-YH4RJTT5.js +0 -1379
  399. package/dist/WSIViewer-7LOVM3AU.js +0 -48508
  400. package/dist/WSIViewer-7LOVM3AU.js.map +0 -7
  401. package/dist/WsiSamplesPlot-QPPB7OOD.js +0 -165
  402. package/dist/adSandbox-R2QP74P7.js +0 -38
  403. package/dist/app-AIIN4WDE.js +0 -37
  404. package/dist/app-FJT5VXMF.js +0 -49
  405. package/dist/bam-QBO22VQB.js +0 -860
  406. package/dist/barchart-VDOP6FQU.js +0 -47
  407. package/dist/barchart.data-Z2E72EET.js +0 -22
  408. package/dist/barchart.events-NUYQBI5S.js +0 -47
  409. package/dist/barchart.integration.spec-COVZPXMH.js +0 -1980
  410. package/dist/barchart.integration.spec-COVZPXMH.js.map +0 -7
  411. package/dist/barchart2-KMSU4ROO.js +0 -311
  412. package/dist/barchart2-KMSU4ROO.js.map +0 -7
  413. package/dist/bars.renderer-JHCZDSM6.js +0 -12
  414. package/dist/block-TTN2IQAH.js +0 -6202
  415. package/dist/block-TTN2IQAH.js.map +0 -7
  416. package/dist/block.init-RRHHCNSR.js +0 -38
  417. package/dist/block.mds.expressionrank-7NWBRUII.js +0 -359
  418. package/dist/block.mds.geneboxplot-4BAJJWCC.js +0 -828
  419. package/dist/block.mds.junction-XRUIHAF5.js +0 -1545
  420. package/dist/block.mds.svcnv-YZ7PL733.js +0 -6801
  421. package/dist/block.svg-FUMP2J7A.js +0 -164
  422. package/dist/block.tk.aicheck-AIZEND45.js +0 -283
  423. package/dist/block.tk.ase-H26PKO5U.js +0 -365
  424. package/dist/block.tk.bam-XNZFHSDQ.js +0 -1906
  425. package/dist/block.tk.bedgraphdot-QTDBLBO2.js +0 -384
  426. package/dist/block.tk.bigwig.ui-OSRCPTQC.js +0 -212
  427. package/dist/block.tk.hicstraw-7GH6LVIH.js +0 -823
  428. package/dist/block.tk.junction-AJYML4AW.js +0 -2364
  429. package/dist/block.tk.junction.textmatrixui-4RIH3EZI.js +0 -199
  430. package/dist/block.tk.ld-AJYQ4C6T.js +0 -99
  431. package/dist/block.tk.menu-57OP5UW5.js +0 -1029
  432. package/dist/block.tk.pgv-XO7HP5MM.js +0 -944
  433. package/dist/brainImaging-65QDNR4D.js +0 -423
  434. package/dist/chunk-2XCUERHJ.js +0 -102
  435. package/dist/chunk-322QC6R4.js +0 -222
  436. package/dist/chunk-35SCELN4.js +0 -217
  437. package/dist/chunk-36EHIPV4.js +0 -514
  438. package/dist/chunk-3SZ6GKLB.js +0 -14
  439. package/dist/chunk-3ZLJDFJU.js +0 -368
  440. package/dist/chunk-4DXZGZOB.js +0 -54
  441. package/dist/chunk-4UWS5Y3N.js +0 -1438
  442. package/dist/chunk-4UWS5Y3N.js.map +0 -7
  443. package/dist/chunk-54EMVNPW.js +0 -102
  444. package/dist/chunk-57RBC6IZ.js +0 -302
  445. package/dist/chunk-5OUTR67M.js +0 -37
  446. package/dist/chunk-67DBIM6H.js +0 -293
  447. package/dist/chunk-67DBIM6H.js.map +0 -7
  448. package/dist/chunk-6A3IPDE2.js +0 -1943
  449. package/dist/chunk-6GN7X6LU.js +0 -2681
  450. package/dist/chunk-72X7LSBN.js +0 -54
  451. package/dist/chunk-74ZU4BT6.js +0 -2824
  452. package/dist/chunk-74ZU4BT6.js.map +0 -7
  453. package/dist/chunk-7EMWHCVW.js +0 -1825
  454. package/dist/chunk-7FACFCZK.js +0 -226
  455. package/dist/chunk-7XFGYYRV.js +0 -371
  456. package/dist/chunk-7XFGYYRV.js.map +0 -7
  457. package/dist/chunk-B6CSYKZJ.js +0 -1275
  458. package/dist/chunk-BDIKFVWZ.js +0 -443
  459. package/dist/chunk-BDIKFVWZ.js.map +0 -7
  460. package/dist/chunk-BWGU5NJS.js +0 -291
  461. package/dist/chunk-C5ZMAQXQ.js +0 -1173
  462. package/dist/chunk-C5ZMAQXQ.js.map +0 -7
  463. package/dist/chunk-CC3GFVV6.js +0 -117
  464. package/dist/chunk-CXQ6KS3Z.js +0 -1348
  465. package/dist/chunk-CXQ6KS3Z.js.map +0 -7
  466. package/dist/chunk-DCH54HC5.js +0 -824
  467. package/dist/chunk-DCH54HC5.js.map +0 -7
  468. package/dist/chunk-DD4R5P6W.js +0 -177
  469. package/dist/chunk-DKVUOBIE.js +0 -203
  470. package/dist/chunk-DR6H3QAA.js +0 -399
  471. package/dist/chunk-EH4NQ7C4.js +0 -170
  472. package/dist/chunk-EVN6KWPN.js +0 -50
  473. package/dist/chunk-FFEIP5CT.js +0 -458
  474. package/dist/chunk-FFEIP5CT.js.map +0 -7
  475. package/dist/chunk-FJP77STI.js +0 -158
  476. package/dist/chunk-FJP77STI.js.map +0 -7
  477. package/dist/chunk-G6O3URDN.js +0 -467
  478. package/dist/chunk-GNIK4JYM.js +0 -534
  479. package/dist/chunk-HKSNADSX.js +0 -477
  480. package/dist/chunk-I5RAQKKJ.js +0 -129
  481. package/dist/chunk-IW57W7EQ.js +0 -1210
  482. package/dist/chunk-IW57W7EQ.js.map +0 -7
  483. package/dist/chunk-J4SOF2ZH.js +0 -263
  484. package/dist/chunk-KPJZBCVI.js +0 -272
  485. package/dist/chunk-KSGA62R2.js +0 -2878
  486. package/dist/chunk-LTOBEUM2.js +0 -98
  487. package/dist/chunk-MYF2BWKC.js +0 -205
  488. package/dist/chunk-MYF2BWKC.js.map +0 -7
  489. package/dist/chunk-N2SKTCDK.js +0 -148
  490. package/dist/chunk-NGM3ZLIP.js +0 -230
  491. package/dist/chunk-NOEAT6CX.js +0 -317
  492. package/dist/chunk-NOEAT6CX.js.map +0 -7
  493. package/dist/chunk-NSXZPWRP.js +0 -482
  494. package/dist/chunk-O3JB4PIX.js +0 -31
  495. package/dist/chunk-OAWQ6LOO.js +0 -2063
  496. package/dist/chunk-OAWQ6LOO.js.map +0 -7
  497. package/dist/chunk-ODG6RD7P.js +0 -254
  498. package/dist/chunk-OEDZHPBJ.js +0 -58
  499. package/dist/chunk-ORL44TIK.js +0 -386
  500. package/dist/chunk-P3IENRWJ.js +0 -613
  501. package/dist/chunk-P3IENRWJ.js.map +0 -7
  502. package/dist/chunk-PCZNTK74.js +0 -26
  503. package/dist/chunk-QH6W3NVF.js +0 -287
  504. package/dist/chunk-QNETLNPB.js +0 -343
  505. package/dist/chunk-QQZ3SBF3.js +0 -216
  506. package/dist/chunk-R2MMURGK.js +0 -2786
  507. package/dist/chunk-SA7APTJR.js +0 -20792
  508. package/dist/chunk-SA7APTJR.js.map +0 -7
  509. package/dist/chunk-SHWLROJG.js +0 -283
  510. package/dist/chunk-SKREEF3H.js +0 -184
  511. package/dist/chunk-SKREEF3H.js.map +0 -7
  512. package/dist/chunk-TOU7EVFQ.js +0 -396
  513. package/dist/chunk-TOU7EVFQ.js.map +0 -7
  514. package/dist/chunk-UGVNZMLU.js +0 -4274
  515. package/dist/chunk-UGVNZMLU.js.map +0 -7
  516. package/dist/chunk-UI7OCM2A.js +0 -815
  517. package/dist/chunk-UJKW42DI.js +0 -6364
  518. package/dist/chunk-ULPMYS5B.js +0 -100
  519. package/dist/chunk-UOVALHAJ.js +0 -182
  520. package/dist/chunk-VGJSASRT.js +0 -446
  521. package/dist/chunk-VGYTAYFK.js +0 -276
  522. package/dist/chunk-VHOEJBFP.js +0 -736
  523. package/dist/chunk-VOUMS6IP.js +0 -1102
  524. package/dist/chunk-VV36JRUF.js +0 -381
  525. package/dist/chunk-W55XSG6K.js +0 -142
  526. package/dist/chunk-W6ME65LV.js +0 -34
  527. package/dist/chunk-WHI6466S.js +0 -146
  528. package/dist/chunk-WSDUD52Y.js +0 -55
  529. package/dist/chunk-XAVNZNXQ.js +0 -95
  530. package/dist/chunk-XMLURPEP.js +0 -194
  531. package/dist/chunk-YKXUK7HJ.js +0 -5041
  532. package/dist/chunk-YKXUK7HJ.js.map +0 -7
  533. package/dist/chunk-YZK37YCC.js +0 -119
  534. package/dist/chunk-ZTYNN6G5.js +0 -2327
  535. package/dist/chunk-ZXTHADSC.js +0 -158
  536. package/dist/condition-HDVYPJJD.js +0 -332
  537. package/dist/controls-YEEW46C6.js +0 -41
  538. package/dist/controls.config-C535H5DL.js +0 -39
  539. package/dist/correlation-AOSSSSL3.js +0 -99
  540. package/dist/correlation-AOSSSSL3.js.map +0 -7
  541. package/dist/cuminc-II7NFIFP.js +0 -1149
  542. package/dist/cuminc.integration.spec-B4N6OMBJ.js +0 -678
  543. package/dist/customdata.inputui-AI4ZBIEP.js +0 -289
  544. package/dist/dataDownload-ZQYLXN6D.js +0 -330
  545. package/dist/dataDownload.integration.spec-2PKYZ2AY.js +0 -193
  546. package/dist/databrowser.ui-WGD7D3XV.js +0 -433
  547. package/dist/dictionary-RYM4WP2W.js +0 -111
  548. package/dist/dictionary-RYM4WP2W.js.map +0 -7
  549. package/dist/dnaMethylation-WGJMJL5B.js +0 -38
  550. package/dist/dnaMethylation.integration.spec-DO3PV4MO.js +0 -203
  551. package/dist/dofetch-RADX3AFU.js +0 -51
  552. package/dist/e2pca-KOAAU2JX.js +0 -350
  553. package/dist/ep-CXCATXYH.js +0 -1256
  554. package/dist/expclust.gdc.spec-UJO2R3CW.js +0 -307
  555. package/dist/facet-2FBUAD7P.js +0 -521
  556. package/dist/forms2-ZBT5BZW3.js +0 -534
  557. package/dist/forms2-ZBT5BZW3.js.map +0 -7
  558. package/dist/gb-VCJFV63W.js +0 -88
  559. package/dist/geneExpClustering-FUNS6D2P.js +0 -249
  560. package/dist/geneExpression-2BWWGYL4.js +0 -38
  561. package/dist/geneExpression-2OPFWV2K.js +0 -313
  562. package/dist/geneExpression.unit.spec-G7BSHJQT.js +0 -102
  563. package/dist/geneORA-S3KQMBYL.js +0 -278
  564. package/dist/geneRanking-UZ36XAL7.js +0 -551
  565. package/dist/geneVariant-OOZ2SBXO.js +0 -41
  566. package/dist/geneVariant-ZHNVEKQ6.js +0 -39
  567. package/dist/geneVariant.integration.spec-2C7EWKEV.js +0 -198
  568. package/dist/genefusion.ui-ASICJNII.js +0 -309
  569. package/dist/geneset-SNM4M6UM.js +0 -208
  570. package/dist/genomeBrowser.spec-DJIRW2X7.js +0 -281
  571. package/dist/grin2-7AOJP5QJ.js +0 -1560
  572. package/dist/grin2-7AOJP5QJ.js.map +0 -7
  573. package/dist/grin2-RKJXYWJ5.js +0 -821
  574. package/dist/grin2-RKJXYWJ5.js.map +0 -7
  575. package/dist/gsea-SPTQJW67.js +0 -47
  576. package/dist/hierCluster-KDE5SMYP.js +0 -63
  577. package/dist/hierCluster-XG4YLVL3.js +0 -59
  578. package/dist/hierCluster.config-VNEEJCKJ.js +0 -40
  579. package/dist/hierCluster.integration.spec-SSDN7LSH.js +0 -395
  580. package/dist/hierCluster.interactivity-DKBSJ644.js +0 -54
  581. package/dist/hierCluster.renderers-OG6LZAT7.js +0 -21
  582. package/dist/imagePlot-M5JSHEY4.js +0 -163
  583. package/dist/importPlot-YH7ZY6RJ.js +0 -8
  584. package/dist/isoformExpression-EV27MKYZ.js +0 -40
  585. package/dist/isoformExpression.unit.spec-7T2GOHH3.js +0 -208
  586. package/dist/launch.adhoc-NOISOX5E.js +0 -42
  587. package/dist/leftlabel.sample-42AX4KTV.js +0 -260
  588. package/dist/leftlabel.sample-42AX4KTV.js.map +0 -7
  589. package/dist/legacyDataset-SWJCAWIR.js +0 -119
  590. package/dist/lollipop-LQCQBTSX.js +0 -171
  591. package/dist/maf-U237OWZ3.js +0 -452
  592. package/dist/maftimeline-NLZLMHT2.js +0 -593
  593. package/dist/matrix-DZJXYRYN.js +0 -63
  594. package/dist/matrix-Y5345QQG.js +0 -58
  595. package/dist/matrix.cells-PT7S74QP.js +0 -28
  596. package/dist/matrix.config-2ORCUWKX.js +0 -41
  597. package/dist/matrix.data-C6VPQJJ4.js +0 -25
  598. package/dist/matrix.groups-CEOCG2CT.js +0 -27
  599. package/dist/matrix.integration.spec-U4B3JB6N.js +0 -3072
  600. package/dist/matrix.interactivity-GFLIFIER.js +0 -42
  601. package/dist/matrix.layout-DOVDHTDX.js +0 -44
  602. package/dist/matrix.legend-JE4ZSLP7.js +0 -22
  603. package/dist/matrix.renderers-GPUJQ7KF.js +0 -38
  604. package/dist/matrix.serieses-REE4DCSR.js +0 -21
  605. package/dist/matrix.sort-VD5URUWY.js +0 -27
  606. package/dist/matrix.sort.unit.spec-4IOFVHJN.js +0 -472
  607. package/dist/matrix.sorterUi-VQYY6KBK.js +0 -18
  608. package/dist/matrix.sorterUi.unit.spec-V5O2EJBX.js +0 -342
  609. package/dist/mavb-SQDA3B2B.js +0 -732
  610. package/dist/mds.fimo-ZJSEPLD7.js +0 -518
  611. package/dist/mds.samplescatterplot-Y5V73GOY.js +0 -1550
  612. package/dist/mds.survivalplot-CZBRMHYN.js +0 -483
  613. package/dist/numericDictTermCluster-TFXBBUVI.js +0 -72
  614. package/dist/oncomatrix-ZILACPPI.js +0 -295
  615. package/dist/oncomatrix.spec-RLIVVVD6.js +0 -448
  616. package/dist/plot.2dvaf-BNRZPIKU.js +0 -377
  617. package/dist/plot.app-NRUARQCN.js +0 -41
  618. package/dist/plot.barplot-342AYQC7.js +0 -102
  619. package/dist/plot.boxplot-OHEJDPTW.js +0 -152
  620. package/dist/plot.brainImaging-KV72PAON.js +0 -51
  621. package/dist/plot.disco-OUE4RFHL.js +0 -102
  622. package/dist/plot.dzi-T3GPUH36.js +0 -33
  623. package/dist/plot.ssgq-WJHGMXW5.js +0 -139
  624. package/dist/plot.vaf2cov-NGD5PCV4.js +0 -259
  625. package/dist/plot.wsi-2MU5BDG3.js +0 -36
  626. package/dist/polar2-YCWPBPFU.js +0 -226
  627. package/dist/polar2-YCWPBPFU.js.map +0 -7
  628. package/dist/profileForms-OV3I6RK7.js +0 -441
  629. package/dist/profileForms-OV3I6RK7.js.map +0 -7
  630. package/dist/profilePlot-OMVO3K4H.js +0 -54
  631. package/dist/proteinView-OAR2RC6U.js +0 -1320
  632. package/dist/proteinView-OAR2RC6U.js.map +0 -7
  633. package/dist/qualitative-MEYBRUC6.js +0 -43
  634. package/dist/radar2-KREAMGVV.js +0 -321
  635. package/dist/radar2-KREAMGVV.js.map +0 -7
  636. package/dist/radarFacility2-DBPEV7VC.js +0 -329
  637. package/dist/radarFacility2-DBPEV7VC.js.map +0 -7
  638. package/dist/regression-ZPDPLI6G.js +0 -56
  639. package/dist/regression.inputs-QOSBAGL6.js +0 -48
  640. package/dist/regression.inputs.term-HMUMPY7X.js +0 -48
  641. package/dist/regression.inputs.values.table-VMCTZHLG.js +0 -45
  642. package/dist/regression.integration.spec-RP74JTAA.js +0 -784
  643. package/dist/regression.results-5XC6M67C.js +0 -40
  644. package/dist/regression.spec-EZYM24J7.js +0 -708
  645. package/dist/report-ZOVQCOGQ.js +0 -222
  646. package/dist/sampleScatter.spec-CD52FEOC.js +0 -202
  647. package/dist/sampleView-SVTLSWRG.js +0 -48
  648. package/dist/samplelst-HXF5POJD.js +0 -111
  649. package/dist/samplematrix-NYDAH74I.js +0 -2198
  650. package/dist/sc-JIDT4W4K.js +0 -86
  651. package/dist/scatter-WNRTPSEE.js +0 -849
  652. package/dist/scatter-WNRTPSEE.js.map +0 -7
  653. package/dist/scatter.integration.spec-3EYTPY5B.js +0 -1197
  654. package/dist/scatter.integration.spec-3EYTPY5B.js.map +0 -7
  655. package/dist/selectGenomeWithTklst-OSB7B6L3.js +0 -134
  656. package/dist/singleCellCellType-3BH7LWQ6.js +0 -38
  657. package/dist/singleCellCellType.unit.spec-RU4RJXFF.js +0 -160
  658. package/dist/singleCellGeneExpression-3UA4YER7.js +0 -38
  659. package/dist/singleCellGeneExpression.unit.spec-4ZTBG37H.js +0 -153
  660. package/dist/singleCellPlot-ZUAWK5RE.js +0 -54
  661. package/dist/singlecell-BGJZB7MF.js +0 -86
  662. package/dist/singlecell-RO3BL5OO.js +0 -1572
  663. package/dist/snp-HD7VQKBR.js +0 -38
  664. package/dist/snp.unit.spec-ISXCLMWW.js +0 -176
  665. package/dist/snplocus-IL5Z4XWV.js +0 -208
  666. package/dist/spliceevent.a53ss.diagram-LLJSPV7M.js +0 -151
  667. package/dist/spliceevent.exonskip.diagram-LAOIOIST.js +0 -277
  668. package/dist/spliceevent.noeventdiagram-MVA7Q3HT.js +0 -460
  669. package/dist/ssGSEA-7T6S3DSE.js +0 -38
  670. package/dist/ssGSEA.unit.spec-XJ3W4NWX.js +0 -88
  671. package/dist/summarizeCnvGeneexp-RRP6JUV6.js +0 -163
  672. package/dist/summarizeGeneexpSurvival-AFLHDD6Q.js +0 -108
  673. package/dist/summarizeMutationCnv-NABUYHMX.js +0 -164
  674. package/dist/summarizeMutationDiagnosis-2LQ7JU3K.js +0 -40
  675. package/dist/summarizeMutationSurvival-3WBT5TXG.js +0 -99
  676. package/dist/summary-FRDKOFXW.js +0 -49
  677. package/dist/summary.integration.spec-ZLRIA7G2.js +0 -414
  678. package/dist/summaryInput-4JO6MHP4.js +0 -235
  679. package/dist/sunburst-DRCVSC2X.js +0 -284
  680. package/dist/survival-AK75COPY.js +0 -58
  681. package/dist/survival-IF5NI3A6.js +0 -46
  682. package/dist/survival.integration.spec-7IWBTPJG.js +0 -821
  683. package/dist/svgraph-QBDF2SLB.js +0 -1387
  684. package/dist/svmr-O4GJJUT2.js +0 -3842
  685. package/dist/table-FQAIXKLE.js +0 -200
  686. package/dist/termCollection-GMDDL3L7.js +0 -179
  687. package/dist/termCollection-ZO5PZ7E3.js +0 -38
  688. package/dist/termCollection.unit.spec-5JBCTXHX.js +0 -208
  689. package/dist/tk-GJX23IV7.js +0 -46
  690. package/dist/tp.ui-T7FVMTGQ.js +0 -1459
  691. package/dist/tvs.dt-X7L7NSU6.js +0 -39
  692. package/dist/tvs.dtcnv.categorical-73G2V6CH.js +0 -40
  693. package/dist/tvs.dtcnv.continuous-DWFJL3X7.js +0 -72
  694. package/dist/tvs.dtfusion-HQADHCSV.js +0 -40
  695. package/dist/tvs.dtsnvindel-PY5OBMGW.js +0 -40
  696. package/dist/tvs.dtsv-OTBEEWSW.js +0 -40
  697. package/dist/tvs.numeric-WGDHEBJV.js +0 -21
  698. package/dist/tvs.samplelst-LCXSU5MG.js +0 -104
  699. package/dist/tvs.termCollection-L527XN4X.js +0 -159
  700. package/dist/violin-6VKRUQV3.js +0 -46
  701. package/dist/violin.integration.spec-RJATDLQH.js +0 -1425
  702. package/dist/violin.interactivity-SKF5H7MN.js +0 -38
  703. package/dist/violin.renderer-GB4TPX3B.js +0 -40
  704. package/dist/vocabulary-D3W44IWE.js +0 -41
  705. /package/dist/{2dmaf-Z3D2M3FB.js.map → 2dmaf-US2ZAJJJ.js.map} +0 -0
  706. /package/dist/{AppHeader-PXLGVCVS.js.map → AppHeader-UKB344GC.js.map} +0 -0
  707. /package/dist/{CorrelationVolcano-RO6CFLZA.js.map → CorrelationVolcano-J3IFVSZB.js.map} +0 -0
  708. /package/dist/{DE-CCA5SBJG.js.map → DE-PAPJP6AH.js.map} +0 -0
  709. /package/dist/{DEinput-MRUQW6X6.js.map → DEinput-YON466QQ.js.map} +0 -0
  710. /package/dist/{DifferentialAnalysis-5YQQLJKR.js.map → DifferentialAnalysis-DEUODXGG.js.map} +0 -0
  711. /package/dist/{DmrPlot-FPJJHTM5.js.map → DmrPlot-DSELMC4E.js.map} +0 -0
  712. /package/dist/{HicApp-BBD2YOMT.js.map → HicApp-BP7PSXY2.js.map} +0 -0
  713. /package/dist/{NumBinaryEditor-WMSF7HIO.js.map → NumBinaryEditor-CHWQT445.js.map} +0 -0
  714. /package/dist/{NumBinaryEditor.unit.spec-QQATLHF7.js.map → NumBinaryEditor.unit.spec-MXRNK7XH.js.map} +0 -0
  715. /package/dist/{NumContEditor-4CSTHVRX.js.map → NumContEditor-XS3RA7GY.js.map} +0 -0
  716. /package/dist/{NumContEditor.unit.spec-2YF3OS3A.js.map → NumContEditor.unit.spec-662MHSP4.js.map} +0 -0
  717. /package/dist/{NumCustomBinEditor-KFAYUWYV.js.map → NumCustomBinEditor-LUVIAXMZ.js.map} +0 -0
  718. /package/dist/{NumCustomBinEditor.unit.spec-YHAUSGPN.js.map → NumCustomBinEditor.unit.spec-3D3GY3F4.js.map} +0 -0
  719. /package/dist/{NumDiscreteEditor-F46H5CME.js.map → NumDiscreteEditor-24W2A5IN.js.map} +0 -0
  720. /package/dist/{NumDiscreteEditor.unit.spec-5BIAWAVN.js.map → NumDiscreteEditor.unit.spec-B5T42Z5S.js.map} +0 -0
  721. /package/dist/{NumRegularBinEditor-G7KOA7NR.js.map → NumRegularBinEditor-AING4HZ5.js.map} +0 -0
  722. /package/dist/{NumRegularBinEditor.unit.spec-Y6CBCWLN.js.map → NumRegularBinEditor.unit.spec-UKSVZH2S.js.map} +0 -0
  723. /package/dist/{NumSplineEditor-JP2V2L4Y.js.map → NumSplineEditor-54KNKHJX.js.map} +0 -0
  724. /package/dist/{NumSplineEditor.unit.spec-N34QBZN3.js.map → NumSplineEditor.unit.spec-5FTST3Y5.js.map} +0 -0
  725. /package/dist/{NumericDensity-JOPHLURB.js.map → NumericDensity-C7DQZ5Q5.js.map} +0 -0
  726. /package/dist/{NumericDensity.unit.spec-N45PCLOT.js.map → NumericDensity.unit.spec-HV6SD3ZS.js.map} +0 -0
  727. /package/dist/{NumericHandler-SIM4E2Z5.js.map → NumericHandler-FV3L23EC.js.map} +0 -0
  728. /package/dist/{NumericHandler.unit.spec-NKLYDVTG.js.map → NumericHandler.unit.spec-E72DXVBB.js.map} +0 -0
  729. /package/dist/{ProteomeInput-5KMNE3PZ.js.map → ProteomeInput-3XTK74SN.js.map} +0 -0
  730. /package/dist/{RunChart2-N7AZVQXJ.js.map → RunChart2-X5FBZVRX.js.map} +0 -0
  731. /package/dist/{Volcano-YH4RJTT5.js.map → Volcano-2USCTLKO.js.map} +0 -0
  732. /package/dist/{WsiSamplesPlot-QPPB7OOD.js.map → WsiSamplesPlot-VIKSG63U.js.map} +0 -0
  733. /package/dist/{adSandbox-R2QP74P7.js.map → adSandbox-VXUJGPD3.js.map} +0 -0
  734. /package/dist/{app-AIIN4WDE.js.map → app-KHZT2BVF.js.map} +0 -0
  735. /package/dist/{app-FJT5VXMF.js.map → app-XLYH3YPL.js.map} +0 -0
  736. /package/dist/{bam-QBO22VQB.js.map → bam-C23ZARYE.js.map} +0 -0
  737. /package/dist/{barchart-VDOP6FQU.js.map → barchart-KGXLYEIP.js.map} +0 -0
  738. /package/dist/{barchart.data-Z2E72EET.js.map → barchart.data-7OI5GZZ6.js.map} +0 -0
  739. /package/dist/{barchart.events-NUYQBI5S.js.map → barchart.events-3KDNIFBG.js.map} +0 -0
  740. /package/dist/{bars.renderer-JHCZDSM6.js.map → bars.renderer-57KSYAAT.js.map} +0 -0
  741. /package/dist/{block.init-RRHHCNSR.js.map → block.init-7FHXQJNE.js.map} +0 -0
  742. /package/dist/{block.mds.expressionrank-7NWBRUII.js.map → block.mds.expressionrank-UGZQK7Z3.js.map} +0 -0
  743. /package/dist/{block.mds.geneboxplot-4BAJJWCC.js.map → block.mds.geneboxplot-2CQLB4YN.js.map} +0 -0
  744. /package/dist/{block.mds.junction-XRUIHAF5.js.map → block.mds.junction-JHPHWVOS.js.map} +0 -0
  745. /package/dist/{block.mds.svcnv-YZ7PL733.js.map → block.mds.svcnv-E7P2SVKK.js.map} +0 -0
  746. /package/dist/{block.svg-FUMP2J7A.js.map → block.svg-MVRR3C6V.js.map} +0 -0
  747. /package/dist/{block.tk.aicheck-AIZEND45.js.map → block.tk.aicheck-KX46G4TR.js.map} +0 -0
  748. /package/dist/{block.tk.ase-H26PKO5U.js.map → block.tk.ase-WMXI47BF.js.map} +0 -0
  749. /package/dist/{block.tk.bam-XNZFHSDQ.js.map → block.tk.bam-KFEGVEQQ.js.map} +0 -0
  750. /package/dist/{block.tk.bedgraphdot-QTDBLBO2.js.map → block.tk.bedgraphdot-P4DBCWFK.js.map} +0 -0
  751. /package/dist/{block.tk.bigwig.ui-OSRCPTQC.js.map → block.tk.bigwig.ui-WJPH2Z7F.js.map} +0 -0
  752. /package/dist/{block.tk.hicstraw-7GH6LVIH.js.map → block.tk.hicstraw-RSD6I2NX.js.map} +0 -0
  753. /package/dist/{block.tk.junction-AJYML4AW.js.map → block.tk.junction-VZS2DEDO.js.map} +0 -0
  754. /package/dist/{block.tk.junction.textmatrixui-4RIH3EZI.js.map → block.tk.junction.textmatrixui-UCWGHZDI.js.map} +0 -0
  755. /package/dist/{block.tk.ld-AJYQ4C6T.js.map → block.tk.ld-ERSIIBM2.js.map} +0 -0
  756. /package/dist/{block.tk.menu-57OP5UW5.js.map → block.tk.menu-2ZNXE7CE.js.map} +0 -0
  757. /package/dist/{block.tk.pgv-XO7HP5MM.js.map → block.tk.pgv-EJLACCFR.js.map} +0 -0
  758. /package/dist/{brainImaging-65QDNR4D.js.map → brainImaging-BMZJY6OT.js.map} +0 -0
  759. /package/dist/{chunk-72X7LSBN.js.map → chunk-27FPMFP2.js.map} +0 -0
  760. /package/dist/{chunk-OEDZHPBJ.js.map → chunk-3LYZMOLO.js.map} +0 -0
  761. /package/dist/{chunk-322QC6R4.js.map → chunk-455XZIIA.js.map} +0 -0
  762. /package/dist/{chunk-J4SOF2ZH.js.map → chunk-474DTKP7.js.map} +0 -0
  763. /package/dist/{chunk-7FACFCZK.js.map → chunk-4AP3O3JW.js.map} +0 -0
  764. /package/dist/{chunk-CC3GFVV6.js.map → chunk-4JWN7E7Q.js.map} +0 -0
  765. /package/dist/{chunk-ZXTHADSC.js.map → chunk-55MOHL3P.js.map} +0 -0
  766. /package/dist/{chunk-VV36JRUF.js.map → chunk-5CR24RTX.js.map} +0 -0
  767. /package/dist/{chunk-PCZNTK74.js.map → chunk-5QTJUPFS.js.map} +0 -0
  768. /package/dist/{chunk-BWGU5NJS.js.map → chunk-5TJQ6633.js.map} +0 -0
  769. /package/dist/{chunk-ODG6RD7P.js.map → chunk-5X5LI5YM.js.map} +0 -0
  770. /package/dist/{chunk-7EMWHCVW.js.map → chunk-6G4YOMWW.js.map} +0 -0
  771. /package/dist/{chunk-XAVNZNXQ.js.map → chunk-6SCBPP4C.js.map} +0 -0
  772. /package/dist/{chunk-WSDUD52Y.js.map → chunk-74XVBQF7.js.map} +0 -0
  773. /package/dist/{chunk-KPJZBCVI.js.map → chunk-7I3LST7R.js.map} +0 -0
  774. /package/dist/{chunk-DD4R5P6W.js.map → chunk-BKPDYW5T.js.map} +0 -0
  775. /package/dist/{chunk-HKSNADSX.js.map → chunk-BO47H3VP.js.map} +0 -0
  776. /package/dist/{chunk-NSXZPWRP.js.map → chunk-BOO4W7WD.js.map} +0 -0
  777. /package/dist/{chunk-35SCELN4.js.map → chunk-C6YT5EM2.js.map} +0 -0
  778. /package/dist/{chunk-GNIK4JYM.js.map → chunk-CDUNE45Q.js.map} +0 -0
  779. /package/dist/{chunk-QQZ3SBF3.js.map → chunk-CLN7ANNL.js.map} +0 -0
  780. /package/dist/{chunk-57RBC6IZ.js.map → chunk-CLNSNNQU.js.map} +0 -0
  781. /package/dist/{chunk-YZK37YCC.js.map → chunk-COYULNJF.js.map} +0 -0
  782. /package/dist/{chunk-B6CSYKZJ.js.map → chunk-DBFKUPM6.js.map} +0 -0
  783. /package/dist/{chunk-EH4NQ7C4.js.map → chunk-DNVSEW6P.js.map} +0 -0
  784. /package/dist/{chunk-VGJSASRT.js.map → chunk-EC3SKPQT.js.map} +0 -0
  785. /package/dist/{chunk-3ZLJDFJU.js.map → chunk-EDXQKDVQ.js.map} +0 -0
  786. /package/dist/{chunk-ULPMYS5B.js.map → chunk-FOPHIWFD.js.map} +0 -0
  787. /package/dist/{chunk-DKVUOBIE.js.map → chunk-FVX76DZS.js.map} +0 -0
  788. /package/dist/{chunk-6GN7X6LU.js.map → chunk-FXGE233W.js.map} +0 -0
  789. /package/dist/{chunk-QNETLNPB.js.map → chunk-GBXX3AHJ.js.map} +0 -0
  790. /package/dist/{chunk-W6ME65LV.js.map → chunk-GVCQGWN7.js.map} +0 -0
  791. /package/dist/{chunk-5OUTR67M.js.map → chunk-HXZSSHEB.js.map} +0 -0
  792. /package/dist/{chunk-QH6W3NVF.js.map → chunk-I73KUUYG.js.map} +0 -0
  793. /package/dist/{chunk-VHOEJBFP.js.map → chunk-IKDWQJZE.js.map} +0 -0
  794. /package/dist/{chunk-W55XSG6K.js.map → chunk-JWHFMFF2.js.map} +0 -0
  795. /package/dist/{chunk-NGM3ZLIP.js.map → chunk-K3OJJZCQ.js.map} +0 -0
  796. /package/dist/{chunk-UI7OCM2A.js.map → chunk-KM4JBR26.js.map} +0 -0
  797. /package/dist/{chunk-4DXZGZOB.js.map → chunk-KNOFEVOJ.js.map} +0 -0
  798. /package/dist/{chunk-N2SKTCDK.js.map → chunk-LLX3NKB4.js.map} +0 -0
  799. /package/dist/{chunk-G6O3URDN.js.map → chunk-LQJMCE7G.js.map} +0 -0
  800. /package/dist/{chunk-O3JB4PIX.js.map → chunk-LSWU6EAQ.js.map} +0 -0
  801. /package/dist/{chunk-WHI6466S.js.map → chunk-MNIBZTQE.js.map} +0 -0
  802. /package/dist/{chunk-R2MMURGK.js.map → chunk-MQJVDIQK.js.map} +0 -0
  803. /package/dist/{chunk-3SZ6GKLB.js.map → chunk-N25ENPO3.js.map} +0 -0
  804. /package/dist/{chunk-DR6H3QAA.js.map → chunk-N3JT3KCV.js.map} +0 -0
  805. /package/dist/{chunk-XMLURPEP.js.map → chunk-N6QEVQZV.js.map} +0 -0
  806. /package/dist/{chunk-54EMVNPW.js.map → chunk-NJDW6ZQP.js.map} +0 -0
  807. /package/dist/{chunk-VGYTAYFK.js.map → chunk-NLQQIVTC.js.map} +0 -0
  808. /package/dist/{chunk-LTOBEUM2.js.map → chunk-OR43PGBV.js.map} +0 -0
  809. /package/dist/{chunk-UOVALHAJ.js.map → chunk-PWUERAAF.js.map} +0 -0
  810. /package/dist/{chunk-ZTYNN6G5.js.map → chunk-PXCFA4ZQ.js.map} +0 -0
  811. /package/dist/{chunk-I5RAQKKJ.js.map → chunk-QSEGY3U5.js.map} +0 -0
  812. /package/dist/{chunk-UJKW42DI.js.map → chunk-SC6IPDJR.js.map} +0 -0
  813. /package/dist/{chunk-SHWLROJG.js.map → chunk-T46LHXJW.js.map} +0 -0
  814. /package/dist/{chunk-KSGA62R2.js.map → chunk-TJYRBEBK.js.map} +0 -0
  815. /package/dist/{chunk-EVN6KWPN.js.map → chunk-UDL2DEBB.js.map} +0 -0
  816. /package/dist/{chunk-ORL44TIK.js.map → chunk-VDIVDU3T.js.map} +0 -0
  817. /package/dist/{chunk-VOUMS6IP.js.map → chunk-XQSQQSGB.js.map} +0 -0
  818. /package/dist/{chunk-6A3IPDE2.js.map → chunk-XVXAQ3FI.js.map} +0 -0
  819. /package/dist/{chunk-2XCUERHJ.js.map → chunk-YQMENK5H.js.map} +0 -0
  820. /package/dist/{chunk-36EHIPV4.js.map → chunk-ZUC4XNWU.js.map} +0 -0
  821. /package/dist/{condition-HDVYPJJD.js.map → condition-ZPFBPMEZ.js.map} +0 -0
  822. /package/dist/{controls-YEEW46C6.js.map → controls-LIVMV2GV.js.map} +0 -0
  823. /package/dist/{controls.config-C535H5DL.js.map → controls.config-2EOMBN5E.js.map} +0 -0
  824. /package/dist/{cuminc-II7NFIFP.js.map → cuminc-GPFDRNUP.js.map} +0 -0
  825. /package/dist/{cuminc.integration.spec-B4N6OMBJ.js.map → cuminc.integration.spec-V4JYKLA6.js.map} +0 -0
  826. /package/dist/{customdata.inputui-AI4ZBIEP.js.map → customdata.inputui-DSEUS3CT.js.map} +0 -0
  827. /package/dist/{dataDownload-ZQYLXN6D.js.map → dataDownload-KT6K3M7Q.js.map} +0 -0
  828. /package/dist/{dataDownload.integration.spec-2PKYZ2AY.js.map → dataDownload.integration.spec-VEX2RTSA.js.map} +0 -0
  829. /package/dist/{databrowser.ui-WGD7D3XV.js.map → databrowser.ui-VJKNMIXA.js.map} +0 -0
  830. /package/dist/{dnaMethylation-WGJMJL5B.js.map → dnaMethylation-BWQGUXVR.js.map} +0 -0
  831. /package/dist/{dnaMethylation.integration.spec-DO3PV4MO.js.map → dnaMethylation.integration.spec-YMGT2HYZ.js.map} +0 -0
  832. /package/dist/{dofetch-RADX3AFU.js.map → dofetch-BMSZZAAQ.js.map} +0 -0
  833. /package/dist/{e2pca-KOAAU2JX.js.map → e2pca-KSY4DP53.js.map} +0 -0
  834. /package/dist/{ep-CXCATXYH.js.map → ep-4PAYGMWK.js.map} +0 -0
  835. /package/dist/{expclust.gdc.spec-UJO2R3CW.js.map → expclust.gdc.spec-XXFP2HHE.js.map} +0 -0
  836. /package/dist/{facet-2FBUAD7P.js.map → facet-VCJQ7QPE.js.map} +0 -0
  837. /package/dist/{gb-VCJFV63W.js.map → gb-JDH242LG.js.map} +0 -0
  838. /package/dist/{geneExpClustering-FUNS6D2P.js.map → geneExpClustering-L23JB7XA.js.map} +0 -0
  839. /package/dist/{geneExpression-2OPFWV2K.js.map → geneExpression-P2ERCRXO.js.map} +0 -0
  840. /package/dist/{geneExpression-2BWWGYL4.js.map → geneExpression-QGPVFAN4.js.map} +0 -0
  841. /package/dist/{geneExpression.unit.spec-G7BSHJQT.js.map → geneExpression.unit.spec-6BQBM6VL.js.map} +0 -0
  842. /package/dist/{geneORA-S3KQMBYL.js.map → geneORA-XIMJP665.js.map} +0 -0
  843. /package/dist/{geneRanking-UZ36XAL7.js.map → geneRanking-AJH5G22J.js.map} +0 -0
  844. /package/dist/{geneVariant-OOZ2SBXO.js.map → geneVariant-AUUZ7S2B.js.map} +0 -0
  845. /package/dist/{geneVariant-ZHNVEKQ6.js.map → geneVariant-H6BGRRON.js.map} +0 -0
  846. /package/dist/{geneVariant.integration.spec-2C7EWKEV.js.map → geneVariant.integration.spec-FRCH6VI4.js.map} +0 -0
  847. /package/dist/{genefusion.ui-ASICJNII.js.map → genefusion.ui-AAJ37VFA.js.map} +0 -0
  848. /package/dist/{geneset-SNM4M6UM.js.map → geneset-5ARBBUYH.js.map} +0 -0
  849. /package/dist/{genomeBrowser.spec-DJIRW2X7.js.map → genomeBrowser.spec-RV7YBSMZ.js.map} +0 -0
  850. /package/dist/{gsea-SPTQJW67.js.map → gsea-XUMCVLFK.js.map} +0 -0
  851. /package/dist/{hierCluster-KDE5SMYP.js.map → hierCluster-HXOTNMC5.js.map} +0 -0
  852. /package/dist/{hierCluster-XG4YLVL3.js.map → hierCluster-PEDY7OTZ.js.map} +0 -0
  853. /package/dist/{hierCluster.config-VNEEJCKJ.js.map → hierCluster.config-RKYCGNWW.js.map} +0 -0
  854. /package/dist/{hierCluster.integration.spec-SSDN7LSH.js.map → hierCluster.integration.spec-YKMAT7UU.js.map} +0 -0
  855. /package/dist/{hierCluster.interactivity-DKBSJ644.js.map → hierCluster.interactivity-LPTHVWHR.js.map} +0 -0
  856. /package/dist/{hierCluster.renderers-OG6LZAT7.js.map → hierCluster.renderers-4XWKHCNW.js.map} +0 -0
  857. /package/dist/{imagePlot-M5JSHEY4.js.map → imagePlot-3DF7ZH3U.js.map} +0 -0
  858. /package/dist/{importPlot-YH7ZY6RJ.js.map → importPlot-N74SV3TL.js.map} +0 -0
  859. /package/dist/{isoformExpression-EV27MKYZ.js.map → isoformExpression-FU7Y4OGU.js.map} +0 -0
  860. /package/dist/{isoformExpression.unit.spec-7T2GOHH3.js.map → isoformExpression.unit.spec-BLQDKV37.js.map} +0 -0
  861. /package/dist/{launch.adhoc-NOISOX5E.js.map → launch.adhoc-Y35FZV6H.js.map} +0 -0
  862. /package/dist/{legacyDataset-SWJCAWIR.js.map → legacyDataset-TNIIJABK.js.map} +0 -0
  863. /package/dist/{lollipop-LQCQBTSX.js.map → lollipop-DU37Q5E2.js.map} +0 -0
  864. /package/dist/{maf-U237OWZ3.js.map → maf-NRLSNDOT.js.map} +0 -0
  865. /package/dist/{maftimeline-NLZLMHT2.js.map → maftimeline-GRXGOOSJ.js.map} +0 -0
  866. /package/dist/{matrix-DZJXYRYN.js.map → matrix-G3BULZ7Y.js.map} +0 -0
  867. /package/dist/{matrix-Y5345QQG.js.map → matrix-TCTX26A4.js.map} +0 -0
  868. /package/dist/{matrix.cells-PT7S74QP.js.map → matrix.cells-ED6RS5EC.js.map} +0 -0
  869. /package/dist/{matrix.config-2ORCUWKX.js.map → matrix.config-QHO2YNOT.js.map} +0 -0
  870. /package/dist/{matrix.data-C6VPQJJ4.js.map → matrix.data-KQFMXWRX.js.map} +0 -0
  871. /package/dist/{matrix.groups-CEOCG2CT.js.map → matrix.groups-RE74EFLY.js.map} +0 -0
  872. /package/dist/{matrix.integration.spec-U4B3JB6N.js.map → matrix.integration.spec-Y4FCZ2Q2.js.map} +0 -0
  873. /package/dist/{matrix.interactivity-GFLIFIER.js.map → matrix.interactivity-3DW5WAM3.js.map} +0 -0
  874. /package/dist/{matrix.layout-DOVDHTDX.js.map → matrix.layout-W57D765I.js.map} +0 -0
  875. /package/dist/{matrix.legend-JE4ZSLP7.js.map → matrix.legend-ZST44PIB.js.map} +0 -0
  876. /package/dist/{matrix.renderers-GPUJQ7KF.js.map → matrix.renderers-NFRKXO7Y.js.map} +0 -0
  877. /package/dist/{matrix.serieses-REE4DCSR.js.map → matrix.serieses-6ZKTFVWY.js.map} +0 -0
  878. /package/dist/{matrix.sort-VD5URUWY.js.map → matrix.sort-2UE47IOC.js.map} +0 -0
  879. /package/dist/{matrix.sort.unit.spec-4IOFVHJN.js.map → matrix.sort.unit.spec-5CMWEXPE.js.map} +0 -0
  880. /package/dist/{matrix.sorterUi-VQYY6KBK.js.map → matrix.sorterUi-WC2YX7S7.js.map} +0 -0
  881. /package/dist/{matrix.sorterUi.unit.spec-V5O2EJBX.js.map → matrix.sorterUi.unit.spec-Y2HXWHJN.js.map} +0 -0
  882. /package/dist/{mavb-SQDA3B2B.js.map → mavb-BI4XKI5P.js.map} +0 -0
  883. /package/dist/{mds.fimo-ZJSEPLD7.js.map → mds.fimo-UJYESPNC.js.map} +0 -0
  884. /package/dist/{mds.samplescatterplot-Y5V73GOY.js.map → mds.samplescatterplot-JKU5B4QR.js.map} +0 -0
  885. /package/dist/{mds.survivalplot-CZBRMHYN.js.map → mds.survivalplot-OP7Y4D3L.js.map} +0 -0
  886. /package/dist/{numericDictTermCluster-TFXBBUVI.js.map → numericDictTermCluster-DRIEJJSP.js.map} +0 -0
  887. /package/dist/{oncomatrix-ZILACPPI.js.map → oncomatrix-A3IE47HV.js.map} +0 -0
  888. /package/dist/{oncomatrix.spec-RLIVVVD6.js.map → oncomatrix.spec-TDWB2ROF.js.map} +0 -0
  889. /package/dist/{plot.2dvaf-BNRZPIKU.js.map → plot.2dvaf-XY34TDSM.js.map} +0 -0
  890. /package/dist/{plot.app-NRUARQCN.js.map → plot.app-WRCBLYGO.js.map} +0 -0
  891. /package/dist/{plot.barplot-342AYQC7.js.map → plot.barplot-RXGOUNHM.js.map} +0 -0
  892. /package/dist/{plot.boxplot-OHEJDPTW.js.map → plot.boxplot-GBZGSS3D.js.map} +0 -0
  893. /package/dist/{plot.brainImaging-KV72PAON.js.map → plot.brainImaging-DYPKMNHL.js.map} +0 -0
  894. /package/dist/{plot.disco-OUE4RFHL.js.map → plot.disco-5K2SCKJ4.js.map} +0 -0
  895. /package/dist/{plot.dzi-T3GPUH36.js.map → plot.dzi-THJIFHIS.js.map} +0 -0
  896. /package/dist/{plot.ssgq-WJHGMXW5.js.map → plot.ssgq-FSIUIV3A.js.map} +0 -0
  897. /package/dist/{plot.vaf2cov-NGD5PCV4.js.map → plot.vaf2cov-HP6KEBVJ.js.map} +0 -0
  898. /package/dist/{plot.wsi-2MU5BDG3.js.map → plot.wsi-MR6JMOXW.js.map} +0 -0
  899. /package/dist/{profilePlot-OMVO3K4H.js.map → profilePlot-J2C35OEY.js.map} +0 -0
  900. /package/dist/{qualitative-MEYBRUC6.js.map → qualitative-N7S2JHZM.js.map} +0 -0
  901. /package/dist/{regression-ZPDPLI6G.js.map → regression-PBGAMZAV.js.map} +0 -0
  902. /package/dist/{regression.inputs-QOSBAGL6.js.map → regression.inputs-54E5YKI4.js.map} +0 -0
  903. /package/dist/{regression.inputs.term-HMUMPY7X.js.map → regression.inputs.term-52MBTMVM.js.map} +0 -0
  904. /package/dist/{regression.inputs.values.table-VMCTZHLG.js.map → regression.inputs.values.table-F3FOAYFV.js.map} +0 -0
  905. /package/dist/{regression.integration.spec-RP74JTAA.js.map → regression.integration.spec-M4RPJUE4.js.map} +0 -0
  906. /package/dist/{regression.results-5XC6M67C.js.map → regression.results-JOK6I2ZD.js.map} +0 -0
  907. /package/dist/{regression.spec-EZYM24J7.js.map → regression.spec-O4HZB2HQ.js.map} +0 -0
  908. /package/dist/{report-ZOVQCOGQ.js.map → report-BDDTM7SV.js.map} +0 -0
  909. /package/dist/{sampleScatter.spec-CD52FEOC.js.map → sampleScatter.spec-272GLYEK.js.map} +0 -0
  910. /package/dist/{sampleView-SVTLSWRG.js.map → sampleView-E6OHEEP4.js.map} +0 -0
  911. /package/dist/{samplelst-HXF5POJD.js.map → samplelst-3LNF3DBG.js.map} +0 -0
  912. /package/dist/{samplematrix-NYDAH74I.js.map → samplematrix-HL445X7I.js.map} +0 -0
  913. /package/dist/{sc-JIDT4W4K.js.map → sc-4LELHVIS.js.map} +0 -0
  914. /package/dist/{selectGenomeWithTklst-OSB7B6L3.js.map → selectGenomeWithTklst-5LQGT4Z7.js.map} +0 -0
  915. /package/dist/{singleCellCellType-3BH7LWQ6.js.map → singleCellCellType-T3ZT64EK.js.map} +0 -0
  916. /package/dist/{singleCellCellType.unit.spec-RU4RJXFF.js.map → singleCellCellType.unit.spec-AE4IAHOF.js.map} +0 -0
  917. /package/dist/{singleCellGeneExpression-3UA4YER7.js.map → singleCellGeneExpression-SRJXSDEB.js.map} +0 -0
  918. /package/dist/{singleCellGeneExpression.unit.spec-4ZTBG37H.js.map → singleCellGeneExpression.unit.spec-EPL73UUO.js.map} +0 -0
  919. /package/dist/{singleCellPlot-ZUAWK5RE.js.map → singleCellPlot-P2BHFTYZ.js.map} +0 -0
  920. /package/dist/{singlecell-RO3BL5OO.js.map → singlecell-32SSD7VN.js.map} +0 -0
  921. /package/dist/{singlecell-BGJZB7MF.js.map → singlecell-7KRD5DP7.js.map} +0 -0
  922. /package/dist/{snp-HD7VQKBR.js.map → snp-LE5R377N.js.map} +0 -0
  923. /package/dist/{snp.unit.spec-ISXCLMWW.js.map → snp.unit.spec-UY6KQ5NJ.js.map} +0 -0
  924. /package/dist/{snplocus-IL5Z4XWV.js.map → snplocus-CP34ABUJ.js.map} +0 -0
  925. /package/dist/{spliceevent.a53ss.diagram-LLJSPV7M.js.map → spliceevent.a53ss.diagram-JWLWQDNJ.js.map} +0 -0
  926. /package/dist/{spliceevent.exonskip.diagram-LAOIOIST.js.map → spliceevent.exonskip.diagram-C5526P7P.js.map} +0 -0
  927. /package/dist/{spliceevent.noeventdiagram-MVA7Q3HT.js.map → spliceevent.noeventdiagram-352M63YB.js.map} +0 -0
  928. /package/dist/{ssGSEA-7T6S3DSE.js.map → ssGSEA-BFTCECV3.js.map} +0 -0
  929. /package/dist/{ssGSEA.unit.spec-XJ3W4NWX.js.map → ssGSEA.unit.spec-4OUCKRDQ.js.map} +0 -0
  930. /package/dist/{summarizeCnvGeneexp-RRP6JUV6.js.map → summarizeCnvGeneexp-Y3AWFIZA.js.map} +0 -0
  931. /package/dist/{summarizeGeneexpSurvival-AFLHDD6Q.js.map → summarizeGeneexpSurvival-U5JSPG22.js.map} +0 -0
  932. /package/dist/{summarizeMutationCnv-NABUYHMX.js.map → summarizeMutationCnv-KCOVQEBC.js.map} +0 -0
  933. /package/dist/{summarizeMutationDiagnosis-2LQ7JU3K.js.map → summarizeMutationDiagnosis-EQXEQABW.js.map} +0 -0
  934. /package/dist/{summarizeMutationSurvival-3WBT5TXG.js.map → summarizeMutationSurvival-4VGLG4SC.js.map} +0 -0
  935. /package/dist/{summary-FRDKOFXW.js.map → summary-DXYCBNI4.js.map} +0 -0
  936. /package/dist/{summary.integration.spec-ZLRIA7G2.js.map → summary.integration.spec-MZTJISLP.js.map} +0 -0
  937. /package/dist/{summaryInput-4JO6MHP4.js.map → summaryInput-5Z3XVIL6.js.map} +0 -0
  938. /package/dist/{sunburst-DRCVSC2X.js.map → sunburst-WVSQJYP2.js.map} +0 -0
  939. /package/dist/{survival-IF5NI3A6.js.map → survival-3R3J2JBE.js.map} +0 -0
  940. /package/dist/{survival-AK75COPY.js.map → survival-XQWFVGCJ.js.map} +0 -0
  941. /package/dist/{survival.integration.spec-7IWBTPJG.js.map → survival.integration.spec-EBDPIBYM.js.map} +0 -0
  942. /package/dist/{svgraph-QBDF2SLB.js.map → svgraph-SY2HVMYL.js.map} +0 -0
  943. /package/dist/{svmr-O4GJJUT2.js.map → svmr-TIIMFKG7.js.map} +0 -0
  944. /package/dist/{table-FQAIXKLE.js.map → table-5RFTXIQL.js.map} +0 -0
  945. /package/dist/{termCollection-ZO5PZ7E3.js.map → termCollection-23QXTZDN.js.map} +0 -0
  946. /package/dist/{termCollection-GMDDL3L7.js.map → termCollection-7KXABWVW.js.map} +0 -0
  947. /package/dist/{termCollection.unit.spec-5JBCTXHX.js.map → termCollection.unit.spec-4AN2Z4PQ.js.map} +0 -0
  948. /package/dist/{tk-GJX23IV7.js.map → tk-WW6PJGPQ.js.map} +0 -0
  949. /package/dist/{tp.ui-T7FVMTGQ.js.map → tp.ui-S5PO3MPH.js.map} +0 -0
  950. /package/dist/{tvs.dt-X7L7NSU6.js.map → tvs.dt-O7LUM5TK.js.map} +0 -0
  951. /package/dist/{tvs.dtcnv.categorical-73G2V6CH.js.map → tvs.dtcnv.categorical-2OUFOD3W.js.map} +0 -0
  952. /package/dist/{tvs.dtcnv.continuous-DWFJL3X7.js.map → tvs.dtcnv.continuous-NOOUY5SZ.js.map} +0 -0
  953. /package/dist/{tvs.dtfusion-HQADHCSV.js.map → tvs.dtfusion-KXQMP3UF.js.map} +0 -0
  954. /package/dist/{tvs.dtsnvindel-PY5OBMGW.js.map → tvs.dtsnvindel-PWHFTWZU.js.map} +0 -0
  955. /package/dist/{tvs.dtsv-OTBEEWSW.js.map → tvs.dtsv-25FLS572.js.map} +0 -0
  956. /package/dist/{tvs.numeric-WGDHEBJV.js.map → tvs.numeric-KYAU5OV3.js.map} +0 -0
  957. /package/dist/{tvs.samplelst-LCXSU5MG.js.map → tvs.samplelst-FLXNJFIV.js.map} +0 -0
  958. /package/dist/{tvs.termCollection-L527XN4X.js.map → tvs.termCollection-PSVOMJE4.js.map} +0 -0
  959. /package/dist/{violin-6VKRUQV3.js.map → violin-SWMEFWRA.js.map} +0 -0
  960. /package/dist/{violin.integration.spec-RJATDLQH.js.map → violin.integration.spec-6EQ6GC2N.js.map} +0 -0
  961. /package/dist/{violin.interactivity-SKF5H7MN.js.map → violin.interactivity-WBIWPLSM.js.map} +0 -0
  962. /package/dist/{violin.renderer-GB4TPX3B.js.map → violin.renderer-3WARZUOH.js.map} +0 -0
  963. /package/dist/{vocabulary-D3W44IWE.js.map → vocabulary-WLHYHDX7.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../plots/animatedBubbleChart.ts"],
4
+ "sourcesContent": ["import type { MassState, BasePlotConfig } from '#mass/types/mass'\nimport { getCompInit, copyMerge, type RxComponent } from '#rx'\nimport { PlotBase } from './PlotBase'\nimport { Menu, Tabs } from '#dom'\nimport { dofetch3 } from '#common/dofetch'\nimport { scaleSqrt, arc as d3arc, select, packSiblings, packEnclose } from 'd3'\nimport { forceSimulation, forceCollide, forceX, forceY } from 'd3-force'\nimport { TermTypes } from '#shared/terms.js'\nimport { getColors } from '#shared/common.js'\n\nconst defaultConfig = { chartType: 'animatedBubbleChart' }\n\n// Fixed internal SVG coordinate space \u2014 the force simulation lives in this. The cluster\n// is centered at (SPLIT_W/2, SPLIT_H/2) in every mode. The visible wrapper is sized to the\n// actual bubble bounding box (see viewportW/H) and the SVG is offset so its content stays\n// centered, so toggling combined\u21C4split grows/shrinks the viewport around a fixed point.\nconst SPLIT_W = 1100\nconst SPLIT_H = 900\nconst MIN_R = 6 // smallest bubble total radius\nconst MAX_R = 43 // largest bubble total radius\nconst INNER_CIRCLE_RATIO = 0.75 // inner circle radius = INNER_CIRCLE_RATIO \u00D7 total radius\nconst RING_GAP = 1 // gap between inner circle and start of ring\nconst PADDING = 0 // collision padding outside the bubble's outer radius \u2014 touching bubbles, no whitespace\nconst HOVER_SCALE = 1.2 // how much the hovered bubble visually grows (multiplier, not a px size)\nconst HOVER_COLLIDE_BOOST = 1.4 // collide radius multiplier for hovered bubble\nconst HOVER_REPEL_REACH = 91 // px range over which the hovered bubble radially pushes others\nconst HOVER_REPEL_STRENGTH = 0.17 // intensity of the radial push\nconst GRAVITY_STRENGTH = 0.28 // strong center-gravity \u2014 bubbles stick to their home positions so each sub-cluster keeps its packed-circle shape instead of drifting loose\nconst HOVER_GRAVITY = 0.045 // weakened gravity during hover so neighbors don't snap back instantly\n\ntype Slice = {\n\tassay: string\n\trank: number | null\n\tweight: number | null\n\tangle: number\n\tstartAngle: number\n\tendAngle: number\n}\ntype Bubble = {\n\tgene: string\n\tintegrativeRank: number\n\torderStatQ: number | null\n\tpValue: number | null\n\tfdr: number | null\n\tslices: Slice[]\n\tinnerR: number\n\touterR: number\n\tx: number\n\ty: number\n\t// Velocity fields written by d3-force on every tick (used by hoverRepel to add radial push)\n\tvx?: number\n\tvy?: number\n\t// Target position from packSiblings \u2014 the bubble's \"home\" inside the perfect circle layout.\n\t// Simulation pulls toward these (not toward center), so the cluster settles into a true circle.\n\thomeX: number\n\thomeY: number\n\thovered: boolean\n}\n\nclass AnimatedBubbleChart extends PlotBase implements RxComponent {\n\tstatic type = 'animatedBubbleChart'\n\ttype: string\n\tdom!: { holder: any; controls: any; body: any; tip: Menu; header?: any }\n\tcomponents: any\n\tprivate simulation: any = null\n\tprivate selectedRankingKey: string | null = null\n\tprivate groupBy: 'all' | 'modality' = 'all'\n\t// State for the split-view toggle. Stored on the instance so the toggle handler\n\t// can recompute layout + restart the simulation without re-fetching data.\n\tprivate currentNodes: Bubble[] = []\n\tprivate currentAssays: string[] = []\n\t// 'all'-mode packed-cluster enclosing radius (+slack); set by computeHomes and used by\n\t// the per-tick circular clamp, so we don't pack the same nodes twice.\n\tprivate allModeBoundaryR = 0\n\tprivate modalityLabelsSel: any = null\n\t// Computed each time we enter split mode: where each modality's sub-cluster sits.\n\t// Sizes vary because we hierarchically pack groups by their natural cluster radii.\n\t// `topY` is the topmost EDGE of the cluster (min(homeY - outerR)) \u2014 bubble radii\n\t// aren't scaled with the layout, so the visual extent reaches farther up than\n\t// `cy - r*scale`. Labels use this so they always sit clear of every bubble.\n\tprivate groupCenters: { assay: string; cx: number; cy: number; r: number; topY: number }[] = []\n\tprivate svgSel: any = null\n\tprivate wrapperSel: any = null\n\t// Computed by `computeHomes` from the actual home positions + bubble radii.\n\t// Drives the wrapper's visible width/height so the chart frame hugs the cluster\n\t// instead of inheriting the much larger fixed SPLIT canvas size.\n\tprivate contentBbox: { minX: number; minY: number; maxX: number; maxY: number } = {\n\t\tminX: 0,\n\t\tminY: 0,\n\t\tmaxX: 0,\n\t\tmaxY: 0\n\t}\n\tprivate readonly BBOX_PAD = 20\n\n\t/** Internal SVG coordinate space \u2014 fixed, used by computeHomes for layout math. */\n\tprivate canvasW(): number {\n\t\treturn SPLIT_W\n\t}\n\tprivate canvasH(): number {\n\t\treturn SPLIT_H\n\t}\n\t/** Visible viewport \u2014 sized to the actual content bbox + padding, not a fixed constant. */\n\tprivate viewportW(): number {\n\t\treturn Math.max(50, this.contentBbox.maxX - this.contentBbox.minX + 2 * this.BBOX_PAD)\n\t}\n\tprivate viewportH(): number {\n\t\treturn Math.max(50, this.contentBbox.maxY - this.contentBbox.minY + 2 * this.BBOX_PAD)\n\t}\n\n\tconstructor(opts: any, api) {\n\t\tsuper(opts, api)\n\t\tthis.type = AnimatedBubbleChart.type\n\t\tthis.components = {}\n\t}\n\n\tasync init() {\n\t\tconst holder = this.opts.holder.append('div').style('padding', '10px')\n\t\tthis.dom = {\n\t\t\tholder,\n\t\t\tcontrols: holder\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'flex')\n\t\t\t\t.style('gap', '14px')\n\t\t\t\t.style('align-items', 'center')\n\t\t\t\t.style('margin-bottom', '10px'),\n\t\t\tbody: holder.append('div'),\n\t\t\ttip: new Menu({ padding: '' }),\n\t\t\theader: this.opts.header\n\t\t}\n\t\tif (this.dom.header) this.dom.header.html('Bubble Chart')\n\t}\n\n\tgetState(appState: MassState) {\n\t\tconst config: any = appState.plots.find((p: BasePlotConfig) => p.id === this.id)\n\t\tif (!config) throw `No plot with id='${this.id}' found`\n\t\treturn { config }\n\t}\n\n\tasync main() {\n\t\tawait this.fetchAndRender(this.selectedRankingKey ?? undefined)\n\t}\n\n\tprivate async fetchAndRender(rankingKey?: string) {\n\t\tconst body: any = {\n\t\t\tgenome: this.app.opts.state.vocab.genome,\n\t\t\tdslabel: this.app.opts.state.vocab.dslabel\n\t\t}\n\t\tif (rankingKey) body.rankingKey = rankingKey\n\n\t\tconst data = await dofetch3('termdb/animatedBubbleChart', { body })\n\n\t\t// Stop any previous simulation before re-rendering\n\t\tif (this.simulation) {\n\t\t\tthis.simulation.stop()\n\t\t\tthis.simulation = null\n\t\t}\n\n\t\tif (data.error) {\n\t\t\t// Keep the dropdown usable so the user can pick another ranking\n\t\t\tif (data.rankingKeys?.length) this.renderControls(data.rankingKeys, rankingKey ?? data.rankingKeys[0])\n\t\t\tthis.dom.body.selectAll('*').remove()\n\t\t\tthis.dom.body.append('div').style('padding', '20px').style('color', '#b00020').text(`Error: ${data.error}`)\n\t\t\treturn\n\t\t}\n\n\t\tthis.selectedRankingKey = data.selectedRankingKey\n\n\t\tthis.renderControls(data.rankingKeys, data.selectedRankingKey)\n\t\tthis.dom.body.selectAll('*').remove()\n\n\t\tif (!data.bubbles?.length) {\n\t\t\tthis.dom.body\n\t\t\t\t.append('div')\n\t\t\t\t.style('padding', '20px')\n\t\t\t\t.style('color', '#666')\n\t\t\t\t.text('No data in the selected ranking file.')\n\t\t\treturn\n\t\t}\n\n\t\t// Auto-width flex container, left-aligned (no `justify-content: center`, no fixed\n\t\t// width) so there's no symmetric whitespace bracketing the chart and the legend sits\n\t\t// directly to the right of the wrapper. The wrapper is sized to the content bbox; the\n\t\t// SVG inside is absolutely positioned and offset (left/top) so the cluster stays\n\t\t// centered as the viewport grows/shrinks on mode toggle.\n\t\tconst container = this.dom.body\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('gap', '24px')\n\t\t\t.style('align-items', 'flex-start')\n\t\t\t.style('flex-wrap', 'nowrap')\n\n\t\t// Assign a color per modality with the shared palette generator (same as\n\t\t// proteinView's getColors), domained on the dataset-ordered assay list so colors\n\t\t// are stable across re-fetches and consistent with other proteome charts.\n\t\tconst colorScale = getColors(data.assays.length).domain(data.assays)\n\t\tconst assayColors: { [a: string]: string } = {}\n\t\tfor (const a of data.assays) assayColors[a] = colorScale(a)\n\n\t\tthis.renderBubbles(container, data.bubbles, assayColors)\n\t\tthis.renderLegend(container, data.assays, assayColors)\n\t}\n\n\tprivate renderControls(rankingKeys: string[], current: string) {\n\t\tthis.dom.controls.selectAll('*').remove()\n\t\tconst sel = this.dom.controls.append('select').style('padding', '4px 8px').style('min-width', '200px')\n\t\tsel\n\t\t\t.selectAll('option')\n\t\t\t.data(rankingKeys)\n\t\t\t.enter()\n\t\t\t.append('option')\n\t\t\t.attr('value', (d: string) => d)\n\t\t\t.text((d: string) => d)\n\t\tsel.property('value', current)\n\t\tsel.on('change', () => this.fetchAndRender(sel.node().value))\n\n\t\t// Two-tab toggle (uses #dom's Tabs component) \u2014 the active mode is highlighted\n\t\t// so users can see at a glance whether the chart is currently combined or split.\n\t\tconst tabsHolder = this.dom.controls.append('div')\n\t\tconst tabsToggle = new Tabs({\n\t\t\tholder: tabsHolder,\n\t\t\tnoContent: true,\n\t\t\ttabs: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Combined',\n\t\t\t\t\tactive: this.groupBy === 'all',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tif (this.groupBy === 'all') return\n\t\t\t\t\t\tthis.groupBy = 'all'\n\t\t\t\t\t\tthis.applyGrouping()\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Split by dominant data type',\n\t\t\t\t\tactive: this.groupBy === 'modality',\n\t\t\t\t\tcallback: () => {\n\t\t\t\t\t\tif (this.groupBy === 'modality') return\n\t\t\t\t\t\tthis.groupBy = 'modality'\n\t\t\t\t\t\tthis.applyGrouping()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t})\n\t\ttabsToggle.main()\n\t}\n\n\t/** Find the modality (assay) that contributes the largest slice to this gene's wheel. */\n\tprivate dominantAssay(node: Bubble): string {\n\t\tlet bestAssay = node.slices[0]?.assay ?? this.currentAssays[0]\n\t\tlet bestAngle = -1\n\t\tfor (const s of node.slices) {\n\t\t\tif (s.angle > bestAngle) {\n\t\t\t\tbestAngle = s.angle\n\t\t\t\tbestAssay = s.assay\n\t\t\t}\n\t\t}\n\t\treturn bestAssay\n\t}\n\n\t/** Compute homeX/homeY on every node based on the current `groupBy` mode. */\n\tprivate computeHomes() {\n\t\tconst nodes = this.currentNodes\n\t\tif (!nodes.length) return\n\n\t\tconst W = this.canvasW()\n\t\tconst H = this.canvasH()\n\n\t\tif (this.groupBy === 'all') {\n\t\t\t// One global packed-circle layout (same as the initial view)\n\t\t\tconst packInputs = nodes.map(n => ({ r: n.outerR, x: 0, y: 0 }))\n\t\t\tpackSiblings(packInputs)\n\t\t\tconst enclose = packEnclose(packInputs as any) ?? { x: 0, y: 0, r: Math.min(W, H) / 2 }\n\t\t\tconst dx = W / 2 - enclose.x\n\t\t\tconst dy = H / 2 - enclose.y\n\t\t\tfor (let i = 0; i < nodes.length; i++) {\n\t\t\t\tnodes[i].homeX = packInputs[i].x + dx\n\t\t\t\tnodes[i].homeY = packInputs[i].y + dy\n\t\t\t}\n\t\t\t// boundary for the per-tick clamp (+slack so a hover ripple can briefly bulge it)\n\t\t\tthis.allModeBoundaryR = enclose.r + 2\n\t\t\tthis.groupCenters = []\n\t\t\tthis.recordContentBbox()\n\t\t\treturn\n\t\t}\n\n\t\t// 'modality' mode \u2014 hierarchical packing. Each modality's bubbles are packed\n\t\t// into their own little circle (sizes vary because gene counts vary), and then\n\t\t// those CIRCLES are themselves packed together with packSiblings so a big\n\t\t// modality cluster claims more canvas space than a small one. No fixed grid.\n\t\tconst assays = this.currentAssays\n\t\t// Padding around each sub-cluster. Because `packSiblings` packs the super-circles\n\t\t// to TOUCH each other, the visible empty space between two adjacent clusters ends\n\t\t// up being LABEL_GAP \u00D7 2 (one gap from each cluster's own padding). And because the\n\t\t// whole layout often gets scaled down to fit the canvas, we need this value much\n\t\t// larger than the desired post-scale gap. With a scale around 0.7-0.8 this still\n\t\t// yields ~180-200 px of clearly visible whitespace between clusters.\n\t\tconst LABEL_GAP = 200\n\n\t\tconst buckets = new Map<string, Bubble[]>()\n\t\tfor (const a of assays) buckets.set(a, [])\n\t\tfor (const n of nodes) buckets.get(this.dominantAssay(n))?.push(n)\n\n\t\t// Inner pack \u2014 per-modality sub-cluster\n\t\ttype GroupLayout = {\n\t\t\tassay: string\n\t\t\tnodes: Bubble[]\n\t\t\tpacks: { r: number; x: number; y: number }[]\n\t\t\tenclose: { x: number; y: number; r: number }\n\t\t\tnaturalExtent: number\n\t\t}\n\t\tconst layouts: GroupLayout[] = []\n\t\tfor (const assay of assays) {\n\t\t\tconst groupNodes = buckets.get(assay) ?? []\n\t\t\tif (!groupNodes.length) continue\n\t\t\tconst packs = groupNodes.map(n => ({ r: n.outerR, x: 0, y: 0 }))\n\t\t\tpackSiblings(packs)\n\t\t\tconst enclose = packEnclose(packs as any) ?? { x: 0, y: 0, r: 0 }\n\t\t\t// Natural visible extent of this cluster \u2014 the max reach from enclose center\n\t\t\t// to any bubble's outer edge. Used both to size the super-circle (so adjacent\n\t\t\t// clusters don't overlap) and as the visible boundary radius.\n\t\t\tlet naturalExtent = 0\n\t\t\tfor (let j = 0; j < groupNodes.length; j++) {\n\t\t\t\tconst dx2 = packs[j].x - enclose.x\n\t\t\t\tconst dy2 = packs[j].y - enclose.y\n\t\t\t\tconst reach = Math.sqrt(dx2 * dx2 + dy2 * dy2) + groupNodes[j].outerR\n\t\t\t\tif (reach > naturalExtent) naturalExtent = reach\n\t\t\t}\n\t\t\tlayouts.push({ assay, nodes: groupNodes, packs, enclose, naturalExtent })\n\t\t}\n\n\t\t// Outer pack \u2014 each sub-cluster treated as a super-circle whose radius is its\n\t\t// REAL outer extent (not the smaller enclose) plus LABEL_GAP. Using the real\n\t\t// extent guarantees adjacent clusters don't overlap when their internal layouts\n\t\t// are kept at natural size below.\n\t\tconst superCircles = layouts.map(g => ({ r: g.naturalExtent + LABEL_GAP, x: 0, y: 0 }))\n\t\tpackSiblings(superCircles)\n\t\tconst overallEnclose = packEnclose(superCircles as any) ?? { x: 0, y: 0, r: 1 }\n\n\t\t// Scale to fit within the canvas if the arrangement is wider/taller than the\n\t\t// current mode's dimensions. (Lots of small bubbles can produce a large enclose.)\n\t\tconst margin = 10\n\t\tconst maxR = Math.min(W, H) / 2 - margin\n\t\tconst scale = overallEnclose.r > maxR ? maxR / overallEnclose.r : 1\n\t\tconst dx = W / 2 - overallEnclose.x * scale\n\t\tconst dy = H / 2 - overallEnclose.y * scale\n\n\t\tthis.groupCenters = []\n\t\tfor (let i = 0; i < layouts.length; i++) {\n\t\t\tconst g = layouts[i]\n\t\t\t// Cluster center IS scaled (so the overall arrangement of clusters fits the canvas)\n\t\t\tconst groupCx = superCircles[i].x * scale + dx\n\t\t\tconst groupCy = superCircles[i].y * scale + dy\n\t\t\t// But internal bubble positions are NOT scaled \u2014 each cluster keeps its natural\n\t\t\t// packSiblings layout. This is what stops forceCollide from pushing bubbles outside\n\t\t\t// the visible boundary: at natural packing distances, bubbles already don't overlap,\n\t\t\t// so collide does nothing and the cluster's visible extent matches `naturalExtent`.\n\t\t\tconst offX = groupCx - g.enclose.x\n\t\t\tconst offY = groupCy - g.enclose.y\n\t\t\tfor (let j = 0; j < g.nodes.length; j++) {\n\t\t\t\tg.nodes[j].homeX = g.packs[j].x + offX\n\t\t\t\tg.nodes[j].homeY = g.packs[j].y + offY\n\t\t\t}\n\t\t\tthis.groupCenters.push({\n\t\t\t\tassay: g.assay,\n\t\t\t\tcx: groupCx,\n\t\t\t\tcy: groupCy,\n\t\t\t\tr: g.naturalExtent,\n\t\t\t\ttopY: groupCy - g.naturalExtent\n\t\t\t})\n\t\t}\n\n\t\t// Final centering: `packEnclose` returns the smallest enclosing circle, but its\n\t\t// CENTER doesn't necessarily equal the cluster centroid when sub-cluster sizes\n\t\t// vary a lot (one big modality, several small ones). Shift everything so the\n\t\t// actual bubble bounding box is centered on the canvas \u2014 no asymmetric empty\n\t\t// bands on one side.\n\t\tlet minX = Infinity,\n\t\t\tminY = Infinity,\n\t\t\tmaxX = -Infinity,\n\t\t\tmaxY = -Infinity\n\t\tfor (const n of nodes) {\n\t\t\tif (n.homeX - n.outerR < minX) minX = n.homeX - n.outerR\n\t\t\tif (n.homeY - n.outerR < minY) minY = n.homeY - n.outerR\n\t\t\tif (n.homeX + n.outerR > maxX) maxX = n.homeX + n.outerR\n\t\t\tif (n.homeY + n.outerR > maxY) maxY = n.homeY + n.outerR\n\t\t}\n\t\tif (Number.isFinite(minX)) {\n\t\t\tconst shiftX = W / 2 - (minX + maxX) / 2\n\t\t\tconst shiftY = H / 2 - (minY + maxY) / 2\n\t\t\tfor (const n of nodes) {\n\t\t\t\tn.homeX += shiftX\n\t\t\t\tn.homeY += shiftY\n\t\t\t}\n\t\t\tfor (const g of this.groupCenters) {\n\t\t\t\tg.cx += shiftX\n\t\t\t\tg.cy += shiftY\n\t\t\t\tg.topY += shiftY\n\t\t\t}\n\t\t}\n\n\t\tthis.recordContentBbox()\n\t}\n\n\t/** Record the FINAL content bbox (after recentering) so the wrapper can hug the\n\t * cluster instead of inheriting a fixed canvas size. Called by both modes. */\n\tprivate recordContentBbox() {\n\t\tconst nodes = this.currentNodes\n\t\tif (!nodes.length) return\n\t\tlet bx0 = Infinity,\n\t\t\tby0 = Infinity,\n\t\t\tbx1 = -Infinity,\n\t\t\tby1 = -Infinity\n\t\tfor (const n of nodes) {\n\t\t\tif (n.homeX - n.outerR < bx0) bx0 = n.homeX - n.outerR\n\t\t\tif (n.homeY - n.outerR < by0) by0 = n.homeY - n.outerR\n\t\t\tif (n.homeX + n.outerR > bx1) bx1 = n.homeX + n.outerR\n\t\t\tif (n.homeY + n.outerR > by1) by1 = n.homeY + n.outerR\n\t\t}\n\t\t// In split mode, extend bbox upward to include modality labels (sit at topY-32).\n\t\tif (this.groupBy === 'modality') {\n\t\t\tfor (const g of this.groupCenters) {\n\t\t\t\tconst labelY = g.topY - 32\n\t\t\t\tif (labelY < by0) by0 = labelY\n\t\t\t}\n\t\t}\n\t\tif (Number.isFinite(bx0)) {\n\t\t\tthis.contentBbox = { minX: bx0, minY: by0, maxX: bx1, maxY: by1 }\n\t\t}\n\t}\n\n\t/** Toggle handler \u2014 recompute homes for the current groupBy and reheat the simulation. */\n\tprivate applyGrouping() {\n\t\tthis.computeHomes()\n\n\t\t// Animate the wrapper's visible viewport (so combined \u21C4 split expands/contracts\n\t\t// AROUND the cluster, which itself stays anchored at the SVG's center). At the\n\t\t// same time, re-offset the SVG's left/top so its center keeps aligning with the\n\t\t// new wrapper's center \u2014 that's what stops the cluster from drifting right-down.\n\t\tif (this.wrapperSel) {\n\t\t\tthis.wrapperSel\n\t\t\t\t.transition()\n\t\t\t\t.duration(900)\n\t\t\t\t.style('width', `${this.viewportW()}px`)\n\t\t\t\t.style('height', `${this.viewportH()}px`)\n\t\t}\n\t\tif (this.svgSel) {\n\t\t\tthis.svgSel\n\t\t\t\t.transition()\n\t\t\t\t.duration(900)\n\t\t\t\t.style('left', `${this.BBOX_PAD - this.contentBbox.minX}px`)\n\t\t\t\t.style('top', `${this.BBOX_PAD - this.contentBbox.minY}px`)\n\t\t}\n\n\t\t// Modality labels share the same per-group center metadata.\n\t\t// In split mode: position the label just above\n\t\t// it (at cy \u2212 r \u2212 12). In combined mode: fade everything out IN PLACE so nothing\n\t\t// flies to a default coordinate.\n\t\tconst centerByAssay = new Map(this.groupCenters.map(g => [g.assay, g]))\n\n\t\tif (this.modalityLabelsSel) {\n\t\t\tconst labels = this.modalityLabelsSel.selectAll('text')\n\t\t\tif (this.groupBy === 'modality') {\n\t\t\t\tlabels\n\t\t\t\t\t.transition()\n\t\t\t\t\t.duration(900)\n\t\t\t\t\t.attr('opacity', (assay: string) => (centerByAssay.has(assay) ? 1 : 0))\n\t\t\t\t\t.attr('x', (assay: string) => centerByAssay.get(assay)?.cx ?? 0)\n\t\t\t\t\t.attr('y', (assay: string) => {\n\t\t\t\t\t\tconst g = centerByAssay.get(assay)\n\t\t\t\t\t\t// 12 px above the cluster's top edge \u2014 accurate since\n\t\t\t\t\t\t// g.r IS the cluster's natural extent (the visible boundary).\n\t\t\t\t\t\treturn g ? g.cy - g.r - 12 : 0\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tlabels.transition().duration(400).attr('opacity', 0)\n\t\t\t}\n\t\t}\n\n\t\tif (this.simulation) {\n\t\t\t// Replace forceX/forceY (vallandingham pattern) so the force re-reads each node's\n\t\t\t// updated homeX/homeY into its internal target cache. Moderate alpha + higher\n\t\t\t// velocityDecay keeps the motion smooth instead of violent.\n\t\t\tthis.simulation\n\t\t\t\t.force('x', forceX<Bubble>((d: Bubble) => d.homeX).strength(GRAVITY_STRENGTH))\n\t\t\t\t.force('y', forceY<Bubble>((d: Bubble) => d.homeY).strength(GRAVITY_STRENGTH))\n\t\t\t\t.velocityDecay(0.55)\n\t\t\t\t.alpha(0.6)\n\t\t\t\t.alphaDecay(0.018)\n\t\t\t\t.restart()\n\t\t\t// Restore normal velocity decay + alpha decay after the transition has played out\n\t\t\t// so hover ripples behave normally afterwards.\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (this.simulation) this.simulation.velocityDecay(0.4).alphaDecay(0.022)\n\t\t\t}, 2500)\n\t\t}\n\t}\n\n\tprivate renderBubbles(container: any, bubbles: any[], assayColors: { [a: string]: string }) {\n\t\t// Total-radius scale: rank 1 \u2192 MAX_R, rank N \u2192 MIN_R. Sqrt softens rank 1's dominance.\n\t\tconst maxRank = Math.max(...bubbles.map(b => b.integrativeRank))\n\t\tconst sizeScale = scaleSqrt().domain([1, maxRank]).range([MAX_R, MIN_R]).clamp(true)\n\n\t\tconst nodes: Bubble[] = bubbles.map(b => {\n\t\t\tconst outerR = sizeScale(b.integrativeRank) // bubble's outer radius (= ring outer radius)\n\t\t\tconst innerR = outerR * INNER_CIRCLE_RATIO // inner circle's visual radius \u2014 smaller now, ring is wider\n\t\t\t// Cumulative angles for slices\n\t\t\tconst slices: Slice[] = []\n\t\t\tlet cum = 0\n\t\t\tfor (const s of b.slices) {\n\t\t\t\tconst start = cum\n\t\t\t\tconst end = cum + s.angle\n\t\t\t\tslices.push({ ...s, startAngle: start, endAngle: end })\n\t\t\t\tcum = end\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tgene: b.gene,\n\t\t\t\tintegrativeRank: b.integrativeRank,\n\t\t\t\torderStatQ: b.orderStatQ,\n\t\t\t\tpValue: b.pValue,\n\t\t\t\tfdr: b.fdr,\n\t\t\t\tslices,\n\t\t\t\tinnerR,\n\t\t\t\touterR,\n\t\t\t\t// Seed positions in a small jitter around center so the simulation pulls them outward to home\n\t\t\t\tx: this.canvasW() / 2 + (Math.random() - 0.5) * 80,\n\t\t\t\ty: this.canvasH() / 2 + (Math.random() - 0.5) * 80,\n\t\t\t\thomeX: 0, // filled in by packSiblings below\n\t\t\t\thomeY: 0,\n\t\t\t\thovered: false\n\t\t\t}\n\t\t})\n\n\t\t// Store state on the instance so the toggle handler can recompute layout later\n\t\t// without re-fetching data.\n\t\tthis.currentNodes = nodes\n\t\tthis.currentAssays = Object.keys(assayColors)\n\n\t\t// Initial layout \u2014 packed circle ('all' mode) or per-modality sub-clusters ('modality').\n\t\t// In 'all' mode this also sets this.allModeBoundaryR (used by the per-tick clamp).\n\t\tthis.computeHomes()\n\n\t\t// Wrapper crops the SVG to the current mode's viewport; the SVG is positioned\n\t\t// absolutely so its content stays centered. The viewport is sized to the content\n\t\t// bbox and re-offset on mode toggle so the cluster doesn't drift on split.\n\t\tconst wrapper = container\n\t\t\t.append('div')\n\t\t\t.style('position', 'relative')\n\t\t\t.style('overflow', 'hidden')\n\t\t\t.style('width', `${this.viewportW()}px`)\n\t\t\t.style('height', `${this.viewportH()}px`)\n\t\tthis.wrapperSel = wrapper\n\n\t\tconst svg = wrapper\n\t\t\t.append('svg')\n\t\t\t.attr('width', this.canvasW())\n\t\t\t.attr('height', this.canvasH())\n\t\t\t.style('position', 'absolute')\n\t\t\t.style('left', `${this.BBOX_PAD - this.contentBbox.minX}px`)\n\t\t\t.style('top', `${this.BBOX_PAD - this.contentBbox.minY}px`)\n\t\tthis.svgSel = svg\n\n\t\tconst root = svg.append('g')\n\n\t\t// Sub-groups (split mode) are identified by their label + the spatial clustering of\n\t\t// bubbles alone \u2014 there are no visible cluster-boundary circles.\n\t\tconst arcGen = d3arc<Slice>()\n\t\t\t.startAngle((d: Slice) => d.startAngle)\n\t\t\t.endAngle((d: Slice) => d.endAngle)\n\n\t\tconst groups = root\n\t\t\t.selectAll('g.sjpp-abc-bubble')\n\t\t\t.data(nodes)\n\t\t\t.enter()\n\t\t\t.append('g')\n\t\t\t.attr('class', 'sjpp-abc-bubble')\n\t\t\t.attr('transform', (d: Bubble) => `translate(${d.x},${d.y})`)\n\t\t\t.style('cursor', 'pointer')\n\t\t\t.attr('role', 'button')\n\t\t\t.attr('tabindex', 0)\n\t\t\t.attr('aria-label', (d: Bubble) => `Open protein view for ${d.gene}`)\n\t\t// Invisible hit-area circle covering the entire bubble (outer radius). Sits behind\n\t\t// every visible element so it doesn't obscure anything, but captures pointer events\n\t\t// across the inner-circle \u2194 ring gap. Without it, mouseenter/mouseleave fires\n\t\t// spuriously when the cursor crosses that gap.\n\t\tgroups\n\t\t\t.append('circle')\n\t\t\t.attr('class', 'hit-area')\n\t\t\t.attr('r', (d: Bubble) => d.outerR)\n\t\t\t.attr('fill', 'transparent')\n\n\t\t// Ring slices \u2014 rendered first so the inner circle sits on top\n\t\tgroups.each(function (this: SVGGElement, d: Bubble) {\n\t\t\tconst slicesG = select(this).append('g').attr('class', 'ring')\n\t\t\tconst visible = d.slices.filter(s => s.angle > 0)\n\t\t\tslicesG\n\t\t\t\t.selectAll('path')\n\t\t\t\t.data(visible)\n\t\t\t\t.enter()\n\t\t\t\t.append('path')\n\t\t\t\t.attr('fill', (s: Slice) => assayColors[s.assay] ?? '#999')\n\t\t\t\t.attr('stroke', '#fff')\n\t\t\t\t.attr('stroke-width', 0.8)\n\t\t\t\t.attr('opacity', 0)\n\t\t\t\t.attr('d', (s: Slice) =>\n\t\t\t\t\tarcGen({\n\t\t\t\t\t\t...s,\n\t\t\t\t\t\tinnerRadius: d.innerR + RING_GAP,\n\t\t\t\t\t\touterRadius: d.outerR\n\t\t\t\t\t} as any)\n\t\t\t\t)\n\t\t})\n\n\t\t// Inner circle \u2014 starts at radius 0 and transitions out\n\t\tgroups\n\t\t\t.append('circle')\n\t\t\t.attr('class', 'inner')\n\t\t\t.attr('r', 0)\n\t\t\t.attr('fill', '#fff')\n\t\t\t.attr('stroke', '#333')\n\t\t\t.attr('stroke-width', 1)\n\n\t\t// Gene label \u2014 font scales with bubble size. Also bounded by label width so long names fit inside small bubbles.\n\t\tconst labelFontSize = (d: Bubble) => {\n\t\t\tconst byRadius = d.innerR * 0.72\n\t\t\t// Heuristic: each character ~0.6 \u00D7 fontSize wide; keep the text inside ~1.8 \u00D7 innerR\n\t\t\tconst maxByWidth = (d.innerR * 1.8) / Math.max(d.gene.length * 0.6, 1)\n\t\t\treturn Math.max(5, Math.min(byRadius, maxByWidth, 20))\n\t\t}\n\t\tgroups\n\t\t\t.append('text')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('dominant-baseline', 'central')\n\t\t\t.attr('font-weight', 'bold')\n\t\t\t.attr('font-size', (d: Bubble) => `${labelFontSize(d)}px`)\n\t\t\t.attr('fill', '#222')\n\t\t\t.attr('pointer-events', 'none')\n\t\t\t.attr('opacity', 0)\n\t\t\t.text((d: Bubble) => d.gene)\n\n\t\t// Tooltip handlers on the entire <g>\n\t\tconst tip = this.dom.tip\n\t\tgroups\n\t\t\t.on('mouseenter', (event: MouseEvent, d: Bubble) => {\n\t\t\t\t// Mark hovered \u2192 collide accessor inflates its radius \u2192 neighbors get pushed outward.\n\t\t\t\t// Weaken center gravity so the displaced neighbors actually move OUT instead of\n\t\t\t\t// being immediately re-clustered toward center.\n\t\t\t\td.hovered = true\n\t\t\t\tif (this.simulation) {\n\t\t\t\t\tthis.simulation.force('x')!.strength(HOVER_GRAVITY)\n\t\t\t\t\tthis.simulation.force('y')!.strength(HOVER_GRAVITY)\n\t\t\t\t\tthis.simulation.alpha(0.5).restart()\n\t\t\t\t}\n\t\t\t\ttip.clear().show(event.clientX, event.clientY)\n\t\t\t\tconst t = tip.d.append('div').style('padding', '8px').style('font-size', '13px').style('min-width', '220px')\n\t\t\t\tt.append('div')\n\t\t\t\t\t.style('font-weight', 'bold')\n\t\t\t\t\t.style('font-size', '15px')\n\t\t\t\t\t.style('margin-bottom', '4px')\n\t\t\t\t\t.text(d.gene)\n\t\t\t\tt.append('div').text(`Integrative rank: ${d.integrativeRank}`)\n\t\t\t\tif (d.orderStatQ != null) t.append('div').text(`Order statistic Q: ${d.orderStatQ.toExponential(3)}`)\n\t\t\t\tif (d.pValue != null)\n\t\t\t\t\tt.append('div').text(`P value: ${d.pValue >= 0.0001 ? d.pValue.toFixed(4) : d.pValue.toExponential(3)}`)\n\t\t\t\tif (d.fdr != null) t.append('div').text(`FDR: ${d.fdr >= 0.0001 ? d.fdr.toFixed(4) : d.fdr.toExponential(3)}`)\n\t\t\t\tconst table = t\n\t\t\t\t\t.append('table')\n\t\t\t\t\t.style('margin-top', '6px')\n\t\t\t\t\t.style('border-collapse', 'collapse')\n\t\t\t\t\t.style('font-size', '12px')\n\t\t\t\tconst header = table.append('tr')\n\t\t\t\theader.append('th').style('text-align', 'left').style('padding', '2px 6px').text('Data Type')\n\t\t\t\theader.append('th').style('text-align', 'right').style('padding', '2px 6px').text('Rank')\n\t\t\t\theader.append('th').style('text-align', 'right').style('padding', '2px 6px').text('Share')\n\t\t\t\tfor (const s of d.slices) {\n\t\t\t\t\tconst row = table.append('tr')\n\t\t\t\t\tconst swatch = row.append('td').style('padding', '2px 6px')\n\t\t\t\t\tswatch\n\t\t\t\t\t\t.append('span')\n\t\t\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t\t\t.style('width', '10px')\n\t\t\t\t\t\t.style('height', '10px')\n\t\t\t\t\t\t.style('background', assayColors[s.assay] ?? '#999')\n\t\t\t\t\t\t.style('margin-right', '6px')\n\t\t\t\t\t\t.style('vertical-align', 'middle')\n\t\t\t\t\tswatch.append('span').text(s.assay)\n\t\t\t\t\trow\n\t\t\t\t\t\t.append('td')\n\t\t\t\t\t\t.style('padding', '2px 6px')\n\t\t\t\t\t\t.style('text-align', 'right')\n\t\t\t\t\t\t.text(s.rank == null ? 'NA' : String(s.rank))\n\t\t\t\t\trow\n\t\t\t\t\t\t.append('td')\n\t\t\t\t\t\t.style('padding', '2px 6px')\n\t\t\t\t\t\t.style('text-align', 'right')\n\t\t\t\t\t\t.text(s.weight == null ? '\u2014' : `${(s.weight * 100).toFixed(1)}%`)\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on('mouseleave', (_event: MouseEvent, d: Bubble) => {\n\t\t\t\td.hovered = false\n\t\t\t\t// Restore center gravity gradually so the cluster eases back together\n\t\t\t\t// instead of snapping. Low alpha + standard gravity = a slow drift inward.\n\t\t\t\tif (this.simulation) {\n\t\t\t\t\tthis.simulation.force('x')!.strength(GRAVITY_STRENGTH)\n\t\t\t\t\tthis.simulation.force('y')!.strength(GRAVITY_STRENGTH)\n\t\t\t\t\tthis.simulation.alpha(0.25).restart()\n\t\t\t\t}\n\t\t\t\ttip.hide()\n\t\t\t})\n\t\t\t.on('click keydown', (event: MouseEvent | KeyboardEvent, d: Bubble) => {\n\t\t\t\tif (event.type === 'keydown') {\n\t\t\t\t\tconst ke = event as KeyboardEvent\n\t\t\t\t\tif (ke.key !== 'Enter' && ke.key !== ' ') return\n\t\t\t\t\tke.preventDefault()\n\t\t\t\t}\n\t\t\t\t// Launch a proteinView chart for the clicked gene \u2014 same dispatch shape used\n\t\t\t\t// by the \"Protein Selection\" chart-button menu after a gene is typed in.\n\t\t\t\ttip.hide()\n\t\t\t\tthis.app.dispatch({\n\t\t\t\t\ttype: 'plot_create',\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tchartType: 'proteinView',\n\t\t\t\t\t\ttw: {\n\t\t\t\t\t\t\tterm: {\n\t\t\t\t\t\t\t\tgene: d.gene,\n\t\t\t\t\t\t\t\tname: d.gene,\n\t\t\t\t\t\t\t\ttype: TermTypes.PROTEOME_ABUNDANCE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\n\t\t// Animate entry \u2014 circles & ring slices grow/fade in\n\t\tgroups\n\t\t\t.select('circle.inner')\n\t\t\t.transition()\n\t\t\t.duration(900)\n\t\t\t.attr('r', (d: any) => d.innerR)\n\t\tgroups.select('g.ring').selectAll('path').transition().delay(200).duration(900).attr('opacity', 0.95)\n\t\tgroups.select('text').transition().delay(500).duration(600).attr('opacity', 1)\n\n\t\t// Modality labels \u2014 appended AFTER the bubble groups so SVG draw order puts them\n\t\t// on top. Each label is data-joined to its assay name; `applyGrouping` reads\n\t\t// `this.groupCenters` to position each label above its sub-cluster.\n\t\tconst assayNames = this.currentAssays\n\t\tconst labelsG = svg.append('g').attr('class', 'modality-labels')\n\t\tlabelsG\n\t\t\t.selectAll('text')\n\t\t\t.data(assayNames)\n\t\t\t.enter()\n\t\t\t.append('text')\n\t\t\t.attr('text-anchor', 'middle')\n\t\t\t.attr('dominant-baseline', 'alphabetic')\n\t\t\t.attr('font-size', '13px')\n\t\t\t.attr('font-weight', 'bold')\n\t\t\t.attr('paint-order', 'stroke') // white outline behind text so it stays readable over bubbles\n\t\t\t.attr('stroke', '#fff')\n\t\t\t.attr('stroke-width', 3)\n\t\t\t.attr('stroke-linejoin', 'round')\n\t\t\t.attr('fill', (d: string) => assayColors[d] ?? '#333')\n\t\t\t.attr('opacity', 0)\n\t\t\t.attr('x', this.canvasW() / 2)\n\t\t\t.attr('y', 12)\n\t\t\t.text((d: string) => d)\n\t\tthis.modalityLabelsSel = labelsG\n\t\t// If we re-rendered while groupBy is already 'modality' (e.g., user switched ranking\n\t\t// file while split), reposition labels immediately for the new node set.\n\t\tif (this.groupBy === 'modality') {\n\t\t\tconst centerByAssay = new Map(this.groupCenters.map(g => [g.assay, g]))\n\t\t\tlabelsG\n\t\t\t\t.selectAll('text')\n\t\t\t\t.attr('opacity', (assay: string) => (centerByAssay.has(assay) ? 1 : 0))\n\t\t\t\t.attr('x', (assay: string) => centerByAssay.get(assay)?.cx ?? this.canvasW() / 2)\n\t\t\t\t.attr('y', (assay: string) => {\n\t\t\t\t\tconst g = centerByAssay.get(assay)\n\t\t\t\t\treturn g ? g.cy - g.r - 8 : 12\n\t\t\t\t})\n\t\t}\n\n\t\t// Force simulation \u2014 each bubble is pulled toward its OWN packed \"home\" position\n\t\t// (computed above by packSiblings), giving a true circle-packed layout instead of\n\t\t// the soft disk that center-only gravity produces.\n\t\tconst collideR = (d: Bubble) => (d.hovered ? d.outerR * HOVER_COLLIDE_BOOST : d.outerR) + PADDING\n\n\t\t// Custom force: when a bubble is hovered, radially push other bubbles away from it.\n\t\t// Reach and strength scale with the hovered bubble's size \u2014 a tiny bubble produces\n\t\t// a small ripple, the biggest produces the full one. Otherwise hovering the smallest\n\t\t// dot would displace neighbors as aggressively as hovering the largest anchor bubble.\n\t\tfunction hoverRepel(alpha: number) {\n\t\t\tconst h = nodes.find(n => n.hovered)\n\t\t\tif (!h) return\n\t\t\tconst sizeRatio = h.outerR / MAX_R // 0..1, where 1 = max-sized bubble\n\t\t\tconst reach = HOVER_REPEL_REACH * sizeRatio\n\t\t\tconst strength = HOVER_REPEL_STRENGTH * sizeRatio\n\t\t\tif (reach < 1) return\n\t\t\tfor (const n of nodes) {\n\t\t\t\tif (n === h) continue\n\t\t\t\tconst dx = n.x - h.x\n\t\t\t\tconst dy = n.y - h.y\n\t\t\t\tconst dist = Math.sqrt(dx * dx + dy * dy) || 0.01\n\t\t\t\tif (dist >= reach) continue\n\t\t\t\tconst falloff = 1 - dist / reach\n\t\t\t\tconst push = strength * falloff * alpha\n\t\t\t\tn.vx = (n.vx ?? 0) + (dx / dist) * push * reach\n\t\t\t\tn.vy = (n.vy ?? 0) + (dy / dist) * push * reach\n\t\t\t}\n\t\t}\n\n\t\tthis.simulation = forceSimulation<Bubble>(nodes)\n\t\t\t.force('collide', forceCollide<Bubble>(collideR).strength(1).iterations(2))\n\t\t\t.force('x', forceX<Bubble>((d: Bubble) => d.homeX).strength(GRAVITY_STRENGTH))\n\t\t\t.force('y', forceY<Bubble>((d: Bubble) => d.homeY).strength(GRAVITY_STRENGTH))\n\t\t\t.force('hoverRepel', hoverRepel)\n\t\t\t.alpha(1)\n\t\t\t.alphaDecay(0.022)\n\t\t\t.alphaMin(0.001)\n\t\t\t.on('tick', () => {\n\t\t\t\t// In 'all' mode the cluster is one big circle, so clamp every bubble inside\n\t\t\t\t// its enclosing radius \u2014 otherwise the perimeter would deform into a square\n\t\t\t\t// against canvas edges. In 'modality' (split) mode, each sub-cluster has its\n\t\t\t\t// own center and the clamp doesn't apply globally; bubbles are kept in place\n\t\t\t\t// by their per-group home-position gravity instead.\n\t\t\t\tif (this.groupBy === 'all') {\n\t\t\t\t\tconst cxC = this.canvasW() / 2\n\t\t\t\t\tconst cyC = this.canvasH() / 2\n\t\t\t\t\tfor (const d of nodes) {\n\t\t\t\t\t\tconst ddx = d.x - cxC\n\t\t\t\t\t\tconst ddy = d.y - cyC\n\t\t\t\t\t\tconst dist = Math.sqrt(ddx * ddx + ddy * ddy) || 0.0001\n\t\t\t\t\t\tconst maxDist = this.allModeBoundaryR - d.outerR\n\t\t\t\t\t\tif (dist > maxDist) {\n\t\t\t\t\t\t\td.x = cxC + (ddx * maxDist) / dist\n\t\t\t\t\t\t\td.y = cyC + (ddy * maxDist) / dist\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tgroups.attr('transform', (d: Bubble) => `translate(${d.x},${d.y})${d.hovered ? ` scale(${HOVER_SCALE})` : ''}`)\n\t\t\t})\n\t}\n\n\tprivate renderLegend(container: any, assays: string[], assayColors: { [a: string]: string }) {\n\t\tconst legend = container\n\t\t\t.append('div')\n\t\t\t.style('display', 'flex')\n\t\t\t.style('flex-direction', 'column')\n\t\t\t.style('gap', '6px')\n\t\t\t.style('padding', '4px 0')\n\t\t\t.style('min-width', '160px')\n\t\tlegend\n\t\t\t.append('div')\n\t\t\t.style('font-weight', 'bold')\n\t\t\t.style('font-size', '13px')\n\t\t\t.style('margin-bottom', '4px')\n\t\t\t.text('Data Type')\n\t\tfor (const assay of assays) {\n\t\t\tconst row = legend\n\t\t\t\t.append('div')\n\t\t\t\t.style('display', 'flex')\n\t\t\t\t.style('align-items', 'center')\n\t\t\t\t.style('gap', '8px')\n\t\t\t\t.style('font-size', '12px')\n\t\t\trow\n\t\t\t\t.append('span')\n\t\t\t\t.style('display', 'inline-block')\n\t\t\t\t.style('width', '14px')\n\t\t\t\t.style('height', '14px')\n\t\t\t\t.style('background', assayColors[assay] ?? '#999')\n\t\t\t\t.style('border', '1px solid #ccc')\n\t\t\trow.append('span').text(assay)\n\t\t}\n\t}\n}\n\nexport const componentInit = getCompInit(AnimatedBubbleChart)\n\nexport async function getPlotConfig(opts: any) {\n\tconst config = structuredClone(defaultConfig)\n\treturn copyMerge(config, opts)\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAM,gBAAgB,EAAE,WAAW,sBAAsB;AAMzD,IAAM,UAAU;AAChB,IAAM,UAAU;AAChB,IAAM,QAAQ;AACd,IAAM,QAAQ;AACd,IAAM,qBAAqB;AAC3B,IAAM,WAAW;AACjB,IAAM,UAAU;AAChB,IAAM,cAAc;AACpB,IAAM,sBAAsB;AAC5B,IAAM,oBAAoB;AAC1B,IAAM,uBAAuB;AAC7B,IAAM,mBAAmB;AACzB,IAAM,gBAAgB;AA+BtB,IAAM,sBAAN,MAAM,6BAA4B,SAAgC;AAAA,EAkDjE,YAAY,MAAW,KAAK;AAC3B,UAAM,MAAM,GAAG;AA9ChB,SAAQ,aAAkB;AAC1B,SAAQ,qBAAoC;AAC5C,SAAQ,UAA8B;AAGtC;AAAA;AAAA,SAAQ,eAAyB,CAAC;AAClC,SAAQ,gBAA0B,CAAC;AAGnC;AAAA;AAAA,SAAQ,mBAAmB;AAC3B,SAAQ,oBAAyB;AAMjC;AAAA;AAAA;AAAA;AAAA;AAAA,SAAQ,eAAqF,CAAC;AAC9F,SAAQ,SAAc;AACtB,SAAQ,aAAkB;AAI1B;AAAA;AAAA;AAAA,SAAQ,cAA0E;AAAA,MACjF,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,MACN,MAAM;AAAA,IACP;AACA,SAAiB,WAAW;AAmB3B,SAAK,OAAO,qBAAoB;AAChC,SAAK,aAAa,CAAC;AAAA,EACpB;AAAA,EArDA;AAAA,SAAO,OAAO;AAAA;AAAA;AAAA,EAmCN,UAAkB;AACzB,WAAO;AAAA,EACR;AAAA,EACQ,UAAkB;AACzB,WAAO;AAAA,EACR;AAAA;AAAA,EAEQ,YAAoB;AAC3B,WAAO,KAAK,IAAI,IAAI,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,IAAI,KAAK,QAAQ;AAAA,EACtF;AAAA,EACQ,YAAoB;AAC3B,WAAO,KAAK,IAAI,IAAI,KAAK,YAAY,OAAO,KAAK,YAAY,OAAO,IAAI,KAAK,QAAQ;AAAA,EACtF;AAAA,EAQA,MAAM,OAAO;AACZ,UAAM,SAAS,KAAK,KAAK,OAAO,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM;AACrE,SAAK,MAAM;AAAA,MACV;AAAA,MACA,UAAU,OACR,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,OAAO,MAAM,EACnB,MAAM,eAAe,QAAQ,EAC7B,MAAM,iBAAiB,MAAM;AAAA,MAC/B,MAAM,OAAO,OAAO,KAAK;AAAA,MACzB,KAAK,IAAI,KAAK,EAAE,SAAS,GAAG,CAAC;AAAA,MAC7B,QAAQ,KAAK,KAAK;AAAA,IACnB;AACA,QAAI,KAAK,IAAI,OAAQ,MAAK,IAAI,OAAO,KAAK,cAAc;AAAA,EACzD;AAAA,EAEA,SAAS,UAAqB;AAC7B,UAAM,SAAc,SAAS,MAAM,KAAK,CAAC,MAAsB,EAAE,OAAO,KAAK,EAAE;AAC/E,QAAI,CAAC,OAAQ,OAAM,oBAAoB,KAAK,EAAE;AAC9C,WAAO,EAAE,OAAO;AAAA,EACjB;AAAA,EAEA,MAAM,OAAO;AACZ,UAAM,KAAK,eAAe,KAAK,sBAAsB,MAAS;AAAA,EAC/D;AAAA,EAEA,MAAc,eAAe,YAAqB;AACjD,UAAM,OAAY;AAAA,MACjB,QAAQ,KAAK,IAAI,KAAK,MAAM,MAAM;AAAA,MAClC,SAAS,KAAK,IAAI,KAAK,MAAM,MAAM;AAAA,IACpC;AACA,QAAI,WAAY,MAAK,aAAa;AAElC,UAAM,OAAO,MAAM,SAAS,8BAA8B,EAAE,KAAK,CAAC;AAGlE,QAAI,KAAK,YAAY;AACpB,WAAK,WAAW,KAAK;AACrB,WAAK,aAAa;AAAA,IACnB;AAEA,QAAI,KAAK,OAAO;AAEf,UAAI,KAAK,aAAa,OAAQ,MAAK,eAAe,KAAK,aAAa,cAAc,KAAK,YAAY,CAAC,CAAC;AACrG,WAAK,IAAI,KAAK,UAAU,GAAG,EAAE,OAAO;AACpC,WAAK,IAAI,KAAK,OAAO,KAAK,EAAE,MAAM,WAAW,MAAM,EAAE,MAAM,SAAS,SAAS,EAAE,KAAK,UAAU,KAAK,KAAK,EAAE;AAC1G;AAAA,IACD;AAEA,SAAK,qBAAqB,KAAK;AAE/B,SAAK,eAAe,KAAK,aAAa,KAAK,kBAAkB;AAC7D,SAAK,IAAI,KAAK,UAAU,GAAG,EAAE,OAAO;AAEpC,QAAI,CAAC,KAAK,SAAS,QAAQ;AAC1B,WAAK,IAAI,KACP,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,SAAS,MAAM,EACrB,KAAK,uCAAuC;AAC9C;AAAA,IACD;AAOA,UAAM,YAAY,KAAK,IAAI,KACzB,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,OAAO,MAAM,EACnB,MAAM,eAAe,YAAY,EACjC,MAAM,aAAa,QAAQ;AAK7B,UAAM,aAAa,UAAU,KAAK,OAAO,MAAM,EAAE,OAAO,KAAK,MAAM;AACnE,UAAM,cAAuC,CAAC;AAC9C,eAAW,KAAK,KAAK,OAAQ,aAAY,CAAC,IAAI,WAAW,CAAC;AAE1D,SAAK,cAAc,WAAW,KAAK,SAAS,WAAW;AACvD,SAAK,aAAa,WAAW,KAAK,QAAQ,WAAW;AAAA,EACtD;AAAA,EAEQ,eAAe,aAAuB,SAAiB;AAC9D,SAAK,IAAI,SAAS,UAAU,GAAG,EAAE,OAAO;AACxC,UAAM,MAAM,KAAK,IAAI,SAAS,OAAO,QAAQ,EAAE,MAAM,WAAW,SAAS,EAAE,MAAM,aAAa,OAAO;AACrG,QACE,UAAU,QAAQ,EAClB,KAAK,WAAW,EAChB,MAAM,EACN,OAAO,QAAQ,EACf,KAAK,SAAS,CAAC,MAAc,CAAC,EAC9B,KAAK,CAAC,MAAc,CAAC;AACvB,QAAI,SAAS,SAAS,OAAO;AAC7B,QAAI,GAAG,UAAU,MAAM,KAAK,eAAe,IAAI,KAAK,EAAE,KAAK,CAAC;AAI5D,UAAM,aAAa,KAAK,IAAI,SAAS,OAAO,KAAK;AACjD,UAAM,aAAa,IAAI,KAAK;AAAA,MAC3B,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,MAAM;AAAA,QACL;AAAA,UACC,OAAO;AAAA,UACP,QAAQ,KAAK,YAAY;AAAA,UACzB,UAAU,MAAM;AACf,gBAAI,KAAK,YAAY,MAAO;AAC5B,iBAAK,UAAU;AACf,iBAAK,cAAc;AAAA,UACpB;AAAA,QACD;AAAA,QACA;AAAA,UACC,OAAO;AAAA,UACP,QAAQ,KAAK,YAAY;AAAA,UACzB,UAAU,MAAM;AACf,gBAAI,KAAK,YAAY,WAAY;AACjC,iBAAK,UAAU;AACf,iBAAK,cAAc;AAAA,UACpB;AAAA,QACD;AAAA,MACD;AAAA,IACD,CAAC;AACD,eAAW,KAAK;AAAA,EACjB;AAAA;AAAA,EAGQ,cAAc,MAAsB;AAC3C,QAAI,YAAY,KAAK,OAAO,CAAC,GAAG,SAAS,KAAK,cAAc,CAAC;AAC7D,QAAI,YAAY;AAChB,eAAW,KAAK,KAAK,QAAQ;AAC5B,UAAI,EAAE,QAAQ,WAAW;AACxB,oBAAY,EAAE;AACd,oBAAY,EAAE;AAAA,MACf;AAAA,IACD;AACA,WAAO;AAAA,EACR;AAAA;AAAA,EAGQ,eAAe;AACtB,UAAM,QAAQ,KAAK;AACnB,QAAI,CAAC,MAAM,OAAQ;AAEnB,UAAM,IAAI,KAAK,QAAQ;AACvB,UAAM,IAAI,KAAK,QAAQ;AAEvB,QAAI,KAAK,YAAY,OAAO;AAE3B,YAAM,aAAa,MAAM,IAAI,QAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE;AAC/D,uBAAa,UAAU;AACvB,YAAM,UAAU,gBAAY,UAAiB,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE;AACtF,YAAMA,MAAK,IAAI,IAAI,QAAQ;AAC3B,YAAMC,MAAK,IAAI,IAAI,QAAQ;AAC3B,eAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACtC,cAAM,CAAC,EAAE,QAAQ,WAAW,CAAC,EAAE,IAAID;AACnC,cAAM,CAAC,EAAE,QAAQ,WAAW,CAAC,EAAE,IAAIC;AAAA,MACpC;AAEA,WAAK,mBAAmB,QAAQ,IAAI;AACpC,WAAK,eAAe,CAAC;AACrB,WAAK,kBAAkB;AACvB;AAAA,IACD;AAMA,UAAM,SAAS,KAAK;AAOpB,UAAM,YAAY;AAElB,UAAM,UAAU,oBAAI,IAAsB;AAC1C,eAAW,KAAK,OAAQ,SAAQ,IAAI,GAAG,CAAC,CAAC;AACzC,eAAW,KAAK,MAAO,SAAQ,IAAI,KAAK,cAAc,CAAC,CAAC,GAAG,KAAK,CAAC;AAUjE,UAAM,UAAyB,CAAC;AAChC,eAAW,SAAS,QAAQ;AAC3B,YAAM,aAAa,QAAQ,IAAI,KAAK,KAAK,CAAC;AAC1C,UAAI,CAAC,WAAW,OAAQ;AACxB,YAAM,QAAQ,WAAW,IAAI,QAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,GAAG,GAAG,EAAE,EAAE;AAC/D,uBAAa,KAAK;AAClB,YAAM,UAAU,gBAAY,KAAY,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAIhE,UAAI,gBAAgB;AACpB,eAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC3C,cAAM,MAAM,MAAM,CAAC,EAAE,IAAI,QAAQ;AACjC,cAAM,MAAM,MAAM,CAAC,EAAE,IAAI,QAAQ;AACjC,cAAM,QAAQ,KAAK,KAAK,MAAM,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,EAAE;AAC/D,YAAI,QAAQ,cAAe,iBAAgB;AAAA,MAC5C;AACA,cAAQ,KAAK,EAAE,OAAO,OAAO,YAAY,OAAO,SAAS,cAAc,CAAC;AAAA,IACzE;AAMA,UAAM,eAAe,QAAQ,IAAI,QAAM,EAAE,GAAG,EAAE,gBAAgB,WAAW,GAAG,GAAG,GAAG,EAAE,EAAE;AACtF,qBAAa,YAAY;AACzB,UAAM,iBAAiB,gBAAY,YAAmB,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE;AAI9E,UAAM,SAAS;AACf,UAAM,OAAO,KAAK,IAAI,GAAG,CAAC,IAAI,IAAI;AAClC,UAAM,QAAQ,eAAe,IAAI,OAAO,OAAO,eAAe,IAAI;AAClE,UAAM,KAAK,IAAI,IAAI,eAAe,IAAI;AACtC,UAAM,KAAK,IAAI,IAAI,eAAe,IAAI;AAEtC,SAAK,eAAe,CAAC;AACrB,aAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACxC,YAAM,IAAI,QAAQ,CAAC;AAEnB,YAAM,UAAU,aAAa,CAAC,EAAE,IAAI,QAAQ;AAC5C,YAAM,UAAU,aAAa,CAAC,EAAE,IAAI,QAAQ;AAK5C,YAAM,OAAO,UAAU,EAAE,QAAQ;AACjC,YAAM,OAAO,UAAU,EAAE,QAAQ;AACjC,eAAS,IAAI,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAK;AACxC,UAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI;AAClC,UAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,IAAI;AAAA,MACnC;AACA,WAAK,aAAa,KAAK;AAAA,QACtB,OAAO,EAAE;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,GAAG,EAAE;AAAA,QACL,MAAM,UAAU,EAAE;AAAA,MACnB,CAAC;AAAA,IACF;AAOA,QAAI,OAAO,UACV,OAAO,UACP,OAAO,WACP,OAAO;AACR,eAAW,KAAK,OAAO;AACtB,UAAI,EAAE,QAAQ,EAAE,SAAS,KAAM,QAAO,EAAE,QAAQ,EAAE;AAClD,UAAI,EAAE,QAAQ,EAAE,SAAS,KAAM,QAAO,EAAE,QAAQ,EAAE;AAClD,UAAI,EAAE,QAAQ,EAAE,SAAS,KAAM,QAAO,EAAE,QAAQ,EAAE;AAClD,UAAI,EAAE,QAAQ,EAAE,SAAS,KAAM,QAAO,EAAE,QAAQ,EAAE;AAAA,IACnD;AACA,QAAI,OAAO,SAAS,IAAI,GAAG;AAC1B,YAAM,SAAS,IAAI,KAAK,OAAO,QAAQ;AACvC,YAAM,SAAS,IAAI,KAAK,OAAO,QAAQ;AACvC,iBAAW,KAAK,OAAO;AACtB,UAAE,SAAS;AACX,UAAE,SAAS;AAAA,MACZ;AACA,iBAAW,KAAK,KAAK,cAAc;AAClC,UAAE,MAAM;AACR,UAAE,MAAM;AACR,UAAE,QAAQ;AAAA,MACX;AAAA,IACD;AAEA,SAAK,kBAAkB;AAAA,EACxB;AAAA;AAAA;AAAA,EAIQ,oBAAoB;AAC3B,UAAM,QAAQ,KAAK;AACnB,QAAI,CAAC,MAAM,OAAQ;AACnB,QAAI,MAAM,UACT,MAAM,UACN,MAAM,WACN,MAAM;AACP,eAAW,KAAK,OAAO;AACtB,UAAI,EAAE,QAAQ,EAAE,SAAS,IAAK,OAAM,EAAE,QAAQ,EAAE;AAChD,UAAI,EAAE,QAAQ,EAAE,SAAS,IAAK,OAAM,EAAE,QAAQ,EAAE;AAChD,UAAI,EAAE,QAAQ,EAAE,SAAS,IAAK,OAAM,EAAE,QAAQ,EAAE;AAChD,UAAI,EAAE,QAAQ,EAAE,SAAS,IAAK,OAAM,EAAE,QAAQ,EAAE;AAAA,IACjD;AAEA,QAAI,KAAK,YAAY,YAAY;AAChC,iBAAW,KAAK,KAAK,cAAc;AAClC,cAAM,SAAS,EAAE,OAAO;AACxB,YAAI,SAAS,IAAK,OAAM;AAAA,MACzB;AAAA,IACD;AACA,QAAI,OAAO,SAAS,GAAG,GAAG;AACzB,WAAK,cAAc,EAAE,MAAM,KAAK,MAAM,KAAK,MAAM,KAAK,MAAM,IAAI;AAAA,IACjE;AAAA,EACD;AAAA;AAAA,EAGQ,gBAAgB;AACvB,SAAK,aAAa;AAMlB,QAAI,KAAK,YAAY;AACpB,WAAK,WACH,WAAW,EACX,SAAS,GAAG,EACZ,MAAM,SAAS,GAAG,KAAK,UAAU,CAAC,IAAI,EACtC,MAAM,UAAU,GAAG,KAAK,UAAU,CAAC,IAAI;AAAA,IAC1C;AACA,QAAI,KAAK,QAAQ;AAChB,WAAK,OACH,WAAW,EACX,SAAS,GAAG,EACZ,MAAM,QAAQ,GAAG,KAAK,WAAW,KAAK,YAAY,IAAI,IAAI,EAC1D,MAAM,OAAO,GAAG,KAAK,WAAW,KAAK,YAAY,IAAI,IAAI;AAAA,IAC5D;AAMA,UAAM,gBAAgB,IAAI,IAAI,KAAK,aAAa,IAAI,OAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtE,QAAI,KAAK,mBAAmB;AAC3B,YAAM,SAAS,KAAK,kBAAkB,UAAU,MAAM;AACtD,UAAI,KAAK,YAAY,YAAY;AAChC,eACE,WAAW,EACX,SAAS,GAAG,EACZ,KAAK,WAAW,CAAC,UAAmB,cAAc,IAAI,KAAK,IAAI,IAAI,CAAE,EACrE,KAAK,KAAK,CAAC,UAAkB,cAAc,IAAI,KAAK,GAAG,MAAM,CAAC,EAC9D,KAAK,KAAK,CAAC,UAAkB;AAC7B,gBAAM,IAAI,cAAc,IAAI,KAAK;AAGjC,iBAAO,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK;AAAA,QAC9B,CAAC;AAAA,MACH,OAAO;AACN,eAAO,WAAW,EAAE,SAAS,GAAG,EAAE,KAAK,WAAW,CAAC;AAAA,MACpD;AAAA,IACD;AAEA,QAAI,KAAK,YAAY;AAIpB,WAAK,WACH,MAAM,KAAK,UAAe,CAAC,MAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,CAAC,EAC5E,MAAM,KAAK,UAAe,CAAC,MAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,CAAC,EAC5E,cAAc,IAAI,EAClB,MAAM,GAAG,EACT,WAAW,KAAK,EAChB,QAAQ;AAGV,iBAAW,MAAM;AAChB,YAAI,KAAK,WAAY,MAAK,WAAW,cAAc,GAAG,EAAE,WAAW,KAAK;AAAA,MACzE,GAAG,IAAI;AAAA,IACR;AAAA,EACD;AAAA,EAEQ,cAAc,WAAgB,SAAgB,aAAsC;AAE3F,UAAM,UAAU,KAAK,IAAI,GAAG,QAAQ,IAAI,OAAK,EAAE,eAAe,CAAC;AAC/D,UAAM,YAAY,KAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,MAAM,IAAI;AAEnF,UAAM,QAAkB,QAAQ,IAAI,OAAK;AACxC,YAAM,SAAS,UAAU,EAAE,eAAe;AAC1C,YAAM,SAAS,SAAS;AAExB,YAAM,SAAkB,CAAC;AACzB,UAAI,MAAM;AACV,iBAAW,KAAK,EAAE,QAAQ;AACzB,cAAM,QAAQ;AACd,cAAM,MAAM,MAAM,EAAE;AACpB,eAAO,KAAK,EAAE,GAAG,GAAG,YAAY,OAAO,UAAU,IAAI,CAAC;AACtD,cAAM;AAAA,MACP;AACA,aAAO;AAAA,QACN,MAAM,EAAE;AAAA,QACR,iBAAiB,EAAE;AAAA,QACnB,YAAY,EAAE;AAAA,QACd,QAAQ,EAAE;AAAA,QACV,KAAK,EAAE;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA,QAEA,GAAG,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO;AAAA,QAChD,GAAG,KAAK,QAAQ,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO;AAAA,QAChD,OAAO;AAAA;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,MACV;AAAA,IACD,CAAC;AAID,SAAK,eAAe;AACpB,SAAK,gBAAgB,OAAO,KAAK,WAAW;AAI5C,SAAK,aAAa;AAKlB,UAAM,UAAU,UACd,OAAO,KAAK,EACZ,MAAM,YAAY,UAAU,EAC5B,MAAM,YAAY,QAAQ,EAC1B,MAAM,SAAS,GAAG,KAAK,UAAU,CAAC,IAAI,EACtC,MAAM,UAAU,GAAG,KAAK,UAAU,CAAC,IAAI;AACzC,SAAK,aAAa;AAElB,UAAM,MAAM,QACV,OAAO,KAAK,EACZ,KAAK,SAAS,KAAK,QAAQ,CAAC,EAC5B,KAAK,UAAU,KAAK,QAAQ,CAAC,EAC7B,MAAM,YAAY,UAAU,EAC5B,MAAM,QAAQ,GAAG,KAAK,WAAW,KAAK,YAAY,IAAI,IAAI,EAC1D,MAAM,OAAO,GAAG,KAAK,WAAW,KAAK,YAAY,IAAI,IAAI;AAC3D,SAAK,SAAS;AAEd,UAAM,OAAO,IAAI,OAAO,GAAG;AAI3B,UAAM,SAAS,YAAa,EAC1B,WAAW,CAAC,MAAa,EAAE,UAAU,EACrC,SAAS,CAAC,MAAa,EAAE,QAAQ;AAEnC,UAAM,SAAS,KACb,UAAU,mBAAmB,EAC7B,KAAK,KAAK,EACV,MAAM,EACN,OAAO,GAAG,EACV,KAAK,SAAS,iBAAiB,EAC/B,KAAK,aAAa,CAAC,MAAc,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAC3D,MAAM,UAAU,SAAS,EACzB,KAAK,QAAQ,QAAQ,EACrB,KAAK,YAAY,CAAC,EAClB,KAAK,cAAc,CAAC,MAAc,yBAAyB,EAAE,IAAI,EAAE;AAKrE,WACE,OAAO,QAAQ,EACf,KAAK,SAAS,UAAU,EACxB,KAAK,KAAK,CAAC,MAAc,EAAE,MAAM,EACjC,KAAK,QAAQ,aAAa;AAG5B,WAAO,KAAK,SAA6B,GAAW;AACnD,YAAM,UAAU,eAAO,IAAI,EAAE,OAAO,GAAG,EAAE,KAAK,SAAS,MAAM;AAC7D,YAAM,UAAU,EAAE,OAAO,OAAO,OAAK,EAAE,QAAQ,CAAC;AAChD,cACE,UAAU,MAAM,EAChB,KAAK,OAAO,EACZ,MAAM,EACN,OAAO,MAAM,EACb,KAAK,QAAQ,CAAC,MAAa,YAAY,EAAE,KAAK,KAAK,MAAM,EACzD,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,GAAG,EACxB,KAAK,WAAW,CAAC,EACjB;AAAA,QAAK;AAAA,QAAK,CAAC,MACX,OAAO;AAAA,UACN,GAAG;AAAA,UACH,aAAa,EAAE,SAAS;AAAA,UACxB,aAAa,EAAE;AAAA,QAChB,CAAQ;AAAA,MACT;AAAA,IACF,CAAC;AAGD,WACE,OAAO,QAAQ,EACf,KAAK,SAAS,OAAO,EACrB,KAAK,KAAK,CAAC,EACX,KAAK,QAAQ,MAAM,EACnB,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC;AAGxB,UAAM,gBAAgB,CAAC,MAAc;AACpC,YAAM,WAAW,EAAE,SAAS;AAE5B,YAAM,aAAc,EAAE,SAAS,MAAO,KAAK,IAAI,EAAE,KAAK,SAAS,KAAK,CAAC;AACrE,aAAO,KAAK,IAAI,GAAG,KAAK,IAAI,UAAU,YAAY,EAAE,CAAC;AAAA,IACtD;AACA,WACE,OAAO,MAAM,EACb,KAAK,eAAe,QAAQ,EAC5B,KAAK,qBAAqB,SAAS,EACnC,KAAK,eAAe,MAAM,EAC1B,KAAK,aAAa,CAAC,MAAc,GAAG,cAAc,CAAC,CAAC,IAAI,EACxD,KAAK,QAAQ,MAAM,EACnB,KAAK,kBAAkB,MAAM,EAC7B,KAAK,WAAW,CAAC,EACjB,KAAK,CAAC,MAAc,EAAE,IAAI;AAG5B,UAAM,MAAM,KAAK,IAAI;AACrB,WACE,GAAG,cAAc,CAAC,OAAmB,MAAc;AAInD,QAAE,UAAU;AACZ,UAAI,KAAK,YAAY;AACpB,aAAK,WAAW,MAAM,GAAG,EAAG,SAAS,aAAa;AAClD,aAAK,WAAW,MAAM,GAAG,EAAG,SAAS,aAAa;AAClD,aAAK,WAAW,MAAM,GAAG,EAAE,QAAQ;AAAA,MACpC;AACA,UAAI,MAAM,EAAE,KAAK,MAAM,SAAS,MAAM,OAAO;AAC7C,YAAM,IAAI,IAAI,EAAE,OAAO,KAAK,EAAE,MAAM,WAAW,KAAK,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,aAAa,OAAO;AAC3G,QAAE,OAAO,KAAK,EACZ,MAAM,eAAe,MAAM,EAC3B,MAAM,aAAa,MAAM,EACzB,MAAM,iBAAiB,KAAK,EAC5B,KAAK,EAAE,IAAI;AACb,QAAE,OAAO,KAAK,EAAE,KAAK,qBAAqB,EAAE,eAAe,EAAE;AAC7D,UAAI,EAAE,cAAc,KAAM,GAAE,OAAO,KAAK,EAAE,KAAK,sBAAsB,EAAE,WAAW,cAAc,CAAC,CAAC,EAAE;AACpG,UAAI,EAAE,UAAU;AACf,UAAE,OAAO,KAAK,EAAE,KAAK,YAAY,EAAE,UAAU,OAAS,EAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,cAAc,CAAC,CAAC,EAAE;AACxG,UAAI,EAAE,OAAO,KAAM,GAAE,OAAO,KAAK,EAAE,KAAK,QAAQ,EAAE,OAAO,OAAS,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,cAAc,CAAC,CAAC,EAAE;AAC7G,YAAM,QAAQ,EACZ,OAAO,OAAO,EACd,MAAM,cAAc,KAAK,EACzB,MAAM,mBAAmB,UAAU,EACnC,MAAM,aAAa,MAAM;AAC3B,YAAM,SAAS,MAAM,OAAO,IAAI;AAChC,aAAO,OAAO,IAAI,EAAE,MAAM,cAAc,MAAM,EAAE,MAAM,WAAW,SAAS,EAAE,KAAK,WAAW;AAC5F,aAAO,OAAO,IAAI,EAAE,MAAM,cAAc,OAAO,EAAE,MAAM,WAAW,SAAS,EAAE,KAAK,MAAM;AACxF,aAAO,OAAO,IAAI,EAAE,MAAM,cAAc,OAAO,EAAE,MAAM,WAAW,SAAS,EAAE,KAAK,OAAO;AACzF,iBAAW,KAAK,EAAE,QAAQ;AACzB,cAAM,MAAM,MAAM,OAAO,IAAI;AAC7B,cAAM,SAAS,IAAI,OAAO,IAAI,EAAE,MAAM,WAAW,SAAS;AAC1D,eACE,OAAO,MAAM,EACb,MAAM,WAAW,cAAc,EAC/B,MAAM,SAAS,MAAM,EACrB,MAAM,UAAU,MAAM,EACtB,MAAM,cAAc,YAAY,EAAE,KAAK,KAAK,MAAM,EAClD,MAAM,gBAAgB,KAAK,EAC3B,MAAM,kBAAkB,QAAQ;AAClC,eAAO,OAAO,MAAM,EAAE,KAAK,EAAE,KAAK;AAClC,YACE,OAAO,IAAI,EACX,MAAM,WAAW,SAAS,EAC1B,MAAM,cAAc,OAAO,EAC3B,KAAK,EAAE,QAAQ,OAAO,OAAO,OAAO,EAAE,IAAI,CAAC;AAC7C,YACE,OAAO,IAAI,EACX,MAAM,WAAW,SAAS,EAC1B,MAAM,cAAc,OAAO,EAC3B,KAAK,EAAE,UAAU,OAAO,WAAM,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,GAAG;AAAA,MAClE;AAAA,IACD,CAAC,EACA,GAAG,cAAc,CAAC,QAAoB,MAAc;AACpD,QAAE,UAAU;AAGZ,UAAI,KAAK,YAAY;AACpB,aAAK,WAAW,MAAM,GAAG,EAAG,SAAS,gBAAgB;AACrD,aAAK,WAAW,MAAM,GAAG,EAAG,SAAS,gBAAgB;AACrD,aAAK,WAAW,MAAM,IAAI,EAAE,QAAQ;AAAA,MACrC;AACA,UAAI,KAAK;AAAA,IACV,CAAC,EACA,GAAG,iBAAiB,CAAC,OAAmC,MAAc;AACtE,UAAI,MAAM,SAAS,WAAW;AAC7B,cAAM,KAAK;AACX,YAAI,GAAG,QAAQ,WAAW,GAAG,QAAQ,IAAK;AAC1C,WAAG,eAAe;AAAA,MACnB;AAGA,UAAI,KAAK;AACT,WAAK,IAAI,SAAS;AAAA,QACjB,MAAM;AAAA,QACN,QAAQ;AAAA,UACP,WAAW;AAAA,UACX,IAAI;AAAA,YACH,MAAM;AAAA,cACL,MAAM,EAAE;AAAA,cACR,MAAM,EAAE;AAAA,cACR,MAAM,UAAU;AAAA,YACjB;AAAA,UACD;AAAA,QACD;AAAA,MACD,CAAC;AAAA,IACF,CAAC;AAGF,WACE,OAAO,cAAc,EACrB,WAAW,EACX,SAAS,GAAG,EACZ,KAAK,KAAK,CAAC,MAAW,EAAE,MAAM;AAChC,WAAO,OAAO,QAAQ,EAAE,UAAU,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,WAAW,IAAI;AACpG,WAAO,OAAO,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,SAAS,GAAG,EAAE,KAAK,WAAW,CAAC;AAK7E,UAAM,aAAa,KAAK;AACxB,UAAM,UAAU,IAAI,OAAO,GAAG,EAAE,KAAK,SAAS,iBAAiB;AAC/D,YACE,UAAU,MAAM,EAChB,KAAK,UAAU,EACf,MAAM,EACN,OAAO,MAAM,EACb,KAAK,eAAe,QAAQ,EAC5B,KAAK,qBAAqB,YAAY,EACtC,KAAK,aAAa,MAAM,EACxB,KAAK,eAAe,MAAM,EAC1B,KAAK,eAAe,QAAQ,EAC5B,KAAK,UAAU,MAAM,EACrB,KAAK,gBAAgB,CAAC,EACtB,KAAK,mBAAmB,OAAO,EAC/B,KAAK,QAAQ,CAAC,MAAc,YAAY,CAAC,KAAK,MAAM,EACpD,KAAK,WAAW,CAAC,EACjB,KAAK,KAAK,KAAK,QAAQ,IAAI,CAAC,EAC5B,KAAK,KAAK,EAAE,EACZ,KAAK,CAAC,MAAc,CAAC;AACvB,SAAK,oBAAoB;AAGzB,QAAI,KAAK,YAAY,YAAY;AAChC,YAAM,gBAAgB,IAAI,IAAI,KAAK,aAAa,IAAI,OAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACtE,cACE,UAAU,MAAM,EAChB,KAAK,WAAW,CAAC,UAAmB,cAAc,IAAI,KAAK,IAAI,IAAI,CAAE,EACrE,KAAK,KAAK,CAAC,UAAkB,cAAc,IAAI,KAAK,GAAG,MAAM,KAAK,QAAQ,IAAI,CAAC,EAC/E,KAAK,KAAK,CAAC,UAAkB;AAC7B,cAAM,IAAI,cAAc,IAAI,KAAK;AACjC,eAAO,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI;AAAA,MAC7B,CAAC;AAAA,IACH;AAKA,UAAM,WAAW,CAAC,OAAe,EAAE,UAAU,EAAE,SAAS,sBAAsB,EAAE,UAAU;AAM1F,aAAS,WAAW,OAAe;AAClC,YAAM,IAAI,MAAM,KAAK,OAAK,EAAE,OAAO;AACnC,UAAI,CAAC,EAAG;AACR,YAAM,YAAY,EAAE,SAAS;AAC7B,YAAM,QAAQ,oBAAoB;AAClC,YAAM,WAAW,uBAAuB;AACxC,UAAI,QAAQ,EAAG;AACf,iBAAW,KAAK,OAAO;AACtB,YAAI,MAAM,EAAG;AACb,cAAM,KAAK,EAAE,IAAI,EAAE;AACnB,cAAM,KAAK,EAAE,IAAI,EAAE;AACnB,cAAM,OAAO,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE,KAAK;AAC7C,YAAI,QAAQ,MAAO;AACnB,cAAM,UAAU,IAAI,OAAO;AAC3B,cAAM,OAAO,WAAW,UAAU;AAClC,UAAE,MAAM,EAAE,MAAM,KAAM,KAAK,OAAQ,OAAO;AAC1C,UAAE,MAAM,EAAE,MAAM,KAAM,KAAK,OAAQ,OAAO;AAAA,MAC3C;AAAA,IACD;AAEA,SAAK,aAAa,mBAAwB,KAAK,EAC7C,MAAM,WAAW,gBAAqB,QAAQ,EAAE,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC,EACzE,MAAM,KAAK,UAAe,CAAC,MAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,CAAC,EAC5E,MAAM,KAAK,UAAe,CAAC,MAAc,EAAE,KAAK,EAAE,SAAS,gBAAgB,CAAC,EAC5E,MAAM,cAAc,UAAU,EAC9B,MAAM,CAAC,EACP,WAAW,KAAK,EAChB,SAAS,IAAK,EACd,GAAG,QAAQ,MAAM;AAMjB,UAAI,KAAK,YAAY,OAAO;AAC3B,cAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,cAAM,MAAM,KAAK,QAAQ,IAAI;AAC7B,mBAAW,KAAK,OAAO;AACtB,gBAAM,MAAM,EAAE,IAAI;AAClB,gBAAM,MAAM,EAAE,IAAI;AAClB,gBAAM,OAAO,KAAK,KAAK,MAAM,MAAM,MAAM,GAAG,KAAK;AACjD,gBAAM,UAAU,KAAK,mBAAmB,EAAE;AAC1C,cAAI,OAAO,SAAS;AACnB,cAAE,IAAI,MAAO,MAAM,UAAW;AAC9B,cAAE,IAAI,MAAO,MAAM,UAAW;AAAA,UAC/B;AAAA,QACD;AAAA,MACD;AACA,aAAO,KAAK,aAAa,CAAC,MAAc,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,UAAU,WAAW,MAAM,EAAE,EAAE;AAAA,IAC/G,CAAC;AAAA,EACH;AAAA,EAEQ,aAAa,WAAgB,QAAkB,aAAsC;AAC5F,UAAM,SAAS,UACb,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,kBAAkB,QAAQ,EAChC,MAAM,OAAO,KAAK,EAClB,MAAM,WAAW,OAAO,EACxB,MAAM,aAAa,OAAO;AAC5B,WACE,OAAO,KAAK,EACZ,MAAM,eAAe,MAAM,EAC3B,MAAM,aAAa,MAAM,EACzB,MAAM,iBAAiB,KAAK,EAC5B,KAAK,WAAW;AAClB,eAAW,SAAS,QAAQ;AAC3B,YAAM,MAAM,OACV,OAAO,KAAK,EACZ,MAAM,WAAW,MAAM,EACvB,MAAM,eAAe,QAAQ,EAC7B,MAAM,OAAO,KAAK,EAClB,MAAM,aAAa,MAAM;AAC3B,UACE,OAAO,MAAM,EACb,MAAM,WAAW,cAAc,EAC/B,MAAM,SAAS,MAAM,EACrB,MAAM,UAAU,MAAM,EACtB,MAAM,cAAc,YAAY,KAAK,KAAK,MAAM,EAChD,MAAM,UAAU,gBAAgB;AAClC,UAAI,OAAO,MAAM,EAAE,KAAK,KAAK;AAAA,IAC9B;AAAA,EACD;AACD;AAEO,IAAM,gBAAgB,YAAY,mBAAmB;AAE5D,eAAsB,cAAc,MAAW;AAC9C,QAAM,SAAS,gBAAgB,aAAa;AAC5C,SAAO,UAAU,QAAQ,IAAI;AAC9B;",
6
+ "names": ["dx", "dy"]
7
+ }
@@ -0,0 +1,49 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-GBXX3AHJ.js";
4
+ import "./chunk-BO47H3VP.js";
5
+ import "./chunk-SKMFMGCD.js";
6
+ import "./chunk-B6U3EDAF.js";
7
+ import "./chunk-EY253UB7.js";
8
+ import "./chunk-N3JT3KCV.js";
9
+ import "./chunk-HXNUQOGN.js";
10
+ import "./chunk-ATUYZWHV.js";
11
+ import "./chunk-4KY4XKJV.js";
12
+ import "./chunk-3LYZMOLO.js";
13
+ import "./chunk-5QTJUPFS.js";
14
+ import "./chunk-PRZWSBMA.js";
15
+ import "./chunk-L7VDSIM7.js";
16
+ import "./chunk-HJ6L54YS.js";
17
+ import "./chunk-LSEFWW72.js";
18
+ import "./chunk-UXDVUCXU.js";
19
+ import "./chunk-HYOEWQ5P.js";
20
+ import "./chunk-HBW42TDT.js";
21
+ import "./chunk-LQJMCE7G.js";
22
+ import "./chunk-FN5XPUPH.js";
23
+ import "./chunk-IIT367QZ.js";
24
+ import "./chunk-RZGEKL77.js";
25
+ import "./chunk-KM4JBR26.js";
26
+ import "./chunk-COYULNJF.js";
27
+ import "./chunk-6G4YOMWW.js";
28
+ import "./chunk-7IYJZZQI.js";
29
+ import "./chunk-M3J4MINX.js";
30
+ import "./chunk-PF4DSFDR.js";
31
+ import "./chunk-I73KUUYG.js";
32
+ import "./chunk-IVXCWCKS.js";
33
+ import "./chunk-7KRS7L4U.js";
34
+ import "./chunk-BKPDYW5T.js";
35
+ import "./chunk-JNITUVXP.js";
36
+ import "./chunk-TJYRBEBK.js";
37
+ import "./chunk-LOZEKOES.js";
38
+ import "./chunk-VQZ2Z5YU.js";
39
+ import "./chunk-SOTB4FRE.js";
40
+ import "./chunk-TLT4YIG3.js";
41
+ import "./chunk-KYBIQBXE.js";
42
+ import "./chunk-I6Y4O3RR.js";
43
+ import "./chunk-OMR2DT66.js";
44
+ import "./chunk-DQC5FFGV.js";
45
+ import "./chunk-HFNDKYVF.js";
46
+ export {
47
+ appInit
48
+ };
49
+ //# sourceMappingURL=app-KHZT2BVF.js.map
@@ -0,0 +1,37 @@
1
+ import {
2
+ appInit
3
+ } from "./chunk-L7VDSIM7.js";
4
+ import "./chunk-HJ6L54YS.js";
5
+ import "./chunk-LSEFWW72.js";
6
+ import "./chunk-UXDVUCXU.js";
7
+ import "./chunk-HYOEWQ5P.js";
8
+ import "./chunk-HBW42TDT.js";
9
+ import "./chunk-LQJMCE7G.js";
10
+ import "./chunk-FN5XPUPH.js";
11
+ import "./chunk-IIT367QZ.js";
12
+ import "./chunk-RZGEKL77.js";
13
+ import "./chunk-KM4JBR26.js";
14
+ import "./chunk-COYULNJF.js";
15
+ import "./chunk-6G4YOMWW.js";
16
+ import "./chunk-7IYJZZQI.js";
17
+ import "./chunk-M3J4MINX.js";
18
+ import "./chunk-PF4DSFDR.js";
19
+ import "./chunk-I73KUUYG.js";
20
+ import "./chunk-IVXCWCKS.js";
21
+ import "./chunk-7KRS7L4U.js";
22
+ import "./chunk-BKPDYW5T.js";
23
+ import "./chunk-JNITUVXP.js";
24
+ import "./chunk-TJYRBEBK.js";
25
+ import "./chunk-LOZEKOES.js";
26
+ import "./chunk-VQZ2Z5YU.js";
27
+ import "./chunk-SOTB4FRE.js";
28
+ import "./chunk-TLT4YIG3.js";
29
+ import "./chunk-KYBIQBXE.js";
30
+ import "./chunk-I6Y4O3RR.js";
31
+ import "./chunk-OMR2DT66.js";
32
+ import "./chunk-DQC5FFGV.js";
33
+ import "./chunk-HFNDKYVF.js";
34
+ export {
35
+ appInit
36
+ };
37
+ //# sourceMappingURL=app-XLYH3YPL.js.map
package/dist/app.js CHANGED
@@ -1,41 +1,41 @@
1
1
  import {
2
2
  bindProteinPaint,
3
3
  runproteinpaint
4
- } from "./chunk-74ZU4BT6.js";
5
- import "./chunk-IW57W7EQ.js";
6
- import "./chunk-ZTYNN6G5.js";
7
- import "./chunk-DKVUOBIE.js";
4
+ } from "./chunk-VRLC7DAU.js";
5
+ import "./chunk-Y45JIQ5Y.js";
6
+ import "./chunk-PXCFA4ZQ.js";
7
+ import "./chunk-FVX76DZS.js";
8
8
  import "./chunk-PRZWSBMA.js";
9
- import "./chunk-LTOBEUM2.js";
9
+ import "./chunk-OR43PGBV.js";
10
10
  import "./chunk-MKAF2BHB.js";
11
11
  import "./chunk-WKNI3HRQ.js";
12
- import "./chunk-VGYTAYFK.js";
13
- import "./chunk-67DBIM6H.js";
14
- import "./chunk-SA7APTJR.js";
12
+ import "./chunk-NLQQIVTC.js";
13
+ import "./chunk-E6XLLQCG.js";
14
+ import "./chunk-L7VDSIM7.js";
15
15
  import "./chunk-HJ6L54YS.js";
16
16
  import "./chunk-LSEFWW72.js";
17
- import "./chunk-SKREEF3H.js";
17
+ import "./chunk-UXDVUCXU.js";
18
18
  import "./chunk-HYOEWQ5P.js";
19
19
  import "./chunk-HBW42TDT.js";
20
- import "./chunk-G6O3URDN.js";
20
+ import "./chunk-LQJMCE7G.js";
21
21
  import "./chunk-FN5XPUPH.js";
22
22
  import "./chunk-IIT367QZ.js";
23
23
  import "./chunk-RZGEKL77.js";
24
- import "./chunk-UI7OCM2A.js";
25
- import "./chunk-YZK37YCC.js";
26
- import "./chunk-7EMWHCVW.js";
24
+ import "./chunk-KM4JBR26.js";
25
+ import "./chunk-COYULNJF.js";
26
+ import "./chunk-6G4YOMWW.js";
27
27
  import "./chunk-7IYJZZQI.js";
28
28
  import "./chunk-M3J4MINX.js";
29
29
  import "./chunk-PF4DSFDR.js";
30
- import "./chunk-QH6W3NVF.js";
31
- import "./chunk-NOEAT6CX.js";
32
- import "./chunk-4UWS5Y3N.js";
33
- import "./chunk-DD4R5P6W.js";
30
+ import "./chunk-I73KUUYG.js";
31
+ import "./chunk-IVXCWCKS.js";
32
+ import "./chunk-7KRS7L4U.js";
33
+ import "./chunk-BKPDYW5T.js";
34
34
  import "./chunk-JNITUVXP.js";
35
- import "./chunk-KSGA62R2.js";
35
+ import "./chunk-TJYRBEBK.js";
36
36
  import "./chunk-LOZEKOES.js";
37
- import "./chunk-TOU7EVFQ.js";
38
- import "./chunk-OAWQ6LOO.js";
37
+ import "./chunk-VQZ2Z5YU.js";
38
+ import "./chunk-SOTB4FRE.js";
39
39
  import "./chunk-TLT4YIG3.js";
40
40
  import "./chunk-KYBIQBXE.js";
41
41
  import "./chunk-I6Y4O3RR.js";