@sjcrh/proteinpaint-client 2.197.0 → 2.198.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 (940) hide show
  1. package/dist/2dmaf-R3PFZNRN.js +1373 -0
  2. package/dist/AIProjectAdmin-DM3KG6SR.js +958 -0
  3. package/dist/AppHeader-6DZQ6YZX.js +835 -0
  4. package/dist/BoxPlot-76NINVX4.js +1217 -0
  5. package/dist/CorrelationVolcano-U5UMJNH5.js +619 -0
  6. package/dist/DE-AXNYWIQK.js +95 -0
  7. package/dist/DEinput-JH6YY6LS.js +301 -0
  8. package/dist/DifferentialAnalysis-25P4CGIY.js +242 -0
  9. package/dist/Disco-NVMLF3BK.js +3392 -0
  10. package/dist/Disco-NVMLF3BK.js.map +7 -0
  11. package/dist/Disco.UI-C7CZINUQ.js +249 -0
  12. package/dist/DmrPlot-WROR4ENM.js +642 -0
  13. package/dist/GB-JUABODPH.js +1394 -0
  14. package/dist/GB-JUABODPH.js.map +7 -0
  15. package/dist/GSEA-Y5R2THIJ.js +846 -0
  16. package/dist/GeneExpInput-JDU6EI7K.js +367 -0
  17. package/dist/Geomap-J763OK2F.js +89 -0
  18. package/dist/Geomap-J763OK2F.js.map +7 -0
  19. package/dist/HicApp-UNIJLH4B.js +2250 -0
  20. package/dist/IDCViewer-KVPCIUDW.js +10803 -0
  21. package/dist/IDCViewer-KVPCIUDW.js.map +7 -0
  22. package/dist/NumBinaryEditor-WMN2GGO4.js +271 -0
  23. package/dist/NumBinaryEditor.unit.spec-TAMXV6SE.js +286 -0
  24. package/dist/NumContEditor-XYIOJY4E.js +109 -0
  25. package/dist/NumContEditor.unit.spec-WDZ75BHO.js +169 -0
  26. package/dist/NumCustomBinEditor-5SY3C4TY.js +38 -0
  27. package/dist/NumCustomBinEditor.unit.spec-XHTAIXR3.js +284 -0
  28. package/dist/NumDiscreteEditor-NRDRX4FD.js +179 -0
  29. package/dist/NumDiscreteEditor.unit.spec-2CJW7OAT.js +202 -0
  30. package/dist/NumRegularBinEditor-DUDVTNDC.js +38 -0
  31. package/dist/NumRegularBinEditor.unit.spec-H3GNQHMN.js +227 -0
  32. package/dist/NumSplineEditor-7Q4AC7KH.js +198 -0
  33. package/dist/NumSplineEditor.unit.spec-YRZK5PH5.js +199 -0
  34. package/dist/NumericDensity-NTNWUESG.js +38 -0
  35. package/dist/NumericDensity.unit.spec-5I5U6T6P.js +221 -0
  36. package/dist/NumericHandler-MEW2KMPX.js +39 -0
  37. package/dist/NumericHandler.unit.spec-JFX4BPRG.js +219 -0
  38. package/dist/ProteomeInput-K2ZHR2U6.js +395 -0
  39. package/dist/RunChart2-BEBDU7RC.js +758 -0
  40. package/dist/SC-XCBFJVUJ.js +1120 -0
  41. package/dist/Volcano-4Y4TP3UX.js +1385 -0
  42. package/dist/WSIViewer-ZLQU62PD.js +48562 -0
  43. package/dist/WsiSamplesPlot-JMBSITOM.js +165 -0
  44. package/dist/adSandbox-664IRCRL.js +38 -0
  45. package/dist/animatedBubbleChart-TX7NW34K.js +555 -0
  46. package/dist/app-63WJ3BMP.js +37 -0
  47. package/dist/app-77FIZHCG.js +49 -0
  48. package/dist/app.js +19 -19
  49. package/dist/bam-IETNVAYD.js +860 -0
  50. package/dist/barchart-YUVXJNH4.js +47 -0
  51. package/dist/barchart.data-P4EIQXGE.js +22 -0
  52. package/dist/barchart.events-JPVCLTIG.js +47 -0
  53. package/dist/barchart.integration.spec-ZH7DEQI2.js +2196 -0
  54. package/dist/barchart2-XO2FG76J.js +314 -0
  55. package/dist/bars.renderer-AUIWUJDH.js +12 -0
  56. package/dist/block-NBTCOT3H.js +6255 -0
  57. package/dist/block.init-X7Y2EEVR.js +38 -0
  58. package/dist/block.mds.expressionrank-BIAOZIZ3.js +359 -0
  59. package/dist/block.mds.geneboxplot-CNICDVLK.js +828 -0
  60. package/dist/block.mds.junction-PQXCTSUI.js +1545 -0
  61. package/dist/block.mds.svcnv-32KMVTCT.js +6801 -0
  62. package/dist/block.svg-LRTOYQK2.js +164 -0
  63. package/dist/block.tk.aicheck-HDV7ZIUD.js +283 -0
  64. package/dist/block.tk.ase-JIDWKMYI.js +365 -0
  65. package/dist/block.tk.bam-5X3OS5HB.js +1906 -0
  66. package/dist/block.tk.bedgraphdot-T7JX7YQL.js +384 -0
  67. package/dist/block.tk.bigwig.ui-OSAYEBAE.js +212 -0
  68. package/dist/block.tk.hicstraw-DEY3VQFK.js +823 -0
  69. package/dist/block.tk.junction-7UAFEZSJ.js +2364 -0
  70. package/dist/block.tk.junction.textmatrixui-27LHS33U.js +199 -0
  71. package/dist/block.tk.ld-DF2PI7OO.js +99 -0
  72. package/dist/block.tk.menu-L2D5KBIV.js +1029 -0
  73. package/dist/block.tk.pgv-QO56SKBV.js +944 -0
  74. package/dist/brainImaging-NIPQWFWO.js +423 -0
  75. package/dist/brainRegions-ZNZ2WHSU.js +221 -0
  76. package/dist/bubbleHeatmap-ERWNEKZB.js +383 -0
  77. package/dist/chunk-2GYWFQML.js +299 -0
  78. package/dist/chunk-2HYJ4GDH.js +50 -0
  79. package/dist/chunk-2MG6XE6R.js +272 -0
  80. package/dist/chunk-2X6W4E3W.js +1507 -0
  81. package/dist/chunk-2X6W4E3W.js.map +7 -0
  82. package/dist/chunk-33K5PA52.js +54 -0
  83. package/dist/chunk-37XDBPOP.js +26 -0
  84. package/dist/chunk-3EWB3246.js +58 -0
  85. package/dist/chunk-3RSKOPIY.js +100 -0
  86. package/dist/chunk-3XVVN66M.js +4085 -0
  87. package/dist/chunk-3XVVN66M.js.map +7 -0
  88. package/dist/chunk-4DPVT4NE.js +1102 -0
  89. package/dist/chunk-4IH7DORZ.js +98 -0
  90. package/dist/chunk-4QNBFIIR.js +399 -0
  91. package/dist/chunk-4STKL6SR.js +217 -0
  92. package/dist/chunk-4TZIVSL5.js +34 -0
  93. package/dist/chunk-5ABGFJSP.js +467 -0
  94. package/dist/chunk-5AZNP47R.js +302 -0
  95. package/dist/chunk-5RL2OHXX.js +5070 -0
  96. package/dist/chunk-5VOPABBA.js +20941 -0
  97. package/dist/chunk-5VOPABBA.js.map +7 -0
  98. package/dist/chunk-6BB43SIB.js +102 -0
  99. package/dist/chunk-7OHRR2IE.js +276 -0
  100. package/dist/chunk-ARBHWDMY.js +226 -0
  101. package/dist/chunk-ARBHWDMY.js.map +7 -0
  102. package/dist/chunk-ASATD4T7.js +14 -0
  103. package/dist/chunk-AZ47Q7BX.js +1223 -0
  104. package/dist/chunk-B5B3LZB3.js +236 -0
  105. package/dist/chunk-BHGISFCA.js +2681 -0
  106. package/dist/chunk-BMBOZ64T.js +2786 -0
  107. package/dist/chunk-BOZJHPJP.js +216 -0
  108. package/dist/chunk-CDD7LYJM.js +194 -0
  109. package/dist/chunk-CTQ3IUCA.js +2327 -0
  110. package/dist/chunk-D7TID3HR.js +158 -0
  111. package/dist/chunk-DBKNWR4J.js +1561 -0
  112. package/dist/chunk-DBKNWR4J.js.map +7 -0
  113. package/dist/chunk-E55LLYRX.js +55 -0
  114. package/dist/chunk-ESGXULRH.js +386 -0
  115. package/dist/chunk-EZ4LZ6ZT.js +117 -0
  116. package/dist/chunk-F3SJTVP5.js +4284 -0
  117. package/dist/chunk-F5IXNJO7.js +222 -0
  118. package/dist/chunk-FJYECRHW.js +448 -0
  119. package/dist/chunk-FPNRUQOU.js +833 -0
  120. package/dist/chunk-G5S4R77D.js +1942 -0
  121. package/dist/chunk-G764NXQN.js +170 -0
  122. package/dist/chunk-GAPI4MML.js +148 -0
  123. package/dist/chunk-HLUZOZXJ.js +272 -0
  124. package/dist/chunk-HOKIK2FR.js +375 -0
  125. package/dist/chunk-I6WR4CG7.js +323 -0
  126. package/dist/chunk-I6WR4CG7.js.map +7 -0
  127. package/dist/chunk-KLGL6XZD.js +129 -0
  128. package/dist/chunk-L7IRWUKT.js +480 -0
  129. package/dist/chunk-LFCYMSVA.js +314 -0
  130. package/dist/chunk-LX6G7HJJ.js +617 -0
  131. package/dist/chunk-M2G5R4WB.js +142 -0
  132. package/dist/chunk-M4TTGGT4.js +102 -0
  133. package/dist/chunk-M6EF3WVV.js +1825 -0
  134. package/dist/chunk-M6KHT3MM.js +146 -0
  135. package/dist/chunk-MCZFHWIR.js +230 -0
  136. package/dist/chunk-MFQACKYU.js +448 -0
  137. package/dist/chunk-MVGAGTM3.js +343 -0
  138. package/dist/chunk-NELOT3NJ.js +119 -0
  139. package/dist/chunk-NRKMXULC.js +54 -0
  140. package/dist/chunk-NSTL4MY2.js +2110 -0
  141. package/dist/chunk-NSTL4MY2.js.map +7 -0
  142. package/dist/chunk-NYRZNRG5.js +177 -0
  143. package/dist/chunk-ONPKE6DC.js +368 -0
  144. package/dist/chunk-OXVLWQ6M.js +556 -0
  145. package/dist/chunk-PFRWS4CR.js +203 -0
  146. package/dist/chunk-PJKQUXEN.js +1275 -0
  147. package/dist/chunk-Q2L44HK3.js +6364 -0
  148. package/dist/chunk-QNHT74XC.js +1245 -0
  149. package/dist/chunk-RKO6BL5N.js +446 -0
  150. package/dist/chunk-T25QNZHB.js +254 -0
  151. package/dist/chunk-U7TBYVIQ.js +31 -0
  152. package/dist/chunk-UGRQXBL4.js +381 -0
  153. package/dist/chunk-USFSHSCJ.js +477 -0
  154. package/dist/chunk-VJ6UFVGC.js +2833 -0
  155. package/dist/chunk-W3WPPOXH.js +292 -0
  156. package/dist/chunk-WFCSOTBO.js +263 -0
  157. package/dist/chunk-WHP4AKDM.js +185 -0
  158. package/dist/chunk-WZ2L57MB.js +102 -0
  159. package/dist/chunk-XPY6AWXO.js +787 -0
  160. package/dist/chunk-Y4UAKFWC.js +37 -0
  161. package/dist/chunk-YQBS2ZCK.js +514 -0
  162. package/dist/chunk-Z5U6HOE4.js +190 -0
  163. package/dist/chunk-Z5U6HOE4.js.map +7 -0
  164. package/dist/chunk-ZNEJUKJW.js +140 -0
  165. package/dist/chunk-ZNEJUKJW.js.map +7 -0
  166. package/dist/chunk-ZTHM2TKP.js +176 -0
  167. package/dist/condition-2PASYSUC.js +332 -0
  168. package/dist/controls-5IMJ6K5L.js +41 -0
  169. package/dist/controls.config-P5PG2DHW.js +39 -0
  170. package/dist/correlation-U3EDLNHR.js +102 -0
  171. package/dist/cuminc-2HUFEROK.js +1149 -0
  172. package/dist/cuminc.integration.spec-WFWAPTDA.js +678 -0
  173. package/dist/customdata.inputui-ZHWNEPFH.js +289 -0
  174. package/dist/dataDownload-VBSJBKMP.js +330 -0
  175. package/dist/dataDownload.integration.spec-LUFSETOP.js +193 -0
  176. package/dist/databrowser.ui-6H2KMSTJ.js +433 -0
  177. package/dist/dictionary-V37LXFIP.js +118 -0
  178. package/dist/dnaMethylation-OIZMHMLK.js +38 -0
  179. package/dist/dnaMethylation.integration.spec-CWPTJ74H.js +203 -0
  180. package/dist/dofetch-IWPZQB5N.js +51 -0
  181. package/dist/e2pca-7SLIAGYW.js +350 -0
  182. package/dist/ep-7L6KF6K4.js +1256 -0
  183. package/dist/expclust.gdc.spec-JT452Q3G.js +307 -0
  184. package/dist/facet-CXOUU5AS.js +521 -0
  185. package/dist/forms2-VPNCLQOY.js +539 -0
  186. package/dist/gb-P4VRXRED.js +88 -0
  187. package/dist/geneExpClustering-FQTCKRJJ.js +249 -0
  188. package/dist/geneExpression-BHO5326K.js +313 -0
  189. package/dist/geneExpression-ZMERB64E.js +38 -0
  190. package/dist/geneExpression.unit.spec-CNVHZWNG.js +102 -0
  191. package/dist/geneORA-FXVUCXGX.js +278 -0
  192. package/dist/geneRanking-SFK4UBKQ.js +553 -0
  193. package/dist/geneVariant-IYEHB4H7.js +41 -0
  194. package/dist/geneVariant-LIRRLUFR.js +39 -0
  195. package/dist/geneVariant.integration.spec-Y2NPNTYX.js +198 -0
  196. package/dist/genefusion.ui-L3HIJM3N.js +309 -0
  197. package/dist/geneset-A6VUFX63.js +208 -0
  198. package/dist/genomeBrowser.spec-CB4HHHBN.js +281 -0
  199. package/dist/grin2-FKBIMH5N.js +75 -0
  200. package/dist/grin2-V36KLEBU.js +1143 -0
  201. package/dist/grin2-V36KLEBU.js.map +7 -0
  202. package/dist/hierCluster-QFPRMHVA.js +63 -0
  203. package/dist/hierCluster-YWC3XYPV.js +59 -0
  204. package/dist/hierCluster.config-F7YYZNM3.js +40 -0
  205. package/dist/hierCluster.integration.spec-AF4L3YT6.js +488 -0
  206. package/dist/hierCluster.interactivity-RPY74PK6.js +54 -0
  207. package/dist/hierCluster.renderers-LOKHZ3V2.js +21 -0
  208. package/dist/imagePlot-BBEXA754.js +163 -0
  209. package/dist/importPlot-7QGANZGK.js +8 -0
  210. package/dist/isoformExpression-4SLLCVFD.js +40 -0
  211. package/dist/isoformExpression.unit.spec-GEL4JJ64.js +208 -0
  212. package/dist/launch.adhoc-LWLBQJS5.js +42 -0
  213. package/dist/leftlabel.sample-RTEZOIH2.js +264 -0
  214. package/dist/legacyDataset-VLD7ZYWI.js +119 -0
  215. package/dist/lollipop-XKQK5QZU.js +171 -0
  216. package/dist/maf-AZQPPWDO.js +459 -0
  217. package/dist/maftimeline-7MSVYKQU.js +593 -0
  218. package/dist/matrix-BGLWC25D.js +58 -0
  219. package/dist/matrix-IQR5SRMK.js +63 -0
  220. package/dist/matrix.cells-5C57NWOY.js +28 -0
  221. package/dist/matrix.config-2DQXAN2E.js +41 -0
  222. package/dist/matrix.data-ADCGF5H6.js +25 -0
  223. package/dist/matrix.groups-V4ITQ5F7.js +27 -0
  224. package/dist/matrix.integration.spec-IBNOO2WP.js +3072 -0
  225. package/dist/matrix.interactivity-JNELJFOV.js +42 -0
  226. package/dist/matrix.layout-WBVIV6GR.js +44 -0
  227. package/dist/matrix.legend-YHOWPK77.js +22 -0
  228. package/dist/matrix.renderers-5BGVRR3M.js +38 -0
  229. package/dist/matrix.serieses-2GZJOASZ.js +21 -0
  230. package/dist/matrix.sort-WKIWPJKP.js +27 -0
  231. package/dist/matrix.sort.unit.spec-L2E4D4AS.js +472 -0
  232. package/dist/matrix.sorterUi-TEJWWJ64.js +18 -0
  233. package/dist/matrix.sorterUi.unit.spec-SHP7C4P7.js +342 -0
  234. package/dist/mavb-4MXNYUEO.js +732 -0
  235. package/dist/mds.fimo-WHIJIBOI.js +518 -0
  236. package/dist/mds.samplescatterplot-BRJ6NG2D.js +1550 -0
  237. package/dist/mds.survivalplot-OPCMB5PB.js +483 -0
  238. package/dist/numericDictTermCluster-7MIFOP2K.js +65 -0
  239. package/dist/oncomatrix-BGG6BEUI.js +295 -0
  240. package/dist/oncomatrix.spec-LYQ4L4F3.js +448 -0
  241. package/dist/plot.2dvaf-6WVCP2ZI.js +377 -0
  242. package/dist/plot.app-MLBP6WFP.js +41 -0
  243. package/dist/plot.barplot-JEPRZSCU.js +102 -0
  244. package/dist/plot.boxplot-GNFW42VM.js +152 -0
  245. package/dist/plot.brainImaging-5ACNSD45.js +51 -0
  246. package/dist/plot.disco-Q2V2KKIH.js +102 -0
  247. package/dist/plot.dzi-KVT6S7K7.js +33 -0
  248. package/dist/plot.ssgq-4N3KFJQ2.js +139 -0
  249. package/dist/plot.vaf2cov-ITRG5U43.js +259 -0
  250. package/dist/plot.wsi-26YZNU4V.js +36 -0
  251. package/dist/polar2-J7GVUK4X.js +231 -0
  252. package/dist/profileForms-VXV2JLXU.js +446 -0
  253. package/dist/profilePlot-ZZYZK4SY.js +54 -0
  254. package/dist/proteinView-7KN532D3.js +1568 -0
  255. package/dist/qualitative-MLRVLIAU.js +43 -0
  256. package/dist/radar2-WM2ZBOH3.js +326 -0
  257. package/dist/radarFacility2-3SBR2JJ3.js +334 -0
  258. package/dist/regression-WMRPQJW2.js +56 -0
  259. package/dist/regression.inputs-VWZKSYNY.js +48 -0
  260. package/dist/regression.inputs.term-OWE6GWHM.js +48 -0
  261. package/dist/regression.inputs.values.table-4INNZQI2.js +45 -0
  262. package/dist/regression.integration.spec-XKQ2JOOT.js +784 -0
  263. package/dist/regression.results-VZBYMBYC.js +40 -0
  264. package/dist/regression.spec-DU3UTDCJ.js +708 -0
  265. package/dist/render-N5FOF247.js +38 -0
  266. package/dist/report-DW3OHB67.js +222 -0
  267. package/dist/sampleScatter.spec-REFSK2V4.js +202 -0
  268. package/dist/sampleView-ICOT2R6O.js +48 -0
  269. package/dist/samplelst-TJEVASYG.js +111 -0
  270. package/dist/samplematrix-6DAWCXQ3.js +2198 -0
  271. package/dist/sc-53LNOB7N.js +86 -0
  272. package/dist/scatter-DKYSS4DL.js +851 -0
  273. package/dist/selectGenomeWithTklst-WTX66TV3.js +134 -0
  274. package/dist/singleCellCellType-D2CN2BHQ.js +38 -0
  275. package/dist/singleCellCellType.unit.spec-LADUCI4R.js +160 -0
  276. package/dist/singleCellGeneExpression-YR2ZT34W.js +38 -0
  277. package/dist/singleCellGeneExpression.unit.spec-BM63M432.js +153 -0
  278. package/dist/singleCellPlot-3ICIOILE.js +54 -0
  279. package/dist/singlecell-6ZUFA3BQ.js +86 -0
  280. package/dist/singlecell-KX7W4U57.js +1572 -0
  281. package/dist/snp-VIURB7L3.js +38 -0
  282. package/dist/snp.unit.spec-ACZNZUNS.js +176 -0
  283. package/dist/snplocus-3LW4ZUZR.js +208 -0
  284. package/dist/spliceevent.a53ss.diagram-AKTZGWNM.js +151 -0
  285. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js +283 -0
  286. package/dist/spliceevent.exonskip.diagram-XZHXB77R.js.map +7 -0
  287. package/dist/spliceevent.noeventdiagram-YTXWWNTJ.js +460 -0
  288. package/dist/ssGSEA-THW4WFMI.js +38 -0
  289. package/dist/ssGSEA.unit.spec-HTRGQI2K.js +88 -0
  290. package/dist/summarizeCnvGeneexp-RFYC3H2Z.js +163 -0
  291. package/dist/summarizeGeneexpSurvival-DQBZUTQ6.js +114 -0
  292. package/dist/summarizeMutationCnv-7AYEMHAI.js +164 -0
  293. package/dist/summarizeMutationDiagnosis-AKFJDSAF.js +40 -0
  294. package/dist/summarizeMutationSurvival-QJHZRQBZ.js +99 -0
  295. package/dist/summary-A5P7AYK4.js +49 -0
  296. package/dist/summary.integration.spec-HQISXGNL.js +414 -0
  297. package/dist/summaryInput-HP675QOQ.js +235 -0
  298. package/dist/sunburst-65LSYRXX.js +284 -0
  299. package/dist/survival-QNEI6YVK.js +46 -0
  300. package/dist/survival-UI74VXSM.js +58 -0
  301. package/dist/survival.integration.spec-X5N3JQXS.js +915 -0
  302. package/dist/svgraph-PSX2NER3.js +1387 -0
  303. package/dist/svmr-QDQ33EFX.js +3842 -0
  304. package/dist/table-LWAI27UO.js +200 -0
  305. package/dist/termCollection-3JHR74FG.js +179 -0
  306. package/dist/termCollection-CDF5LYUG.js +38 -0
  307. package/dist/termCollection.unit.spec-HOJKYWHF.js +208 -0
  308. package/dist/tk-GL4QCL4K.js +1019 -0
  309. package/dist/tk-GL4QCL4K.js.map +7 -0
  310. package/dist/tk-OEQFO73V.js +46 -0
  311. package/dist/tp.ui-SHNERDGC.js +1459 -0
  312. package/dist/tvs.dt-CZDC4TSR.js +39 -0
  313. package/dist/tvs.dtcnv.categorical-OPBDHZGB.js +40 -0
  314. package/dist/tvs.dtcnv.continuous-AR6P4EP3.js +72 -0
  315. package/dist/tvs.dtfusion-2YQ7N6FQ.js +40 -0
  316. package/dist/tvs.dtitd-ATCHW735.js +40 -0
  317. package/dist/tvs.dtsnvindel-WHHWAATJ.js +40 -0
  318. package/dist/tvs.dtsv-3UMCW65O.js +40 -0
  319. package/dist/tvs.numeric-TOEPASWN.js +21 -0
  320. package/dist/tvs.samplelst-M7XKXRTZ.js +104 -0
  321. package/dist/tvs.termCollection-WT4WZMYR.js +159 -0
  322. package/dist/violin-2YGXTBDS.js +46 -0
  323. package/dist/violin.integration.spec-YWNHVAGS.js +1425 -0
  324. package/dist/violin.interactivity-J6BE2UQL.js +38 -0
  325. package/dist/violin.renderer-3GRUWP2U.js +40 -0
  326. package/dist/vocabulary-2INCVPYJ.js +41 -0
  327. package/dist/vocabulary-2INCVPYJ.js.map +7 -0
  328. package/package.json +3 -3
  329. package/dist/2dmaf-HV22W5N3.js +0 -1373
  330. package/dist/AIProjectAdmin-7QGTPN3B.js +0 -958
  331. package/dist/AppHeader-NOKET4YE.js +0 -835
  332. package/dist/BoxPlot-SPG66F4C.js +0 -1217
  333. package/dist/CorrelationVolcano-3LEMTFXP.js +0 -619
  334. package/dist/DE-WCCADMXA.js +0 -95
  335. package/dist/DEinput-IZNPYPKH.js +0 -301
  336. package/dist/DifferentialAnalysis-SDZXIUXP.js +0 -242
  337. package/dist/Disco-M5RNUOWG.js +0 -3297
  338. package/dist/Disco-M5RNUOWG.js.map +0 -7
  339. package/dist/Disco.UI-RVUOPT6Y.js +0 -249
  340. package/dist/DmrPlot-R2N534FS.js +0 -642
  341. package/dist/GB-DY6XWOJE.js +0 -1356
  342. package/dist/GB-DY6XWOJE.js.map +0 -7
  343. package/dist/GSEA-3TB3PYEV.js +0 -846
  344. package/dist/GeneExpInput-VWCPHOVO.js +0 -367
  345. package/dist/HicApp-F2MY3NXP.js +0 -2250
  346. package/dist/IDCViewer-PT7IV6T2.js +0 -10799
  347. package/dist/IDCViewer-PT7IV6T2.js.map +0 -7
  348. package/dist/NumBinaryEditor-AL2NWII2.js +0 -271
  349. package/dist/NumBinaryEditor.unit.spec-NFRJHFNX.js +0 -286
  350. package/dist/NumContEditor-CTFJVIHU.js +0 -109
  351. package/dist/NumContEditor.unit.spec-FXGGCMTD.js +0 -169
  352. package/dist/NumCustomBinEditor-JFIJ2X6E.js +0 -38
  353. package/dist/NumCustomBinEditor.unit.spec-ZKIZXS53.js +0 -284
  354. package/dist/NumDiscreteEditor-E7SPHF55.js +0 -179
  355. package/dist/NumDiscreteEditor.unit.spec-QKKRZJMU.js +0 -202
  356. package/dist/NumRegularBinEditor-JSLTZIAQ.js +0 -38
  357. package/dist/NumRegularBinEditor.unit.spec-W73BA6L4.js +0 -227
  358. package/dist/NumSplineEditor-ZEXYGKKF.js +0 -198
  359. package/dist/NumSplineEditor.unit.spec-EHKI4CY7.js +0 -199
  360. package/dist/NumericDensity-ZXM6TB33.js +0 -38
  361. package/dist/NumericDensity.unit.spec-PUFRE5XA.js +0 -221
  362. package/dist/NumericHandler-73TUDM3R.js +0 -39
  363. package/dist/NumericHandler.unit.spec-EITBD47U.js +0 -219
  364. package/dist/ProteomeInput-QICOUSRW.js +0 -395
  365. package/dist/RunChart2-4JYV2Z7B.js +0 -758
  366. package/dist/SC-77HA6SBW.js +0 -1120
  367. package/dist/Volcano-3546I4MG.js +0 -1385
  368. package/dist/WSIViewer-DQAXX7QJ.js +0 -48562
  369. package/dist/WsiSamplesPlot-AGOLPLK3.js +0 -165
  370. package/dist/adSandbox-ZE5QOTN5.js +0 -38
  371. package/dist/animatedBubbleChart-ILMDNAVK.js +0 -555
  372. package/dist/app-JBFRJ5OO.js +0 -49
  373. package/dist/app-YVNRAZWU.js +0 -37
  374. package/dist/bam-A2PVAF3J.js +0 -860
  375. package/dist/barchart-2XQ7F6LT.js +0 -47
  376. package/dist/barchart.data-6XLK7D63.js +0 -22
  377. package/dist/barchart.events-DKJDKSPN.js +0 -47
  378. package/dist/barchart.integration.spec-UTTCQJRL.js +0 -2196
  379. package/dist/barchart2-2FRVUVJG.js +0 -314
  380. package/dist/bars.renderer-57KSYAAT.js +0 -12
  381. package/dist/block-3KOPYQ25.js +0 -6255
  382. package/dist/block.init-3KLLFGGV.js +0 -38
  383. package/dist/block.mds.expressionrank-XU3MBIOX.js +0 -359
  384. package/dist/block.mds.geneboxplot-VQTBL7T4.js +0 -828
  385. package/dist/block.mds.junction-IYWWRIJD.js +0 -1545
  386. package/dist/block.mds.svcnv-BMY5DCAM.js +0 -6801
  387. package/dist/block.svg-AT4GYQHX.js +0 -164
  388. package/dist/block.tk.aicheck-RANOFGDZ.js +0 -283
  389. package/dist/block.tk.ase-CBWJA3RN.js +0 -365
  390. package/dist/block.tk.bam-D7JBRNFQ.js +0 -1906
  391. package/dist/block.tk.bedgraphdot-IEHNIGVI.js +0 -384
  392. package/dist/block.tk.bigwig.ui-3SAXUJU4.js +0 -212
  393. package/dist/block.tk.hicstraw-R5EHQFGM.js +0 -823
  394. package/dist/block.tk.junction-JFCEXZZC.js +0 -2364
  395. package/dist/block.tk.junction.textmatrixui-4V7MV6TD.js +0 -199
  396. package/dist/block.tk.ld-LP4DIHAJ.js +0 -99
  397. package/dist/block.tk.menu-FTVZU2HA.js +0 -1029
  398. package/dist/block.tk.pgv-CRAMVKU4.js +0 -944
  399. package/dist/brainImaging-DXLK5XZ6.js +0 -423
  400. package/dist/brainRegions-AMSXQT3T.js +0 -221
  401. package/dist/bubbleHeatmap-SXBARILL.js +0 -383
  402. package/dist/chunk-23AEAG37.js +0 -314
  403. package/dist/chunk-2AHDWWQO.js +0 -276
  404. package/dist/chunk-2OJ577BB.js +0 -299
  405. package/dist/chunk-433DTQ6C.js +0 -26
  406. package/dist/chunk-46CPDZSW.js +0 -617
  407. package/dist/chunk-47EYZQA7.js +0 -98
  408. package/dist/chunk-4M22UIJQ.js +0 -2327
  409. package/dist/chunk-4YDERN37.js +0 -194
  410. package/dist/chunk-5ERYRSVV.js +0 -1825
  411. package/dist/chunk-6W6UMGAV.js +0 -230
  412. package/dist/chunk-6Z4XHMZV.js +0 -54
  413. package/dist/chunk-7P4DUYAQ.js +0 -1245
  414. package/dist/chunk-7YWPWCHD.js +0 -448
  415. package/dist/chunk-7Z6E3NA5.js +0 -787
  416. package/dist/chunk-AC3RAKUI.js +0 -102
  417. package/dist/chunk-BKPDYW5T.js +0 -177
  418. package/dist/chunk-BSOB3BVG.js +0 -217
  419. package/dist/chunk-CJJA6RVM.js +0 -254
  420. package/dist/chunk-CUXOQIUA.js +0 -1102
  421. package/dist/chunk-D5ZYSW45.js +0 -216
  422. package/dist/chunk-DA6RR5IR.js +0 -170
  423. package/dist/chunk-DD6KDZVR.js +0 -302
  424. package/dist/chunk-DI5ULDWN.js +0 -54
  425. package/dist/chunk-DXM5IMGV.js +0 -446
  426. package/dist/chunk-FYY3T565.js +0 -188
  427. package/dist/chunk-FYY3T565.js.map +0 -7
  428. package/dist/chunk-GFETCJ7S.js +0 -176
  429. package/dist/chunk-H42SJNXA.js +0 -1535
  430. package/dist/chunk-H42SJNXA.js.map +0 -7
  431. package/dist/chunk-HCNF7EFT.js +0 -292
  432. package/dist/chunk-I62GOCNI.js +0 -31
  433. package/dist/chunk-IBYOP2FV.js +0 -2833
  434. package/dist/chunk-JD2ECQ3Z.js +0 -2681
  435. package/dist/chunk-JF47NF5G.js +0 -236
  436. package/dist/chunk-JHZK6IDA.js +0 -20904
  437. package/dist/chunk-JHZK6IDA.js.map +0 -7
  438. package/dist/chunk-JOA4KJTM.js +0 -222
  439. package/dist/chunk-JT7HC65V.js +0 -556
  440. package/dist/chunk-K6AW4GFM.js +0 -37
  441. package/dist/chunk-K7QY24X2.js +0 -1223
  442. package/dist/chunk-KOLVLBMI.js +0 -100
  443. package/dist/chunk-KQ6EF3FG.js +0 -448
  444. package/dist/chunk-LBWKMNVU.js +0 -129
  445. package/dist/chunk-LFGIMCUD.js +0 -55
  446. package/dist/chunk-LKB3DITY.js +0 -343
  447. package/dist/chunk-LQJMCE7G.js +0 -467
  448. package/dist/chunk-M2PPUO4E.js +0 -315
  449. package/dist/chunk-M2PPUO4E.js.map +0 -7
  450. package/dist/chunk-MCXQL4W2.js +0 -226
  451. package/dist/chunk-MCXQL4W2.js.map +0 -7
  452. package/dist/chunk-MLYSQG3C.js +0 -833
  453. package/dist/chunk-MNIBZTQE.js +0 -146
  454. package/dist/chunk-MYZJUT2H.js +0 -272
  455. package/dist/chunk-NOCLG6IN.js +0 -5070
  456. package/dist/chunk-NVRLD4TF.js +0 -2786
  457. package/dist/chunk-NZCX4A7X.js +0 -14
  458. package/dist/chunk-OVHCUTQM.js +0 -102
  459. package/dist/chunk-P3NKHTNT.js +0 -34
  460. package/dist/chunk-PFOCEOVT.js +0 -477
  461. package/dist/chunk-PJSOYF5U.js +0 -158
  462. package/dist/chunk-PK5HXJ3S.js +0 -272
  463. package/dist/chunk-Q555GFBW.js +0 -1942
  464. package/dist/chunk-QAVZUWY3.js +0 -399
  465. package/dist/chunk-QOAUM6UV.js +0 -148
  466. package/dist/chunk-QOEPKNVD.js +0 -185
  467. package/dist/chunk-QXPJLSAD.js +0 -4284
  468. package/dist/chunk-QZLP27O6.js +0 -50
  469. package/dist/chunk-SENZWOCC.js +0 -203
  470. package/dist/chunk-SFIX7XVT.js +0 -514
  471. package/dist/chunk-SJWAMUL5.js +0 -117
  472. package/dist/chunk-SOTB4FRE.js +0 -2098
  473. package/dist/chunk-SOTB4FRE.js.map +0 -7
  474. package/dist/chunk-TJYRBEBK.js +0 -2878
  475. package/dist/chunk-TJYRBEBK.js.map +0 -7
  476. package/dist/chunk-U3CMLIGB.js +0 -6364
  477. package/dist/chunk-UF6ZP6UR.js +0 -381
  478. package/dist/chunk-UN3O2MNB.js +0 -375
  479. package/dist/chunk-UVWUP6N7.js +0 -1275
  480. package/dist/chunk-UYEJ5DEZ.js +0 -142
  481. package/dist/chunk-V2ET64EJ.js +0 -119
  482. package/dist/chunk-WQEGWR63.js +0 -102
  483. package/dist/chunk-WYSEBR5S.js +0 -58
  484. package/dist/chunk-XB6F5OUB.js +0 -386
  485. package/dist/chunk-XVYSEXFV.js +0 -368
  486. package/dist/chunk-YGKVY5IU.js +0 -480
  487. package/dist/chunk-ZPXSPJV2.js +0 -263
  488. package/dist/chunk-ZRSJVACE.js +0 -1500
  489. package/dist/chunk-ZRSJVACE.js.map +0 -7
  490. package/dist/condition-YCPNILTV.js +0 -332
  491. package/dist/controls-RW5MWSLN.js +0 -41
  492. package/dist/controls.config-MP3CSYR4.js +0 -39
  493. package/dist/correlation-7AQRU4YR.js +0 -102
  494. package/dist/cuminc-WYLKIOXR.js +0 -1149
  495. package/dist/cuminc.integration.spec-MSAWDLD7.js +0 -678
  496. package/dist/customdata.inputui-YU4IQJOV.js +0 -289
  497. package/dist/dataDownload-72DIPZ45.js +0 -330
  498. package/dist/dataDownload.integration.spec-HRLMWQN7.js +0 -193
  499. package/dist/databrowser.ui-3PE25HK4.js +0 -433
  500. package/dist/dictionary-Y3ICL4AE.js +0 -118
  501. package/dist/dnaMethylation-SVGDW64U.js +0 -38
  502. package/dist/dnaMethylation.integration.spec-B7GLAFZI.js +0 -203
  503. package/dist/dofetch-42KOXNPF.js +0 -51
  504. package/dist/e2pca-CLFGEFJH.js +0 -350
  505. package/dist/ep-PUHV2DMO.js +0 -1256
  506. package/dist/expclust.gdc.spec-N7YDJAOZ.js +0 -307
  507. package/dist/facet-JFFJJCNT.js +0 -521
  508. package/dist/forms2-XZAWW3RN.js +0 -539
  509. package/dist/gb-SQJ5PWOH.js +0 -88
  510. package/dist/geneExpClustering-EG2BLMQX.js +0 -249
  511. package/dist/geneExpression-J42BGP3B.js +0 -38
  512. package/dist/geneExpression-QRK3LNMV.js +0 -313
  513. package/dist/geneExpression.unit.spec-X7HVIFZA.js +0 -102
  514. package/dist/geneORA-SVBPO66K.js +0 -278
  515. package/dist/geneRanking-HNMMLZIX.js +0 -553
  516. package/dist/geneVariant-RVQKNVQO.js +0 -39
  517. package/dist/geneVariant-SO5FEJUZ.js +0 -41
  518. package/dist/geneVariant.integration.spec-DOMX4GMP.js +0 -198
  519. package/dist/genefusion.ui-QS7AG46F.js +0 -309
  520. package/dist/geneset-JKOX3VIW.js +0 -208
  521. package/dist/genomeBrowser.spec-IRSTT2OX.js +0 -281
  522. package/dist/grin2-G6DA4M7Q.js +0 -1095
  523. package/dist/grin2-G6DA4M7Q.js.map +0 -7
  524. package/dist/grin2-VZLCISPM.js +0 -75
  525. package/dist/hierCluster-6AW23EB5.js +0 -63
  526. package/dist/hierCluster-REXTCODR.js +0 -59
  527. package/dist/hierCluster.config-3Z3R66XH.js +0 -40
  528. package/dist/hierCluster.integration.spec-XE47Q64Z.js +0 -488
  529. package/dist/hierCluster.interactivity-2YJYYKVK.js +0 -54
  530. package/dist/hierCluster.renderers-LE7W2AL6.js +0 -21
  531. package/dist/imagePlot-WMZJJ5CJ.js +0 -163
  532. package/dist/importPlot-P35EGIJJ.js +0 -8
  533. package/dist/isoformExpression-3TFPEXB4.js +0 -40
  534. package/dist/isoformExpression.unit.spec-SPQFK3EA.js +0 -208
  535. package/dist/launch.adhoc-ZQSJBLMJ.js +0 -42
  536. package/dist/leftlabel.sample-SJRQ6LJ2.js +0 -264
  537. package/dist/legacyDataset-TNIIJABK.js +0 -119
  538. package/dist/lollipop-RXM6UBZ7.js +0 -171
  539. package/dist/maf-NWXJWBNF.js +0 -459
  540. package/dist/maftimeline-D7UENAP5.js +0 -593
  541. package/dist/matrix-77LNADX2.js +0 -63
  542. package/dist/matrix-YDOLKY6G.js +0 -58
  543. package/dist/matrix.cells-VEC5LEWV.js +0 -28
  544. package/dist/matrix.config-GTAAAUGQ.js +0 -41
  545. package/dist/matrix.data-T4GEX6ZH.js +0 -25
  546. package/dist/matrix.groups-7NWHHP5Q.js +0 -27
  547. package/dist/matrix.integration.spec-5GBTFRZA.js +0 -3072
  548. package/dist/matrix.interactivity-ONT6WCRU.js +0 -42
  549. package/dist/matrix.layout-LDXHGOHF.js +0 -44
  550. package/dist/matrix.legend-5MDW65HV.js +0 -22
  551. package/dist/matrix.renderers-OEPLQG3C.js +0 -38
  552. package/dist/matrix.serieses-4RX7TUQ7.js +0 -21
  553. package/dist/matrix.sort-UKMMECBZ.js +0 -27
  554. package/dist/matrix.sort.unit.spec-VWOXPVRE.js +0 -472
  555. package/dist/matrix.sorterUi-H64DDQIL.js +0 -18
  556. package/dist/matrix.sorterUi.unit.spec-DH4434FK.js +0 -342
  557. package/dist/mavb-ARUWOZES.js +0 -732
  558. package/dist/mds.fimo-ZEAE5BC3.js +0 -518
  559. package/dist/mds.samplescatterplot-C5EBKBVF.js +0 -1550
  560. package/dist/mds.survivalplot-RS7Z3J3Q.js +0 -483
  561. package/dist/numericDictTermCluster-CSQOV4TM.js +0 -65
  562. package/dist/oncomatrix-5UVM3KUA.js +0 -295
  563. package/dist/oncomatrix.spec-CU3EZCMO.js +0 -448
  564. package/dist/plot.2dvaf-JD27DSDS.js +0 -377
  565. package/dist/plot.app-NMPMG3S2.js +0 -41
  566. package/dist/plot.barplot-T4LPKFXW.js +0 -102
  567. package/dist/plot.boxplot-22ETOHNI.js +0 -152
  568. package/dist/plot.brainImaging-Q7S7KSHW.js +0 -51
  569. package/dist/plot.disco-NIPBER5N.js +0 -102
  570. package/dist/plot.dzi-DAX7GUTF.js +0 -33
  571. package/dist/plot.ssgq-7J6S35RW.js +0 -139
  572. package/dist/plot.vaf2cov-7EWFTD72.js +0 -259
  573. package/dist/plot.wsi-E45KZGKD.js +0 -36
  574. package/dist/polar2-LPT2XMD2.js +0 -231
  575. package/dist/profileForms-EYN2KLSY.js +0 -446
  576. package/dist/profilePlot-I7VQM3CH.js +0 -54
  577. package/dist/proteinView-JP5TF3ZK.js +0 -1568
  578. package/dist/qualitative-7X3ECW7Q.js +0 -43
  579. package/dist/radar2-V3FYBFAG.js +0 -326
  580. package/dist/radarFacility2-O6GQLBBN.js +0 -334
  581. package/dist/regression-CLG6NYVF.js +0 -56
  582. package/dist/regression.inputs-RLOBIRJH.js +0 -48
  583. package/dist/regression.inputs.term-ZKIP6KDO.js +0 -48
  584. package/dist/regression.inputs.values.table-2VD4AO5T.js +0 -45
  585. package/dist/regression.integration.spec-JEIMN7MS.js +0 -784
  586. package/dist/regression.results-FT6VSWGR.js +0 -40
  587. package/dist/regression.spec-V4S52JQM.js +0 -708
  588. package/dist/report-UPQFSI4D.js +0 -222
  589. package/dist/sampleScatter.spec-QSRF3STG.js +0 -202
  590. package/dist/sampleView-JIGZ7GTP.js +0 -48
  591. package/dist/samplelst-VJMYHVXI.js +0 -111
  592. package/dist/samplematrix-LO4QB37V.js +0 -2198
  593. package/dist/sc-4VZBGFZP.js +0 -86
  594. package/dist/scatter-LQECXZLB.js +0 -851
  595. package/dist/selectGenomeWithTklst-IJTCLRIN.js +0 -134
  596. package/dist/singleCellCellType-FJ53DRXD.js +0 -38
  597. package/dist/singleCellCellType.unit.spec-VOE4KY6L.js +0 -160
  598. package/dist/singleCellGeneExpression-RZE5UVL4.js +0 -38
  599. package/dist/singleCellGeneExpression.unit.spec-2DASF7PD.js +0 -153
  600. package/dist/singleCellPlot-Q5UNIW3M.js +0 -54
  601. package/dist/singlecell-N7F5KVIB.js +0 -1572
  602. package/dist/singlecell-TX5AQ4WM.js +0 -86
  603. package/dist/snp-S4O7SVDD.js +0 -38
  604. package/dist/snp.unit.spec-WSQMZSTE.js +0 -176
  605. package/dist/snplocus-Y2R5C4ZP.js +0 -208
  606. package/dist/spliceevent.a53ss.diagram-FGRQR73W.js +0 -151
  607. package/dist/spliceevent.exonskip.diagram-TVH44RNL.js +0 -277
  608. package/dist/spliceevent.exonskip.diagram-TVH44RNL.js.map +0 -7
  609. package/dist/spliceevent.noeventdiagram-G2CMYYE7.js +0 -460
  610. package/dist/ssGSEA-BH53XGEZ.js +0 -38
  611. package/dist/ssGSEA.unit.spec-BYIVB7FZ.js +0 -88
  612. package/dist/summarizeCnvGeneexp-IZNOX4E7.js +0 -163
  613. package/dist/summarizeGeneexpSurvival-DJZ2R24E.js +0 -114
  614. package/dist/summarizeMutationCnv-CO2TVWOI.js +0 -164
  615. package/dist/summarizeMutationDiagnosis-EUZXCSZP.js +0 -40
  616. package/dist/summarizeMutationSurvival-CXFT3HWL.js +0 -99
  617. package/dist/summary-JHZCDE35.js +0 -49
  618. package/dist/summary.integration.spec-WBEYSDCA.js +0 -414
  619. package/dist/summaryInput-JVH3R54R.js +0 -235
  620. package/dist/sunburst-CTJTXHSA.js +0 -284
  621. package/dist/survival-DLLVUG2P.js +0 -46
  622. package/dist/survival-XFVYNI6S.js +0 -58
  623. package/dist/survival.integration.spec-KVXHHAA3.js +0 -915
  624. package/dist/svgraph-ACEBMDIX.js +0 -1387
  625. package/dist/svmr-IQEDSZ2C.js +0 -3842
  626. package/dist/table-2IF6UGHR.js +0 -200
  627. package/dist/termCollection-JOLQJYJ3.js +0 -38
  628. package/dist/termCollection-PSXFFR32.js +0 -179
  629. package/dist/termCollection.unit.spec-4SOZP4FY.js +0 -208
  630. package/dist/tk-AAIHEQO6.js +0 -46
  631. package/dist/tk-IRXFL5NV.js +0 -997
  632. package/dist/tk-IRXFL5NV.js.map +0 -7
  633. package/dist/tp.ui-6STLQEXX.js +0 -1459
  634. package/dist/tvs.dt-FSA7KPSQ.js +0 -39
  635. package/dist/tvs.dtcnv.categorical-FSPGH7DP.js +0 -40
  636. package/dist/tvs.dtcnv.continuous-T4ZMSDB4.js +0 -72
  637. package/dist/tvs.dtfusion-UL3YENUM.js +0 -40
  638. package/dist/tvs.dtitd-XJOSZUWG.js +0 -40
  639. package/dist/tvs.dtsnvindel-5TPUT5RJ.js +0 -40
  640. package/dist/tvs.dtsv-OTNHXYOJ.js +0 -40
  641. package/dist/tvs.numeric-KYAU5OV3.js +0 -21
  642. package/dist/tvs.samplelst-FQKTAQZF.js +0 -104
  643. package/dist/tvs.termCollection-ZAPCUMUW.js +0 -159
  644. package/dist/violin-HEFFKPL5.js +0 -46
  645. package/dist/violin.integration.spec-774N4G5A.js +0 -1425
  646. package/dist/violin.interactivity-XNYJSK53.js +0 -38
  647. package/dist/violin.renderer-R74VSGRC.js +0 -40
  648. package/dist/vocabulary-OHMC6NWL.js +0 -41
  649. /package/dist/{2dmaf-HV22W5N3.js.map → 2dmaf-R3PFZNRN.js.map} +0 -0
  650. /package/dist/{AIProjectAdmin-7QGTPN3B.js.map → AIProjectAdmin-DM3KG6SR.js.map} +0 -0
  651. /package/dist/{AppHeader-NOKET4YE.js.map → AppHeader-6DZQ6YZX.js.map} +0 -0
  652. /package/dist/{BoxPlot-SPG66F4C.js.map → BoxPlot-76NINVX4.js.map} +0 -0
  653. /package/dist/{CorrelationVolcano-3LEMTFXP.js.map → CorrelationVolcano-U5UMJNH5.js.map} +0 -0
  654. /package/dist/{DE-WCCADMXA.js.map → DE-AXNYWIQK.js.map} +0 -0
  655. /package/dist/{DEinput-IZNPYPKH.js.map → DEinput-JH6YY6LS.js.map} +0 -0
  656. /package/dist/{DifferentialAnalysis-SDZXIUXP.js.map → DifferentialAnalysis-25P4CGIY.js.map} +0 -0
  657. /package/dist/{Disco.UI-RVUOPT6Y.js.map → Disco.UI-C7CZINUQ.js.map} +0 -0
  658. /package/dist/{DmrPlot-R2N534FS.js.map → DmrPlot-WROR4ENM.js.map} +0 -0
  659. /package/dist/{GSEA-3TB3PYEV.js.map → GSEA-Y5R2THIJ.js.map} +0 -0
  660. /package/dist/{GeneExpInput-VWCPHOVO.js.map → GeneExpInput-JDU6EI7K.js.map} +0 -0
  661. /package/dist/{HicApp-F2MY3NXP.js.map → HicApp-UNIJLH4B.js.map} +0 -0
  662. /package/dist/{NumBinaryEditor-AL2NWII2.js.map → NumBinaryEditor-WMN2GGO4.js.map} +0 -0
  663. /package/dist/{NumBinaryEditor.unit.spec-NFRJHFNX.js.map → NumBinaryEditor.unit.spec-TAMXV6SE.js.map} +0 -0
  664. /package/dist/{NumContEditor-CTFJVIHU.js.map → NumContEditor-XYIOJY4E.js.map} +0 -0
  665. /package/dist/{NumContEditor.unit.spec-FXGGCMTD.js.map → NumContEditor.unit.spec-WDZ75BHO.js.map} +0 -0
  666. /package/dist/{NumCustomBinEditor-JFIJ2X6E.js.map → NumCustomBinEditor-5SY3C4TY.js.map} +0 -0
  667. /package/dist/{NumCustomBinEditor.unit.spec-ZKIZXS53.js.map → NumCustomBinEditor.unit.spec-XHTAIXR3.js.map} +0 -0
  668. /package/dist/{NumDiscreteEditor-E7SPHF55.js.map → NumDiscreteEditor-NRDRX4FD.js.map} +0 -0
  669. /package/dist/{NumDiscreteEditor.unit.spec-QKKRZJMU.js.map → NumDiscreteEditor.unit.spec-2CJW7OAT.js.map} +0 -0
  670. /package/dist/{NumRegularBinEditor-JSLTZIAQ.js.map → NumRegularBinEditor-DUDVTNDC.js.map} +0 -0
  671. /package/dist/{NumRegularBinEditor.unit.spec-W73BA6L4.js.map → NumRegularBinEditor.unit.spec-H3GNQHMN.js.map} +0 -0
  672. /package/dist/{NumSplineEditor-ZEXYGKKF.js.map → NumSplineEditor-7Q4AC7KH.js.map} +0 -0
  673. /package/dist/{NumSplineEditor.unit.spec-EHKI4CY7.js.map → NumSplineEditor.unit.spec-YRZK5PH5.js.map} +0 -0
  674. /package/dist/{NumericDensity-ZXM6TB33.js.map → NumericDensity-NTNWUESG.js.map} +0 -0
  675. /package/dist/{NumericDensity.unit.spec-PUFRE5XA.js.map → NumericDensity.unit.spec-5I5U6T6P.js.map} +0 -0
  676. /package/dist/{NumericHandler-73TUDM3R.js.map → NumericHandler-MEW2KMPX.js.map} +0 -0
  677. /package/dist/{NumericHandler.unit.spec-EITBD47U.js.map → NumericHandler.unit.spec-JFX4BPRG.js.map} +0 -0
  678. /package/dist/{ProteomeInput-QICOUSRW.js.map → ProteomeInput-K2ZHR2U6.js.map} +0 -0
  679. /package/dist/{RunChart2-4JYV2Z7B.js.map → RunChart2-BEBDU7RC.js.map} +0 -0
  680. /package/dist/{SC-77HA6SBW.js.map → SC-XCBFJVUJ.js.map} +0 -0
  681. /package/dist/{Volcano-3546I4MG.js.map → Volcano-4Y4TP3UX.js.map} +0 -0
  682. /package/dist/{WSIViewer-DQAXX7QJ.js.map → WSIViewer-ZLQU62PD.js.map} +0 -0
  683. /package/dist/{WsiSamplesPlot-AGOLPLK3.js.map → WsiSamplesPlot-JMBSITOM.js.map} +0 -0
  684. /package/dist/{adSandbox-ZE5QOTN5.js.map → adSandbox-664IRCRL.js.map} +0 -0
  685. /package/dist/{animatedBubbleChart-ILMDNAVK.js.map → animatedBubbleChart-TX7NW34K.js.map} +0 -0
  686. /package/dist/{app-JBFRJ5OO.js.map → app-63WJ3BMP.js.map} +0 -0
  687. /package/dist/{app-YVNRAZWU.js.map → app-77FIZHCG.js.map} +0 -0
  688. /package/dist/{bam-A2PVAF3J.js.map → bam-IETNVAYD.js.map} +0 -0
  689. /package/dist/{barchart-2XQ7F6LT.js.map → barchart-YUVXJNH4.js.map} +0 -0
  690. /package/dist/{barchart.data-6XLK7D63.js.map → barchart.data-P4EIQXGE.js.map} +0 -0
  691. /package/dist/{barchart.events-DKJDKSPN.js.map → barchart.events-JPVCLTIG.js.map} +0 -0
  692. /package/dist/{barchart.integration.spec-UTTCQJRL.js.map → barchart.integration.spec-ZH7DEQI2.js.map} +0 -0
  693. /package/dist/{barchart2-2FRVUVJG.js.map → barchart2-XO2FG76J.js.map} +0 -0
  694. /package/dist/{bars.renderer-57KSYAAT.js.map → bars.renderer-AUIWUJDH.js.map} +0 -0
  695. /package/dist/{block-3KOPYQ25.js.map → block-NBTCOT3H.js.map} +0 -0
  696. /package/dist/{block.init-3KLLFGGV.js.map → block.init-X7Y2EEVR.js.map} +0 -0
  697. /package/dist/{block.mds.expressionrank-XU3MBIOX.js.map → block.mds.expressionrank-BIAOZIZ3.js.map} +0 -0
  698. /package/dist/{block.mds.geneboxplot-VQTBL7T4.js.map → block.mds.geneboxplot-CNICDVLK.js.map} +0 -0
  699. /package/dist/{block.mds.junction-IYWWRIJD.js.map → block.mds.junction-PQXCTSUI.js.map} +0 -0
  700. /package/dist/{block.mds.svcnv-BMY5DCAM.js.map → block.mds.svcnv-32KMVTCT.js.map} +0 -0
  701. /package/dist/{block.svg-AT4GYQHX.js.map → block.svg-LRTOYQK2.js.map} +0 -0
  702. /package/dist/{block.tk.aicheck-RANOFGDZ.js.map → block.tk.aicheck-HDV7ZIUD.js.map} +0 -0
  703. /package/dist/{block.tk.ase-CBWJA3RN.js.map → block.tk.ase-JIDWKMYI.js.map} +0 -0
  704. /package/dist/{block.tk.bam-D7JBRNFQ.js.map → block.tk.bam-5X3OS5HB.js.map} +0 -0
  705. /package/dist/{block.tk.bedgraphdot-IEHNIGVI.js.map → block.tk.bedgraphdot-T7JX7YQL.js.map} +0 -0
  706. /package/dist/{block.tk.bigwig.ui-3SAXUJU4.js.map → block.tk.bigwig.ui-OSAYEBAE.js.map} +0 -0
  707. /package/dist/{block.tk.hicstraw-R5EHQFGM.js.map → block.tk.hicstraw-DEY3VQFK.js.map} +0 -0
  708. /package/dist/{block.tk.junction-JFCEXZZC.js.map → block.tk.junction-7UAFEZSJ.js.map} +0 -0
  709. /package/dist/{block.tk.junction.textmatrixui-4V7MV6TD.js.map → block.tk.junction.textmatrixui-27LHS33U.js.map} +0 -0
  710. /package/dist/{block.tk.ld-LP4DIHAJ.js.map → block.tk.ld-DF2PI7OO.js.map} +0 -0
  711. /package/dist/{block.tk.menu-FTVZU2HA.js.map → block.tk.menu-L2D5KBIV.js.map} +0 -0
  712. /package/dist/{block.tk.pgv-CRAMVKU4.js.map → block.tk.pgv-QO56SKBV.js.map} +0 -0
  713. /package/dist/{brainImaging-DXLK5XZ6.js.map → brainImaging-NIPQWFWO.js.map} +0 -0
  714. /package/dist/{brainRegions-AMSXQT3T.js.map → brainRegions-ZNZ2WHSU.js.map} +0 -0
  715. /package/dist/{bubbleHeatmap-SXBARILL.js.map → bubbleHeatmap-ERWNEKZB.js.map} +0 -0
  716. /package/dist/{chunk-2OJ577BB.js.map → chunk-2GYWFQML.js.map} +0 -0
  717. /package/dist/{chunk-QZLP27O6.js.map → chunk-2HYJ4GDH.js.map} +0 -0
  718. /package/dist/{chunk-MYZJUT2H.js.map → chunk-2MG6XE6R.js.map} +0 -0
  719. /package/dist/{chunk-DI5ULDWN.js.map → chunk-33K5PA52.js.map} +0 -0
  720. /package/dist/{chunk-433DTQ6C.js.map → chunk-37XDBPOP.js.map} +0 -0
  721. /package/dist/{chunk-WYSEBR5S.js.map → chunk-3EWB3246.js.map} +0 -0
  722. /package/dist/{chunk-KOLVLBMI.js.map → chunk-3RSKOPIY.js.map} +0 -0
  723. /package/dist/{chunk-CUXOQIUA.js.map → chunk-4DPVT4NE.js.map} +0 -0
  724. /package/dist/{chunk-47EYZQA7.js.map → chunk-4IH7DORZ.js.map} +0 -0
  725. /package/dist/{chunk-QAVZUWY3.js.map → chunk-4QNBFIIR.js.map} +0 -0
  726. /package/dist/{chunk-BSOB3BVG.js.map → chunk-4STKL6SR.js.map} +0 -0
  727. /package/dist/{chunk-P3NKHTNT.js.map → chunk-4TZIVSL5.js.map} +0 -0
  728. /package/dist/{chunk-LQJMCE7G.js.map → chunk-5ABGFJSP.js.map} +0 -0
  729. /package/dist/{chunk-DD6KDZVR.js.map → chunk-5AZNP47R.js.map} +0 -0
  730. /package/dist/{chunk-NOCLG6IN.js.map → chunk-5RL2OHXX.js.map} +0 -0
  731. /package/dist/{chunk-WQEGWR63.js.map → chunk-6BB43SIB.js.map} +0 -0
  732. /package/dist/{chunk-2AHDWWQO.js.map → chunk-7OHRR2IE.js.map} +0 -0
  733. /package/dist/{chunk-NZCX4A7X.js.map → chunk-ASATD4T7.js.map} +0 -0
  734. /package/dist/{chunk-K7QY24X2.js.map → chunk-AZ47Q7BX.js.map} +0 -0
  735. /package/dist/{chunk-JF47NF5G.js.map → chunk-B5B3LZB3.js.map} +0 -0
  736. /package/dist/{chunk-JD2ECQ3Z.js.map → chunk-BHGISFCA.js.map} +0 -0
  737. /package/dist/{chunk-NVRLD4TF.js.map → chunk-BMBOZ64T.js.map} +0 -0
  738. /package/dist/{chunk-D5ZYSW45.js.map → chunk-BOZJHPJP.js.map} +0 -0
  739. /package/dist/{chunk-4YDERN37.js.map → chunk-CDD7LYJM.js.map} +0 -0
  740. /package/dist/{chunk-4M22UIJQ.js.map → chunk-CTQ3IUCA.js.map} +0 -0
  741. /package/dist/{chunk-PJSOYF5U.js.map → chunk-D7TID3HR.js.map} +0 -0
  742. /package/dist/{chunk-LFGIMCUD.js.map → chunk-E55LLYRX.js.map} +0 -0
  743. /package/dist/{chunk-XB6F5OUB.js.map → chunk-ESGXULRH.js.map} +0 -0
  744. /package/dist/{chunk-SJWAMUL5.js.map → chunk-EZ4LZ6ZT.js.map} +0 -0
  745. /package/dist/{chunk-QXPJLSAD.js.map → chunk-F3SJTVP5.js.map} +0 -0
  746. /package/dist/{chunk-JOA4KJTM.js.map → chunk-F5IXNJO7.js.map} +0 -0
  747. /package/dist/{chunk-KQ6EF3FG.js.map → chunk-FJYECRHW.js.map} +0 -0
  748. /package/dist/{chunk-MLYSQG3C.js.map → chunk-FPNRUQOU.js.map} +0 -0
  749. /package/dist/{chunk-Q555GFBW.js.map → chunk-G5S4R77D.js.map} +0 -0
  750. /package/dist/{chunk-DA6RR5IR.js.map → chunk-G764NXQN.js.map} +0 -0
  751. /package/dist/{chunk-QOAUM6UV.js.map → chunk-GAPI4MML.js.map} +0 -0
  752. /package/dist/{chunk-PK5HXJ3S.js.map → chunk-HLUZOZXJ.js.map} +0 -0
  753. /package/dist/{chunk-UN3O2MNB.js.map → chunk-HOKIK2FR.js.map} +0 -0
  754. /package/dist/{chunk-LBWKMNVU.js.map → chunk-KLGL6XZD.js.map} +0 -0
  755. /package/dist/{chunk-YGKVY5IU.js.map → chunk-L7IRWUKT.js.map} +0 -0
  756. /package/dist/{chunk-23AEAG37.js.map → chunk-LFCYMSVA.js.map} +0 -0
  757. /package/dist/{chunk-46CPDZSW.js.map → chunk-LX6G7HJJ.js.map} +0 -0
  758. /package/dist/{chunk-UYEJ5DEZ.js.map → chunk-M2G5R4WB.js.map} +0 -0
  759. /package/dist/{chunk-AC3RAKUI.js.map → chunk-M4TTGGT4.js.map} +0 -0
  760. /package/dist/{chunk-5ERYRSVV.js.map → chunk-M6EF3WVV.js.map} +0 -0
  761. /package/dist/{chunk-MNIBZTQE.js.map → chunk-M6KHT3MM.js.map} +0 -0
  762. /package/dist/{chunk-6W6UMGAV.js.map → chunk-MCZFHWIR.js.map} +0 -0
  763. /package/dist/{chunk-7YWPWCHD.js.map → chunk-MFQACKYU.js.map} +0 -0
  764. /package/dist/{chunk-LKB3DITY.js.map → chunk-MVGAGTM3.js.map} +0 -0
  765. /package/dist/{chunk-V2ET64EJ.js.map → chunk-NELOT3NJ.js.map} +0 -0
  766. /package/dist/{chunk-6Z4XHMZV.js.map → chunk-NRKMXULC.js.map} +0 -0
  767. /package/dist/{chunk-BKPDYW5T.js.map → chunk-NYRZNRG5.js.map} +0 -0
  768. /package/dist/{chunk-XVYSEXFV.js.map → chunk-ONPKE6DC.js.map} +0 -0
  769. /package/dist/{chunk-JT7HC65V.js.map → chunk-OXVLWQ6M.js.map} +0 -0
  770. /package/dist/{chunk-SENZWOCC.js.map → chunk-PFRWS4CR.js.map} +0 -0
  771. /package/dist/{chunk-UVWUP6N7.js.map → chunk-PJKQUXEN.js.map} +0 -0
  772. /package/dist/{chunk-U3CMLIGB.js.map → chunk-Q2L44HK3.js.map} +0 -0
  773. /package/dist/{chunk-7P4DUYAQ.js.map → chunk-QNHT74XC.js.map} +0 -0
  774. /package/dist/{chunk-DXM5IMGV.js.map → chunk-RKO6BL5N.js.map} +0 -0
  775. /package/dist/{chunk-CJJA6RVM.js.map → chunk-T25QNZHB.js.map} +0 -0
  776. /package/dist/{chunk-I62GOCNI.js.map → chunk-U7TBYVIQ.js.map} +0 -0
  777. /package/dist/{chunk-UF6ZP6UR.js.map → chunk-UGRQXBL4.js.map} +0 -0
  778. /package/dist/{chunk-PFOCEOVT.js.map → chunk-USFSHSCJ.js.map} +0 -0
  779. /package/dist/{chunk-IBYOP2FV.js.map → chunk-VJ6UFVGC.js.map} +0 -0
  780. /package/dist/{chunk-HCNF7EFT.js.map → chunk-W3WPPOXH.js.map} +0 -0
  781. /package/dist/{chunk-ZPXSPJV2.js.map → chunk-WFCSOTBO.js.map} +0 -0
  782. /package/dist/{chunk-QOEPKNVD.js.map → chunk-WHP4AKDM.js.map} +0 -0
  783. /package/dist/{chunk-OVHCUTQM.js.map → chunk-WZ2L57MB.js.map} +0 -0
  784. /package/dist/{chunk-7Z6E3NA5.js.map → chunk-XPY6AWXO.js.map} +0 -0
  785. /package/dist/{chunk-K6AW4GFM.js.map → chunk-Y4UAKFWC.js.map} +0 -0
  786. /package/dist/{chunk-SFIX7XVT.js.map → chunk-YQBS2ZCK.js.map} +0 -0
  787. /package/dist/{chunk-GFETCJ7S.js.map → chunk-ZTHM2TKP.js.map} +0 -0
  788. /package/dist/{condition-YCPNILTV.js.map → condition-2PASYSUC.js.map} +0 -0
  789. /package/dist/{controls-RW5MWSLN.js.map → controls-5IMJ6K5L.js.map} +0 -0
  790. /package/dist/{controls.config-MP3CSYR4.js.map → controls.config-P5PG2DHW.js.map} +0 -0
  791. /package/dist/{correlation-7AQRU4YR.js.map → correlation-U3EDLNHR.js.map} +0 -0
  792. /package/dist/{cuminc-WYLKIOXR.js.map → cuminc-2HUFEROK.js.map} +0 -0
  793. /package/dist/{cuminc.integration.spec-MSAWDLD7.js.map → cuminc.integration.spec-WFWAPTDA.js.map} +0 -0
  794. /package/dist/{customdata.inputui-YU4IQJOV.js.map → customdata.inputui-ZHWNEPFH.js.map} +0 -0
  795. /package/dist/{dataDownload-72DIPZ45.js.map → dataDownload-VBSJBKMP.js.map} +0 -0
  796. /package/dist/{dataDownload.integration.spec-HRLMWQN7.js.map → dataDownload.integration.spec-LUFSETOP.js.map} +0 -0
  797. /package/dist/{databrowser.ui-3PE25HK4.js.map → databrowser.ui-6H2KMSTJ.js.map} +0 -0
  798. /package/dist/{dictionary-Y3ICL4AE.js.map → dictionary-V37LXFIP.js.map} +0 -0
  799. /package/dist/{dnaMethylation-SVGDW64U.js.map → dnaMethylation-OIZMHMLK.js.map} +0 -0
  800. /package/dist/{dnaMethylation.integration.spec-B7GLAFZI.js.map → dnaMethylation.integration.spec-CWPTJ74H.js.map} +0 -0
  801. /package/dist/{dofetch-42KOXNPF.js.map → dofetch-IWPZQB5N.js.map} +0 -0
  802. /package/dist/{e2pca-CLFGEFJH.js.map → e2pca-7SLIAGYW.js.map} +0 -0
  803. /package/dist/{ep-PUHV2DMO.js.map → ep-7L6KF6K4.js.map} +0 -0
  804. /package/dist/{expclust.gdc.spec-N7YDJAOZ.js.map → expclust.gdc.spec-JT452Q3G.js.map} +0 -0
  805. /package/dist/{facet-JFFJJCNT.js.map → facet-CXOUU5AS.js.map} +0 -0
  806. /package/dist/{forms2-XZAWW3RN.js.map → forms2-VPNCLQOY.js.map} +0 -0
  807. /package/dist/{gb-SQJ5PWOH.js.map → gb-P4VRXRED.js.map} +0 -0
  808. /package/dist/{geneExpClustering-EG2BLMQX.js.map → geneExpClustering-FQTCKRJJ.js.map} +0 -0
  809. /package/dist/{geneExpression-QRK3LNMV.js.map → geneExpression-BHO5326K.js.map} +0 -0
  810. /package/dist/{geneExpression-J42BGP3B.js.map → geneExpression-ZMERB64E.js.map} +0 -0
  811. /package/dist/{geneExpression.unit.spec-X7HVIFZA.js.map → geneExpression.unit.spec-CNVHZWNG.js.map} +0 -0
  812. /package/dist/{geneORA-SVBPO66K.js.map → geneORA-FXVUCXGX.js.map} +0 -0
  813. /package/dist/{geneRanking-HNMMLZIX.js.map → geneRanking-SFK4UBKQ.js.map} +0 -0
  814. /package/dist/{geneVariant-RVQKNVQO.js.map → geneVariant-IYEHB4H7.js.map} +0 -0
  815. /package/dist/{geneVariant-SO5FEJUZ.js.map → geneVariant-LIRRLUFR.js.map} +0 -0
  816. /package/dist/{geneVariant.integration.spec-DOMX4GMP.js.map → geneVariant.integration.spec-Y2NPNTYX.js.map} +0 -0
  817. /package/dist/{genefusion.ui-QS7AG46F.js.map → genefusion.ui-L3HIJM3N.js.map} +0 -0
  818. /package/dist/{geneset-JKOX3VIW.js.map → geneset-A6VUFX63.js.map} +0 -0
  819. /package/dist/{genomeBrowser.spec-IRSTT2OX.js.map → genomeBrowser.spec-CB4HHHBN.js.map} +0 -0
  820. /package/dist/{grin2-VZLCISPM.js.map → grin2-FKBIMH5N.js.map} +0 -0
  821. /package/dist/{hierCluster-6AW23EB5.js.map → hierCluster-QFPRMHVA.js.map} +0 -0
  822. /package/dist/{hierCluster-REXTCODR.js.map → hierCluster-YWC3XYPV.js.map} +0 -0
  823. /package/dist/{hierCluster.config-3Z3R66XH.js.map → hierCluster.config-F7YYZNM3.js.map} +0 -0
  824. /package/dist/{hierCluster.integration.spec-XE47Q64Z.js.map → hierCluster.integration.spec-AF4L3YT6.js.map} +0 -0
  825. /package/dist/{hierCluster.interactivity-2YJYYKVK.js.map → hierCluster.interactivity-RPY74PK6.js.map} +0 -0
  826. /package/dist/{hierCluster.renderers-LE7W2AL6.js.map → hierCluster.renderers-LOKHZ3V2.js.map} +0 -0
  827. /package/dist/{imagePlot-WMZJJ5CJ.js.map → imagePlot-BBEXA754.js.map} +0 -0
  828. /package/dist/{importPlot-P35EGIJJ.js.map → importPlot-7QGANZGK.js.map} +0 -0
  829. /package/dist/{isoformExpression-3TFPEXB4.js.map → isoformExpression-4SLLCVFD.js.map} +0 -0
  830. /package/dist/{isoformExpression.unit.spec-SPQFK3EA.js.map → isoformExpression.unit.spec-GEL4JJ64.js.map} +0 -0
  831. /package/dist/{launch.adhoc-ZQSJBLMJ.js.map → launch.adhoc-LWLBQJS5.js.map} +0 -0
  832. /package/dist/{leftlabel.sample-SJRQ6LJ2.js.map → leftlabel.sample-RTEZOIH2.js.map} +0 -0
  833. /package/dist/{legacyDataset-TNIIJABK.js.map → legacyDataset-VLD7ZYWI.js.map} +0 -0
  834. /package/dist/{lollipop-RXM6UBZ7.js.map → lollipop-XKQK5QZU.js.map} +0 -0
  835. /package/dist/{maf-NWXJWBNF.js.map → maf-AZQPPWDO.js.map} +0 -0
  836. /package/dist/{maftimeline-D7UENAP5.js.map → maftimeline-7MSVYKQU.js.map} +0 -0
  837. /package/dist/{matrix-77LNADX2.js.map → matrix-BGLWC25D.js.map} +0 -0
  838. /package/dist/{matrix-YDOLKY6G.js.map → matrix-IQR5SRMK.js.map} +0 -0
  839. /package/dist/{matrix.cells-VEC5LEWV.js.map → matrix.cells-5C57NWOY.js.map} +0 -0
  840. /package/dist/{matrix.config-GTAAAUGQ.js.map → matrix.config-2DQXAN2E.js.map} +0 -0
  841. /package/dist/{matrix.data-T4GEX6ZH.js.map → matrix.data-ADCGF5H6.js.map} +0 -0
  842. /package/dist/{matrix.groups-7NWHHP5Q.js.map → matrix.groups-V4ITQ5F7.js.map} +0 -0
  843. /package/dist/{matrix.integration.spec-5GBTFRZA.js.map → matrix.integration.spec-IBNOO2WP.js.map} +0 -0
  844. /package/dist/{matrix.interactivity-ONT6WCRU.js.map → matrix.interactivity-JNELJFOV.js.map} +0 -0
  845. /package/dist/{matrix.layout-LDXHGOHF.js.map → matrix.layout-WBVIV6GR.js.map} +0 -0
  846. /package/dist/{matrix.legend-5MDW65HV.js.map → matrix.legend-YHOWPK77.js.map} +0 -0
  847. /package/dist/{matrix.renderers-OEPLQG3C.js.map → matrix.renderers-5BGVRR3M.js.map} +0 -0
  848. /package/dist/{matrix.serieses-4RX7TUQ7.js.map → matrix.serieses-2GZJOASZ.js.map} +0 -0
  849. /package/dist/{matrix.sort-UKMMECBZ.js.map → matrix.sort-WKIWPJKP.js.map} +0 -0
  850. /package/dist/{matrix.sort.unit.spec-VWOXPVRE.js.map → matrix.sort.unit.spec-L2E4D4AS.js.map} +0 -0
  851. /package/dist/{matrix.sorterUi-H64DDQIL.js.map → matrix.sorterUi-TEJWWJ64.js.map} +0 -0
  852. /package/dist/{matrix.sorterUi.unit.spec-DH4434FK.js.map → matrix.sorterUi.unit.spec-SHP7C4P7.js.map} +0 -0
  853. /package/dist/{mavb-ARUWOZES.js.map → mavb-4MXNYUEO.js.map} +0 -0
  854. /package/dist/{mds.fimo-ZEAE5BC3.js.map → mds.fimo-WHIJIBOI.js.map} +0 -0
  855. /package/dist/{mds.samplescatterplot-C5EBKBVF.js.map → mds.samplescatterplot-BRJ6NG2D.js.map} +0 -0
  856. /package/dist/{mds.survivalplot-RS7Z3J3Q.js.map → mds.survivalplot-OPCMB5PB.js.map} +0 -0
  857. /package/dist/{numericDictTermCluster-CSQOV4TM.js.map → numericDictTermCluster-7MIFOP2K.js.map} +0 -0
  858. /package/dist/{oncomatrix-5UVM3KUA.js.map → oncomatrix-BGG6BEUI.js.map} +0 -0
  859. /package/dist/{oncomatrix.spec-CU3EZCMO.js.map → oncomatrix.spec-LYQ4L4F3.js.map} +0 -0
  860. /package/dist/{plot.2dvaf-JD27DSDS.js.map → plot.2dvaf-6WVCP2ZI.js.map} +0 -0
  861. /package/dist/{plot.app-NMPMG3S2.js.map → plot.app-MLBP6WFP.js.map} +0 -0
  862. /package/dist/{plot.barplot-T4LPKFXW.js.map → plot.barplot-JEPRZSCU.js.map} +0 -0
  863. /package/dist/{plot.boxplot-22ETOHNI.js.map → plot.boxplot-GNFW42VM.js.map} +0 -0
  864. /package/dist/{plot.brainImaging-Q7S7KSHW.js.map → plot.brainImaging-5ACNSD45.js.map} +0 -0
  865. /package/dist/{plot.disco-NIPBER5N.js.map → plot.disco-Q2V2KKIH.js.map} +0 -0
  866. /package/dist/{plot.dzi-DAX7GUTF.js.map → plot.dzi-KVT6S7K7.js.map} +0 -0
  867. /package/dist/{plot.ssgq-7J6S35RW.js.map → plot.ssgq-4N3KFJQ2.js.map} +0 -0
  868. /package/dist/{plot.vaf2cov-7EWFTD72.js.map → plot.vaf2cov-ITRG5U43.js.map} +0 -0
  869. /package/dist/{plot.wsi-E45KZGKD.js.map → plot.wsi-26YZNU4V.js.map} +0 -0
  870. /package/dist/{polar2-LPT2XMD2.js.map → polar2-J7GVUK4X.js.map} +0 -0
  871. /package/dist/{profileForms-EYN2KLSY.js.map → profileForms-VXV2JLXU.js.map} +0 -0
  872. /package/dist/{profilePlot-I7VQM3CH.js.map → profilePlot-ZZYZK4SY.js.map} +0 -0
  873. /package/dist/{proteinView-JP5TF3ZK.js.map → proteinView-7KN532D3.js.map} +0 -0
  874. /package/dist/{qualitative-7X3ECW7Q.js.map → qualitative-MLRVLIAU.js.map} +0 -0
  875. /package/dist/{radar2-V3FYBFAG.js.map → radar2-WM2ZBOH3.js.map} +0 -0
  876. /package/dist/{radarFacility2-O6GQLBBN.js.map → radarFacility2-3SBR2JJ3.js.map} +0 -0
  877. /package/dist/{regression-CLG6NYVF.js.map → regression-WMRPQJW2.js.map} +0 -0
  878. /package/dist/{regression.inputs-RLOBIRJH.js.map → regression.inputs-VWZKSYNY.js.map} +0 -0
  879. /package/dist/{regression.inputs.term-ZKIP6KDO.js.map → regression.inputs.term-OWE6GWHM.js.map} +0 -0
  880. /package/dist/{regression.inputs.values.table-2VD4AO5T.js.map → regression.inputs.values.table-4INNZQI2.js.map} +0 -0
  881. /package/dist/{regression.integration.spec-JEIMN7MS.js.map → regression.integration.spec-XKQ2JOOT.js.map} +0 -0
  882. /package/dist/{regression.results-FT6VSWGR.js.map → regression.results-VZBYMBYC.js.map} +0 -0
  883. /package/dist/{regression.spec-V4S52JQM.js.map → regression.spec-DU3UTDCJ.js.map} +0 -0
  884. /package/dist/{sampleView-JIGZ7GTP.js.map → render-N5FOF247.js.map} +0 -0
  885. /package/dist/{report-UPQFSI4D.js.map → report-DW3OHB67.js.map} +0 -0
  886. /package/dist/{sampleScatter.spec-QSRF3STG.js.map → sampleScatter.spec-REFSK2V4.js.map} +0 -0
  887. /package/dist/{singleCellCellType-FJ53DRXD.js.map → sampleView-ICOT2R6O.js.map} +0 -0
  888. /package/dist/{samplelst-VJMYHVXI.js.map → samplelst-TJEVASYG.js.map} +0 -0
  889. /package/dist/{samplematrix-LO4QB37V.js.map → samplematrix-6DAWCXQ3.js.map} +0 -0
  890. /package/dist/{sc-4VZBGFZP.js.map → sc-53LNOB7N.js.map} +0 -0
  891. /package/dist/{scatter-LQECXZLB.js.map → scatter-DKYSS4DL.js.map} +0 -0
  892. /package/dist/{selectGenomeWithTklst-IJTCLRIN.js.map → selectGenomeWithTklst-WTX66TV3.js.map} +0 -0
  893. /package/dist/{singleCellGeneExpression-RZE5UVL4.js.map → singleCellCellType-D2CN2BHQ.js.map} +0 -0
  894. /package/dist/{singleCellCellType.unit.spec-VOE4KY6L.js.map → singleCellCellType.unit.spec-LADUCI4R.js.map} +0 -0
  895. /package/dist/{singleCellPlot-Q5UNIW3M.js.map → singleCellGeneExpression-YR2ZT34W.js.map} +0 -0
  896. /package/dist/{singleCellGeneExpression.unit.spec-2DASF7PD.js.map → singleCellGeneExpression.unit.spec-BM63M432.js.map} +0 -0
  897. /package/dist/{snp-S4O7SVDD.js.map → singleCellPlot-3ICIOILE.js.map} +0 -0
  898. /package/dist/{singlecell-TX5AQ4WM.js.map → singlecell-6ZUFA3BQ.js.map} +0 -0
  899. /package/dist/{singlecell-N7F5KVIB.js.map → singlecell-KX7W4U57.js.map} +0 -0
  900. /package/dist/{ssGSEA-BH53XGEZ.js.map → snp-VIURB7L3.js.map} +0 -0
  901. /package/dist/{snp.unit.spec-WSQMZSTE.js.map → snp.unit.spec-ACZNZUNS.js.map} +0 -0
  902. /package/dist/{snplocus-Y2R5C4ZP.js.map → snplocus-3LW4ZUZR.js.map} +0 -0
  903. /package/dist/{spliceevent.a53ss.diagram-FGRQR73W.js.map → spliceevent.a53ss.diagram-AKTZGWNM.js.map} +0 -0
  904. /package/dist/{spliceevent.noeventdiagram-G2CMYYE7.js.map → spliceevent.noeventdiagram-YTXWWNTJ.js.map} +0 -0
  905. /package/dist/{summarizeMutationDiagnosis-EUZXCSZP.js.map → ssGSEA-THW4WFMI.js.map} +0 -0
  906. /package/dist/{ssGSEA.unit.spec-BYIVB7FZ.js.map → ssGSEA.unit.spec-HTRGQI2K.js.map} +0 -0
  907. /package/dist/{summarizeCnvGeneexp-IZNOX4E7.js.map → summarizeCnvGeneexp-RFYC3H2Z.js.map} +0 -0
  908. /package/dist/{summarizeGeneexpSurvival-DJZ2R24E.js.map → summarizeGeneexpSurvival-DQBZUTQ6.js.map} +0 -0
  909. /package/dist/{summarizeMutationCnv-CO2TVWOI.js.map → summarizeMutationCnv-7AYEMHAI.js.map} +0 -0
  910. /package/dist/{summary-JHZCDE35.js.map → summarizeMutationDiagnosis-AKFJDSAF.js.map} +0 -0
  911. /package/dist/{summarizeMutationSurvival-CXFT3HWL.js.map → summarizeMutationSurvival-QJHZRQBZ.js.map} +0 -0
  912. /package/dist/{survival-DLLVUG2P.js.map → summary-A5P7AYK4.js.map} +0 -0
  913. /package/dist/{summary.integration.spec-WBEYSDCA.js.map → summary.integration.spec-HQISXGNL.js.map} +0 -0
  914. /package/dist/{summaryInput-JVH3R54R.js.map → summaryInput-HP675QOQ.js.map} +0 -0
  915. /package/dist/{sunburst-CTJTXHSA.js.map → sunburst-65LSYRXX.js.map} +0 -0
  916. /package/dist/{termCollection-JOLQJYJ3.js.map → survival-QNEI6YVK.js.map} +0 -0
  917. /package/dist/{survival-XFVYNI6S.js.map → survival-UI74VXSM.js.map} +0 -0
  918. /package/dist/{survival.integration.spec-KVXHHAA3.js.map → survival.integration.spec-X5N3JQXS.js.map} +0 -0
  919. /package/dist/{svgraph-ACEBMDIX.js.map → svgraph-PSX2NER3.js.map} +0 -0
  920. /package/dist/{svmr-IQEDSZ2C.js.map → svmr-QDQ33EFX.js.map} +0 -0
  921. /package/dist/{table-2IF6UGHR.js.map → table-LWAI27UO.js.map} +0 -0
  922. /package/dist/{termCollection-PSXFFR32.js.map → termCollection-3JHR74FG.js.map} +0 -0
  923. /package/dist/{tk-AAIHEQO6.js.map → termCollection-CDF5LYUG.js.map} +0 -0
  924. /package/dist/{termCollection.unit.spec-4SOZP4FY.js.map → termCollection.unit.spec-HOJKYWHF.js.map} +0 -0
  925. /package/dist/{tvs.dt-FSA7KPSQ.js.map → tk-OEQFO73V.js.map} +0 -0
  926. /package/dist/{tp.ui-6STLQEXX.js.map → tp.ui-SHNERDGC.js.map} +0 -0
  927. /package/dist/{tvs.numeric-KYAU5OV3.js.map → tvs.dt-CZDC4TSR.js.map} +0 -0
  928. /package/dist/{tvs.dtcnv.categorical-FSPGH7DP.js.map → tvs.dtcnv.categorical-OPBDHZGB.js.map} +0 -0
  929. /package/dist/{tvs.dtcnv.continuous-T4ZMSDB4.js.map → tvs.dtcnv.continuous-AR6P4EP3.js.map} +0 -0
  930. /package/dist/{tvs.dtfusion-UL3YENUM.js.map → tvs.dtfusion-2YQ7N6FQ.js.map} +0 -0
  931. /package/dist/{tvs.dtitd-XJOSZUWG.js.map → tvs.dtitd-ATCHW735.js.map} +0 -0
  932. /package/dist/{tvs.dtsnvindel-5TPUT5RJ.js.map → tvs.dtsnvindel-WHHWAATJ.js.map} +0 -0
  933. /package/dist/{tvs.dtsv-OTNHXYOJ.js.map → tvs.dtsv-3UMCW65O.js.map} +0 -0
  934. /package/dist/{violin-HEFFKPL5.js.map → tvs.numeric-TOEPASWN.js.map} +0 -0
  935. /package/dist/{tvs.samplelst-FQKTAQZF.js.map → tvs.samplelst-M7XKXRTZ.js.map} +0 -0
  936. /package/dist/{tvs.termCollection-ZAPCUMUW.js.map → tvs.termCollection-WT4WZMYR.js.map} +0 -0
  937. /package/dist/{violin.interactivity-XNYJSK53.js.map → violin-2YGXTBDS.js.map} +0 -0
  938. /package/dist/{violin.integration.spec-774N4G5A.js.map → violin.integration.spec-YWNHVAGS.js.map} +0 -0
  939. /package/dist/{violin.renderer-R74VSGRC.js.map → violin.interactivity-J6BE2UQL.js.map} +0 -0
  940. /package/dist/{vocabulary-OHMC6NWL.js.map → violin.renderer-3GRUWP2U.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../node_modules/d3-fetch/src/json.js", "../../node_modules/d3-quadtree/src/add.js", "../../node_modules/d3-quadtree/src/cover.js", "../../node_modules/d3-quadtree/src/data.js", "../../node_modules/d3-quadtree/src/extent.js", "../../node_modules/d3-quadtree/src/quad.js", "../../node_modules/d3-quadtree/src/find.js", "../../node_modules/d3-quadtree/src/remove.js", "../../node_modules/d3-quadtree/src/root.js", "../../node_modules/d3-quadtree/src/size.js", "../../node_modules/d3-quadtree/src/visit.js", "../../node_modules/d3-quadtree/src/visitAfter.js", "../../node_modules/d3-quadtree/src/x.js", "../../node_modules/d3-quadtree/src/y.js", "../../node_modules/d3-quadtree/src/quadtree.js", "../../node_modules/d3-force/src/constant.js", "../../node_modules/d3-force/src/jiggle.js", "../../node_modules/d3-force/src/collide.js", "../../node_modules/d3-force/src/link.js", "../../node_modules/d3-force/src/lcg.js", "../../node_modules/d3-force/src/simulation.js", "../../node_modules/d3-force/src/x.js", "../../node_modules/d3-force/src/y.js", "../../node_modules/d3-geo/src/math.js", "../../node_modules/d3-geo/src/graticule.js", "../../node_modules/d3-geo/src/identity.js", "../../node_modules/d3-geo/src/stream.js", "../../node_modules/d3-geo/src/noop.js", "../../node_modules/d3-geo/src/path/area.js", "../../node_modules/d3-geo/src/path/bounds.js", "../../node_modules/d3-geo/src/path/centroid.js", "../../node_modules/d3-geo/src/path/context.js", "../../node_modules/d3-geo/src/path/measure.js", "../../node_modules/d3-geo/src/path/string.js", "../../node_modules/d3-geo/src/path/index.js", "../../node_modules/d3-geo/src/cartesian.js", "../../node_modules/d3-geo/src/compose.js", "../../node_modules/d3-geo/src/rotation.js", "../../node_modules/d3-geo/src/circle.js", "../../node_modules/d3-geo/src/clip/buffer.js", "../../node_modules/d3-geo/src/pointEqual.js", "../../node_modules/d3-geo/src/clip/rejoin.js", "../../node_modules/d3-geo/src/polygonContains.js", "../../node_modules/d3-geo/src/clip/index.js", "../../node_modules/d3-geo/src/clip/antimeridian.js", "../../node_modules/d3-geo/src/clip/circle.js", "../../node_modules/d3-geo/src/clip/line.js", "../../node_modules/d3-geo/src/clip/rectangle.js", "../../node_modules/d3-geo/src/length.js", "../../node_modules/d3-geo/src/distance.js", "../../node_modules/d3-geo/src/contains.js", "../../node_modules/d3-geo/src/transform.js", "../../node_modules/d3-geo/src/projection/fit.js", "../../node_modules/d3-geo/src/projection/resample.js", "../../node_modules/d3-geo/src/projection/index.js", "../../node_modules/d3-geo/src/projection/naturalEarth1.js", "../../node_modules/d3-scale-chromatic/src/colors.js", "../../node_modules/d3-scale-chromatic/src/categorical/category10.js", "../../node_modules/d3-scale-chromatic/src/ramp.js", "../../node_modules/d3-scale-chromatic/src/sequential-single/Blues.js", "../../node_modules/d3-scale-chromatic/src/sequential-single/Reds.js", "../../node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js", "../../node_modules/d3-scale-chromatic/src/categorical/Dark2.js", "../../node_modules/d3-scale-chromatic/src/categorical/Paired.js", "../../node_modules/d3-scale-chromatic/src/sequential-single/Greys.js", "../../node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js", "../../node_modules/d3-shape/src/constant.js", "../../node_modules/d3-shape/src/math.js", "../../node_modules/d3-path/src/path.js", "../../node_modules/d3-shape/src/path.js", "../../node_modules/d3-shape/src/arc.js", "../../node_modules/d3-shape/src/array.js", "../../node_modules/d3-shape/src/curve/linear.js", "../../node_modules/d3-shape/src/point.js", "../../node_modules/d3-shape/src/line.js", "../../node_modules/d3-shape/src/area.js", "../../node_modules/d3-shape/src/symbol/circle.js", "../../node_modules/d3-shape/src/symbol/cross.js", "../../node_modules/d3-shape/src/symbol/diamond.js", "../../node_modules/d3-shape/src/symbol/square.js", "../../node_modules/d3-shape/src/symbol/star.js", "../../node_modules/d3-shape/src/symbol/triangle.js", "../../node_modules/d3-shape/src/symbol/wye.js", "../../node_modules/d3-shape/src/symbol.js", "../../node_modules/d3-shape/src/curve/basis.js", "../../node_modules/d3-shape/src/curve/monotone.js", "../../node_modules/d3-shape/src/curve/step.js", "../../node_modules/d3-shape/src/descending.js", "../../node_modules/d3-shape/src/identity.js", "../../node_modules/d3-shape/src/pie.js", "../../node_modules/d3-zoom/src/transform.js", "../../node_modules/d3-zoom/src/constant.js", "../../node_modules/d3-zoom/src/event.js", "../../node_modules/d3-zoom/src/noevent.js", "../../node_modules/d3-zoom/src/zoom.js", "../../node_modules/d3-chord/src/math.js", "../../node_modules/d3-chord/src/array.js", "../../node_modules/d3-chord/src/constant.js", "../../node_modules/d3-chord/src/ribbon.js", "../../node_modules/d3-contour/src/array.js", "../../node_modules/d3-contour/src/ascending.js", "../../node_modules/d3-contour/src/area.js", "../../node_modules/d3-contour/src/constant.js", "../../node_modules/d3-contour/src/contains.js", "../../node_modules/d3-contour/src/noop.js", "../../node_modules/d3-contour/src/contours.js", "../../node_modules/d3-contour/src/density.js"],
4
+ "sourcesContent": ["function responseJson(response) {\n if (!response.ok) throw new Error(response.status + \" \" + response.statusText);\n if (response.status === 204 || response.status === 205) return;\n return response.json();\n}\n\nexport default function(input, init) {\n return fetch(input, init).then(responseJson);\n}\n", "export default function(d) {\n const x = +this._x.call(null, d),\n y = +this._y.call(null, d);\n return add(this.cover(x, y), x, y, d);\n}\n\nfunction add(tree, x, y, d) {\n if (isNaN(x) || isNaN(y)) return tree; // ignore invalid points\n\n var parent,\n node = tree._root,\n leaf = {data: d},\n x0 = tree._x0,\n y0 = tree._y0,\n x1 = tree._x1,\n y1 = tree._y1,\n xm,\n ym,\n xp,\n yp,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return tree._root = leaf, tree;\n\n // Find the existing leaf for the new point, or add it.\n while (node.length) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (parent = node, !(node = node[i = bottom << 1 | right])) return parent[i] = leaf, tree;\n }\n\n // Is the new point is exactly coincident with the existing point?\n xp = +tree._x.call(null, node.data);\n yp = +tree._y.call(null, node.data);\n if (x === xp && y === yp) return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;\n\n // Otherwise, split the leaf node until the old and new point are separated.\n do {\n parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | (xp >= xm)));\n return parent[j] = node, parent[i] = leaf, tree;\n}\n\nexport function addAll(data) {\n var d, i, n = data.length,\n x,\n y,\n xz = new Array(n),\n yz = new Array(n),\n x0 = Infinity,\n y0 = Infinity,\n x1 = -Infinity,\n y1 = -Infinity;\n\n // Compute the points and their extent.\n for (i = 0; i < n; ++i) {\n if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d))) continue;\n xz[i] = x;\n yz[i] = y;\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n }\n\n // If there were no (valid) points, abort.\n if (x0 > x1 || y0 > y1) return this;\n\n // Expand the tree to cover the new points.\n this.cover(x0, y0).cover(x1, y1);\n\n // Add the new points.\n for (i = 0; i < n; ++i) {\n add(this, xz[i], yz[i], data[i]);\n }\n\n return this;\n}\n", "export default function(x, y) {\n if (isNaN(x = +x) || isNaN(y = +y)) return this; // ignore invalid points\n\n var x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1;\n\n // If the quadtree has no extent, initialize them.\n // Integer extent are necessary so that if we later double the extent,\n // the existing quadrant boundaries don\u2019t change due to floating point error!\n if (isNaN(x0)) {\n x1 = (x0 = Math.floor(x)) + 1;\n y1 = (y0 = Math.floor(y)) + 1;\n }\n\n // Otherwise, double repeatedly to cover.\n else {\n var z = x1 - x0 || 1,\n node = this._root,\n parent,\n i;\n\n while (x0 > x || x >= x1 || y0 > y || y >= y1) {\n i = (y < y0) << 1 | (x < x0);\n parent = new Array(4), parent[i] = node, node = parent, z *= 2;\n switch (i) {\n case 0: x1 = x0 + z, y1 = y0 + z; break;\n case 1: x0 = x1 - z, y1 = y0 + z; break;\n case 2: x1 = x0 + z, y0 = y1 - z; break;\n case 3: x0 = x1 - z, y0 = y1 - z; break;\n }\n }\n\n if (this._root && this._root.length) this._root = node;\n }\n\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n return this;\n}\n", "export default function() {\n var data = [];\n this.visit(function(node) {\n if (!node.length) do data.push(node.data); while (node = node.next)\n });\n return data;\n}\n", "export default function(_) {\n return arguments.length\n ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1])\n : isNaN(this._x0) ? undefined : [[this._x0, this._y0], [this._x1, this._y1]];\n}\n", "export default function(node, x0, y0, x1, y1) {\n this.node = node;\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n}\n", "import Quad from \"./quad.js\";\n\nexport default function(x, y, radius) {\n var data,\n x0 = this._x0,\n y0 = this._y0,\n x1,\n y1,\n x2,\n y2,\n x3 = this._x1,\n y3 = this._y1,\n quads = [],\n node = this._root,\n q,\n i;\n\n if (node) quads.push(new Quad(node, x0, y0, x3, y3));\n if (radius == null) radius = Infinity;\n else {\n x0 = x - radius, y0 = y - radius;\n x3 = x + radius, y3 = y + radius;\n radius *= radius;\n }\n\n while (q = quads.pop()) {\n\n // Stop searching if this quadrant can\u2019t contain a closer node.\n if (!(node = q.node)\n || (x1 = q.x0) > x3\n || (y1 = q.y0) > y3\n || (x2 = q.x1) < x0\n || (y2 = q.y1) < y0) continue;\n\n // Bisect the current quadrant.\n if (node.length) {\n var xm = (x1 + x2) / 2,\n ym = (y1 + y2) / 2;\n\n quads.push(\n new Quad(node[3], xm, ym, x2, y2),\n new Quad(node[2], x1, ym, xm, y2),\n new Quad(node[1], xm, y1, x2, ym),\n new Quad(node[0], x1, y1, xm, ym)\n );\n\n // Visit the closest quadrant first.\n if (i = (y >= ym) << 1 | (x >= xm)) {\n q = quads[quads.length - 1];\n quads[quads.length - 1] = quads[quads.length - 1 - i];\n quads[quads.length - 1 - i] = q;\n }\n }\n\n // Visit this point. (Visiting coincident points isn\u2019t necessary!)\n else {\n var dx = x - +this._x.call(null, node.data),\n dy = y - +this._y.call(null, node.data),\n d2 = dx * dx + dy * dy;\n if (d2 < radius) {\n var d = Math.sqrt(radius = d2);\n x0 = x - d, y0 = y - d;\n x3 = x + d, y3 = y + d;\n data = node.data;\n }\n }\n }\n\n return data;\n}\n", "export default function(d) {\n if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d))) return this; // ignore invalid points\n\n var parent,\n node = this._root,\n retainer,\n previous,\n next,\n x0 = this._x0,\n y0 = this._y0,\n x1 = this._x1,\n y1 = this._y1,\n x,\n y,\n xm,\n ym,\n right,\n bottom,\n i,\n j;\n\n // If the tree is empty, initialize the root as a leaf.\n if (!node) return this;\n\n // Find the leaf node for the point.\n // While descending, also retain the deepest parent with a non-removed sibling.\n if (node.length) while (true) {\n if (right = x >= (xm = (x0 + x1) / 2)) x0 = xm; else x1 = xm;\n if (bottom = y >= (ym = (y0 + y1) / 2)) y0 = ym; else y1 = ym;\n if (!(parent = node, node = node[i = bottom << 1 | right])) return this;\n if (!node.length) break;\n if (parent[(i + 1) & 3] || parent[(i + 2) & 3] || parent[(i + 3) & 3]) retainer = parent, j = i;\n }\n\n // Find the point to remove.\n while (node.data !== d) if (!(previous = node, node = node.next)) return this;\n if (next = node.next) delete node.next;\n\n // If there are multiple coincident points, remove just the point.\n if (previous) return (next ? previous.next = next : delete previous.next), this;\n\n // If this is the root point, remove it.\n if (!parent) return this._root = next, this;\n\n // Remove this leaf.\n next ? parent[i] = next : delete parent[i];\n\n // If the parent now contains exactly one leaf, collapse superfluous parents.\n if ((node = parent[0] || parent[1] || parent[2] || parent[3])\n && node === (parent[3] || parent[2] || parent[1] || parent[0])\n && !node.length) {\n if (retainer) retainer[j] = node;\n else this._root = node;\n }\n\n return this;\n}\n\nexport function removeAll(data) {\n for (var i = 0, n = data.length; i < n; ++i) this.remove(data[i]);\n return this;\n}\n", "export default function() {\n return this._root;\n}\n", "export default function() {\n var size = 0;\n this.visit(function(node) {\n if (!node.length) do ++size; while (node = node.next)\n });\n return size;\n}\n", "import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], q, node = this._root, child, x0, y0, x1, y1;\n if (node) quads.push(new Quad(node, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {\n var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n }\n }\n return this;\n}\n", "import Quad from \"./quad.js\";\n\nexport default function(callback) {\n var quads = [], next = [], q;\n if (this._root) quads.push(new Quad(this._root, this._x0, this._y0, this._x1, this._y1));\n while (q = quads.pop()) {\n var node = q.node;\n if (node.length) {\n var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;\n if (child = node[0]) quads.push(new Quad(child, x0, y0, xm, ym));\n if (child = node[1]) quads.push(new Quad(child, xm, y0, x1, ym));\n if (child = node[2]) quads.push(new Quad(child, x0, ym, xm, y1));\n if (child = node[3]) quads.push(new Quad(child, xm, ym, x1, y1));\n }\n next.push(q);\n }\n while (q = next.pop()) {\n callback(q.node, q.x0, q.y0, q.x1, q.y1);\n }\n return this;\n}\n", "export function defaultX(d) {\n return d[0];\n}\n\nexport default function(_) {\n return arguments.length ? (this._x = _, this) : this._x;\n}\n", "export function defaultY(d) {\n return d[1];\n}\n\nexport default function(_) {\n return arguments.length ? (this._y = _, this) : this._y;\n}\n", "import tree_add, {addAll as tree_addAll} from \"./add.js\";\nimport tree_cover from \"./cover.js\";\nimport tree_data from \"./data.js\";\nimport tree_extent from \"./extent.js\";\nimport tree_find from \"./find.js\";\nimport tree_remove, {removeAll as tree_removeAll} from \"./remove.js\";\nimport tree_root from \"./root.js\";\nimport tree_size from \"./size.js\";\nimport tree_visit from \"./visit.js\";\nimport tree_visitAfter from \"./visitAfter.js\";\nimport tree_x, {defaultX} from \"./x.js\";\nimport tree_y, {defaultY} from \"./y.js\";\n\nexport default function quadtree(nodes, x, y) {\n var tree = new Quadtree(x == null ? defaultX : x, y == null ? defaultY : y, NaN, NaN, NaN, NaN);\n return nodes == null ? tree : tree.addAll(nodes);\n}\n\nfunction Quadtree(x, y, x0, y0, x1, y1) {\n this._x = x;\n this._y = y;\n this._x0 = x0;\n this._y0 = y0;\n this._x1 = x1;\n this._y1 = y1;\n this._root = undefined;\n}\n\nfunction leaf_copy(leaf) {\n var copy = {data: leaf.data}, next = copy;\n while (leaf = leaf.next) next = next.next = {data: leaf.data};\n return copy;\n}\n\nvar treeProto = quadtree.prototype = Quadtree.prototype;\n\ntreeProto.copy = function() {\n var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1),\n node = this._root,\n nodes,\n child;\n\n if (!node) return copy;\n\n if (!node.length) return copy._root = leaf_copy(node), copy;\n\n nodes = [{source: node, target: copy._root = new Array(4)}];\n while (node = nodes.pop()) {\n for (var i = 0; i < 4; ++i) {\n if (child = node.source[i]) {\n if (child.length) nodes.push({source: child, target: node.target[i] = new Array(4)});\n else node.target[i] = leaf_copy(child);\n }\n }\n }\n\n return copy;\n};\n\ntreeProto.add = tree_add;\ntreeProto.addAll = tree_addAll;\ntreeProto.cover = tree_cover;\ntreeProto.data = tree_data;\ntreeProto.extent = tree_extent;\ntreeProto.find = tree_find;\ntreeProto.remove = tree_remove;\ntreeProto.removeAll = tree_removeAll;\ntreeProto.root = tree_root;\ntreeProto.size = tree_size;\ntreeProto.visit = tree_visit;\ntreeProto.visitAfter = tree_visitAfter;\ntreeProto.x = tree_x;\ntreeProto.y = tree_y;\n", "export default function(x) {\n return function() {\n return x;\n };\n}\n", "export default function(random) {\n return (random() - 0.5) * 1e-6;\n}\n", "import {quadtree} from \"d3-quadtree\";\nimport constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction x(d) {\n return d.x + d.vx;\n}\n\nfunction y(d) {\n return d.y + d.vy;\n}\n\nexport default function(radius) {\n var nodes,\n radii,\n random,\n strength = 1,\n iterations = 1;\n\n if (typeof radius !== \"function\") radius = constant(radius == null ? 1 : +radius);\n\n function force() {\n var i, n = nodes.length,\n tree,\n node,\n xi,\n yi,\n ri,\n ri2;\n\n for (var k = 0; k < iterations; ++k) {\n tree = quadtree(nodes, x, y).visitAfter(prepare);\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n ri = radii[node.index], ri2 = ri * ri;\n xi = node.x + node.vx;\n yi = node.y + node.vy;\n tree.visit(apply);\n }\n }\n\n function apply(quad, x0, y0, x1, y1) {\n var data = quad.data, rj = quad.r, r = ri + rj;\n if (data) {\n if (data.index > node.index) {\n var x = xi - data.x - data.vx,\n y = yi - data.y - data.vy,\n l = x * x + y * y;\n if (l < r * r) {\n if (x === 0) x = jiggle(random), l += x * x;\n if (y === 0) y = jiggle(random), l += y * y;\n l = (r - (l = Math.sqrt(l))) / l * strength;\n node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));\n node.vy += (y *= l) * r;\n data.vx -= x * (r = 1 - r);\n data.vy -= y * r;\n }\n }\n return;\n }\n return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;\n }\n }\n\n function prepare(quad) {\n if (quad.data) return quad.r = radii[quad.data.index];\n for (var i = quad.r = 0; i < 4; ++i) {\n if (quad[i] && quad[i].r > quad.r) {\n quad.r = quad[i].r;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length, node;\n radii = new Array(n);\n for (i = 0; i < n; ++i) node = nodes[i], radii[node.index] = +radius(node, i, nodes);\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = +_, force) : strength;\n };\n\n force.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : radius;\n };\n\n return force;\n}\n", "import constant from \"./constant.js\";\nimport jiggle from \"./jiggle.js\";\n\nfunction index(d) {\n return d.index;\n}\n\nfunction find(nodeById, nodeId) {\n var node = nodeById.get(nodeId);\n if (!node) throw new Error(\"node not found: \" + nodeId);\n return node;\n}\n\nexport default function(links) {\n var id = index,\n strength = defaultStrength,\n strengths,\n distance = constant(30),\n distances,\n nodes,\n count,\n bias,\n random,\n iterations = 1;\n\n if (links == null) links = [];\n\n function defaultStrength(link) {\n return 1 / Math.min(count[link.source.index], count[link.target.index]);\n }\n\n function force(alpha) {\n for (var k = 0, n = links.length; k < iterations; ++k) {\n for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {\n link = links[i], source = link.source, target = link.target;\n x = target.x + target.vx - source.x - source.vx || jiggle(random);\n y = target.y + target.vy - source.y - source.vy || jiggle(random);\n l = Math.sqrt(x * x + y * y);\n l = (l - distances[i]) / l * alpha * strengths[i];\n x *= l, y *= l;\n target.vx -= x * (b = bias[i]);\n target.vy -= y * b;\n source.vx += x * (b = 1 - b);\n source.vy += y * b;\n }\n }\n }\n\n function initialize() {\n if (!nodes) return;\n\n var i,\n n = nodes.length,\n m = links.length,\n nodeById = new Map(nodes.map((d, i) => [id(d, i, nodes), d])),\n link;\n\n for (i = 0, count = new Array(n); i < m; ++i) {\n link = links[i], link.index = i;\n if (typeof link.source !== \"object\") link.source = find(nodeById, link.source);\n if (typeof link.target !== \"object\") link.target = find(nodeById, link.target);\n count[link.source.index] = (count[link.source.index] || 0) + 1;\n count[link.target.index] = (count[link.target.index] || 0) + 1;\n }\n\n for (i = 0, bias = new Array(m); i < m; ++i) {\n link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);\n }\n\n strengths = new Array(m), initializeStrength();\n distances = new Array(m), initializeDistance();\n }\n\n function initializeStrength() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n strengths[i] = +strength(links[i], i, links);\n }\n }\n\n function initializeDistance() {\n if (!nodes) return;\n\n for (var i = 0, n = links.length; i < n; ++i) {\n distances[i] = +distance(links[i], i, links);\n }\n }\n\n force.initialize = function(_nodes, _random) {\n nodes = _nodes;\n random = _random;\n initialize();\n };\n\n force.links = function(_) {\n return arguments.length ? (links = _, initialize(), force) : links;\n };\n\n force.id = function(_) {\n return arguments.length ? (id = _, force) : id;\n };\n\n force.iterations = function(_) {\n return arguments.length ? (iterations = +_, force) : iterations;\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initializeStrength(), force) : strength;\n };\n\n force.distance = function(_) {\n return arguments.length ? (distance = typeof _ === \"function\" ? _ : constant(+_), initializeDistance(), force) : distance;\n };\n\n return force;\n}\n", "// https://en.wikipedia.org/wiki/Linear_congruential_generator#Parameters_in_common_use\nconst a = 1664525;\nconst c = 1013904223;\nconst m = 4294967296; // 2^32\n\nexport default function() {\n let s = 1;\n return () => (s = (a * s + c) % m) / m;\n}\n", "import {dispatch} from \"d3-dispatch\";\nimport {timer} from \"d3-timer\";\nimport lcg from \"./lcg.js\";\n\nexport function x(d) {\n return d.x;\n}\n\nexport function y(d) {\n return d.y;\n}\n\nvar initialRadius = 10,\n initialAngle = Math.PI * (3 - Math.sqrt(5));\n\nexport default function(nodes) {\n var simulation,\n alpha = 1,\n alphaMin = 0.001,\n alphaDecay = 1 - Math.pow(alphaMin, 1 / 300),\n alphaTarget = 0,\n velocityDecay = 0.6,\n forces = new Map(),\n stepper = timer(step),\n event = dispatch(\"tick\", \"end\"),\n random = lcg();\n\n if (nodes == null) nodes = [];\n\n function step() {\n tick();\n event.call(\"tick\", simulation);\n if (alpha < alphaMin) {\n stepper.stop();\n event.call(\"end\", simulation);\n }\n }\n\n function tick(iterations) {\n var i, n = nodes.length, node;\n\n if (iterations === undefined) iterations = 1;\n\n for (var k = 0; k < iterations; ++k) {\n alpha += (alphaTarget - alpha) * alphaDecay;\n\n forces.forEach(function(force) {\n force(alpha);\n });\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n if (node.fx == null) node.x += node.vx *= velocityDecay;\n else node.x = node.fx, node.vx = 0;\n if (node.fy == null) node.y += node.vy *= velocityDecay;\n else node.y = node.fy, node.vy = 0;\n }\n }\n\n return simulation;\n }\n\n function initializeNodes() {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.index = i;\n if (node.fx != null) node.x = node.fx;\n if (node.fy != null) node.y = node.fy;\n if (isNaN(node.x) || isNaN(node.y)) {\n var radius = initialRadius * Math.sqrt(0.5 + i), angle = i * initialAngle;\n node.x = radius * Math.cos(angle);\n node.y = radius * Math.sin(angle);\n }\n if (isNaN(node.vx) || isNaN(node.vy)) {\n node.vx = node.vy = 0;\n }\n }\n }\n\n function initializeForce(force) {\n if (force.initialize) force.initialize(nodes, random);\n return force;\n }\n\n initializeNodes();\n\n return simulation = {\n tick: tick,\n\n restart: function() {\n return stepper.restart(step), simulation;\n },\n\n stop: function() {\n return stepper.stop(), simulation;\n },\n\n nodes: function(_) {\n return arguments.length ? (nodes = _, initializeNodes(), forces.forEach(initializeForce), simulation) : nodes;\n },\n\n alpha: function(_) {\n return arguments.length ? (alpha = +_, simulation) : alpha;\n },\n\n alphaMin: function(_) {\n return arguments.length ? (alphaMin = +_, simulation) : alphaMin;\n },\n\n alphaDecay: function(_) {\n return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;\n },\n\n alphaTarget: function(_) {\n return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;\n },\n\n velocityDecay: function(_) {\n return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;\n },\n\n randomSource: function(_) {\n return arguments.length ? (random = _, forces.forEach(initializeForce), simulation) : random;\n },\n\n force: function(name, _) {\n return arguments.length > 1 ? ((_ == null ? forces.delete(name) : forces.set(name, initializeForce(_))), simulation) : forces.get(name);\n },\n\n find: function(x, y, radius) {\n var i = 0,\n n = nodes.length,\n dx,\n dy,\n d2,\n node,\n closest;\n\n if (radius == null) radius = Infinity;\n else radius *= radius;\n\n for (i = 0; i < n; ++i) {\n node = nodes[i];\n dx = x - node.x;\n dy = y - node.y;\n d2 = dx * dx + dy * dy;\n if (d2 < radius) closest = node, radius = d2;\n }\n\n return closest;\n },\n\n on: function(name, _) {\n return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);\n }\n };\n}\n", "import constant from \"./constant.js\";\n\nexport default function(x) {\n var strength = constant(0.1),\n nodes,\n strengths,\n xz;\n\n if (typeof x !== \"function\") x = constant(x == null ? 0 : +x);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n xz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : x;\n };\n\n return force;\n}\n", "import constant from \"./constant.js\";\n\nexport default function(y) {\n var strength = constant(0.1),\n nodes,\n strengths,\n yz;\n\n if (typeof y !== \"function\") y = constant(y == null ? 0 : +y);\n\n function force(alpha) {\n for (var i = 0, n = nodes.length, node; i < n; ++i) {\n node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;\n }\n }\n\n function initialize() {\n if (!nodes) return;\n var i, n = nodes.length;\n strengths = new Array(n);\n yz = new Array(n);\n for (i = 0; i < n; ++i) {\n strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);\n }\n }\n\n force.initialize = function(_) {\n nodes = _;\n initialize();\n };\n\n force.strength = function(_) {\n return arguments.length ? (strength = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : strength;\n };\n\n force.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), initialize(), force) : y;\n };\n\n return force;\n}\n", "export var epsilon = 1e-6;\nexport var epsilon2 = 1e-12;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var quarterPi = pi / 4;\nexport var tau = pi * 2;\n\nexport var degrees = 180 / pi;\nexport var radians = pi / 180;\n\nexport var abs = Math.abs;\nexport var atan = Math.atan;\nexport var atan2 = Math.atan2;\nexport var cos = Math.cos;\nexport var ceil = Math.ceil;\nexport var exp = Math.exp;\nexport var floor = Math.floor;\nexport var hypot = Math.hypot;\nexport var log = Math.log;\nexport var pow = Math.pow;\nexport var sin = Math.sin;\nexport var sign = Math.sign || function(x) { return x > 0 ? 1 : x < 0 ? -1 : 0; };\nexport var sqrt = Math.sqrt;\nexport var tan = Math.tan;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);\n}\n\nexport function haversin(x) {\n return (x = sin(x / 2)) * x;\n}\n", "import {range} from \"d3-array\";\nimport {abs, ceil, epsilon} from \"./math.js\";\n\nfunction graticuleX(y0, y1, dy) {\n var y = range(y0, y1 - epsilon, dy).concat(y1);\n return function(x) { return y.map(function(y) { return [x, y]; }); };\n}\n\nfunction graticuleY(x0, x1, dx) {\n var x = range(x0, x1 - epsilon, dx).concat(x1);\n return function(y) { return x.map(function(x) { return [x, y]; }); };\n}\n\nexport default function graticule() {\n var x1, x0, X1, X0,\n y1, y0, Y1, Y0,\n dx = 10, dy = dx, DX = 90, DY = 360,\n x, y, X, Y,\n precision = 2.5;\n\n function graticule() {\n return {type: \"MultiLineString\", coordinates: lines()};\n }\n\n function lines() {\n return range(ceil(X0 / DX) * DX, X1, DX).map(X)\n .concat(range(ceil(Y0 / DY) * DY, Y1, DY).map(Y))\n .concat(range(ceil(x0 / dx) * dx, x1, dx).filter(function(x) { return abs(x % DX) > epsilon; }).map(x))\n .concat(range(ceil(y0 / dy) * dy, y1, dy).filter(function(y) { return abs(y % DY) > epsilon; }).map(y));\n }\n\n graticule.lines = function() {\n return lines().map(function(coordinates) { return {type: \"LineString\", coordinates: coordinates}; });\n };\n\n graticule.outline = function() {\n return {\n type: \"Polygon\",\n coordinates: [\n X(X0).concat(\n Y(Y1).slice(1),\n X(X1).reverse().slice(1),\n Y(Y0).reverse().slice(1))\n ]\n };\n };\n\n graticule.extent = function(_) {\n if (!arguments.length) return graticule.extentMinor();\n return graticule.extentMajor(_).extentMinor(_);\n };\n\n graticule.extentMajor = function(_) {\n if (!arguments.length) return [[X0, Y0], [X1, Y1]];\n X0 = +_[0][0], X1 = +_[1][0];\n Y0 = +_[0][1], Y1 = +_[1][1];\n if (X0 > X1) _ = X0, X0 = X1, X1 = _;\n if (Y0 > Y1) _ = Y0, Y0 = Y1, Y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.extentMinor = function(_) {\n if (!arguments.length) return [[x0, y0], [x1, y1]];\n x0 = +_[0][0], x1 = +_[1][0];\n y0 = +_[0][1], y1 = +_[1][1];\n if (x0 > x1) _ = x0, x0 = x1, x1 = _;\n if (y0 > y1) _ = y0, y0 = y1, y1 = _;\n return graticule.precision(precision);\n };\n\n graticule.step = function(_) {\n if (!arguments.length) return graticule.stepMinor();\n return graticule.stepMajor(_).stepMinor(_);\n };\n\n graticule.stepMajor = function(_) {\n if (!arguments.length) return [DX, DY];\n DX = +_[0], DY = +_[1];\n return graticule;\n };\n\n graticule.stepMinor = function(_) {\n if (!arguments.length) return [dx, dy];\n dx = +_[0], dy = +_[1];\n return graticule;\n };\n\n graticule.precision = function(_) {\n if (!arguments.length) return precision;\n precision = +_;\n x = graticuleX(y0, y1, 90);\n y = graticuleY(x0, x1, precision);\n X = graticuleX(Y0, Y1, 90);\n Y = graticuleY(X0, X1, precision);\n return graticule;\n };\n\n return graticule\n .extentMajor([[-180, -90 + epsilon], [180, 90 - epsilon]])\n .extentMinor([[-180, -80 - epsilon], [180, 80 + epsilon]]);\n}\n\nexport function graticule10() {\n return graticule()();\n}\n", "export default x => x;\n", "function streamGeometry(geometry, stream) {\n if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {\n streamGeometryType[geometry.type](geometry, stream);\n }\n}\n\nvar streamObjectType = {\n Feature: function(object, stream) {\n streamGeometry(object.geometry, stream);\n },\n FeatureCollection: function(object, stream) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) streamGeometry(features[i].geometry, stream);\n }\n};\n\nvar streamGeometryType = {\n Sphere: function(object, stream) {\n stream.sphere();\n },\n Point: function(object, stream) {\n object = object.coordinates;\n stream.point(object[0], object[1], object[2]);\n },\n MultiPoint: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) object = coordinates[i], stream.point(object[0], object[1], object[2]);\n },\n LineString: function(object, stream) {\n streamLine(object.coordinates, stream, 0);\n },\n MultiLineString: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamLine(coordinates[i], stream, 0);\n },\n Polygon: function(object, stream) {\n streamPolygon(object.coordinates, stream);\n },\n MultiPolygon: function(object, stream) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) streamPolygon(coordinates[i], stream);\n },\n GeometryCollection: function(object, stream) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) streamGeometry(geometries[i], stream);\n }\n};\n\nfunction streamLine(coordinates, stream, closed) {\n var i = -1, n = coordinates.length - closed, coordinate;\n stream.lineStart();\n while (++i < n) coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);\n stream.lineEnd();\n}\n\nfunction streamPolygon(coordinates, stream) {\n var i = -1, n = coordinates.length;\n stream.polygonStart();\n while (++i < n) streamLine(coordinates[i], stream, 1);\n stream.polygonEnd();\n}\n\nexport default function(object, stream) {\n if (object && streamObjectType.hasOwnProperty(object.type)) {\n streamObjectType[object.type](object, stream);\n } else {\n streamGeometry(object, stream);\n }\n}\n", "export default function noop() {}\n", "import {Adder} from \"d3-array\";\nimport {abs} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar areaSum = new Adder(),\n areaRingSum = new Adder(),\n x00,\n y00,\n x0,\n y0;\n\nvar areaStream = {\n point: noop,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: function() {\n areaStream.lineStart = areaRingStart;\n areaStream.lineEnd = areaRingEnd;\n },\n polygonEnd: function() {\n areaStream.lineStart = areaStream.lineEnd = areaStream.point = noop;\n areaSum.add(abs(areaRingSum));\n areaRingSum = new Adder();\n },\n result: function() {\n var area = areaSum / 2;\n areaSum = new Adder();\n return area;\n }\n};\n\nfunction areaRingStart() {\n areaStream.point = areaPointFirst;\n}\n\nfunction areaPointFirst(x, y) {\n areaStream.point = areaPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction areaPoint(x, y) {\n areaRingSum.add(y0 * x - x0 * y);\n x0 = x, y0 = y;\n}\n\nfunction areaRingEnd() {\n areaPoint(x00, y00);\n}\n\nexport default areaStream;\n", "import noop from \"../noop.js\";\n\nvar x0 = Infinity,\n y0 = x0,\n x1 = -x0,\n y1 = x1;\n\nvar boundsStream = {\n point: boundsPoint,\n lineStart: noop,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop,\n result: function() {\n var bounds = [[x0, y0], [x1, y1]];\n x1 = y1 = -(y0 = x0 = Infinity);\n return bounds;\n }\n};\n\nfunction boundsPoint(x, y) {\n if (x < x0) x0 = x;\n if (x > x1) x1 = x;\n if (y < y0) y0 = y;\n if (y > y1) y1 = y;\n}\n\nexport default boundsStream;\n", "import {sqrt} from \"../math.js\";\n\n// TODO Enforce positive area for exterior, negative area for interior?\n\nvar X0 = 0,\n Y0 = 0,\n Z0 = 0,\n X1 = 0,\n Y1 = 0,\n Z1 = 0,\n X2 = 0,\n Y2 = 0,\n Z2 = 0,\n x00,\n y00,\n x0,\n y0;\n\nvar centroidStream = {\n point: centroidPoint,\n lineStart: centroidLineStart,\n lineEnd: centroidLineEnd,\n polygonStart: function() {\n centroidStream.lineStart = centroidRingStart;\n centroidStream.lineEnd = centroidRingEnd;\n },\n polygonEnd: function() {\n centroidStream.point = centroidPoint;\n centroidStream.lineStart = centroidLineStart;\n centroidStream.lineEnd = centroidLineEnd;\n },\n result: function() {\n var centroid = Z2 ? [X2 / Z2, Y2 / Z2]\n : Z1 ? [X1 / Z1, Y1 / Z1]\n : Z0 ? [X0 / Z0, Y0 / Z0]\n : [NaN, NaN];\n X0 = Y0 = Z0 =\n X1 = Y1 = Z1 =\n X2 = Y2 = Z2 = 0;\n return centroid;\n }\n};\n\nfunction centroidPoint(x, y) {\n X0 += x;\n Y0 += y;\n ++Z0;\n}\n\nfunction centroidLineStart() {\n centroidStream.point = centroidPointFirstLine;\n}\n\nfunction centroidPointFirstLine(x, y) {\n centroidStream.point = centroidPointLine;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidPointLine(x, y) {\n var dx = x - x0, dy = y - y0, z = sqrt(dx * dx + dy * dy);\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n centroidPoint(x0 = x, y0 = y);\n}\n\nfunction centroidLineEnd() {\n centroidStream.point = centroidPoint;\n}\n\nfunction centroidRingStart() {\n centroidStream.point = centroidPointFirstRing;\n}\n\nfunction centroidRingEnd() {\n centroidPointRing(x00, y00);\n}\n\nfunction centroidPointFirstRing(x, y) {\n centroidStream.point = centroidPointRing;\n centroidPoint(x00 = x0 = x, y00 = y0 = y);\n}\n\nfunction centroidPointRing(x, y) {\n var dx = x - x0,\n dy = y - y0,\n z = sqrt(dx * dx + dy * dy);\n\n X1 += z * (x0 + x) / 2;\n Y1 += z * (y0 + y) / 2;\n Z1 += z;\n\n z = y0 * x - x0 * y;\n X2 += z * (x0 + x);\n Y2 += z * (y0 + y);\n Z2 += z * 3;\n centroidPoint(x0 = x, y0 = y);\n}\n\nexport default centroidStream;\n", "import {tau} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nexport default function PathContext(context) {\n this._context = context;\n}\n\nPathContext.prototype = {\n _radius: 4.5,\n pointRadius: function(_) {\n return this._radius = _, this;\n },\n polygonStart: function() {\n this._line = 0;\n },\n polygonEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line === 0) this._context.closePath();\n this._point = NaN;\n },\n point: function(x, y) {\n switch (this._point) {\n case 0: {\n this._context.moveTo(x, y);\n this._point = 1;\n break;\n }\n case 1: {\n this._context.lineTo(x, y);\n break;\n }\n default: {\n this._context.moveTo(x + this._radius, y);\n this._context.arc(x, y, this._radius, 0, tau);\n break;\n }\n }\n },\n result: noop\n};\n", "import {Adder} from \"d3-array\";\nimport {sqrt} from \"../math.js\";\nimport noop from \"../noop.js\";\n\nvar lengthSum = new Adder(),\n lengthRing,\n x00,\n y00,\n x0,\n y0;\n\nvar lengthStream = {\n point: noop,\n lineStart: function() {\n lengthStream.point = lengthPointFirst;\n },\n lineEnd: function() {\n if (lengthRing) lengthPoint(x00, y00);\n lengthStream.point = noop;\n },\n polygonStart: function() {\n lengthRing = true;\n },\n polygonEnd: function() {\n lengthRing = null;\n },\n result: function() {\n var length = +lengthSum;\n lengthSum = new Adder();\n return length;\n }\n};\n\nfunction lengthPointFirst(x, y) {\n lengthStream.point = lengthPoint;\n x00 = x0 = x, y00 = y0 = y;\n}\n\nfunction lengthPoint(x, y) {\n x0 -= x, y0 -= y;\n lengthSum.add(sqrt(x0 * x0 + y0 * y0));\n x0 = x, y0 = y;\n}\n\nexport default lengthStream;\n", "// Simple caching for constant-radius points.\nlet cacheDigits, cacheAppend, cacheRadius, cacheCircle;\n\nexport default class PathString {\n constructor(digits) {\n this._append = digits == null ? append : appendRound(digits);\n this._radius = 4.5;\n this._ = \"\";\n }\n pointRadius(_) {\n this._radius = +_;\n return this;\n }\n polygonStart() {\n this._line = 0;\n }\n polygonEnd() {\n this._line = NaN;\n }\n lineStart() {\n this._point = 0;\n }\n lineEnd() {\n if (this._line === 0) this._ += \"Z\";\n this._point = NaN;\n }\n point(x, y) {\n switch (this._point) {\n case 0: {\n this._append`M${x},${y}`;\n this._point = 1;\n break;\n }\n case 1: {\n this._append`L${x},${y}`;\n break;\n }\n default: {\n this._append`M${x},${y}`;\n if (this._radius !== cacheRadius || this._append !== cacheAppend) {\n const r = this._radius;\n const s = this._;\n this._ = \"\"; // stash the old string so we can cache the circle path fragment\n this._append`m0,${r}a${r},${r} 0 1,1 0,${-2 * r}a${r},${r} 0 1,1 0,${2 * r}z`;\n cacheRadius = r;\n cacheAppend = this._append;\n cacheCircle = this._;\n this._ = s;\n }\n this._ += cacheCircle;\n break;\n }\n }\n }\n result() {\n const result = this._;\n this._ = \"\";\n return result.length ? result : null;\n }\n}\n\nfunction append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n const d = Math.floor(digits);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${digits}`);\n if (d > 15) return append;\n if (d !== cacheDigits) {\n const k = 10 ** d;\n cacheDigits = d;\n cacheAppend = function append(strings) {\n let i = 1;\n this._ += strings[0];\n for (const j = strings.length; i < j; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n }\n return cacheAppend;\n}\n", "import identity from \"../identity.js\";\nimport stream from \"../stream.js\";\nimport pathArea from \"./area.js\";\nimport pathBounds from \"./bounds.js\";\nimport pathCentroid from \"./centroid.js\";\nimport PathContext from \"./context.js\";\nimport pathMeasure from \"./measure.js\";\nimport PathString from \"./string.js\";\n\nexport default function(projection, context) {\n let digits = 3,\n pointRadius = 4.5,\n projectionStream,\n contextStream;\n\n function path(object) {\n if (object) {\n if (typeof pointRadius === \"function\") contextStream.pointRadius(+pointRadius.apply(this, arguments));\n stream(object, projectionStream(contextStream));\n }\n return contextStream.result();\n }\n\n path.area = function(object) {\n stream(object, projectionStream(pathArea));\n return pathArea.result();\n };\n\n path.measure = function(object) {\n stream(object, projectionStream(pathMeasure));\n return pathMeasure.result();\n };\n\n path.bounds = function(object) {\n stream(object, projectionStream(pathBounds));\n return pathBounds.result();\n };\n\n path.centroid = function(object) {\n stream(object, projectionStream(pathCentroid));\n return pathCentroid.result();\n };\n\n path.projection = function(_) {\n if (!arguments.length) return projection;\n projectionStream = _ == null ? (projection = null, identity) : (projection = _).stream;\n return path;\n };\n\n path.context = function(_) {\n if (!arguments.length) return context;\n contextStream = _ == null ? (context = null, new PathString(digits)) : new PathContext(context = _);\n if (typeof pointRadius !== \"function\") contextStream.pointRadius(pointRadius);\n return path;\n };\n\n path.pointRadius = function(_) {\n if (!arguments.length) return pointRadius;\n pointRadius = typeof _ === \"function\" ? _ : (contextStream.pointRadius(+_), +_);\n return path;\n };\n\n path.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) digits = null;\n else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n if (context === null) contextStream = new PathString(digits);\n return path;\n };\n\n return path.projection(projection).digits(digits).context(context);\n}\n", "import {asin, atan2, cos, sin, sqrt} from \"./math.js\";\n\nexport function spherical(cartesian) {\n return [atan2(cartesian[1], cartesian[0]), asin(cartesian[2])];\n}\n\nexport function cartesian(spherical) {\n var lambda = spherical[0], phi = spherical[1], cosPhi = cos(phi);\n return [cosPhi * cos(lambda), cosPhi * sin(lambda), sin(phi)];\n}\n\nexport function cartesianDot(a, b) {\n return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n}\n\nexport function cartesianCross(a, b) {\n return [a[1] * b[2] - a[2] * b[1], a[2] * b[0] - a[0] * b[2], a[0] * b[1] - a[1] * b[0]];\n}\n\n// TODO return a\nexport function cartesianAddInPlace(a, b) {\n a[0] += b[0], a[1] += b[1], a[2] += b[2];\n}\n\nexport function cartesianScale(vector, k) {\n return [vector[0] * k, vector[1] * k, vector[2] * k];\n}\n\n// TODO return d\nexport function cartesianNormalizeInPlace(d) {\n var l = sqrt(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);\n d[0] /= l, d[1] /= l, d[2] /= l;\n}\n", "export default function(a, b) {\n\n function compose(x, y) {\n return x = a(x, y), b(x[0], x[1]);\n }\n\n if (a.invert && b.invert) compose.invert = function(x, y) {\n return x = b.invert(x, y), x && a.invert(x[0], x[1]);\n };\n\n return compose;\n}\n", "import compose from \"./compose.js\";\nimport {abs, asin, atan2, cos, degrees, pi, radians, sin, tau} from \"./math.js\";\n\nfunction rotationIdentity(lambda, phi) {\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n}\n\nrotationIdentity.invert = rotationIdentity;\n\nexport function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {\n return (deltaLambda %= tau) ? (deltaPhi || deltaGamma ? compose(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma))\n : rotationLambda(deltaLambda))\n : (deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma)\n : rotationIdentity);\n}\n\nfunction forwardRotationLambda(deltaLambda) {\n return function(lambda, phi) {\n lambda += deltaLambda;\n if (abs(lambda) > pi) lambda -= Math.round(lambda / tau) * tau;\n return [lambda, phi];\n };\n}\n\nfunction rotationLambda(deltaLambda) {\n var rotation = forwardRotationLambda(deltaLambda);\n rotation.invert = forwardRotationLambda(-deltaLambda);\n return rotation;\n}\n\nfunction rotationPhiGamma(deltaPhi, deltaGamma) {\n var cosDeltaPhi = cos(deltaPhi),\n sinDeltaPhi = sin(deltaPhi),\n cosDeltaGamma = cos(deltaGamma),\n sinDeltaGamma = sin(deltaGamma);\n\n function rotation(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaPhi + x * sinDeltaPhi;\n return [\n atan2(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),\n asin(k * cosDeltaGamma + y * sinDeltaGamma)\n ];\n }\n\n rotation.invert = function(lambda, phi) {\n var cosPhi = cos(phi),\n x = cos(lambda) * cosPhi,\n y = sin(lambda) * cosPhi,\n z = sin(phi),\n k = z * cosDeltaGamma - y * sinDeltaGamma;\n return [\n atan2(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),\n asin(k * cosDeltaPhi - x * sinDeltaPhi)\n ];\n };\n\n return rotation;\n}\n\nexport default function(rotate) {\n rotate = rotateRadians(rotate[0] * radians, rotate[1] * radians, rotate.length > 2 ? rotate[2] * radians : 0);\n\n function forward(coordinates) {\n coordinates = rotate(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n }\n\n forward.invert = function(coordinates) {\n coordinates = rotate.invert(coordinates[0] * radians, coordinates[1] * radians);\n return coordinates[0] *= degrees, coordinates[1] *= degrees, coordinates;\n };\n\n return forward;\n}\n", "import {cartesian, cartesianNormalizeInPlace, spherical} from \"./cartesian.js\";\nimport constant from \"./constant.js\";\nimport {acos, cos, degrees, epsilon, radians, sin, tau} from \"./math.js\";\nimport {rotateRadians} from \"./rotation.js\";\n\n// Generates a circle centered at [0\u00B0, 0\u00B0], with a given radius and precision.\nexport function circleStream(stream, radius, delta, direction, t0, t1) {\n if (!delta) return;\n var cosRadius = cos(radius),\n sinRadius = sin(radius),\n step = direction * delta;\n if (t0 == null) {\n t0 = radius + direction * tau;\n t1 = radius - step / 2;\n } else {\n t0 = circleRadius(cosRadius, t0);\n t1 = circleRadius(cosRadius, t1);\n if (direction > 0 ? t0 < t1 : t0 > t1) t0 += direction * tau;\n }\n for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {\n point = spherical([cosRadius, -sinRadius * cos(t), -sinRadius * sin(t)]);\n stream.point(point[0], point[1]);\n }\n}\n\n// Returns the signed angle of a cartesian point relative to [cosRadius, 0, 0].\nfunction circleRadius(cosRadius, point) {\n point = cartesian(point), point[0] -= cosRadius;\n cartesianNormalizeInPlace(point);\n var radius = acos(-point[1]);\n return ((-point[2] < 0 ? -radius : radius) + tau - epsilon) % tau;\n}\n\nexport default function() {\n var center = constant([0, 0]),\n radius = constant(90),\n precision = constant(2),\n ring,\n rotate,\n stream = {point: point};\n\n function point(x, y) {\n ring.push(x = rotate(x, y));\n x[0] *= degrees, x[1] *= degrees;\n }\n\n function circle() {\n var c = center.apply(this, arguments),\n r = radius.apply(this, arguments) * radians,\n p = precision.apply(this, arguments) * radians;\n ring = [];\n rotate = rotateRadians(-c[0] * radians, -c[1] * radians, 0).invert;\n circleStream(stream, r, p, 1);\n c = {type: \"Polygon\", coordinates: [ring]};\n ring = rotate = null;\n return c;\n }\n\n circle.center = function(_) {\n return arguments.length ? (center = typeof _ === \"function\" ? _ : constant([+_[0], +_[1]]), circle) : center;\n };\n\n circle.radius = function(_) {\n return arguments.length ? (radius = typeof _ === \"function\" ? _ : constant(+_), circle) : radius;\n };\n\n circle.precision = function(_) {\n return arguments.length ? (precision = typeof _ === \"function\" ? _ : constant(+_), circle) : precision;\n };\n\n return circle;\n}\n", "import noop from \"../noop.js\";\n\nexport default function() {\n var lines = [],\n line;\n return {\n point: function(x, y, m) {\n line.push([x, y, m]);\n },\n lineStart: function() {\n lines.push(line = []);\n },\n lineEnd: noop,\n rejoin: function() {\n if (lines.length > 1) lines.push(lines.pop().concat(lines.shift()));\n },\n result: function() {\n var result = lines;\n lines = [];\n line = null;\n return result;\n }\n };\n}\n", "import {abs, epsilon} from \"./math.js\";\n\nexport default function(a, b) {\n return abs(a[0] - b[0]) < epsilon && abs(a[1] - b[1]) < epsilon;\n}\n", "import pointEqual from \"../pointEqual.js\";\nimport {epsilon} from \"../math.js\";\n\nfunction Intersection(point, points, other, entry) {\n this.x = point;\n this.z = points;\n this.o = other; // another intersection\n this.e = entry; // is an entry?\n this.v = false; // visited\n this.n = this.p = null; // next & previous\n}\n\n// A generalized polygon clipping algorithm: given a polygon that has been cut\n// into its visible line segments, and rejoins the segments by interpolating\n// along the clip edge.\nexport default function(segments, compareIntersection, startInside, interpolate, stream) {\n var subject = [],\n clip = [],\n i,\n n;\n\n segments.forEach(function(segment) {\n if ((n = segment.length - 1) <= 0) return;\n var n, p0 = segment[0], p1 = segment[n], x;\n\n if (pointEqual(p0, p1)) {\n if (!p0[2] && !p1[2]) {\n stream.lineStart();\n for (i = 0; i < n; ++i) stream.point((p0 = segment[i])[0], p0[1]);\n stream.lineEnd();\n return;\n }\n // handle degenerate cases by moving the point\n p1[0] += 2 * epsilon;\n }\n\n subject.push(x = new Intersection(p0, segment, null, true));\n clip.push(x.o = new Intersection(p0, null, x, false));\n subject.push(x = new Intersection(p1, segment, null, false));\n clip.push(x.o = new Intersection(p1, null, x, true));\n });\n\n if (!subject.length) return;\n\n clip.sort(compareIntersection);\n link(subject);\n link(clip);\n\n for (i = 0, n = clip.length; i < n; ++i) {\n clip[i].e = startInside = !startInside;\n }\n\n var start = subject[0],\n points,\n point;\n\n while (1) {\n // Find first unvisited intersection.\n var current = start,\n isSubject = true;\n while (current.v) if ((current = current.n) === start) return;\n points = current.z;\n stream.lineStart();\n do {\n current.v = current.o.v = true;\n if (current.e) {\n if (isSubject) {\n for (i = 0, n = points.length; i < n; ++i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.n.x, 1, stream);\n }\n current = current.n;\n } else {\n if (isSubject) {\n points = current.p.z;\n for (i = points.length - 1; i >= 0; --i) stream.point((point = points[i])[0], point[1]);\n } else {\n interpolate(current.x, current.p.x, -1, stream);\n }\n current = current.p;\n }\n current = current.o;\n points = current.z;\n isSubject = !isSubject;\n } while (!current.v);\n stream.lineEnd();\n }\n}\n\nfunction link(array) {\n if (!(n = array.length)) return;\n var n,\n i = 0,\n a = array[0],\n b;\n while (++i < n) {\n a.n = b = array[i];\n b.p = a;\n a = b;\n }\n a.n = b = array[0];\n b.p = a;\n}\n", "import {Adder} from \"d3-array\";\nimport {cartesian, cartesianCross, cartesianNormalizeInPlace} from \"./cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, epsilon2, halfPi, pi, quarterPi, sign, sin, tau} from \"./math.js\";\n\nfunction longitude(point) {\n return abs(point[0]) <= pi ? point[0] : sign(point[0]) * ((abs(point[0]) + pi) % tau - pi);\n}\n\nexport default function(polygon, point) {\n var lambda = longitude(point),\n phi = point[1],\n sinPhi = sin(phi),\n normal = [sin(lambda), -cos(lambda), 0],\n angle = 0,\n winding = 0;\n\n var sum = new Adder();\n\n if (sinPhi === 1) phi = halfPi + epsilon;\n else if (sinPhi === -1) phi = -halfPi - epsilon;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n if (!(m = (ring = polygon[i]).length)) continue;\n var ring,\n m,\n point0 = ring[m - 1],\n lambda0 = longitude(point0),\n phi0 = point0[1] / 2 + quarterPi,\n sinPhi0 = sin(phi0),\n cosPhi0 = cos(phi0);\n\n for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {\n var point1 = ring[j],\n lambda1 = longitude(point1),\n phi1 = point1[1] / 2 + quarterPi,\n sinPhi1 = sin(phi1),\n cosPhi1 = cos(phi1),\n delta = lambda1 - lambda0,\n sign = delta >= 0 ? 1 : -1,\n absDelta = sign * delta,\n antimeridian = absDelta > pi,\n k = sinPhi0 * sinPhi1;\n\n sum.add(atan2(k * sign * sin(absDelta), cosPhi0 * cosPhi1 + k * cos(absDelta)));\n angle += antimeridian ? delta + sign * tau : delta;\n\n // Are the longitudes either side of the point\u2019s meridian (lambda),\n // and are the latitudes smaller than the parallel (phi)?\n if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {\n var arc = cartesianCross(cartesian(point0), cartesian(point1));\n cartesianNormalizeInPlace(arc);\n var intersection = cartesianCross(normal, arc);\n cartesianNormalizeInPlace(intersection);\n var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * asin(intersection[2]);\n if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {\n winding += antimeridian ^ delta >= 0 ? 1 : -1;\n }\n }\n }\n }\n\n // First, determine whether the South pole is inside or outside:\n //\n // It is inside if:\n // * the polygon winds around it in a clockwise direction.\n // * the polygon does not (cumulatively) wind around it, but has a negative\n // (counter-clockwise) area.\n //\n // Second, count the (signed) number of times a segment crosses a lambda\n // from the point to the South pole. If it is zero, then the point is the\n // same side as the South pole.\n\n return (angle < -epsilon || angle < epsilon && sum < -epsilon2) ^ (winding & 1);\n}\n", "import clipBuffer from \"./buffer.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {epsilon, halfPi} from \"../math.js\";\nimport polygonContains from \"../polygonContains.js\";\nimport {merge} from \"d3-array\";\n\nexport default function(pointVisible, clipLine, interpolate, start) {\n return function(sink) {\n var line = clipLine(sink),\n ringBuffer = clipBuffer(),\n ringSink = clipLine(ringBuffer),\n polygonStarted = false,\n polygon,\n segments,\n ring;\n\n var clip = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() {\n clip.point = pointRing;\n clip.lineStart = ringStart;\n clip.lineEnd = ringEnd;\n segments = [];\n polygon = [];\n },\n polygonEnd: function() {\n clip.point = point;\n clip.lineStart = lineStart;\n clip.lineEnd = lineEnd;\n segments = merge(segments);\n var startInside = polygonContains(polygon, start);\n if (segments.length) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n clipRejoin(segments, compareIntersection, startInside, interpolate, sink);\n } else if (startInside) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n }\n if (polygonStarted) sink.polygonEnd(), polygonStarted = false;\n segments = polygon = null;\n },\n sphere: function() {\n sink.polygonStart();\n sink.lineStart();\n interpolate(null, null, 1, sink);\n sink.lineEnd();\n sink.polygonEnd();\n }\n };\n\n function point(lambda, phi) {\n if (pointVisible(lambda, phi)) sink.point(lambda, phi);\n }\n\n function pointLine(lambda, phi) {\n line.point(lambda, phi);\n }\n\n function lineStart() {\n clip.point = pointLine;\n line.lineStart();\n }\n\n function lineEnd() {\n clip.point = point;\n line.lineEnd();\n }\n\n function pointRing(lambda, phi) {\n ring.push([lambda, phi]);\n ringSink.point(lambda, phi);\n }\n\n function ringStart() {\n ringSink.lineStart();\n ring = [];\n }\n\n function ringEnd() {\n pointRing(ring[0][0], ring[0][1]);\n ringSink.lineEnd();\n\n var clean = ringSink.clean(),\n ringSegments = ringBuffer.result(),\n i, n = ringSegments.length, m,\n segment,\n point;\n\n ring.pop();\n polygon.push(ring);\n ring = null;\n\n if (!n) return;\n\n // No intersections.\n if (clean & 1) {\n segment = ringSegments[0];\n if ((m = segment.length - 1) > 0) {\n if (!polygonStarted) sink.polygonStart(), polygonStarted = true;\n sink.lineStart();\n for (i = 0; i < m; ++i) sink.point((point = segment[i])[0], point[1]);\n sink.lineEnd();\n }\n return;\n }\n\n // Rejoin connected segments.\n // TODO reuse ringBuffer.rejoin()?\n if (n > 1 && clean & 2) ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));\n\n segments.push(ringSegments.filter(validSegment));\n }\n\n return clip;\n };\n}\n\nfunction validSegment(segment) {\n return segment.length > 1;\n}\n\n// Intersections are sorted along the clip edge. For both antimeridian cutting\n// and circle clipping, the same comparison is used.\nfunction compareIntersection(a, b) {\n return ((a = a.x)[0] < 0 ? a[1] - halfPi - epsilon : halfPi - a[1])\n - ((b = b.x)[0] < 0 ? b[1] - halfPi - epsilon : halfPi - b[1]);\n}\n", "import clip from \"./index.js\";\nimport {abs, atan, cos, epsilon, halfPi, pi, sin} from \"../math.js\";\n\nexport default clip(\n function() { return true; },\n clipAntimeridianLine,\n clipAntimeridianInterpolate,\n [-pi, -halfPi]\n);\n\n// Takes a line and cuts into visible segments. Return values: 0 - there were\n// intersections or the line was empty; 1 - no intersections; 2 - there were\n// intersections, and the first and last segments should be rejoined.\nfunction clipAntimeridianLine(stream) {\n var lambda0 = NaN,\n phi0 = NaN,\n sign0 = NaN,\n clean; // no intersections\n\n return {\n lineStart: function() {\n stream.lineStart();\n clean = 1;\n },\n point: function(lambda1, phi1) {\n var sign1 = lambda1 > 0 ? pi : -pi,\n delta = abs(lambda1 - lambda0);\n if (abs(delta - pi) < epsilon) { // line crosses a pole\n stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? halfPi : -halfPi);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n stream.point(lambda1, phi0);\n clean = 0;\n } else if (sign0 !== sign1 && delta >= pi) { // line crosses antimeridian\n if (abs(lambda0 - sign0) < epsilon) lambda0 -= sign0 * epsilon; // handle degeneracies\n if (abs(lambda1 - sign1) < epsilon) lambda1 -= sign1 * epsilon;\n phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);\n stream.point(sign0, phi0);\n stream.lineEnd();\n stream.lineStart();\n stream.point(sign1, phi0);\n clean = 0;\n }\n stream.point(lambda0 = lambda1, phi0 = phi1);\n sign0 = sign1;\n },\n lineEnd: function() {\n stream.lineEnd();\n lambda0 = phi0 = NaN;\n },\n clean: function() {\n return 2 - clean; // if intersections, rejoin first and last segments\n }\n };\n}\n\nfunction clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {\n var cosPhi0,\n cosPhi1,\n sinLambda0Lambda1 = sin(lambda0 - lambda1);\n return abs(sinLambda0Lambda1) > epsilon\n ? atan((sin(phi0) * (cosPhi1 = cos(phi1)) * sin(lambda1)\n - sin(phi1) * (cosPhi0 = cos(phi0)) * sin(lambda0))\n / (cosPhi0 * cosPhi1 * sinLambda0Lambda1))\n : (phi0 + phi1) / 2;\n}\n\nfunction clipAntimeridianInterpolate(from, to, direction, stream) {\n var phi;\n if (from == null) {\n phi = direction * halfPi;\n stream.point(-pi, phi);\n stream.point(0, phi);\n stream.point(pi, phi);\n stream.point(pi, 0);\n stream.point(pi, -phi);\n stream.point(0, -phi);\n stream.point(-pi, -phi);\n stream.point(-pi, 0);\n stream.point(-pi, phi);\n } else if (abs(from[0] - to[0]) > epsilon) {\n var lambda = from[0] < to[0] ? pi : -pi;\n phi = direction * lambda / 2;\n stream.point(-lambda, phi);\n stream.point(0, phi);\n stream.point(lambda, phi);\n } else {\n stream.point(to[0], to[1]);\n }\n}\n", "import {cartesian, cartesianAddInPlace, cartesianCross, cartesianDot, cartesianScale, spherical} from \"../cartesian.js\";\nimport {circleStream} from \"../circle.js\";\nimport {abs, cos, epsilon, pi, radians, sqrt} from \"../math.js\";\nimport pointEqual from \"../pointEqual.js\";\nimport clip from \"./index.js\";\n\nexport default function(radius) {\n var cr = cos(radius),\n delta = 2 * radians,\n smallRadius = cr > 0,\n notHemisphere = abs(cr) > epsilon; // TODO optimise for this common case\n\n function interpolate(from, to, direction, stream) {\n circleStream(stream, radius, delta, direction, from, to);\n }\n\n function visible(lambda, phi) {\n return cos(lambda) * cos(phi) > cr;\n }\n\n // Takes a line and cuts into visible segments. Return values used for polygon\n // clipping: 0 - there were intersections or the line was empty; 1 - no\n // intersections 2 - there were intersections, and the first and last segments\n // should be rejoined.\n function clipLine(stream) {\n var point0, // previous point\n c0, // code for previous point\n v0, // visibility of previous point\n v00, // visibility of first point\n clean; // no intersections\n return {\n lineStart: function() {\n v00 = v0 = false;\n clean = 1;\n },\n point: function(lambda, phi) {\n var point1 = [lambda, phi],\n point2,\n v = visible(lambda, phi),\n c = smallRadius\n ? v ? 0 : code(lambda, phi)\n : v ? code(lambda + (lambda < 0 ? pi : -pi), phi) : 0;\n if (!point0 && (v00 = v0 = v)) stream.lineStart();\n if (v !== v0) {\n point2 = intersect(point0, point1);\n if (!point2 || pointEqual(point0, point2) || pointEqual(point1, point2))\n point1[2] = 1;\n }\n if (v !== v0) {\n clean = 0;\n if (v) {\n // outside going in\n stream.lineStart();\n point2 = intersect(point1, point0);\n stream.point(point2[0], point2[1]);\n } else {\n // inside going out\n point2 = intersect(point0, point1);\n stream.point(point2[0], point2[1], 2);\n stream.lineEnd();\n }\n point0 = point2;\n } else if (notHemisphere && point0 && smallRadius ^ v) {\n var t;\n // If the codes for two points are different, or are both zero,\n // and there this segment intersects with the small circle.\n if (!(c & c0) && (t = intersect(point1, point0, true))) {\n clean = 0;\n if (smallRadius) {\n stream.lineStart();\n stream.point(t[0][0], t[0][1]);\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n } else {\n stream.point(t[1][0], t[1][1]);\n stream.lineEnd();\n stream.lineStart();\n stream.point(t[0][0], t[0][1], 3);\n }\n }\n }\n if (v && (!point0 || !pointEqual(point0, point1))) {\n stream.point(point1[0], point1[1]);\n }\n point0 = point1, v0 = v, c0 = c;\n },\n lineEnd: function() {\n if (v0) stream.lineEnd();\n point0 = null;\n },\n // Rejoin first and last segments if there were intersections and the first\n // and last points were visible.\n clean: function() {\n return clean | ((v00 && v0) << 1);\n }\n };\n }\n\n // Intersects the great circle between a and b with the clip circle.\n function intersect(a, b, two) {\n var pa = cartesian(a),\n pb = cartesian(b);\n\n // We have two planes, n1.p = d1 and n2.p = d2.\n // Find intersection line p(t) = c1 n1 + c2 n2 + t (n1 \u2A2F n2).\n var n1 = [1, 0, 0], // normal\n n2 = cartesianCross(pa, pb),\n n2n2 = cartesianDot(n2, n2),\n n1n2 = n2[0], // cartesianDot(n1, n2),\n determinant = n2n2 - n1n2 * n1n2;\n\n // Two polar points.\n if (!determinant) return !two && a;\n\n var c1 = cr * n2n2 / determinant,\n c2 = -cr * n1n2 / determinant,\n n1xn2 = cartesianCross(n1, n2),\n A = cartesianScale(n1, c1),\n B = cartesianScale(n2, c2);\n cartesianAddInPlace(A, B);\n\n // Solve |p(t)|^2 = 1.\n var u = n1xn2,\n w = cartesianDot(A, u),\n uu = cartesianDot(u, u),\n t2 = w * w - uu * (cartesianDot(A, A) - 1);\n\n if (t2 < 0) return;\n\n var t = sqrt(t2),\n q = cartesianScale(u, (-w - t) / uu);\n cartesianAddInPlace(q, A);\n q = spherical(q);\n\n if (!two) return q;\n\n // Two intersection points.\n var lambda0 = a[0],\n lambda1 = b[0],\n phi0 = a[1],\n phi1 = b[1],\n z;\n\n if (lambda1 < lambda0) z = lambda0, lambda0 = lambda1, lambda1 = z;\n\n var delta = lambda1 - lambda0,\n polar = abs(delta - pi) < epsilon,\n meridian = polar || delta < epsilon;\n\n if (!polar && phi1 < phi0) z = phi0, phi0 = phi1, phi1 = z;\n\n // Check that the first point is between a and b.\n if (meridian\n ? polar\n ? phi0 + phi1 > 0 ^ q[1] < (abs(q[0] - lambda0) < epsilon ? phi0 : phi1)\n : phi0 <= q[1] && q[1] <= phi1\n : delta > pi ^ (lambda0 <= q[0] && q[0] <= lambda1)) {\n var q1 = cartesianScale(u, (-w + t) / uu);\n cartesianAddInPlace(q1, A);\n return [q, spherical(q1)];\n }\n }\n\n // Generates a 4-bit vector representing the location of a point relative to\n // the small circle's bounding box.\n function code(lambda, phi) {\n var r = smallRadius ? radius : pi - radius,\n code = 0;\n if (lambda < -r) code |= 1; // left\n else if (lambda > r) code |= 2; // right\n if (phi < -r) code |= 4; // below\n else if (phi > r) code |= 8; // above\n return code;\n }\n\n return clip(visible, clipLine, interpolate, smallRadius ? [0, -radius] : [-pi, radius - pi]);\n}\n", "export default function(a, b, x0, y0, x1, y1) {\n var ax = a[0],\n ay = a[1],\n bx = b[0],\n by = b[1],\n t0 = 0,\n t1 = 1,\n dx = bx - ax,\n dy = by - ay,\n r;\n\n r = x0 - ax;\n if (!dx && r > 0) return;\n r /= dx;\n if (dx < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dx > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = x1 - ax;\n if (!dx && r < 0) return;\n r /= dx;\n if (dx < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dx > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n r = y0 - ay;\n if (!dy && r > 0) return;\n r /= dy;\n if (dy < 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n } else if (dy > 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n }\n\n r = y1 - ay;\n if (!dy && r < 0) return;\n r /= dy;\n if (dy < 0) {\n if (r > t1) return;\n if (r > t0) t0 = r;\n } else if (dy > 0) {\n if (r < t0) return;\n if (r < t1) t1 = r;\n }\n\n if (t0 > 0) a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;\n if (t1 < 1) b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;\n return true;\n}\n", "import {abs, epsilon} from \"../math.js\";\nimport clipBuffer from \"./buffer.js\";\nimport clipLine from \"./line.js\";\nimport clipRejoin from \"./rejoin.js\";\nimport {merge} from \"d3-array\";\n\nvar clipMax = 1e9, clipMin = -clipMax;\n\n// TODO Use d3-polygon\u2019s polygonContains here for the ring check?\n// TODO Eliminate duplicate buffering in clipBuffer and polygon.push?\n\nexport default function clipRectangle(x0, y0, x1, y1) {\n\n function visible(x, y) {\n return x0 <= x && x <= x1 && y0 <= y && y <= y1;\n }\n\n function interpolate(from, to, direction, stream) {\n var a = 0, a1 = 0;\n if (from == null\n || (a = corner(from, direction)) !== (a1 = corner(to, direction))\n || comparePoint(from, to) < 0 ^ direction > 0) {\n do stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);\n while ((a = (a + direction + 4) % 4) !== a1);\n } else {\n stream.point(to[0], to[1]);\n }\n }\n\n function corner(p, direction) {\n return abs(p[0] - x0) < epsilon ? direction > 0 ? 0 : 3\n : abs(p[0] - x1) < epsilon ? direction > 0 ? 2 : 1\n : abs(p[1] - y0) < epsilon ? direction > 0 ? 1 : 0\n : direction > 0 ? 3 : 2; // abs(p[1] - y1) < epsilon\n }\n\n function compareIntersection(a, b) {\n return comparePoint(a.x, b.x);\n }\n\n function comparePoint(a, b) {\n var ca = corner(a, 1),\n cb = corner(b, 1);\n return ca !== cb ? ca - cb\n : ca === 0 ? b[1] - a[1]\n : ca === 1 ? a[0] - b[0]\n : ca === 2 ? a[1] - b[1]\n : b[0] - a[0];\n }\n\n return function(stream) {\n var activeStream = stream,\n bufferStream = clipBuffer(),\n segments,\n polygon,\n ring,\n x__, y__, v__, // first point\n x_, y_, v_, // previous point\n first,\n clean;\n\n var clipStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: polygonStart,\n polygonEnd: polygonEnd\n };\n\n function point(x, y) {\n if (visible(x, y)) activeStream.point(x, y);\n }\n\n function polygonInside() {\n var winding = 0;\n\n for (var i = 0, n = polygon.length; i < n; ++i) {\n for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {\n a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];\n if (a1 <= y1) { if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0)) ++winding; }\n else { if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0)) --winding; }\n }\n }\n\n return winding;\n }\n\n // Buffer geometry within a polygon and then clip it en masse.\n function polygonStart() {\n activeStream = bufferStream, segments = [], polygon = [], clean = true;\n }\n\n function polygonEnd() {\n var startInside = polygonInside(),\n cleanInside = clean && startInside,\n visible = (segments = merge(segments)).length;\n if (cleanInside || visible) {\n stream.polygonStart();\n if (cleanInside) {\n stream.lineStart();\n interpolate(null, null, 1, stream);\n stream.lineEnd();\n }\n if (visible) {\n clipRejoin(segments, compareIntersection, startInside, interpolate, stream);\n }\n stream.polygonEnd();\n }\n activeStream = stream, segments = polygon = ring = null;\n }\n\n function lineStart() {\n clipStream.point = linePoint;\n if (polygon) polygon.push(ring = []);\n first = true;\n v_ = false;\n x_ = y_ = NaN;\n }\n\n // TODO rather than special-case polygons, simply handle them separately.\n // Ideally, coincident intersection points should be jittered to avoid\n // clipping issues.\n function lineEnd() {\n if (segments) {\n linePoint(x__, y__);\n if (v__ && v_) bufferStream.rejoin();\n segments.push(bufferStream.result());\n }\n clipStream.point = point;\n if (v_) activeStream.lineEnd();\n }\n\n function linePoint(x, y) {\n var v = visible(x, y);\n if (polygon) ring.push([x, y]);\n if (first) {\n x__ = x, y__ = y, v__ = v;\n first = false;\n if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n }\n } else {\n if (v && v_) activeStream.point(x, y);\n else {\n var a = [x_ = Math.max(clipMin, Math.min(clipMax, x_)), y_ = Math.max(clipMin, Math.min(clipMax, y_))],\n b = [x = Math.max(clipMin, Math.min(clipMax, x)), y = Math.max(clipMin, Math.min(clipMax, y))];\n if (clipLine(a, b, x0, y0, x1, y1)) {\n if (!v_) {\n activeStream.lineStart();\n activeStream.point(a[0], a[1]);\n }\n activeStream.point(b[0], b[1]);\n if (!v) activeStream.lineEnd();\n clean = false;\n } else if (v) {\n activeStream.lineStart();\n activeStream.point(x, y);\n clean = false;\n }\n }\n }\n x_ = x, y_ = y, v_ = v;\n }\n\n return clipStream;\n };\n}\n", "import {Adder} from \"d3-array\";\nimport {abs, atan2, cos, radians, sin, sqrt} from \"./math.js\";\nimport noop from \"./noop.js\";\nimport stream from \"./stream.js\";\n\nvar lengthSum,\n lambda0,\n sinPhi0,\n cosPhi0;\n\nvar lengthStream = {\n sphere: noop,\n point: noop,\n lineStart: lengthLineStart,\n lineEnd: noop,\n polygonStart: noop,\n polygonEnd: noop\n};\n\nfunction lengthLineStart() {\n lengthStream.point = lengthPointFirst;\n lengthStream.lineEnd = lengthLineEnd;\n}\n\nfunction lengthLineEnd() {\n lengthStream.point = lengthStream.lineEnd = noop;\n}\n\nfunction lengthPointFirst(lambda, phi) {\n lambda *= radians, phi *= radians;\n lambda0 = lambda, sinPhi0 = sin(phi), cosPhi0 = cos(phi);\n lengthStream.point = lengthPoint;\n}\n\nfunction lengthPoint(lambda, phi) {\n lambda *= radians, phi *= radians;\n var sinPhi = sin(phi),\n cosPhi = cos(phi),\n delta = abs(lambda - lambda0),\n cosDelta = cos(delta),\n sinDelta = sin(delta),\n x = cosPhi * sinDelta,\n y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta,\n z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;\n lengthSum.add(atan2(sqrt(x * x + y * y), z));\n lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;\n}\n\nexport default function(object) {\n lengthSum = new Adder();\n stream(object, lengthStream);\n return +lengthSum;\n}\n", "import length from \"./length.js\";\n\nvar coordinates = [null, null],\n object = {type: \"LineString\", coordinates: coordinates};\n\nexport default function(a, b) {\n coordinates[0] = a;\n coordinates[1] = b;\n return length(object);\n}\n", "import {default as polygonContains} from \"./polygonContains.js\";\nimport {default as distance} from \"./distance.js\";\nimport {epsilon2, radians} from \"./math.js\";\n\nvar containsObjectType = {\n Feature: function(object, point) {\n return containsGeometry(object.geometry, point);\n },\n FeatureCollection: function(object, point) {\n var features = object.features, i = -1, n = features.length;\n while (++i < n) if (containsGeometry(features[i].geometry, point)) return true;\n return false;\n }\n};\n\nvar containsGeometryType = {\n Sphere: function() {\n return true;\n },\n Point: function(object, point) {\n return containsPoint(object.coordinates, point);\n },\n MultiPoint: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPoint(coordinates[i], point)) return true;\n return false;\n },\n LineString: function(object, point) {\n return containsLine(object.coordinates, point);\n },\n MultiLineString: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsLine(coordinates[i], point)) return true;\n return false;\n },\n Polygon: function(object, point) {\n return containsPolygon(object.coordinates, point);\n },\n MultiPolygon: function(object, point) {\n var coordinates = object.coordinates, i = -1, n = coordinates.length;\n while (++i < n) if (containsPolygon(coordinates[i], point)) return true;\n return false;\n },\n GeometryCollection: function(object, point) {\n var geometries = object.geometries, i = -1, n = geometries.length;\n while (++i < n) if (containsGeometry(geometries[i], point)) return true;\n return false;\n }\n};\n\nfunction containsGeometry(geometry, point) {\n return geometry && containsGeometryType.hasOwnProperty(geometry.type)\n ? containsGeometryType[geometry.type](geometry, point)\n : false;\n}\n\nfunction containsPoint(coordinates, point) {\n return distance(coordinates, point) === 0;\n}\n\nfunction containsLine(coordinates, point) {\n var ao, bo, ab;\n for (var i = 0, n = coordinates.length; i < n; i++) {\n bo = distance(coordinates[i], point);\n if (bo === 0) return true;\n if (i > 0) {\n ab = distance(coordinates[i], coordinates[i - 1]);\n if (\n ab > 0 &&\n ao <= ab &&\n bo <= ab &&\n (ao + bo - ab) * (1 - Math.pow((ao - bo) / ab, 2)) < epsilon2 * ab\n )\n return true;\n }\n ao = bo;\n }\n return false;\n}\n\nfunction containsPolygon(coordinates, point) {\n return !!polygonContains(coordinates.map(ringRadians), pointRadians(point));\n}\n\nfunction ringRadians(ring) {\n return ring = ring.map(pointRadians), ring.pop(), ring;\n}\n\nfunction pointRadians(point) {\n return [point[0] * radians, point[1] * radians];\n}\n\nexport default function(object, point) {\n return (object && containsObjectType.hasOwnProperty(object.type)\n ? containsObjectType[object.type]\n : containsGeometry)(object, point);\n}\n", "export default function(methods) {\n return {\n stream: transformer(methods)\n };\n}\n\nexport function transformer(methods) {\n return function(stream) {\n var s = new TransformStream;\n for (var key in methods) s[key] = methods[key];\n s.stream = stream;\n return s;\n };\n}\n\nfunction TransformStream() {}\n\nTransformStream.prototype = {\n constructor: TransformStream,\n point: function(x, y) { this.stream.point(x, y); },\n sphere: function() { this.stream.sphere(); },\n lineStart: function() { this.stream.lineStart(); },\n lineEnd: function() { this.stream.lineEnd(); },\n polygonStart: function() { this.stream.polygonStart(); },\n polygonEnd: function() { this.stream.polygonEnd(); }\n};\n", "import {default as geoStream} from \"../stream.js\";\nimport boundsStream from \"../path/bounds.js\";\n\nfunction fit(projection, fitBounds, object) {\n var clip = projection.clipExtent && projection.clipExtent();\n projection.scale(150).translate([0, 0]);\n if (clip != null) projection.clipExtent(null);\n geoStream(object, projection.stream(boundsStream));\n fitBounds(boundsStream.result());\n if (clip != null) projection.clipExtent(clip);\n return projection;\n}\n\nexport function fitExtent(projection, extent, object) {\n return fit(projection, function(b) {\n var w = extent[1][0] - extent[0][0],\n h = extent[1][1] - extent[0][1],\n k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])),\n x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2,\n y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitSize(projection, size, object) {\n return fitExtent(projection, [[0, 0], size], object);\n}\n\nexport function fitWidth(projection, width, object) {\n return fit(projection, function(b) {\n var w = +width,\n k = w / (b[1][0] - b[0][0]),\n x = (w - k * (b[1][0] + b[0][0])) / 2,\n y = -k * b[0][1];\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n\nexport function fitHeight(projection, height, object) {\n return fit(projection, function(b) {\n var h = +height,\n k = h / (b[1][1] - b[0][1]),\n x = -k * b[0][0],\n y = (h - k * (b[1][1] + b[0][1])) / 2;\n projection.scale(150 * k).translate([x, y]);\n }, object);\n}\n", "import {cartesian} from \"../cartesian.js\";\nimport {abs, asin, atan2, cos, epsilon, radians, sqrt} from \"../math.js\";\nimport {transformer} from \"../transform.js\";\n\nvar maxDepth = 16, // maximum depth of subdivision\n cosMinDistance = cos(30 * radians); // cos(minimum angular distance)\n\nexport default function(project, delta2) {\n return +delta2 ? resample(project, delta2) : resampleNone(project);\n}\n\nfunction resampleNone(project) {\n return transformer({\n point: function(x, y) {\n x = project(x, y);\n this.stream.point(x[0], x[1]);\n }\n });\n}\n\nfunction resample(project, delta2) {\n\n function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {\n var dx = x1 - x0,\n dy = y1 - y0,\n d2 = dx * dx + dy * dy;\n if (d2 > 4 * delta2 && depth--) {\n var a = a0 + a1,\n b = b0 + b1,\n c = c0 + c1,\n m = sqrt(a * a + b * b + c * c),\n phi2 = asin(c /= m),\n lambda2 = abs(abs(c) - 1) < epsilon || abs(lambda0 - lambda1) < epsilon ? (lambda0 + lambda1) / 2 : atan2(b, a),\n p = project(lambda2, phi2),\n x2 = p[0],\n y2 = p[1],\n dx2 = x2 - x0,\n dy2 = y2 - y0,\n dz = dy * dx2 - dx * dy2;\n if (dz * dz / d2 > delta2 // perpendicular projected distance\n || abs((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 // midpoint close to an end\n || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) { // angular distance\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);\n stream.point(x2, y2);\n resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);\n }\n }\n }\n return function(stream) {\n var lambda00, x00, y00, a00, b00, c00, // first point\n lambda0, x0, y0, a0, b0, c0; // previous point\n\n var resampleStream = {\n point: point,\n lineStart: lineStart,\n lineEnd: lineEnd,\n polygonStart: function() { stream.polygonStart(); resampleStream.lineStart = ringStart; },\n polygonEnd: function() { stream.polygonEnd(); resampleStream.lineStart = lineStart; }\n };\n\n function point(x, y) {\n x = project(x, y);\n stream.point(x[0], x[1]);\n }\n\n function lineStart() {\n x0 = NaN;\n resampleStream.point = linePoint;\n stream.lineStart();\n }\n\n function linePoint(lambda, phi) {\n var c = cartesian([lambda, phi]), p = project(lambda, phi);\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);\n stream.point(x0, y0);\n }\n\n function lineEnd() {\n resampleStream.point = point;\n stream.lineEnd();\n }\n\n function ringStart() {\n lineStart();\n resampleStream.point = ringPoint;\n resampleStream.lineEnd = ringEnd;\n }\n\n function ringPoint(lambda, phi) {\n linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;\n resampleStream.point = linePoint;\n }\n\n function ringEnd() {\n resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);\n resampleStream.lineEnd = lineEnd;\n lineEnd();\n }\n\n return resampleStream;\n };\n}\n", "import clipAntimeridian from \"../clip/antimeridian.js\";\nimport clipCircle from \"../clip/circle.js\";\nimport clipRectangle from \"../clip/rectangle.js\";\nimport compose from \"../compose.js\";\nimport identity from \"../identity.js\";\nimport {cos, degrees, radians, sin, sqrt} from \"../math.js\";\nimport {rotateRadians} from \"../rotation.js\";\nimport {transformer} from \"../transform.js\";\nimport {fitExtent, fitSize, fitWidth, fitHeight} from \"./fit.js\";\nimport resample from \"./resample.js\";\n\nvar transformRadians = transformer({\n point: function(x, y) {\n this.stream.point(x * radians, y * radians);\n }\n});\n\nfunction transformRotate(rotate) {\n return transformer({\n point: function(x, y) {\n var r = rotate(x, y);\n return this.stream.point(r[0], r[1]);\n }\n });\n}\n\nfunction scaleTranslate(k, dx, dy, sx, sy) {\n function transform(x, y) {\n x *= sx; y *= sy;\n return [dx + k * x, dy - k * y];\n }\n transform.invert = function(x, y) {\n return [(x - dx) / k * sx, (dy - y) / k * sy];\n };\n return transform;\n}\n\nfunction scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {\n if (!alpha) return scaleTranslate(k, dx, dy, sx, sy);\n var cosAlpha = cos(alpha),\n sinAlpha = sin(alpha),\n a = cosAlpha * k,\n b = sinAlpha * k,\n ai = cosAlpha / k,\n bi = sinAlpha / k,\n ci = (sinAlpha * dy - cosAlpha * dx) / k,\n fi = (sinAlpha * dx + cosAlpha * dy) / k;\n function transform(x, y) {\n x *= sx; y *= sy;\n return [a * x - b * y + dx, dy - b * x - a * y];\n }\n transform.invert = function(x, y) {\n return [sx * (ai * x - bi * y + ci), sy * (fi - bi * x - ai * y)];\n };\n return transform;\n}\n\nexport default function projection(project) {\n return projectionMutator(function() { return project; })();\n}\n\nexport function projectionMutator(projectAt) {\n var project,\n k = 150, // scale\n x = 480, y = 250, // translate\n lambda = 0, phi = 0, // center\n deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, // pre-rotate\n alpha = 0, // post-rotate angle\n sx = 1, // reflectX\n sy = 1, // reflectX\n theta = null, preclip = clipAntimeridian, // pre-clip angle\n x0 = null, y0, x1, y1, postclip = identity, // post-clip extent\n delta2 = 0.5, // precision\n projectResample,\n projectTransform,\n projectRotateTransform,\n cache,\n cacheStream;\n\n function projection(point) {\n return projectRotateTransform(point[0] * radians, point[1] * radians);\n }\n\n function invert(point) {\n point = projectRotateTransform.invert(point[0], point[1]);\n return point && [point[0] * degrees, point[1] * degrees];\n }\n\n projection.stream = function(stream) {\n return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));\n };\n\n projection.preclip = function(_) {\n return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;\n };\n\n projection.postclip = function(_) {\n return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;\n };\n\n projection.clipAngle = function(_) {\n return arguments.length ? (preclip = +_ ? clipCircle(theta = _ * radians) : (theta = null, clipAntimeridian), reset()) : theta * degrees;\n };\n\n projection.clipExtent = function(_) {\n return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, identity) : clipRectangle(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [[x0, y0], [x1, y1]];\n };\n\n projection.scale = function(_) {\n return arguments.length ? (k = +_, recenter()) : k;\n };\n\n projection.translate = function(_) {\n return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [x, y];\n };\n\n projection.center = function(_) {\n return arguments.length ? (lambda = _[0] % 360 * radians, phi = _[1] % 360 * radians, recenter()) : [lambda * degrees, phi * degrees];\n };\n\n projection.rotate = function(_) {\n return arguments.length ? (deltaLambda = _[0] % 360 * radians, deltaPhi = _[1] % 360 * radians, deltaGamma = _.length > 2 ? _[2] % 360 * radians : 0, recenter()) : [deltaLambda * degrees, deltaPhi * degrees, deltaGamma * degrees];\n };\n\n projection.angle = function(_) {\n return arguments.length ? (alpha = _ % 360 * radians, recenter()) : alpha * degrees;\n };\n\n projection.reflectX = function(_) {\n return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;\n };\n\n projection.reflectY = function(_) {\n return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;\n };\n\n projection.precision = function(_) {\n return arguments.length ? (projectResample = resample(projectTransform, delta2 = _ * _), reset()) : sqrt(delta2);\n };\n\n projection.fitExtent = function(extent, object) {\n return fitExtent(projection, extent, object);\n };\n\n projection.fitSize = function(size, object) {\n return fitSize(projection, size, object);\n };\n\n projection.fitWidth = function(width, object) {\n return fitWidth(projection, width, object);\n };\n\n projection.fitHeight = function(height, object) {\n return fitHeight(projection, height, object);\n };\n\n function recenter() {\n var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)),\n transform = scaleTranslateRotate(k, x - center[0], y - center[1], sx, sy, alpha);\n rotate = rotateRadians(deltaLambda, deltaPhi, deltaGamma);\n projectTransform = compose(project, transform);\n projectRotateTransform = compose(rotate, projectTransform);\n projectResample = resample(projectTransform, delta2);\n return reset();\n }\n\n function reset() {\n cache = cacheStream = null;\n return projection;\n }\n\n return function() {\n project = projectAt.apply(this, arguments);\n projection.invert = project.invert && invert;\n return recenter();\n };\n}\n", "import projection from \"./index.js\";\nimport {abs, epsilon} from \"../math.js\";\n\nexport function naturalEarth1Raw(lambda, phi) {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n return [\n lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),\n phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))\n ];\n}\n\nnaturalEarth1Raw.invert = function(x, y) {\n var phi = y, i = 25, delta;\n do {\n var phi2 = phi * phi, phi4 = phi2 * phi2;\n phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) /\n (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));\n } while (abs(delta) > epsilon && --i > 0);\n return [\n x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),\n phi\n ];\n};\n\nexport default function() {\n return projection(naturalEarth1Raw)\n .scale(175.295);\n}\n", "export default function(specifier) {\n var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;\n while (i < n) colors[i] = \"#\" + specifier.slice(i * 6, ++i * 6);\n return colors;\n}\n", "import colors from \"../colors.js\";\n\nexport default colors(\"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf\");\n", "import {interpolateRgbBasis} from \"d3-interpolate\";\n\nexport default scheme => interpolateRgbBasis(scheme[scheme.length - 1]);\n", "import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"deebf79ecae13182bd\",\n \"eff3ffbdd7e76baed62171b5\",\n \"eff3ffbdd7e76baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed63182bd08519c\",\n \"eff3ffc6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594\",\n \"f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b\"\n).map(colors);\n\nexport default ramp(scheme);\n", "import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"fee0d2fc9272de2d26\",\n \"fee5d9fcae91fb6a4acb181d\",\n \"fee5d9fcae91fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4ade2d26a50f15\",\n \"fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d\",\n \"fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d\"\n).map(colors);\n\nexport default ramp(scheme);\n", "import colors from \"../colors.js\";\n\nfunction ramp(range) {\n var n = range.length;\n return function(t) {\n return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];\n };\n}\n\nexport default ramp(colors(\"44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725\"));\n\nexport var magma = ramp(colors(\"00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf\"));\n\nexport var inferno = ramp(colors(\"00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4\"));\n\nexport var plasma = ramp(colors(\"0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921\"));\n", "import colors from \"../colors.js\";\n\nexport default colors(\"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666\");\n", "import colors from \"../colors.js\";\n\nexport default colors(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");\n", "import colors from \"../colors.js\";\nimport ramp from \"../ramp.js\";\n\nexport var scheme = new Array(3).concat(\n \"f0f0f0bdbdbd636363\",\n \"f7f7f7cccccc969696525252\",\n \"f7f7f7cccccc969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696636363252525\",\n \"f7f7f7d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525\",\n \"fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000\"\n).map(colors);\n\nexport default ramp(scheme);\n", "import {cubehelix} from \"d3-color\";\nimport {interpolateCubehelixLong} from \"d3-interpolate\";\n\nexport var warm = interpolateCubehelixLong(cubehelix(-100, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nexport var cool = interpolateCubehelixLong(cubehelix(260, 0.75, 0.35), cubehelix(80, 1.50, 0.8));\n\nvar c = cubehelix();\n\nexport default function(t) {\n if (t < 0 || t > 1) t -= Math.floor(t);\n var ts = Math.abs(t - 0.5);\n c.h = 360 * t - 100;\n c.s = 1.5 - 1.5 * ts;\n c.l = 0.8 - 0.9 * ts;\n return c + \"\";\n}\n", "export default function(x) {\n return function constant() {\n return x;\n };\n}\n", "export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n", "const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We\u2019re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n", "import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n", "import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 \u2265 r0, da1 \u2265 da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it\u2019s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector\u2019s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it\u2019s a circular sector?\n // Or perhaps it\u2019s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector\u2019s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n", "export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n", "function Linear(context) {\n this._context = context;\n}\n\nLinear.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._point = 0;\n },\n lineEnd: function() {\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: this._context.lineTo(x, y); break;\n }\n }\n};\n\nexport default function(context) {\n return new Linear(context);\n}\n", "export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n", "import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x, y) {\n var defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(line);\n\n x = typeof x === \"function\" ? x : (x === undefined) ? pointX : constant(x);\n y = typeof y === \"function\" ? y : (y === undefined) ? pointY : constant(y);\n\n function line(data) {\n var i,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer;\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) output.lineStart();\n else output.lineEnd();\n }\n if (defined0) output.point(+x(d, i, data), +y(d, i, data));\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n line.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), line) : x;\n };\n\n line.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), line) : y;\n };\n\n line.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), line) : defined;\n };\n\n line.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;\n };\n\n line.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;\n };\n\n return line;\n}\n", "import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport curveLinear from \"./curve/linear.js\";\nimport line from \"./line.js\";\nimport {withPath} from \"./path.js\";\nimport {x as pointX, y as pointY} from \"./point.js\";\n\nexport default function(x0, y0, y1) {\n var x1 = null,\n defined = constant(true),\n context = null,\n curve = curveLinear,\n output = null,\n path = withPath(area);\n\n x0 = typeof x0 === \"function\" ? x0 : (x0 === undefined) ? pointX : constant(+x0);\n y0 = typeof y0 === \"function\" ? y0 : (y0 === undefined) ? constant(0) : constant(+y0);\n y1 = typeof y1 === \"function\" ? y1 : (y1 === undefined) ? pointY : constant(+y1);\n\n function area(data) {\n var i,\n j,\n k,\n n = (data = array(data)).length,\n d,\n defined0 = false,\n buffer,\n x0z = new Array(n),\n y0z = new Array(n);\n\n if (context == null) output = curve(buffer = path());\n\n for (i = 0; i <= n; ++i) {\n if (!(i < n && defined(d = data[i], i, data)) === defined0) {\n if (defined0 = !defined0) {\n j = i;\n output.areaStart();\n output.lineStart();\n } else {\n output.lineEnd();\n output.lineStart();\n for (k = i - 1; k >= j; --k) {\n output.point(x0z[k], y0z[k]);\n }\n output.lineEnd();\n output.areaEnd();\n }\n }\n if (defined0) {\n x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);\n output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);\n }\n }\n\n if (buffer) return output = null, buffer + \"\" || null;\n }\n\n function arealine() {\n return line().defined(defined).curve(curve).context(context);\n }\n\n area.x = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), x1 = null, area) : x0;\n };\n\n area.x0 = function(_) {\n return arguments.length ? (x0 = typeof _ === \"function\" ? _ : constant(+_), area) : x0;\n };\n\n area.x1 = function(_) {\n return arguments.length ? (x1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : x1;\n };\n\n area.y = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), y1 = null, area) : y0;\n };\n\n area.y0 = function(_) {\n return arguments.length ? (y0 = typeof _ === \"function\" ? _ : constant(+_), area) : y0;\n };\n\n area.y1 = function(_) {\n return arguments.length ? (y1 = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), area) : y1;\n };\n\n area.lineX0 =\n area.lineY0 = function() {\n return arealine().x(x0).y(y0);\n };\n\n area.lineY1 = function() {\n return arealine().x(x0).y(y1);\n };\n\n area.lineX1 = function() {\n return arealine().x(x1).y(y0);\n };\n\n area.defined = function(_) {\n return arguments.length ? (defined = typeof _ === \"function\" ? _ : constant(!!_), area) : defined;\n };\n\n area.curve = function(_) {\n return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;\n };\n\n area.context = function(_) {\n return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;\n };\n\n return area;\n}\n", "import {pi, sqrt, tau} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / pi);\n context.moveTo(r, 0);\n context.arc(0, 0, r, 0, tau);\n }\n};\n", "import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / 5) / 2;\n context.moveTo(-3 * r, -r);\n context.lineTo(-r, -r);\n context.lineTo(-r, -3 * r);\n context.lineTo(r, -3 * r);\n context.lineTo(r, -r);\n context.lineTo(3 * r, -r);\n context.lineTo(3 * r, r);\n context.lineTo(r, r);\n context.lineTo(r, 3 * r);\n context.lineTo(-r, 3 * r);\n context.lineTo(-r, r);\n context.lineTo(-3 * r, r);\n context.closePath();\n }\n};\n", "import {sqrt} from \"../math.js\";\n\nconst tan30 = sqrt(1 / 3);\nconst tan30_2 = tan30 * 2;\n\nexport default {\n draw(context, size) {\n const y = sqrt(size / tan30_2);\n const x = y * tan30;\n context.moveTo(0, -y);\n context.lineTo(x, 0);\n context.lineTo(0, y);\n context.lineTo(-x, 0);\n context.closePath();\n }\n};\n", "import {sqrt} from \"../math.js\";\n\nexport default {\n draw(context, size) {\n const w = sqrt(size);\n const x = -w / 2;\n context.rect(x, x, w, w);\n }\n};\n", "import {sin, cos, sqrt, pi, tau} from \"../math.js\";\n\nconst ka = 0.89081309152928522810;\nconst kr = sin(pi / 10) / sin(7 * pi / 10);\nconst kx = sin(tau / 10) * kr;\nconst ky = -cos(tau / 10) * kr;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size * ka);\n const x = kx * r;\n const y = ky * r;\n context.moveTo(0, -r);\n context.lineTo(x, y);\n for (let i = 1; i < 5; ++i) {\n const a = tau * i / 5;\n const c = cos(a);\n const s = sin(a);\n context.lineTo(s * r, -c * r);\n context.lineTo(c * x - s * y, s * x + c * y);\n }\n context.closePath();\n }\n};\n", "import {sqrt} from \"../math.js\";\n\nconst sqrt3 = sqrt(3);\n\nexport default {\n draw(context, size) {\n const y = -sqrt(size / (sqrt3 * 3));\n context.moveTo(0, y * 2);\n context.lineTo(-sqrt3 * y, -y);\n context.lineTo(sqrt3 * y, -y);\n context.closePath();\n }\n};\n", "import {sqrt} from \"../math.js\";\n\nconst c = -0.5;\nconst s = sqrt(3) / 2;\nconst k = 1 / sqrt(12);\nconst a = (k / 2 + 1) * 3;\n\nexport default {\n draw(context, size) {\n const r = sqrt(size / a);\n const x0 = r / 2, y0 = r * k;\n const x1 = x0, y1 = r * k + r;\n const x2 = -x1, y2 = y1;\n context.moveTo(x0, y0);\n context.lineTo(x1, y1);\n context.lineTo(x2, y2);\n context.lineTo(c * x0 - s * y0, s * x0 + c * y0);\n context.lineTo(c * x1 - s * y1, s * x1 + c * y1);\n context.lineTo(c * x2 - s * y2, s * x2 + c * y2);\n context.lineTo(c * x0 + s * y0, c * y0 - s * x0);\n context.lineTo(c * x1 + s * y1, c * y1 - s * x1);\n context.lineTo(c * x2 + s * y2, c * y2 - s * x2);\n context.closePath();\n }\n};\n", "import constant from \"./constant.js\";\nimport {withPath} from \"./path.js\";\nimport asterisk from \"./symbol/asterisk.js\";\nimport circle from \"./symbol/circle.js\";\nimport cross from \"./symbol/cross.js\";\nimport diamond from \"./symbol/diamond.js\";\nimport diamond2 from \"./symbol/diamond2.js\";\nimport plus from \"./symbol/plus.js\";\nimport square from \"./symbol/square.js\";\nimport square2 from \"./symbol/square2.js\";\nimport star from \"./symbol/star.js\";\nimport triangle from \"./symbol/triangle.js\";\nimport triangle2 from \"./symbol/triangle2.js\";\nimport wye from \"./symbol/wye.js\";\nimport times from \"./symbol/times.js\";\n\n// These symbols are designed to be filled.\nexport const symbolsFill = [\n circle,\n cross,\n diamond,\n square,\n star,\n triangle,\n wye\n];\n\n// These symbols are designed to be stroked (with a width of 1.5px and round caps).\nexport const symbolsStroke = [\n circle,\n plus,\n times,\n triangle2,\n asterisk,\n square2,\n diamond2\n];\n\nexport default function Symbol(type, size) {\n let context = null,\n path = withPath(symbol);\n\n type = typeof type === \"function\" ? type : constant(type || circle);\n size = typeof size === \"function\" ? size : constant(size === undefined ? 64 : +size);\n\n function symbol() {\n let buffer;\n if (!context) context = buffer = path();\n type.apply(this, arguments).draw(context, +size.apply(this, arguments));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n symbol.type = function(_) {\n return arguments.length ? (type = typeof _ === \"function\" ? _ : constant(_), symbol) : type;\n };\n\n symbol.size = function(_) {\n return arguments.length ? (size = typeof _ === \"function\" ? _ : constant(+_), symbol) : size;\n };\n\n symbol.context = function(_) {\n return arguments.length ? (context = _ == null ? null : _, symbol) : context;\n };\n\n return symbol;\n}\n", "export function point(that, x, y) {\n that._context.bezierCurveTo(\n (2 * that._x0 + that._x1) / 3,\n (2 * that._y0 + that._y1) / 3,\n (that._x0 + 2 * that._x1) / 3,\n (that._y0 + 2 * that._y1) / 3,\n (that._x0 + 4 * that._x1 + x) / 6,\n (that._y0 + 4 * that._y1 + y) / 6\n );\n}\n\nexport function Basis(context) {\n this._context = context;\n}\n\nBasis.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 3: point(this, this._x1, this._y1); // falls through\n case 2: this._context.lineTo(this._x1, this._y1); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6); // falls through\n default: point(this, x, y); break;\n }\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n }\n};\n\nexport default function(context) {\n return new Basis(context);\n}\n", "function sign(x) {\n return x < 0 ? -1 : 1;\n}\n\n// Calculate the slopes of the tangents (Hermite-type interpolation) based on\n// the following paper: Steffen, M. 1990. A Simple Method for Monotonic\n// Interpolation in One Dimension. Astronomy and Astrophysics, Vol. 239, NO.\n// NOV(II), P. 443, 1990.\nfunction slope3(that, x2, y2) {\n var h0 = that._x1 - that._x0,\n h1 = x2 - that._x1,\n s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0),\n s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0),\n p = (s0 * h1 + s1 * h0) / (h0 + h1);\n return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;\n}\n\n// Calculate a one-sided slope.\nfunction slope2(that, t) {\n var h = that._x1 - that._x0;\n return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;\n}\n\n// According to https://en.wikipedia.org/wiki/Cubic_Hermite_spline#Representations\n// \"you can express cubic Hermite interpolation in terms of cubic B\u00E9zier curves\n// with respect to the four values p0, p0 + m0 / 3, p1 - m1 / 3, p1\".\nfunction point(that, t0, t1) {\n var x0 = that._x0,\n y0 = that._y0,\n x1 = that._x1,\n y1 = that._y1,\n dx = (x1 - x0) / 3;\n that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);\n}\n\nfunction MonotoneX(context) {\n this._context = context;\n}\n\nMonotoneX.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x0 = this._x1 =\n this._y0 = this._y1 =\n this._t0 = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n switch (this._point) {\n case 2: this._context.lineTo(this._x1, this._y1); break;\n case 3: point(this, this._t0, slope2(this, this._t0)); break;\n }\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n this._line = 1 - this._line;\n },\n point: function(x, y) {\n var t1 = NaN;\n\n x = +x, y = +y;\n if (x === this._x1 && y === this._y1) return; // Ignore coincident points.\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; break;\n case 2: this._point = 3; point(this, slope2(this, t1 = slope3(this, x, y)), t1); break;\n default: point(this, this._t0, t1 = slope3(this, x, y)); break;\n }\n\n this._x0 = this._x1, this._x1 = x;\n this._y0 = this._y1, this._y1 = y;\n this._t0 = t1;\n }\n}\n\nfunction MonotoneY(context) {\n this._context = new ReflectContext(context);\n}\n\n(MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function(x, y) {\n MonotoneX.prototype.point.call(this, y, x);\n};\n\nfunction ReflectContext(context) {\n this._context = context;\n}\n\nReflectContext.prototype = {\n moveTo: function(x, y) { this._context.moveTo(y, x); },\n closePath: function() { this._context.closePath(); },\n lineTo: function(x, y) { this._context.lineTo(y, x); },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) { this._context.bezierCurveTo(y1, x1, y2, x2, y, x); }\n};\n\nexport function monotoneX(context) {\n return new MonotoneX(context);\n}\n\nexport function monotoneY(context) {\n return new MonotoneY(context);\n}\n", "function Step(context, t) {\n this._context = context;\n this._t = t;\n}\n\nStep.prototype = {\n areaStart: function() {\n this._line = 0;\n },\n areaEnd: function() {\n this._line = NaN;\n },\n lineStart: function() {\n this._x = this._y = NaN;\n this._point = 0;\n },\n lineEnd: function() {\n if (0 < this._t && this._t < 1 && this._point === 2) this._context.lineTo(this._x, this._y);\n if (this._line || (this._line !== 0 && this._point === 1)) this._context.closePath();\n if (this._line >= 0) this._t = 1 - this._t, this._line = 1 - this._line;\n },\n point: function(x, y) {\n x = +x, y = +y;\n switch (this._point) {\n case 0: this._point = 1; this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y); break;\n case 1: this._point = 2; // falls through\n default: {\n if (this._t <= 0) {\n this._context.lineTo(this._x, y);\n this._context.lineTo(x, y);\n } else {\n var x1 = this._x * (1 - this._t) + x * this._t;\n this._context.lineTo(x1, this._y);\n this._context.lineTo(x1, y);\n }\n break;\n }\n }\n this._x = x, this._y = y;\n }\n};\n\nexport default function(context) {\n return new Step(context, 0.5);\n}\n\nexport function stepBefore(context) {\n return new Step(context, 0);\n}\n\nexport function stepAfter(context) {\n return new Step(context, 1);\n}\n", "export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n", "export default function(d) {\n return d;\n}\n", "import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n", "export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n", "export default x => () => x;\n", "export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n", "export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n", "import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won\u2019t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n", "export var abs = Math.abs;\nexport var cos = Math.cos;\nexport var sin = Math.sin;\nexport var pi = Math.PI;\nexport var halfPi = pi / 2;\nexport var tau = pi * 2;\nexport var max = Math.max;\nexport var epsilon = 1e-12;\n", "export var slice = Array.prototype.slice;\n", "export default function(x) {\n return function() {\n return x;\n };\n}\n", "import {path} from \"d3-path\";\nimport {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport {abs, cos, epsilon, halfPi, sin} from \"./math.js\";\n\nfunction defaultSource(d) {\n return d.source;\n}\n\nfunction defaultTarget(d) {\n return d.target;\n}\n\nfunction defaultRadius(d) {\n return d.radius;\n}\n\nfunction defaultStartAngle(d) {\n return d.startAngle;\n}\n\nfunction defaultEndAngle(d) {\n return d.endAngle;\n}\n\nfunction defaultPadAngle() {\n return 0;\n}\n\nfunction defaultArrowheadRadius() {\n return 10;\n}\n\nfunction ribbon(headRadius) {\n var source = defaultSource,\n target = defaultTarget,\n sourceRadius = defaultRadius,\n targetRadius = defaultRadius,\n startAngle = defaultStartAngle,\n endAngle = defaultEndAngle,\n padAngle = defaultPadAngle,\n context = null;\n\n function ribbon() {\n var buffer,\n s = source.apply(this, arguments),\n t = target.apply(this, arguments),\n ap = padAngle.apply(this, arguments) / 2,\n argv = slice.call(arguments),\n sr = +sourceRadius.apply(this, (argv[0] = s, argv)),\n sa0 = startAngle.apply(this, argv) - halfPi,\n sa1 = endAngle.apply(this, argv) - halfPi,\n tr = +targetRadius.apply(this, (argv[0] = t, argv)),\n ta0 = startAngle.apply(this, argv) - halfPi,\n ta1 = endAngle.apply(this, argv) - halfPi;\n\n if (!context) context = buffer = path();\n\n if (ap > epsilon) {\n if (abs(sa1 - sa0) > ap * 2 + epsilon) sa1 > sa0 ? (sa0 += ap, sa1 -= ap) : (sa0 -= ap, sa1 += ap);\n else sa0 = sa1 = (sa0 + sa1) / 2;\n if (abs(ta1 - ta0) > ap * 2 + epsilon) ta1 > ta0 ? (ta0 += ap, ta1 -= ap) : (ta0 -= ap, ta1 += ap);\n else ta0 = ta1 = (ta0 + ta1) / 2;\n }\n\n context.moveTo(sr * cos(sa0), sr * sin(sa0));\n context.arc(0, 0, sr, sa0, sa1);\n if (sa0 !== ta0 || sa1 !== ta1) {\n if (headRadius) {\n var hr = +headRadius.apply(this, arguments), tr2 = tr - hr, ta2 = (ta0 + ta1) / 2;\n context.quadraticCurveTo(0, 0, tr2 * cos(ta0), tr2 * sin(ta0));\n context.lineTo(tr * cos(ta2), tr * sin(ta2));\n context.lineTo(tr2 * cos(ta1), tr2 * sin(ta1));\n } else {\n context.quadraticCurveTo(0, 0, tr * cos(ta0), tr * sin(ta0));\n context.arc(0, 0, tr, ta0, ta1);\n }\n }\n context.quadraticCurveTo(0, 0, sr * cos(sa0), sr * sin(sa0));\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n if (headRadius) ribbon.headRadius = function(_) {\n return arguments.length ? (headRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : headRadius;\n };\n\n ribbon.radius = function(_) {\n return arguments.length ? (sourceRadius = targetRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : sourceRadius;\n };\n\n ribbon.sourceRadius = function(_) {\n return arguments.length ? (sourceRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : sourceRadius;\n };\n\n ribbon.targetRadius = function(_) {\n return arguments.length ? (targetRadius = typeof _ === \"function\" ? _ : constant(+_), ribbon) : targetRadius;\n };\n\n ribbon.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : startAngle;\n };\n\n ribbon.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : endAngle;\n };\n\n ribbon.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), ribbon) : padAngle;\n };\n\n ribbon.source = function(_) {\n return arguments.length ? (source = _, ribbon) : source;\n };\n\n ribbon.target = function(_) {\n return arguments.length ? (target = _, ribbon) : target;\n };\n\n ribbon.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), ribbon) : context;\n };\n\n return ribbon;\n}\n\nexport default function() {\n return ribbon();\n}\n\nexport function ribbonArrow() {\n return ribbon(defaultArrowheadRadius);\n}\n", "var array = Array.prototype;\n\nexport var slice = array.slice;\n", "export default function(a, b) {\n return a - b;\n}\n", "export default function(ring) {\n var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];\n while (++i < n) area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];\n return area;\n}\n", "export default x => () => x;\n", "export default function(ring, hole) {\n var i = -1, n = hole.length, c;\n while (++i < n) if (c = ringContains(ring, hole[i])) return c;\n return 0;\n}\n\nfunction ringContains(ring, point) {\n var x = point[0], y = point[1], contains = -1;\n for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {\n var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];\n if (segmentContains(pi, pj, point)) return 0;\n if (((yi > y) !== (yj > y)) && ((x < (xj - xi) * (y - yi) / (yj - yi) + xi))) contains = -contains;\n }\n return contains;\n}\n\nfunction segmentContains(a, b, c) {\n var i; return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);\n}\n\nfunction collinear(a, b, c) {\n return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);\n}\n\nfunction within(p, q, r) {\n return p <= q && q <= r || r <= q && q <= p;\n}\n", "export default function() {}\n", "import {extent, nice, thresholdSturges, ticks} from \"d3-array\";\nimport {slice} from \"./array.js\";\nimport ascending from \"./ascending.js\";\nimport area from \"./area.js\";\nimport constant from \"./constant.js\";\nimport contains from \"./contains.js\";\nimport noop from \"./noop.js\";\n\nvar cases = [\n [],\n [[[1.0, 1.5], [0.5, 1.0]]],\n [[[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [0.5, 1.0]]],\n [[[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 1.5], [0.5, 1.0]], [[1.0, 0.5], [1.5, 1.0]]],\n [[[1.0, 0.5], [1.0, 1.5]]],\n [[[1.0, 0.5], [0.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 0.5]]],\n [[[1.0, 1.5], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.0, 0.5]], [[1.5, 1.0], [1.0, 1.5]]],\n [[[1.5, 1.0], [1.0, 0.5]]],\n [[[0.5, 1.0], [1.5, 1.0]]],\n [[[1.0, 1.5], [1.5, 1.0]]],\n [[[0.5, 1.0], [1.0, 1.5]]],\n []\n];\n\nexport default function() {\n var dx = 1,\n dy = 1,\n threshold = thresholdSturges,\n smooth = smoothLinear;\n\n function contours(values) {\n var tz = threshold(values);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n const e = extent(values, finite);\n tz = ticks(...nice(e[0], e[1], tz), tz);\n while (tz[tz.length - 1] >= e[1]) tz.pop();\n while (tz[1] < e[0]) tz.shift();\n } else {\n tz = tz.slice().sort(ascending);\n }\n\n return tz.map(value => contour(values, value));\n }\n\n // Accumulate, smooth contour rings, assign holes to exterior rings.\n // Based on https://github.com/mbostock/shapefile/blob/v0.6.2/shp/polygon.js\n function contour(values, value) {\n const v = value == null ? NaN : +value;\n if (isNaN(v)) throw new Error(`invalid value: ${value}`);\n\n var polygons = [],\n holes = [];\n\n isorings(values, v, function(ring) {\n smooth(ring, values, v);\n if (area(ring) > 0) polygons.push([ring]);\n else holes.push(ring);\n });\n\n holes.forEach(function(hole) {\n for (var i = 0, n = polygons.length, polygon; i < n; ++i) {\n if (contains((polygon = polygons[i])[0], hole) !== -1) {\n polygon.push(hole);\n return;\n }\n }\n });\n\n return {\n type: \"MultiPolygon\",\n value: value,\n coordinates: polygons\n };\n }\n\n // Marching squares with isolines stitched into rings.\n // Based on https://github.com/topojson/topojson-client/blob/v3.0.0/src/stitch.js\n function isorings(values, value, callback) {\n var fragmentByStart = new Array,\n fragmentByEnd = new Array,\n x, y, t0, t1, t2, t3;\n\n // Special case for the first row (y = -1, t2 = t3 = 0).\n x = y = -1;\n t1 = above(values[0], value);\n cases[t1 << 1].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = above(values[x + 1], value);\n cases[t0 | t1 << 1].forEach(stitch);\n }\n cases[t1 << 0].forEach(stitch);\n\n // General case for the intermediate rows.\n while (++y < dy - 1) {\n x = -1;\n t1 = above(values[y * dx + dx], value);\n t2 = above(values[y * dx], value);\n cases[t1 << 1 | t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t0 = t1, t1 = above(values[y * dx + dx + x + 1], value);\n t3 = t2, t2 = above(values[y * dx + x + 1], value);\n cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t1 | t2 << 3].forEach(stitch);\n }\n\n // Special case for the last row (y = dy - 1, t0 = t1 = 0).\n x = -1;\n t2 = values[y * dx] >= value;\n cases[t2 << 2].forEach(stitch);\n while (++x < dx - 1) {\n t3 = t2, t2 = above(values[y * dx + x + 1], value);\n cases[t2 << 2 | t3 << 3].forEach(stitch);\n }\n cases[t2 << 3].forEach(stitch);\n\n function stitch(line) {\n var start = [line[0][0] + x, line[0][1] + y],\n end = [line[1][0] + x, line[1][1] + y],\n startIndex = index(start),\n endIndex = index(end),\n f, g;\n if (f = fragmentByEnd[startIndex]) {\n if (g = fragmentByStart[endIndex]) {\n delete fragmentByEnd[f.end];\n delete fragmentByStart[g.start];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[f.start] = fragmentByEnd[g.end] = {start: f.start, end: g.end, ring: f.ring.concat(g.ring)};\n }\n } else {\n delete fragmentByEnd[f.end];\n f.ring.push(end);\n fragmentByEnd[f.end = endIndex] = f;\n }\n } else if (f = fragmentByStart[endIndex]) {\n if (g = fragmentByEnd[startIndex]) {\n delete fragmentByStart[f.start];\n delete fragmentByEnd[g.end];\n if (f === g) {\n f.ring.push(end);\n callback(f.ring);\n } else {\n fragmentByStart[g.start] = fragmentByEnd[f.end] = {start: g.start, end: f.end, ring: g.ring.concat(f.ring)};\n }\n } else {\n delete fragmentByStart[f.start];\n f.ring.unshift(start);\n fragmentByStart[f.start = startIndex] = f;\n }\n } else {\n fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {start: startIndex, end: endIndex, ring: [start, end]};\n }\n }\n }\n\n function index(point) {\n return point[0] * 2 + point[1] * (dx + 1) * 4;\n }\n\n function smoothLinear(ring, values, value) {\n ring.forEach(function(point) {\n var x = point[0],\n y = point[1],\n xt = x | 0,\n yt = y | 0,\n v1 = valid(values[yt * dx + xt]);\n if (x > 0 && x < dx && xt === x) {\n point[0] = smooth1(x, valid(values[yt * dx + xt - 1]), v1, value);\n }\n if (y > 0 && y < dy && yt === y) {\n point[1] = smooth1(y, valid(values[(yt - 1) * dx + xt]), v1, value);\n }\n });\n }\n\n contours.contour = contour;\n\n contours.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = Math.floor(_[0]), _1 = Math.floor(_[1]);\n if (!(_0 >= 0 && _1 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, contours;\n };\n\n contours.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), contours) : threshold;\n };\n\n contours.smooth = function(_) {\n return arguments.length ? (smooth = _ ? smoothLinear : noop, contours) : smooth === smoothLinear;\n };\n\n return contours;\n}\n\n// When computing the extent, ignore infinite values (as well as invalid ones).\nfunction finite(x) {\n return isFinite(x) ? x : NaN;\n}\n\n// Is the (possibly invalid) x greater than or equal to the (known valid) value?\n// Treat any invalid value as below negative infinity.\nfunction above(x, value) {\n return x == null ? false : +x >= value;\n}\n\n// During smoothing, treat any invalid value as negative infinity.\nfunction valid(v) {\n return v == null || isNaN(v = +v) ? -Infinity : v;\n}\n\nfunction smooth1(x, v0, v1, value) {\n const a = value - v0;\n const b = v1 - v0;\n const d = isFinite(a) || isFinite(b) ? a / b : Math.sign(a) / Math.sign(b);\n return isNaN(d) ? x : x + d - 0.5;\n}\n", "import {blur2, max, ticks} from \"d3-array\";\nimport {slice} from \"./array.js\";\nimport constant from \"./constant.js\";\nimport Contours from \"./contours.js\";\n\nfunction defaultX(d) {\n return d[0];\n}\n\nfunction defaultY(d) {\n return d[1];\n}\n\nfunction defaultWeight() {\n return 1;\n}\n\nexport default function() {\n var x = defaultX,\n y = defaultY,\n weight = defaultWeight,\n dx = 960,\n dy = 500,\n r = 20, // blur radius\n k = 2, // log2(grid cell size)\n o = r * 3, // grid offset, to pad for blur\n n = (dx + o * 2) >> k, // grid width\n m = (dy + o * 2) >> k, // grid height\n threshold = constant(20);\n\n function grid(data) {\n var values = new Float32Array(n * m),\n pow2k = Math.pow(2, -k),\n i = -1;\n\n for (const d of data) {\n var xi = (x(d, ++i, data) + o) * pow2k,\n yi = (y(d, i, data) + o) * pow2k,\n wi = +weight(d, i, data);\n if (wi && xi >= 0 && xi < n && yi >= 0 && yi < m) {\n var x0 = Math.floor(xi),\n y0 = Math.floor(yi),\n xt = xi - x0 - 0.5,\n yt = yi - y0 - 0.5;\n values[x0 + y0 * n] += (1 - xt) * (1 - yt) * wi;\n values[x0 + 1 + y0 * n] += xt * (1 - yt) * wi;\n values[x0 + 1 + (y0 + 1) * n] += xt * yt * wi;\n values[x0 + (y0 + 1) * n] += (1 - xt) * yt * wi;\n }\n }\n\n blur2({data: values, width: n, height: m}, r * pow2k);\n return values;\n }\n\n function density(data) {\n var values = grid(data),\n tz = threshold(values),\n pow4k = Math.pow(2, 2 * k);\n\n // Convert number of thresholds into uniform thresholds.\n if (!Array.isArray(tz)) {\n tz = ticks(Number.MIN_VALUE, max(values) / pow4k, tz);\n }\n\n return Contours()\n .size([n, m])\n .thresholds(tz.map(d => d * pow4k))\n (values)\n .map((c, i) => (c.value = +tz[i], transform(c)));\n }\n\n density.contours = function(data) {\n var values = grid(data),\n contours = Contours().size([n, m]),\n pow4k = Math.pow(2, 2 * k),\n contour = value => {\n value = +value;\n var c = transform(contours.contour(values, value * pow4k));\n c.value = value; // preserve exact threshold value\n return c;\n };\n Object.defineProperty(contour, \"max\", {get: () => max(values) / pow4k});\n return contour;\n };\n\n function transform(geometry) {\n geometry.coordinates.forEach(transformPolygon);\n return geometry;\n }\n\n function transformPolygon(coordinates) {\n coordinates.forEach(transformRing);\n }\n\n function transformRing(coordinates) {\n coordinates.forEach(transformPoint);\n }\n\n // TODO Optimize.\n function transformPoint(coordinates) {\n coordinates[0] = coordinates[0] * Math.pow(2, k) - o;\n coordinates[1] = coordinates[1] * Math.pow(2, k) - o;\n }\n\n function resize() {\n o = r * 3;\n n = (dx + o * 2) >> k;\n m = (dy + o * 2) >> k;\n return density;\n }\n\n density.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), density) : x;\n };\n\n density.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), density) : y;\n };\n\n density.weight = function(_) {\n return arguments.length ? (weight = typeof _ === \"function\" ? _ : constant(+_), density) : weight;\n };\n\n density.size = function(_) {\n if (!arguments.length) return [dx, dy];\n var _0 = +_[0], _1 = +_[1];\n if (!(_0 >= 0 && _1 >= 0)) throw new Error(\"invalid size\");\n return dx = _0, dy = _1, resize();\n };\n\n density.cellSize = function(_) {\n if (!arguments.length) return 1 << k;\n if (!((_ = +_) >= 1)) throw new Error(\"invalid cell size\");\n return k = Math.floor(Math.log(_) / Math.LN2), resize();\n };\n\n density.thresholds = function(_) {\n return arguments.length ? (threshold = typeof _ === \"function\" ? _ : Array.isArray(_) ? constant(slice.call(_)) : constant(_), density) : threshold;\n };\n\n density.bandwidth = function(_) {\n if (!arguments.length) return Math.sqrt(r * (r + 1));\n if (!((_ = +_) >= 0)) throw new Error(\"invalid bandwidth\");\n return r = (Math.sqrt(4 * _ * _ + 1) - 1) / 2, resize();\n };\n\n return density;\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["x", "y", "x0", "y0", "x1", "y1", "x", "y", "x0", "y0", "x1", "y1", "x0", "y0", "x1", "y1", "x", "y", "x0", "y0", "x1", "y1", "x2", "y2", "x3", "y3", "x", "y", "x0", "y0", "x1", "y1", "x0", "y0", "x1", "y1", "x0", "y0", "x1", "y1", "x", "y", "x0", "y0", "x1", "y1", "x", "k", "x0", "y0", "x1", "y1", "x", "y", "link", "k", "x", "y", "m", "i", "s", "k", "x", "y", "x_default", "x", "y_default", "y", "x", "x", "y0", "y1", "y", "x", "x0", "x1", "X1", "X0", "Y1", "Y0", "graticule", "coordinates", "x", "object", "coordinates", "x", "y", "x0", "y0", "x", "y", "x00", "y00", "x0", "y0", "x", "y", "x", "y", "x00", "y00", "x0", "y0", "x", "y", "x", "y", "s", "k", "append", "projection", "path", "object", "cartesian", "spherical", "a", "k", "a", "x", "y", "x", "y", "k", "point", "x", "y", "m", "a", "point", "compareIntersection", "n", "x", "array", "a", "point", "m", "lambda0", "sinPhi0", "cosPhi0", "sign", "k", "point", "m", "a", "lambda0", "cosPhi0", "point2", "c", "intersect", "a", "c2", "lambda0", "delta", "code", "a", "x0", "y0", "x1", "y1", "x0", "y0", "x1", "y1", "x", "y", "a", "compareIntersection", "point", "ring", "m", "visible", "lengthSum", "lengthStream", "lengthPointFirst", "lengthPoint", "x", "y", "object", "a", "object", "point", "coordinates", "s", "x", "y", "projection", "object", "extent", "k", "x", "y", "x", "y", "x0", "y0", "lambda0", "x1", "y1", "a", "c", "m", "x2", "y2", "x00", "y00", "point", "x", "y", "k", "transform", "a", "x0", "y0", "x1", "y1", "projection", "point", "extent", "object", "x", "y", "scheme", "scheme", "range", "scheme", "c", "constant_default", "x", "abs", "atan2", "cos", "max", "sin", "sqrt", "epsilon", "pi", "halfPi", "tau", "acos", "x", "asin", "pi", "tau", "epsilon", "append", "appendRound", "k", "x", "y", "x1", "y1", "x2", "y2", "x0", "y0", "x0", "y0", "x1", "y1", "x2", "y2", "epsilon", "sqrt", "x00", "y00", "max", "constant_default", "path", "halfPi", "abs", "tau", "cos", "sin", "asin", "pi", "acos", "atan2", "a", "x", "x", "y", "x", "y", "line_default", "x", "y", "constant_default", "path", "area_default", "x0", "y0", "y1", "x1", "constant_default", "path", "x", "y", "k", "line_default", "circle_default", "sqrt", "pi", "tau", "sqrt", "sqrt", "y", "x", "sqrt", "x", "sin", "pi", "tau", "cos", "sqrt", "x", "y", "a", "c", "s", "sqrt", "y", "c", "sqrt", "a", "x0", "y0", "x1", "y1", "x2", "y2", "path", "constant_default", "circle_default", "x", "y", "sign", "x", "x2", "y2", "point", "x0", "y0", "x1", "y1", "y", "x", "y", "x1", "a", "identity_default", "identity_default", "constant_default", "tau", "k", "index", "i", "j", "k", "x", "y", "point", "constant_default", "x", "transform", "transform", "extent", "zoom_default", "point", "k", "x", "y", "a", "x0", "y0", "event", "constant_default", "abs", "cos", "sin", "pi", "halfPi", "tau", "epsilon", "slice", "constant_default", "x", "ribbon", "s", "slice", "halfPi", "epsilon", "abs", "cos", "sin", "constant_default", "slice", "a", "area_default", "constant_default", "x", "contains_default", "c", "point", "x", "y", "pi", "a", "area_default", "contains_default", "x", "y", "index", "point", "constant_default", "slice", "a", "defaultX", "defaultY", "x", "y", "k", "m", "constant_default", "x0", "y0", "c", "transform", "coordinates", "slice"]
7
+ }