prographs 0.12.0 → 0.13.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 (269) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +6 -4
  3. package/dist/AutoGraph-PDPEAIXL.cjs +145 -0
  4. package/dist/GraphType.js +19 -0
  5. package/dist/autograph/chartIndex.js +521 -0
  6. package/dist/autograph/chartModules.js +2 -1
  7. package/dist/autograph/index.cjs +98 -93
  8. package/dist/catalog-DI4XZ46L.cjs +142 -0
  9. package/dist/catalog.js +2 -1
  10. package/dist/charts/biologycharts/BiologySamples.js +59 -0
  11. package/dist/charts/biologycharts/PunnettSquare.js +342 -0
  12. package/dist/charts/biologycharts/biologyEnums.js +22 -1
  13. package/dist/charts/biologycharts/index.js +5 -3
  14. package/dist/charts/doecharts/DoeSamples.js +78 -0
  15. package/dist/charts/doecharts/SipocDiagram.js +453 -0
  16. package/dist/charts/doecharts/index.js +4 -2
  17. package/dist/charts/fieldcharts/SpeciesAccumulationCurve.js +350 -0
  18. package/dist/charts/fieldcharts/fieldEnums.js +8 -1
  19. package/dist/charts/fieldcharts/index.js +5 -3
  20. package/dist/charts/signals/AntennaPatternChart.js +492 -0
  21. package/dist/charts/signals/SignalSamples.js +17 -0
  22. package/dist/charts/signals/index.js +5 -3
  23. package/dist/charts/softwarediagrams/ComponentDiagram.js +504 -0
  24. package/dist/charts/softwarediagrams/DeploymentDiagram.js +419 -0
  25. package/dist/charts/softwarediagrams/SoftwareSamples.js +283 -1
  26. package/dist/charts/softwarediagrams/index.js +7 -3
  27. package/dist/charts/softwarediagrams/softwareEnums.js +45 -1
  28. package/dist/charts/sportscharts/PowerDurationCurve.js +301 -0
  29. package/dist/charts/sportscharts/SportsSamples.js +102 -0
  30. package/dist/charts/sportscharts/TrainingLoadChart.js +325 -0
  31. package/dist/charts/sportscharts/index.js +6 -2
  32. package/dist/charts/strategycharts/BassDiffusionChart.js +362 -0
  33. package/dist/charts/strategycharts/BassModel.js +96 -0
  34. package/dist/charts/strategycharts/BurnRunwayChart.js +284 -0
  35. package/dist/charts/strategycharts/CapTableChart.js +366 -0
  36. package/dist/charts/strategycharts/KanbanBoard.js +324 -0
  37. package/dist/charts/strategycharts/OkrTree.js +339 -0
  38. package/dist/charts/strategycharts/StrategyPane.js +27 -0
  39. package/dist/charts/strategycharts/StrategySamples.js +251 -0
  40. package/dist/charts/strategycharts/index.js +15 -3
  41. package/dist/charts/threefields/BsfcMap3DChart.js +231 -0
  42. package/dist/charts/threefields/CompressorMap3DChart.js +217 -0
  43. package/dist/charts/threefields/FieldGrid.js +50 -0
  44. package/dist/charts/threefields/LossLandscape3DChart.js +201 -0
  45. package/dist/charts/threefields/MapSheet.js +77 -0
  46. package/dist/charts/threefields/TerrainRoute3DChart.js +201 -0
  47. package/dist/charts/threefields/TerrainRouteMath.js +40 -0
  48. package/dist/charts/threefields/ThreeFieldBase.js +117 -0
  49. package/dist/charts/threefields/ThreeFieldsSamples.js +80 -0
  50. package/dist/charts/threefields/WaferMap3DChart.js +218 -0
  51. package/dist/charts/threefields/index.js +19 -0
  52. package/dist/charts/threesurfaces/index.js +2 -2
  53. package/dist/charts/tradingcharts/KeltnerChannelChart.js +171 -0
  54. package/dist/charts/tradingcharts/TradingMath.js +20 -0
  55. package/dist/charts/tradingcharts/index.js +4 -2
  56. package/dist/{chunk-ZL6XDXMK.cjs → chunk-26PSLEP4.cjs} +8 -8
  57. package/dist/{chunk-W3US6EFP.cjs → chunk-2BO5DZUP.cjs} +12 -12
  58. package/dist/{chunk-5DP7OUSE.cjs → chunk-2GG5YYSC.cjs} +6 -6
  59. package/dist/{chunk-7FG4JSVO.cjs → chunk-2GL2VNJU.cjs} +253 -33
  60. package/dist/{chunk-LCWMRCLF.cjs → chunk-2PYOI7OY.cjs} +21 -21
  61. package/dist/{chunk-JFWJAEBD.cjs → chunk-3U4MCSKI.cjs} +4 -4
  62. package/dist/{chunk-CUPLHZRR.cjs → chunk-3ZMM3FSK.cjs} +4 -4
  63. package/dist/{chunk-L2AV62DP.cjs → chunk-4767WQJ7.cjs} +6 -6
  64. package/dist/{chunk-DA2EYIIP.cjs → chunk-4E7FSSBF.cjs} +1210 -168
  65. package/dist/{chunk-VS5LQEZB.cjs → chunk-526STI2S.cjs} +5 -5
  66. package/dist/{chunk-RXIMEK6C.cjs → chunk-55767YPI.cjs} +20 -20
  67. package/dist/{chunk-JXLSKIUV.cjs → chunk-5FBQOMMT.cjs} +26 -26
  68. package/dist/{chunk-27PZV5BR.cjs → chunk-5N4Z7MTS.cjs} +4 -4
  69. package/dist/{chunk-KEWCUIQA.cjs → chunk-5WEV6YWA.cjs} +22 -22
  70. package/dist/chunk-5XOVVC5X.cjs +3281 -0
  71. package/dist/{chunk-HK5J7Q2W.cjs → chunk-6HLXVWXU.cjs} +9 -9
  72. package/dist/{chunk-7JG47RW4.cjs → chunk-6LQT4WJ5.cjs} +25 -25
  73. package/dist/{chunk-OCVTI6X4.cjs → chunk-6YTWOUFD.cjs} +329 -36
  74. package/dist/{chunk-W7IQCAVN.cjs → chunk-7F6W6HKL.cjs} +11 -11
  75. package/dist/{chunk-F2DCJXDM.cjs → chunk-7L6KYU5A.cjs} +21 -21
  76. package/dist/{chunk-GTGR6LPR.cjs → chunk-A4GIN4FE.cjs} +17 -17
  77. package/dist/{chunk-B2CETSR6.cjs → chunk-A4US7SA7.cjs} +5 -5
  78. package/dist/{chunk-3DIF2YYW.cjs → chunk-AOXPBLPW.cjs} +10 -10
  79. package/dist/{chunk-7TTR4UF5.cjs → chunk-ATI45Z4M.cjs} +2 -2
  80. package/dist/{chunk-5BFCIX2V.cjs → chunk-CPPMO4IQ.cjs} +434 -148
  81. package/dist/{chunk-AYZZQ6AC.cjs → chunk-CZ5KGF6Q.cjs} +9 -9
  82. package/dist/{chunk-7THJ3ZBK.cjs → chunk-D4I35MCE.cjs} +2 -2
  83. package/dist/{chunk-MCPPFRLN.cjs → chunk-DCGAAN3Z.cjs} +2 -2
  84. package/dist/{chunk-VABL6CVX.cjs → chunk-DEY36N37.cjs} +21 -21
  85. package/dist/{chunk-RNCKGJCC.cjs → chunk-DXHXD3DK.cjs} +3 -3
  86. package/dist/{chunk-A56ZGMVZ.cjs → chunk-E7B45DBZ.cjs} +11 -11
  87. package/dist/{chunk-DOR6L4MT.cjs → chunk-EJC6EAC5.cjs} +18 -18
  88. package/dist/{chunk-UPGNM7MA.cjs → chunk-EULJOOMA.cjs} +11 -11
  89. package/dist/{chunk-G4AZL4GO.cjs → chunk-EYM6LEIF.cjs} +474 -70
  90. package/dist/{chunk-NJ4X6XGV.cjs → chunk-EZTYX2GH.cjs} +5 -5
  91. package/dist/chunk-FDD4UP73.cjs +521 -0
  92. package/dist/{chunk-WJ3VH2Q4.cjs → chunk-GEAIGM3J.cjs} +110 -615
  93. package/dist/{chunk-P3SBHF43.cjs → chunk-GRUYVXTS.cjs} +2 -2
  94. package/dist/{chunk-NX4Z5LMS.cjs → chunk-H3SZXND5.cjs} +5 -5
  95. package/dist/{chunk-EE4S4TOE.cjs → chunk-HS45TOFJ.cjs} +21 -21
  96. package/dist/chunk-INGOG6OV.cjs +899 -0
  97. package/dist/{chunk-UDKA6DGT.cjs → chunk-J3CDXZHF.cjs} +4 -4
  98. package/dist/{chunk-YO6G7TKI.cjs → chunk-JAU5ADEU.cjs} +11 -11
  99. package/dist/{chunk-22LBK4GA.cjs → chunk-JQEBSHX3.cjs} +4 -4
  100. package/dist/{chunk-RXX3U7VQ.cjs → chunk-KLXGLMFU.cjs} +10 -10
  101. package/dist/chunk-KVOX36J3.cjs +327 -0
  102. package/dist/chunk-L6BGNHFL.cjs +139 -0
  103. package/dist/{chunk-GMER35L3.cjs → chunk-L7TB7PU5.cjs} +20 -20
  104. package/dist/{chunk-AFXYNBL2.cjs → chunk-LBTRYEM2.cjs} +4 -4
  105. package/dist/{chunk-WYYCKIOD.cjs → chunk-LLULNJSP.cjs} +11 -11
  106. package/dist/{chunk-J27XOSLP.cjs → chunk-LSO46AFV.cjs} +8 -8
  107. package/dist/{chunk-5XJO45ES.cjs → chunk-LZ2KJ7ZX.cjs} +11 -11
  108. package/dist/chunk-M4IQ5LIZ.cjs +422 -0
  109. package/dist/{chunk-Y2KIUKJF.cjs → chunk-MPDHDKYZ.cjs} +11 -11
  110. package/dist/{chunk-4EMPKRZU.cjs → chunk-MRQ42ZJE.cjs} +3 -3
  111. package/dist/{chunk-EU5D2MF4.cjs → chunk-MYV4KZWP.cjs} +9 -9
  112. package/dist/{chunk-XD7KN4UN.cjs → chunk-MZXVLC24.cjs} +6 -6
  113. package/dist/{chunk-PPSONARU.cjs → chunk-NLBVDFIR.cjs} +41 -2
  114. package/dist/{chunk-L3PEGMGM.cjs → chunk-NY3TBZY4.cjs} +33 -33
  115. package/dist/{chunk-6YNYXXB6.cjs → chunk-OGVVSFAR.cjs} +3 -3
  116. package/dist/{chunk-MLV7QLB6.cjs → chunk-OMTQIQMN.cjs} +6 -6
  117. package/dist/{chunk-BEEOSNK7.cjs → chunk-PEJJ6TXJ.cjs} +15 -144
  118. package/dist/{chunk-SOKOWUF5.cjs → chunk-PPGWHIU7.cjs} +2 -2
  119. package/dist/{chunk-IELWOM2J.cjs → chunk-PPO6SDAN.cjs} +6 -6
  120. package/dist/{chunk-6JTZZCSL.cjs → chunk-PUMKX5F2.cjs} +3 -3
  121. package/dist/{chunk-RFOXFY2U.cjs → chunk-PXBYWCNB.cjs} +190 -799
  122. package/dist/{chunk-3BYXOISI.cjs → chunk-Q3HB3IX6.cjs} +4 -4
  123. package/dist/{chunk-RXCOVONX.cjs → chunk-RBMUOIXE.cjs} +289 -34
  124. package/dist/{chunk-MSBNHCSE.cjs → chunk-RJHGCUUD.cjs} +6 -6
  125. package/dist/{chunk-I6VG7F6Z.cjs → chunk-RSONDMYW.cjs} +708 -141
  126. package/dist/{chunk-GZDNPHMT.cjs → chunk-SHMPFCUE.cjs} +19 -19
  127. package/dist/{chunk-ZIBVCOW6.cjs → chunk-SN4FCXFC.cjs} +19 -19
  128. package/dist/{chunk-7KM52NMN.cjs → chunk-SN5T7WYO.cjs} +2 -2
  129. package/dist/{chunk-7MSZR65Z.cjs → chunk-SQJZGVDR.cjs} +7 -7
  130. package/dist/chunk-SYABFMD7.cjs +633 -0
  131. package/dist/{chunk-2RRFEYFH.cjs → chunk-TICB3MAC.cjs} +16 -16
  132. package/dist/{chunk-AOOKHUV5.cjs → chunk-U7Z7XYR2.cjs} +5 -5
  133. package/dist/{chunk-JEWQAXVG.cjs → chunk-UA2THQFV.cjs} +6 -6
  134. package/dist/{chunk-LHZPAHU3.cjs → chunk-VIK4L2YF.cjs} +112 -521
  135. package/dist/{chunk-4YWMAQ4J.cjs → chunk-VM2Y6BDY.cjs} +4 -4
  136. package/dist/{chunk-IRRKE2ZE.cjs → chunk-VMS3KWYI.cjs} +21 -21
  137. package/dist/{chunk-4SLARW6F.cjs → chunk-VU5NUD46.cjs} +17 -17
  138. package/dist/{chunk-XHY6TVYG.cjs → chunk-VV5CVOF7.cjs} +13 -13
  139. package/dist/{chunk-CCIBPGPZ.cjs → chunk-VYSAWPSS.cjs} +57 -57
  140. package/dist/{chunk-TTNEMQ2A.cjs → chunk-W7YRWEWQ.cjs} +22 -22
  141. package/dist/{chunk-C7MUOGEW.cjs → chunk-X7R5SY62.cjs} +6 -6
  142. package/dist/{chunk-ILR5KBMB.cjs → chunk-XOK3KTSS.cjs} +6 -6
  143. package/dist/{chunk-2CZM2I3T.cjs → chunk-XUIX45VU.cjs} +19 -19
  144. package/dist/{chunk-TGRMPS3A.cjs → chunk-XWH46PVJ.cjs} +165 -43
  145. package/dist/{chunk-WQYXXECR.cjs → chunk-Y5XVMK3K.cjs} +6 -6
  146. package/dist/{chunk-AK4TX2WG.cjs → chunk-YCNKEDTG.cjs} +13 -13
  147. package/dist/{chunk-PJJB24DU.cjs → chunk-YEF7SE3X.cjs} +20 -20
  148. package/dist/{chunk-RVLV4XW6.cjs → chunk-YMTVPMU3.cjs} +22 -22
  149. package/dist/data/index.cjs +2 -2
  150. package/dist/entries/autograph-lazy.cjs +2 -2
  151. package/dist/entries/charts/acoustictransport.cjs +3 -3
  152. package/dist/entries/charts/analysischarts.cjs +3 -3
  153. package/dist/entries/charts/astrocharts.cjs +3 -3
  154. package/dist/entries/charts/bars.cjs +3 -3
  155. package/dist/entries/charts/bayesiancharts.cjs +3 -3
  156. package/dist/entries/charts/biocharts.cjs +3 -3
  157. package/dist/entries/charts/biologycharts.cjs +11 -3
  158. package/dist/entries/charts/biologycharts.d.ts +1 -1
  159. package/dist/entries/charts/biologycharts.js +3 -2
  160. package/dist/entries/charts/business.cjs +3 -3
  161. package/dist/entries/charts/carecharts.cjs +3 -3
  162. package/dist/entries/charts/chemistrycharts.cjs +3 -3
  163. package/dist/entries/charts/civicscharts.cjs +3 -3
  164. package/dist/entries/charts/clinicalcharts.cjs +3 -3
  165. package/dist/entries/charts/comparison.cjs +3 -3
  166. package/dist/entries/charts/demography.cjs +3 -3
  167. package/dist/entries/charts/density.cjs +3 -3
  168. package/dist/entries/charts/diagrams.cjs +3 -3
  169. package/dist/entries/charts/distribution.cjs +3 -3
  170. package/dist/entries/charts/doecharts.cjs +13 -3
  171. package/dist/entries/charts/doecharts.d.ts +1 -1
  172. package/dist/entries/charts/doecharts.js +2 -1
  173. package/dist/entries/charts/earthscience.cjs +3 -3
  174. package/dist/entries/charts/economicscharts.cjs +3 -3
  175. package/dist/entries/charts/energycharts.cjs +3 -3
  176. package/dist/entries/charts/engineering.cjs +3 -3
  177. package/dist/entries/charts/fieldcharts.cjs +7 -3
  178. package/dist/entries/charts/fieldcharts.d.ts +1 -1
  179. package/dist/entries/charts/fieldcharts.js +3 -2
  180. package/dist/entries/charts/financial.cjs +3 -3
  181. package/dist/entries/charts/flow.cjs +3 -3
  182. package/dist/entries/charts/frameworks.cjs +3 -3
  183. package/dist/entries/charts/genomics.cjs +3 -3
  184. package/dist/entries/charts/geoflows.cjs +3 -3
  185. package/dist/entries/charts/geomaps.cjs +3 -3
  186. package/dist/entries/charts/geosciencecharts.cjs +3 -3
  187. package/dist/entries/charts/hierarchy.cjs +3 -3
  188. package/dist/entries/charts/indicators.cjs +3 -3
  189. package/dist/entries/charts/inferencecharts.cjs +3 -3
  190. package/dist/entries/charts/layoutcharts.cjs +3 -3
  191. package/dist/entries/charts/lifescience.cjs +4 -4
  192. package/dist/entries/charts/linesareas.cjs +3 -3
  193. package/dist/entries/charts/logisticscharts.cjs +3 -3
  194. package/dist/entries/charts/machinecharts.cjs +7 -3
  195. package/dist/entries/charts/machinecharts.d.ts +1 -1
  196. package/dist/entries/charts/machinecharts.js +2 -1
  197. package/dist/entries/charts/massive.cjs +3 -3
  198. package/dist/entries/charts/mathematical.cjs +3 -3
  199. package/dist/entries/charts/matrix.cjs +3 -3
  200. package/dist/entries/charts/medicalcharts.cjs +4 -4
  201. package/dist/entries/charts/mlcharts.cjs +4 -4
  202. package/dist/entries/charts/modelcharts.cjs +6 -5
  203. package/dist/entries/charts/multivariate.cjs +3 -3
  204. package/dist/entries/charts/musiccharts.cjs +3 -3
  205. package/dist/entries/charts/network.cjs +3 -3
  206. package/dist/entries/charts/physicscharts.cjs +3 -3
  207. package/dist/entries/charts/pictorial.cjs +4 -4
  208. package/dist/entries/charts/portfoliocharts.cjs +3 -3
  209. package/dist/entries/charts/productcharts.cjs +3 -3
  210. package/dist/entries/charts/proportion.cjs +3 -3
  211. package/dist/entries/charts/qualitycharts.cjs +3 -3
  212. package/dist/entries/charts/radial.cjs +3 -3
  213. package/dist/entries/charts/reliabilitycharts.cjs +5 -3
  214. package/dist/entries/charts/scatter.cjs +3 -3
  215. package/dist/entries/charts/scientific.cjs +3 -3
  216. package/dist/entries/charts/seriescharts.cjs +3 -3
  217. package/dist/entries/charts/signals.cjs +7 -3
  218. package/dist/entries/charts/signals.d.ts +1 -1
  219. package/dist/entries/charts/signals.js +2 -1
  220. package/dist/entries/charts/softwarediagrams.cjs +21 -3
  221. package/dist/entries/charts/softwarediagrams.d.ts +1 -1
  222. package/dist/entries/charts/softwarediagrams.js +4 -2
  223. package/dist/entries/charts/sportscharts.cjs +13 -3
  224. package/dist/entries/charts/sportscharts.d.ts +1 -1
  225. package/dist/entries/charts/sportscharts.js +3 -1
  226. package/dist/entries/charts/statistics.cjs +6 -6
  227. package/dist/entries/charts/strategycharts.cjs +30 -3
  228. package/dist/entries/charts/strategycharts.d.ts +1 -1
  229. package/dist/entries/charts/strategycharts.js +6 -1
  230. package/dist/entries/charts/structure.cjs +3 -3
  231. package/dist/entries/charts/surveycharts.cjs +3 -3
  232. package/dist/entries/charts/systemscharts.cjs +3 -3
  233. package/dist/entries/charts/textcharts.cjs +5 -5
  234. package/dist/entries/charts/thematicmaps.cjs +4 -4
  235. package/dist/entries/charts/threebars.cjs +3 -3
  236. package/dist/entries/charts/threefields.cjs +53 -0
  237. package/dist/entries/charts/threefields.d.ts +1 -0
  238. package/dist/entries/charts/threefields.js +6 -0
  239. package/dist/entries/charts/threeglobe.cjs +3 -3
  240. package/dist/entries/charts/threenetwork.cjs +3 -3
  241. package/dist/entries/charts/threestrata.cjs +3 -3
  242. package/dist/entries/charts/threesurfaces.cjs +7 -3
  243. package/dist/entries/charts/threesurfaces.d.ts +1 -1
  244. package/dist/entries/charts/threesurfaces.js +2 -1
  245. package/dist/entries/charts/threevolume.cjs +4 -4
  246. package/dist/entries/charts/timeline.cjs +3 -3
  247. package/dist/entries/charts/tracecharts.cjs +3 -3
  248. package/dist/entries/charts/trackscharts.cjs +3 -3
  249. package/dist/entries/charts/tradingcharts.cjs +6 -4
  250. package/dist/entries/charts/tradingcharts.d.ts +1 -1
  251. package/dist/entries/charts/tradingcharts.js +2 -1
  252. package/dist/entries/three.cjs +60 -20
  253. package/dist/entries/three.d.ts +1 -1
  254. package/dist/entries/three.js +7 -1
  255. package/dist/index.cjs +258 -97
  256. package/dist/index.d.cts +1953 -10
  257. package/dist/index.d.ts +1953 -10
  258. package/dist/index.js +26 -5
  259. package/dist/page/index.cjs +2 -2
  260. package/dist/react/components.js +58 -1
  261. package/dist/react/index.cjs +135 -92
  262. package/dist/react/index.d.ts +1 -1
  263. package/dist/react/index.js +2 -2
  264. package/package.json +1 -1
  265. package/dist/AutoGraph-XLBJQDRB.cjs +0 -140
  266. package/dist/catalog-O7XGDD2H.cjs +0 -137
  267. package/dist/chunk-77K2HTRC.cjs +0 -3220
  268. package/dist/chunk-XEK47TVD.cjs +0 -323
  269. /package/dist/{chunk-UMEKIIHJ.cjs → chunk-LNWTC72Y.cjs} +0 -0
@@ -18,7 +18,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
18
18
  var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
19
19
 
20
20
 
21
- var _chunkUMEKIIHJcjs = require('./chunk-UMEKIIHJ.cjs');
21
+ var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
22
22
 
23
23
  // src/charts/clinicalcharts/ClinicalRows.ts
24
24
  var ClinicalRows = class _ClinicalRows {
@@ -193,7 +193,7 @@ var ClinicalSamples = class {
193
193
  return { subject, scans, response, ongoing: !progressed && stop >= CUTOFF, stop, progressed };
194
194
  }
195
195
  static #cohort(seed) {
196
- const { u, n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
196
+ const { u, n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
197
197
  return Array.from({ length: PATIENTS }, (_, i) => this.#course(i, u, n));
198
198
  }
199
199
  /** One row per patient: best change from baseline and best overall response. */
@@ -206,7 +206,7 @@ var ClinicalSamples = class {
206
206
  }
207
207
  /** Segment rows hold `phase`, `start` and `end`; event rows hold `event` and `time`. */
208
208
  static swimmer(seed) {
209
- const { u } = _chunkUMEKIIHJcjs.SampleData.rng(seed + 7);
209
+ const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed + 7);
210
210
  const base = { phase: null, start: null, end: null, event: null, time: null };
211
211
  return this.#cohort(seed).slice(0, SWIMMERS).flatMap(({ subject, scans, ongoing, stop, progressed }) => {
212
212
  const flag = { subject, ongoing: +ongoing };
@@ -225,7 +225,7 @@ var ClinicalSamples = class {
225
225
  }
226
226
  /** The CDC table in rows of `age`, `L`, `M`, `S`, then one invented girl's visits in rows of `age`, `weight`. */
227
227
  static growth(seed) {
228
- const { n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
228
+ const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
229
229
  const rows = CDC_WEIGHT_GIRLS.map(([age, L, M, S]) => ({ age, L, M, S, weight: null }));
230
230
  const reference = new LmsReference(CDC_WEIGHT_GIRLS.map(([age, l, m, s]) => ({ age, l, m, s })));
231
231
  let z = 0.9 + n() * 0.3;
@@ -236,7 +236,7 @@ var ClinicalSamples = class {
236
236
  }
237
237
  /** One row per line of a CONSORT box. A blank `item` is the box's own total. */
238
238
  static consort(seed) {
239
- const { u } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
239
+ const { u } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
240
240
  const count = (low, spread) => low + Math.floor(u() * spread);
241
241
  const reasons = [count(58, 30), count(21, 16), count(6, 8)];
242
242
  const arms = [{ arm: "Drug A", size: count(120, 8) }, { arm: "Placebo", size: count(118, 8) }];
@@ -17,7 +17,7 @@ var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
17
17
 
18
18
 
19
19
 
20
- var _chunkUMEKIIHJcjs = require('./chunk-UMEKIIHJ.cjs');
20
+ var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
21
21
 
22
22
  // src/charts/geomaps/GeoClasses.ts
23
23
  var _d3 = require('d3');
@@ -268,7 +268,7 @@ var GeoLand = (_class2 = class {
268
268
  static __initStatic2() {this.bundled = null}
269
269
  /** Natural Earth 110m countries, shared by every map that needs a backdrop. */
270
270
  static get world() {
271
- return this.bundled ??= _chunkUMEKIIHJcjs.WorldSample.countries();
271
+ return this.bundled ??= _chunkLNWTC72Ycjs.WorldSample.countries();
272
272
  }
273
273
  static boxes(collection) {
274
274
  let boxes = hits.get(collection);
@@ -314,12 +314,12 @@ var GeoSamples = class _GeoSamples {
314
314
  }
315
315
  /** The 50 states and DC with demo values. */
316
316
  static usStates(seed) {
317
- const { states } = _chunkUMEKIIHJcjs.GeoAtlas;
317
+ const { states } = _chunkLNWTC72Ycjs.GeoAtlas;
318
318
  return _GeoSamples.shaded({ ...states, features: states.features.filter((state) => +state.id <= 56) }, seed);
319
319
  }
320
320
  /** World regions with `value`, `other` and `group`; Antarctica has no data, as real datasets rarely do. */
321
321
  static regions(seed) {
322
- const world = _chunkUMEKIIHJcjs.WorldSample.countries(seed), noise = _chunkUMEKIIHJcjs.WorldSample.countries(seed + 7);
322
+ const world = _chunkLNWTC72Ycjs.WorldSample.countries(seed), noise = _chunkLNWTC72Ycjs.WorldSample.countries(seed + 7);
323
323
  return {
324
324
  ...world,
325
325
  features: world.features.map((feature, i) => {
@@ -356,12 +356,12 @@ var GeoSamples = class _GeoSamples {
356
356
  }
357
357
  /** Twenty cities, tagged by continent. */
358
358
  static cities(seed) {
359
- return _chunkUMEKIIHJcjs.SampleData.cities(seed).map((city) => ({ ...city, group: continent(+city.lon, +city.lat) }));
359
+ return _chunkLNWTC72Ycjs.SampleData.cities(seed).map((city) => ({ ...city, group: continent(+city.lon, +city.lat) }));
360
360
  }
361
361
  /** Points clustered around the cities and kept on land; `value` falls away from each centre. */
362
362
  static scatter(seed, count) {
363
- const cities = _chunkUMEKIIHJcjs.SampleData.cities(seed), world = GeoLand.world;
364
- const rows = _chunkUMEKIIHJcjs.SampleData.points(seed, count * 4, 3).flatMap((point2, i) => {
363
+ const cities = _chunkLNWTC72Ycjs.SampleData.cities(seed), world = GeoLand.world;
364
+ const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, count * 4, 3).flatMap((point2, i) => {
365
365
  const city = cities[i * 7 % cities.length];
366
366
  const dx = (+point2.x - 20 - i % 3 * 22) * 1.3, dy = (+point2.y - 0.8 * +point2.x - 10) * 1.2;
367
367
  const lon = +city.lon + dx, lat = +city.lat + dy;
@@ -373,8 +373,8 @@ var GeoSamples = class _GeoSamples {
373
373
  }
374
374
  /** Long-form `{ name, lon, lat, series, value }`: one row per city and series. */
375
375
  static cityParts(seed) {
376
- const parts = _chunkUMEKIIHJcjs.SampleData.categories(seed, 12, 4);
377
- return _chunkUMEKIIHJcjs.SampleData.cities(seed).flatMap((city, c) => [0, 1, 2, 3].map((s) => {
376
+ const parts = _chunkLNWTC72Ycjs.SampleData.categories(seed, 12, 4);
377
+ return _chunkLNWTC72Ycjs.SampleData.cities(seed).flatMap((city, c) => [0, 1, 2, 3].map((s) => {
378
378
  const part = parts[(c * 4 + s) % parts.length];
379
379
  return { name: city.name, lon: city.lon, lat: city.lat, series: part.series, value: Math.round(+part.value * +city.value / 40) };
380
380
  }));
@@ -581,12 +581,12 @@ var RegionMap = class extends GeoChart {
581
581
  await super.ready();
582
582
  const layer = this.options.geography;
583
583
  if (!layer) return;
584
- await _chunkUMEKIIHJcjs.GeoAtlas.load(layer);
584
+ await _chunkLNWTC72Ycjs.GeoAtlas.load(layer);
585
585
  if (this.host && layer !== this.#layer) this.render();
586
586
  }
587
587
  #place(layer) {
588
588
  if (!this.#layer) this.#given ??= this.options.data;
589
- const ready = _chunkUMEKIIHJcjs.GeoAtlas.peek(layer);
589
+ const ready = _chunkLNWTC72Ycjs.GeoAtlas.peek(layer);
590
590
  if (ready) {
591
591
  this.#layer = layer;
592
592
  this.options = { ...this.options, data: this.adopt(ready, this.#given) };
@@ -595,7 +595,7 @@ var RegionMap = class extends GeoChart {
595
595
  if (!this.#layer && !this.placeholder) this.options = { ...this.options, data: void 0 };
596
596
  if (this.#loading === layer) return;
597
597
  this.#loading = layer;
598
- _chunkUMEKIIHJcjs.GeoAtlas.load(layer).then(() => {
598
+ _chunkLNWTC72Ycjs.GeoAtlas.load(layer).then(() => {
599
599
  this.#loading = void 0;
600
600
  if (this.options.geography === layer && this.host) this.render();
601
601
  }).catch((error) => {
@@ -1351,7 +1351,7 @@ var DrillDownMap = (_class12 = class extends ChoroplethBase {
1351
1351
  description: "Opens each region into the regions inside it, from country to state to county, with a breadcrumb back up.",
1352
1352
  tags: ["map", "drill", "drilldown", "hierarchy", "interactive", "zoom", "usa", "county"],
1353
1353
  sample: (seed) => GeoSamples.usStates(seed),
1354
- prepare: () => _chunkUMEKIIHJcjs.GeoAtlas.load("us-counties" /* UsCounties */),
1354
+ prepare: () => _chunkLNWTC72Ycjs.GeoAtlas.load("us-counties" /* UsCounties */),
1355
1355
  variants: {
1356
1356
  projection: ["albers-usa" /* AlbersUsa */, "albers" /* Albers */],
1357
1357
  classification: ["continuous" /* Continuous */, "quantile" /* Quantile */, "natural-breaks" /* NaturalBreaks */]
@@ -1376,7 +1376,7 @@ var DrillDownMap = (_class12 = class extends ChoroplethBase {
1376
1376
  this.#busy = true;
1377
1377
  try {
1378
1378
  const { children, data, projection } = this.options;
1379
- const source = _nullishCoalesce(children, () => ( _chunkUMEKIIHJcjs.GeoAtlas.children.bind(_chunkUMEKIIHJcjs.GeoAtlas)));
1379
+ const source = _nullishCoalesce(children, () => ( _chunkLNWTC72Ycjs.GeoAtlas.children.bind(_chunkLNWTC72Ycjs.GeoAtlas)));
1380
1380
  const inside2 = await source(region, this.path);
1381
1381
  if (!_optionalChain([inside2, 'optionalAccess', _39 => _39.features, 'access', _40 => _40.length])) return false;
1382
1382
  const frame = this.#lastFrame;
@@ -1800,7 +1800,7 @@ var ASSETS = [
1800
1800
  var FloorPlanSamples = class {
1801
1801
  /** Simulated occupancy per cent, drawn from `SampleData`. Corridors and stairs have no sensor, so no value. */
1802
1802
  static building(seed) {
1803
- const draws = _chunkUMEKIIHJcjs.SampleData.distribution(seed, ROOMS.length, 1);
1803
+ const draws = _chunkLNWTC72Ycjs.SampleData.distribution(seed, ROOMS.length, 1);
1804
1804
  return {
1805
1805
  rooms: ROOMS.map(([level, name, points, metered = true], i) => ({
1806
1806
  level,
@@ -2046,7 +2046,7 @@ var GraticuleMap = (_class16 = class extends RegionMap {
2046
2046
  shape: "geo" /* Geo */,
2047
2047
  description: "Draws meridians, parallels and land in any of 41 projections, to compare how each distorts the globe.",
2048
2048
  tags: ["map", "projection", "atlas", "grid", "reference"],
2049
- sample: (seed) => _chunkUMEKIIHJcjs.WorldSample.countries(seed),
2049
+ sample: (seed) => _chunkLNWTC72Ycjs.WorldSample.countries(seed),
2050
2050
  variants: { projection: GeoProjections.world, graticuleStep: [30, 15, 10] }
2051
2051
  }}
2052
2052
  target() {
@@ -3016,7 +3016,7 @@ var SlippyPointMap = (_class29 = class extends PointMap {
3016
3016
  shape: "geo" /* Geo */,
3017
3017
  description: "Plots places on a draggable Web Mercator map, over raster tiles or built-in vector land.",
3018
3018
  tags: ["map", "slippy", "tiles", "web map", "openstreetmap", "basemap", "pan", "zoom", "locator"],
3019
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.cities(seed),
3019
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.cities(seed),
3020
3020
  variants: {
3021
3021
  marker: ["dot" /* Dot */, "bubble" /* Bubble */, "labelled" /* Labelled */],
3022
3022
  scaleBar: [true, false],
@@ -3268,7 +3268,7 @@ var TissotMap = (_class33 = class extends RegionMap {
3268
3268
  shape: "geo" /* Geo */,
3269
3269
  description: "Projects equal circles across the globe, shaded by area stretch against the map centre, to expose distortion.",
3270
3270
  tags: ["map", "projection", "distortion", "indicatrix", "cartography"],
3271
- sample: (seed) => _chunkUMEKIIHJcjs.WorldSample.countries(seed),
3271
+ sample: (seed) => _chunkLNWTC72Ycjs.WorldSample.countries(seed),
3272
3272
  variants: {
3273
3273
  projection: ["mercator" /* Mercator */, "natural-earth" /* NaturalEarth */, "robinson" /* Robinson */, "equal-earth" /* EqualEarth */, "mollweide" /* Mollweide */, "winkel-tripel" /* WinkelTripel */, "equirectangular" /* Equirectangular */, "orthographic" /* Orthographic */, "azimuthal-equidistant" /* AzimuthalEquidistant */, "stereographic" /* Stereographic */, "sinusoidal" /* Sinusoidal */, "hammer" /* Hammer */],
3274
3274
  spacing: [30, 20],
@@ -3342,7 +3342,7 @@ var UsCountyMap = (_class34 = class extends UsMapBase {
3342
3342
  description: "Shades every US county, under state lines, to reveal the local pattern a state map averages away.",
3343
3343
  tags: ["map", "usa", "united states", "county", "counties", "fips", "choropleth"],
3344
3344
  sample: (seed) => GeoSamples.usStates(seed),
3345
- prepare: () => _chunkUMEKIIHJcjs.GeoAtlas.load("us-counties" /* UsCounties */),
3345
+ prepare: () => _chunkLNWTC72Ycjs.GeoAtlas.load("us-counties" /* UsCounties */),
3346
3346
  variants: {
3347
3347
  projection: ["albers-usa" /* AlbersUsa */, "albers" /* Albers */],
3348
3348
  coverage: ["all" /* All */, "contiguous" /* Contiguous */],
@@ -3361,7 +3361,7 @@ var UsCountyMap = (_class34 = class extends UsMapBase {
3361
3361
  return _optionalChain([given, 'optionalAccess', _86 => _86.demo]) ? GeoSamples.shaded(layer, 1) : layer;
3362
3362
  }
3363
3363
  finishRegions(ctx, frame, shapes) {
3364
- const lines = this.options.stateLines && shapes.size() > 100 ? [_chunkUMEKIIHJcjs.GeoAtlas.stateBorders] : [];
3364
+ const lines = this.options.stateLines && shapes.size() > 100 ? [_chunkLNWTC72Ycjs.GeoAtlas.stateBorders] : [];
3365
3365
  ctx.marks("state-lines", "path", lines).attr("d", (d) => _nullishCoalesce(frame.path(d), () => ( ""))).attr("fill", "none").attr("stroke", ctx.theme.surface).attr("stroke-width", 1).attr("stroke-linejoin", "round").attr("pointer-events", "none");
3366
3366
  shapes.attr("stroke-width", 0.15);
3367
3367
  }
@@ -12,7 +12,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
12
12
  var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
13
13
 
14
14
 
15
- var _chunkUMEKIIHJcjs = require('./chunk-UMEKIIHJ.cjs');
15
+ var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
16
16
 
17
17
  // src/charts/financial/financeEnums.ts
18
18
  var PriceScale = /* @__PURE__ */ ((PriceScale2) => {
@@ -869,7 +869,7 @@ var BollingerBands = (_class2 = class extends PriceChart {
869
869
  shape: "table" /* Table */,
870
870
  description: "Wraps price in bands set by rolling volatility, showing when a market is stretched or coiled.",
871
871
  tags: ["volatility", "envelope", "percent-b", "bandwidth", "squeeze"],
872
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 110),
872
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 110),
873
873
  variants: {
874
874
  average: ["simple" /* Simple */, "exponential" /* Exponential */, "weighted" /* Weighted */],
875
875
  deviations: [2, 1],
@@ -943,7 +943,7 @@ var CandlestickChart = (_class3 = class extends PriceChart {
943
943
  shape: "table" /* Table */,
944
944
  description: "Shows open, high, low and close for each session as a body with wicks, so direction and range read at a glance.",
945
945
  tags: ["ohlc", "japanese", "stock", "price", "hollow", "candlevolume"],
946
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 72),
946
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 72),
947
947
  variants: {
948
948
  body: ["solid" /* Solid */, "hollow" /* Hollow */, "volume-width" /* VolumeWidth */],
949
949
  overlay: ["none" /* None */, "sma" /* SMA */, "ema" /* EMA */, "vwap" /* VWAP */, "bollinger" /* Bollinger */],
@@ -976,7 +976,7 @@ var DepthChart = (_class4 = class extends _chunkXX2YTCORcjs.CartesianChart {
976
976
  description: "Accumulates resting bids and asks outward from the mid price, showing where liquidity sits and how it is balanced.",
977
977
  tags: ["order book", "bid ask", "liquidity", "ladder", "dom"],
978
978
  sample: (seed) => {
979
- const quotes = _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 80);
979
+ const quotes = _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 80);
980
980
  const mid = +quotes.at(-1).close;
981
981
  return quotes.map((quote, i) => {
982
982
  const bid = i % 2 === 0, away = (Math.floor(i / 2) + 1) * 0.12;
@@ -1252,7 +1252,7 @@ var DrawdownChart = (_class6 = class extends EquityBase {
1252
1252
  shape: "table" /* Table */,
1253
1253
  description: "Hangs losses from the running peak, so the depth and duration of every decline can be read directly.",
1254
1254
  tags: ["underwater", "risk", "max drawdown", "portfolio"],
1255
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.timeSeries(seed, 150, 2),
1255
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 150, 2),
1256
1256
  variants: {
1257
1257
  mark: ["area" /* Area */, "line" /* Line */, "step" /* Step */],
1258
1258
  unit: ["percent" /* Percent */, "absolute" /* Absolute */],
@@ -1349,7 +1349,7 @@ var EquityCurve = (_class7 = class extends EquityBase {
1349
1349
  shape: "table" /* Table */,
1350
1350
  description: "Tracks account value through time against a benchmark, with high-water marks and an underwater pane.",
1351
1351
  tags: ["portfolio", "performance", "backtest", "cumulative return", "benchmark"],
1352
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.timeSeries(seed, 150, 3),
1352
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 150, 3),
1353
1353
  variants: {
1354
1354
  basis: ["rebased" /* Rebased */, "absolute" /* Absolute */, "percent" /* Percent */, "log" /* Log */],
1355
1355
  curve: ["linear" /* Linear */, "step-after" /* StepAfter */, "monotone" /* Monotone */],
@@ -1633,7 +1633,7 @@ var HeikinAshiChart = (_class8 = class extends PriceChart {
1633
1633
  shape: "table" /* Table */,
1634
1634
  description: "Averages each session with the last to filter noise, so runs of one colour mark a sustained trend.",
1635
1635
  tags: ["candles", "trend", "smoothed"],
1636
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 72),
1636
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 72),
1637
1637
  variants: {
1638
1638
  smoothed: [false, true],
1639
1639
  hollow: [false, true],
@@ -1668,7 +1668,7 @@ var IchimokuCloud = (_class9 = class extends PriceChart {
1668
1668
  shape: "table" /* Table */,
1669
1669
  description: "Projects a cloud of future support ahead of price, with conversion and base lines showing momentum.",
1670
1670
  tags: ["kumo", "kinko hyo", "trend", "tenkan", "kijun"],
1671
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 130),
1671
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 130),
1672
1672
  variants: {
1673
1673
  periods: ["9-26-52" /* Classic */, "7-22-44" /* Fast */, "10-30-60" /* Slow */],
1674
1674
  mark: ["candles" /* Candles */, "line" /* Line */, "bars" /* Bars */],
@@ -1767,7 +1767,7 @@ var KagiChart = (_class10 = class extends BrickChart {constructor(...args3) { su
1767
1767
  shape: "table" /* Table */,
1768
1768
  description: "Follows price with a line that reverses only on a set move, changing weight when it breaks a prior shoulder or waist.",
1769
1769
  tags: ["yin yang", "shoulder", "waist", "price action"],
1770
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 240),
1770
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 240),
1771
1771
  variants: {
1772
1772
  method: ["atr" /* ATR */, "range" /* Range */, "percent" /* Percent */],
1773
1773
  source: ["close" /* Close */, "high-low" /* HighLow */],
@@ -1818,7 +1818,7 @@ var LineBreakChart = (_class11 = class extends BrickChart {
1818
1818
  shape: "table" /* Table */,
1819
1819
  description: "Adds a block only on a new high or low close, and reverses only when several prior blocks are broken.",
1820
1820
  tags: ["three line break", "kagi", "price action"],
1821
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 180),
1821
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 180),
1822
1822
  variants: {
1823
1823
  lines: [3, 2, 4],
1824
1824
  source: ["close" /* Close */, "high-low" /* HighLow */],
@@ -1891,7 +1891,7 @@ var MACDChart = (_class12 = class extends OscillatorChart {
1891
1891
  shape: "table" /* Table */,
1892
1892
  description: "Tracks the gap between fast and slow moving averages, with a histogram showing momentum building or fading.",
1893
1893
  tags: ["momentum", "oscillator", "ppo", "histogram", "signal"],
1894
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 120),
1894
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 120),
1895
1895
  variants: {
1896
1896
  periods: ["12-26-9" /* Standard */, "5-35-5" /* Fast */, "8-17-9" /* Wide */],
1897
1897
  average: ["exponential" /* Exponential */, "simple" /* Simple */],
@@ -2102,7 +2102,7 @@ var SAMPLE_DAYS = [8, 9, 12, 13, 14];
2102
2102
  var SAMPLE_BRACKETS = 13;
2103
2103
  var time = _d3.utcFormat.call(void 0, "%H:%M");
2104
2104
  var sampleSessions = (seed) => {
2105
- const rows = _chunkUMEKIIHJcjs.SampleData.ohlc(seed, SAMPLE_DAYS.length * SAMPLE_BRACKETS);
2105
+ const rows = _chunkLNWTC72Ycjs.SampleData.ohlc(seed, SAMPLE_DAYS.length * SAMPLE_BRACKETS);
2106
2106
  let level = 100;
2107
2107
  return SAMPLE_DAYS.flatMap((day, s) => {
2108
2108
  const session = rows.slice(s * SAMPLE_BRACKETS, (s + 1) * SAMPLE_BRACKETS);
@@ -2252,7 +2252,7 @@ var OHLCChart = (_class14 = class extends PriceChart {
2252
2252
  shape: "table" /* Table */,
2253
2253
  description: "Draws each session as a high-low bar with open and close ticks, keeping dense price series precise.",
2254
2254
  tags: ["hlc", "bar", "stock", "price"],
2255
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 72),
2255
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 72),
2256
2256
  variants: {
2257
2257
  ticks: ["open-close" /* OpenClose */, "close-only" /* CloseOnly */, "range-only" /* RangeOnly */],
2258
2258
  overlay: ["none" /* None */, "sma" /* SMA */, "ema" /* EMA */, "donchian" /* Donchian */],
@@ -2281,7 +2281,7 @@ var PayoffDiagram = (_class15 = class extends _chunkXX2YTCORcjs.CartesianChart {
2281
2281
  description: "Plots profit and loss of an options position across underlying prices, marking breakevens and maximum risk.",
2282
2282
  tags: ["options", "hockey stick", "straddle", "condor", "spread", "pnl", "breakeven"],
2283
2283
  sample: (seed) => {
2284
- const spot = Math.round(+_chunkUMEKIIHJcjs.SampleData.ohlc(seed, 30).at(-1).close);
2284
+ const spot = Math.round(+_chunkLNWTC72Ycjs.SampleData.ohlc(seed, 30).at(-1).close);
2285
2285
  return [{ type: "call", strike: spot, premium: 4.2, quantity: 1 }, { type: "call", strike: spot + 10, premium: 1.3, quantity: -1 }];
2286
2286
  },
2287
2287
  variants: {
@@ -2447,7 +2447,7 @@ var PointFigureChart = (_class16 = class extends BrickChart {constructor(...args
2447
2447
  shape: "table" /* Table */,
2448
2448
  description: "Records only meaningful moves as columns of X and O on a box grid, making breakouts and targets explicit.",
2449
2449
  tags: ["p&f", "x and o", "box", "reversal"],
2450
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 240),
2450
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 240),
2451
2451
  variants: {
2452
2452
  method: ["atr" /* ATR */, "range" /* Range */, "percent" /* Percent */],
2453
2453
  reversal: [3, 2, 1],
@@ -2537,7 +2537,7 @@ var ProjectionCone = (_class17 = class extends SessionChart {
2537
2537
  shape: "table" /* Table */,
2538
2538
  description: "Extends a price forward as nested probability bands that widen with time, showing the range of plausible outcomes.",
2539
2539
  tags: ["fan chart", "forecast", "scenario", "percentile", "risk"],
2540
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 90),
2540
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 90),
2541
2541
  variants: {
2542
2542
  model: ["lognormal" /* Lognormal */, "normal" /* Normal */, "empirical" /* Empirical */],
2543
2543
  bands: ["graded" /* Graded */, "central-50" /* Fifty */, "central-90" /* Ninety */],
@@ -2670,8 +2670,8 @@ var SYMBOLS = 6;
2670
2670
  var RelativeStrengthRotationSamples = class {
2671
2671
  /** `{ date, series, close, benchmark }`, long form, with every symbol cycling around the benchmark at its own pace. */
2672
2672
  static prices(seed) {
2673
- const benchmark = _chunkUMEKIIHJcjs.SampleData.ohlc(seed, BARS);
2674
- const noise = _chunkUMEKIIHJcjs.SampleData.timeSeries(seed, BARS, SYMBOLS);
2673
+ const benchmark = _chunkLNWTC72Ycjs.SampleData.ohlc(seed, BARS);
2674
+ const noise = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, BARS, SYMBOLS);
2675
2675
  return noise.map((row, i) => {
2676
2676
  const bar = i % BARS, symbol2 = Math.floor(i / BARS);
2677
2677
  const period = 42 + symbol2 * 5, phase = symbol2 * 2.1 + seed;
@@ -2912,7 +2912,7 @@ var RenkoChart = (_class19 = class extends BrickChart {
2912
2912
  shape: "table" /* Table */,
2913
2913
  description: "Stacks fixed-size bricks as price moves, stripping out time and small fluctuations to expose trend.",
2914
2914
  tags: ["bricks", "price action", "atr"],
2915
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 240),
2915
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 240),
2916
2916
  variants: {
2917
2917
  method: ["atr" /* ATR */, "range" /* Range */, "percent" /* Percent */],
2918
2918
  source: ["close" /* Close */, "high-low" /* HighLow */],
@@ -2950,7 +2950,7 @@ var ReturnCalendar = (_class20 = class extends _chunkEEF5WRRZcjs.Chart2D {
2950
2950
  shape: "table" /* Table */,
2951
2951
  description: "Arranges monthly or quarterly returns in a year-by-period table, with polarity colour for gains and losses.",
2952
2952
  tags: ["monthly returns", "seasonality", "heatmap", "tearsheet"],
2953
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 1095),
2953
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 1095),
2954
2954
  variants: {
2955
2955
  measure: ["return" /* Return */, "excess" /* Excess */],
2956
2956
  grain: ["monthly" /* Month */, "quarterly" /* Quarter */],
@@ -3054,7 +3054,7 @@ var RSIChart = (_class21 = class extends OscillatorChart {
3054
3054
  shape: "table" /* Table */,
3055
3055
  description: "Scores recent gains against losses from 0 to 100, flagging moves that have run too far too fast.",
3056
3056
  tags: ["momentum", "oscillator", "overbought", "stochastic rsi", "cutler"],
3057
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 110),
3057
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 110),
3058
3058
  variants: {
3059
3059
  period: [14, 7, 21],
3060
3060
  smoothing: ["wilder" /* Wilder */, "simple" /* Simple */, "exponential" /* Exponential */],
@@ -3097,7 +3097,7 @@ var StochasticChart = (_class22 = class extends OscillatorChart {
3097
3097
  shape: "table" /* Table */,
3098
3098
  description: "Places each close within its recent high-low range, with %K and %D crossings signalling reversals.",
3099
3099
  tags: ["momentum", "oscillator", "kd", "overbought"],
3100
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 110),
3100
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 110),
3101
3101
  variants: {
3102
3102
  period: [14, 5, 21],
3103
3103
  form: ["slow" /* Slow */, "fast" /* Fast */, "full" /* Full */],
@@ -3148,7 +3148,7 @@ var VolatilitySurface = (_class23 = class extends _chunk6KYVL5HYcjs.Chart3D {
3148
3148
  description: "Maps implied volatility over strike and expiry as a 3D surface, exposing smile, skew and term structure.",
3149
3149
  tags: ["implied volatility", "smile", "skew", "options", "term structure"],
3150
3150
  sample: (seed) => {
3151
- const { x, y, z } = _chunkUMEKIIHJcjs.SampleData.surface(seed, 30);
3151
+ const { x, y, z } = _chunkLNWTC72Ycjs.SampleData.surface(seed, 30);
3152
3152
  const strikes = x.map((value) => +(100 + value * 40).toFixed(1)), days = y.map((value) => Math.round(30 + (value + 1) * 165));
3153
3153
  const vols = z.map((row, j) => row.map((wobble, i) => {
3154
3154
  const money = x[i], tenor = (y[j] + 1) / 2;
@@ -3271,7 +3271,7 @@ var VolumeBars = (_class24 = class extends SessionChart {
3271
3271
  shape: "table" /* Table */,
3272
3272
  description: "Shows volume by session, coloured by direction, as shares, notional, relative volume or on-balance volume.",
3273
3273
  tags: ["turnover", "obv", "relative volume", "notional"],
3274
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 80),
3274
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 80),
3275
3275
  variants: {
3276
3276
  measure: ["shares" /* Shares */, "notional" /* Notional */, "relative" /* Relative */, "on-balance" /* Balance */],
3277
3277
  mark: ["bars" /* Bars */, "area" /* Area */, "lollipop" /* Lollipop */],
@@ -3380,7 +3380,7 @@ var VolumeProfile = (_class25 = class extends PriceChart {
3380
3380
  shape: "table" /* Table */,
3381
3381
  description: "Stacks traded volume on the price axis, revealing the point of control and the value area around it.",
3382
3382
  tags: ["market profile", "poc", "value area", "vpvr", "delta"],
3383
- sample: (seed) => _chunkUMEKIIHJcjs.SampleData.ohlc(seed, 90),
3383
+ sample: (seed) => _chunkLNWTC72Ycjs.SampleData.ohlc(seed, 90),
3384
3384
  variants: {
3385
3385
  backdrop: ["candles" /* Candles */, "line" /* Line */, "bars" /* Bars */],
3386
3386
  bins: [24, 48],
@@ -3506,7 +3506,7 @@ var YieldCurve = (_class26 = class extends _chunkXX2YTCORcjs.CartesianChart {con
3506
3506
  const names = /* @__PURE__ */ new Map([["Alpha", "Today"], ["Bravo", "3M ago"], ["Charlie", "1Y ago"]]);
3507
3507
  const tilt = /* @__PURE__ */ new Map([["Alpha", -0.32], ["Bravo", 0.05], ["Charlie", 0.42]]);
3508
3508
  const level = /* @__PURE__ */ new Map([["Alpha", 4.9], ["Bravo", 4.1], ["Charlie", 2.9]]);
3509
- return _chunkUMEKIIHJcjs.SampleData.timeSeries(seed, TENORS.length, 3).map((row, i) => {
3509
+ return _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, TENORS.length, 3).map((row, i) => {
3510
3510
  const years = TENORS[i % TENORS.length], name = String(row.series);
3511
3511
  const hump = 0.5 * Math.exp(-((Math.log(years) - 1.2) ** 2));
3512
3512
  return { tenor: tenorLabel(years), series: names.get(name), value: +(level.get(name) + tilt.get(name) * Math.log1p(years) + (name === "Alpha" ? -hump : hump) + +row.value % 1 / 12).toFixed(2) };
@@ -6,7 +6,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
6
6
  var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
7
7
 
8
8
 
9
- var _chunkUMEKIIHJcjs = require('./chunk-UMEKIIHJ.cjs');
9
+ var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
10
10
 
11
11
  // src/charts/demography/LexisCells.ts
12
12
  var _d3 = require('d3');
@@ -387,7 +387,7 @@ var AGE = 64;
387
387
  var YEARS = 30;
388
388
  var AGES = 18;
389
389
  function lexisSample(seed) {
390
- const { values } = _chunkUMEKIIHJcjs.SampleData.matrix(seed, AGES, YEARS);
390
+ const { values } = _chunkLNWTC72Ycjs.SampleData.matrix(seed, AGES, YEARS);
391
391
  const hazard = (year, age, cohort) => 0.018 * Math.exp(0.09 * (age - AGE)) * Math.exp(-0.014 * (year - YEAR)) * (Math.abs(cohort - 1918) <= 1 ? 1.25 : 1);
392
392
  const rows = values.flatMap((line, a) => line.flatMap((noise, y) => {
393
393
  const year = YEAR + y, age = AGE + a;
@@ -396,7 +396,7 @@ function lexisSample(seed) {
396
396
  return { year, age, cohort, deaths: Math.round(exposure * hazard(year, age + (upper ? 0.67 : 0.33), cohort) * Math.exp(0.04 * noise)), exposure };
397
397
  });
398
398
  }));
399
- const lives = _chunkUMEKIIHJcjs.SampleData.points(seed, 12).map(({ x, y, size }) => {
399
+ const lives = _chunkLNWTC72Ycjs.SampleData.points(seed, 12).map(({ x, y, size }) => {
400
400
  const birth = +(1896 + x * 0.8).toFixed(2), died = birth + 64 + y * 0.4;
401
401
  return { birth, exit: +Math.min(died, YEAR + YEARS - 0.5).toFixed(2), event: died < YEAR + YEARS - 0.5 && size > 8 ? 1 : 0 };
402
402
  });
@@ -872,7 +872,7 @@ var Nomogram = (_class2 = class extends _chunkEEF5WRRZcjs.Chart2D {
872
872
  }
873
873
  }, _class2.__initStatic2(), _class2);
874
874
  function nomogramSample(seed) {
875
- const rows = _chunkUMEKIIHJcjs.SampleData.categories(seed, 7, 8);
875
+ const rows = _chunkLNWTC72Ycjs.SampleData.categories(seed, 7, 8);
876
876
  const places = [...new Set(rows.map((row) => row.category))];
877
877
  return places.map((place) => {
878
878
  const [a, b, c, d, e, f, g, h] = rows.filter((row) => row.category === place).map((row) => (row.value - 20) / 80);
@@ -9,7 +9,7 @@ var _chunkEEF5WRRZcjs = require('./chunk-EEF5WRRZ.cjs');
9
9
  var _chunkPY4R3IFFcjs = require('./chunk-PY4R3IFF.cjs');
10
10
 
11
11
 
12
- var _chunkUMEKIIHJcjs = require('./chunk-UMEKIIHJ.cjs');
12
+ var _chunkLNWTC72Ycjs = require('./chunk-LNWTC72Y.cjs');
13
13
 
14
14
  // src/charts/engineering/EngineeringChart.ts
15
15
  var _d3 = require('d3');
@@ -281,7 +281,7 @@ var TransferFunction = class _TransferFunction {
281
281
  }
282
282
  /** Two stable third-order loops derived from sample points, with low-frequency gain above 0 dB. */
283
283
  static demoLoops(seed, count = 2) {
284
- const rows = _chunkUMEKIIHJcjs.SampleData.points(seed, count * 4, count);
284
+ const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, count * 4, count);
285
285
  return Array.from({ length: count }, (_, g) => {
286
286
  const [a, b, c, d] = rows.filter((_2, i) => i % count === g).map(unit);
287
287
  const corners = [0.4 + 0.5 * a, 1.6 + 2 * b, 6 + 8 * c];
@@ -296,7 +296,7 @@ var TransferFunction = class _TransferFunction {
296
296
  }
297
297
  /** A loop with an integrator, a resonant pair and a zero, as pole-zero rows. */
298
298
  static demoPoles(seed) {
299
- const [a, b, c, d] = _chunkUMEKIIHJcjs.SampleData.points(seed, 4, 1).map(unit);
299
+ const [a, b, c, d] = _chunkLNWTC72Ycjs.SampleData.points(seed, 4, 1).map(unit);
300
300
  const pair = [-1 - a, 1.2 + 2 * b];
301
301
  const poles = [[0, 0], pair, [pair[0], -pair[1]], [-6 - 2 * c, 0]];
302
302
  return [
@@ -491,7 +491,7 @@ function lattice(modulation) {
491
491
  }
492
492
  function sampleSymbols(seed) {
493
493
  const ideal = lattice("16qam" /* Qam16 */);
494
- return _chunkUMEKIIHJcjs.SampleData.points(seed, 600, 1).map((row, n) => {
494
+ return _chunkLNWTC72Ycjs.SampleData.points(seed, 600, 1).map((row, n) => {
495
495
  const n1 = (+row.x - 20) / 8, n2 = (+row.y - +row.x * 0.8 - 10) / 9;
496
496
  const [a, b] = ideal[(n * 7 + Math.floor(+row.size * 10)) % 16];
497
497
  return { i: +(a + n1 * 0.045).toFixed(4), q: +(b + n2 * 0.045).toFixed(4) };
@@ -601,8 +601,8 @@ var COLUMNS = 120;
601
601
  var ROWS = 70;
602
602
  var TRACE_LIMIT = 300;
603
603
  function sampleWaveform(seed) {
604
- const bits = _chunkUMEKIIHJcjs.SampleData.distribution(seed, 200, 1).map((row) => +row.value > 40 ? 1 : 0);
605
- const noise = _chunkUMEKIIHJcjs.SampleData.distribution(seed + 1, 397, 1).map((row) => (+row.value - 40) / 8);
604
+ const bits = _chunkLNWTC72Ycjs.SampleData.distribution(seed, 200, 1).map((row) => +row.value > 40 ? 1 : 0);
605
+ const noise = _chunkLNWTC72Ycjs.SampleData.distribution(seed + 1, 397, 1).map((row) => (+row.value - 40) / 8);
606
606
  const perBit = 24;
607
607
  let level = 0;
608
608
  return bits.flatMap((bit, b) => Array.from({ length: perBit }, (_, i) => {
@@ -753,7 +753,7 @@ var FatigueFit = /* @__PURE__ */ ((FatigueFit2) => {
753
753
  var REGIMES = [{ key: "Low cycle", from: 0, to: 1e4 }, { key: "High cycle", from: 1e4, to: 1e7 }, { key: "Very high", from: 1e7, to: Infinity }];
754
754
  function sampleTests(seed) {
755
755
  const levels2 = [1, 0.85, 0.72, 0.6, 0.5, 0.42, 0.36, 0.3];
756
- return _chunkUMEKIIHJcjs.SampleData.points(seed, 48, 2).map((row, i) => {
756
+ return _chunkLNWTC72Ycjs.SampleData.points(seed, 48, 2).map((row, i) => {
757
757
  const steel = i % 2 === 0, top = steel ? 720 : 420, strength = steel ? 1200 : 780, slope = steel ? -0.1 : -0.12;
758
758
  const stress = top * levels2[(i >> 1) % 8];
759
759
  const life = (stress / strength) ** (1 / slope) * 10 ** ((+row.y - +row.x * 0.8 - 10) / 9 * 0.22);
@@ -862,7 +862,7 @@ var GoodmanLayout = /* @__PURE__ */ ((GoodmanLayout2) => {
862
862
  GoodmanLayout2["Smith"] = "smith";
863
863
  return GoodmanLayout2;
864
864
  })(GoodmanLayout || {});
865
- var sampleLoads = (seed) => _chunkUMEKIIHJcjs.SampleData.points(seed, 9, 3).map((row, i) => ({
865
+ var sampleLoads = (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 9, 3).map((row, i) => ({
866
866
  series: ["Static bias", "Cyclic", "Shock"][i % 3],
867
867
  mean: +(+row.x * (2.6 + i % 3)).toFixed(0),
868
868
  amplitude: +(+row.y * (1 + 0.5 * (i % 3)) + 40).toFixed(0)
@@ -984,7 +984,7 @@ var GoodmanDiagram = (_class5 = class extends EngineeringChart {
984
984
  // src/charts/engineering/HysteresisLoopChart.ts
985
985
  var MU0 = 4e-7 * Math.PI;
986
986
  function sampleLoops(seed) {
987
- const trims = _chunkUMEKIIHJcjs.SampleData.categories(seed, 2, 1).map((row) => 0.9 + (+row.value - 20) / 400);
987
+ const trims = _chunkLNWTC72Ycjs.SampleData.categories(seed, 2, 1).map((row) => 0.9 + (+row.value - 20) / 400);
988
988
  const materials = [["Silicon steel", 1.7, 90, 110, 900], ["Ferrite", 0.42, 28, 45, 900]];
989
989
  return materials.flatMap(([material, saturation, coercive, knee, top], m) => {
990
990
  const hc = coercive * trims[m], branch = (h, side) => saturation * Math.tanh((h + side * hc) / knee) + MU0 * h;
@@ -1108,7 +1108,7 @@ var IVQuadrant = /* @__PURE__ */ ((IVQuadrant2) => {
1108
1108
  return IVQuadrant2;
1109
1109
  })(IVQuadrant || {});
1110
1110
  function sampleCell(seed) {
1111
- const trims = _chunkUMEKIIHJcjs.SampleData.categories(seed, 4, 1).map((row) => 0.97 + (+row.value - 20) / 1300);
1111
+ const trims = _chunkLNWTC72Ycjs.SampleData.categories(seed, 4, 1).map((row) => 0.97 + (+row.value - 20) / 1300);
1112
1112
  return [1e3, 800, 500, 200].flatMap((irradiance, c) => {
1113
1113
  const light = 9.2 * (irradiance / 1e3) * trims[c], saturation = 2e-9, thermal = 0.0257 * 1.2 * 60, series = 0.25, shunt = 280;
1114
1114
  return Array.from({ length: 81 }, (_, i) => {
@@ -1268,8 +1268,8 @@ var unit2 = (values) => {
1268
1268
  return values.map((value) => (value - low) / (high - low || 1));
1269
1269
  };
1270
1270
  function sampleLoadDuration(seed) {
1271
- const { n } = _chunkUMEKIIHJcjs.SampleData.rng(seed);
1272
- const walks = _chunkUMEKIIHJcjs.SampleData.timeSeries(seed, 365, 2).map((row) => +row.value);
1271
+ const { n } = _chunkLNWTC72Ycjs.SampleData.rng(seed);
1272
+ const walks = _chunkLNWTC72Ycjs.SampleData.timeSeries(seed, 365, 2).map((row) => +row.value);
1273
1273
  const demand = unit2(walks.slice(0, 365)), wind = unit2(walks.slice(365));
1274
1274
  return Array.from({ length: 8760 }, (_, hour) => {
1275
1275
  const day = Math.floor(hour / 24), clock = hour % 24;
@@ -1417,7 +1417,7 @@ var LoadLineSet = /* @__PURE__ */ ((LoadLineSet2) => {
1417
1417
  return LoadLineSet2;
1418
1418
  })(LoadLineSet || {});
1419
1419
  function sampleCurves(seed) {
1420
- const trims = _chunkUMEKIIHJcjs.SampleData.categories(seed, 5, 1).map((row) => 0.92 + (+row.value - 20) / 500);
1420
+ const trims = _chunkLNWTC72Ycjs.SampleData.categories(seed, 5, 1).map((row) => 0.92 + (+row.value - 20) / 500);
1421
1421
  return [2.5, 3, 3.5, 4, 4.5].flatMap((vgs, c) => Array.from({ length: 61 }, (_, i) => {
1422
1422
  const voltage = i * 0.25, drive = vgs - 2, saturated = voltage >= drive;
1423
1423
  const current = 12 * trims[c] * (saturated ? drive * drive : 2 * drive * voltage - voltage * voltage) * (1 + 0.012 * voltage);
@@ -1544,7 +1544,7 @@ var MohrShearAxis = /* @__PURE__ */ ((MohrShearAxis2) => {
1544
1544
  MohrShearAxis2["Down"] = "shear-down";
1545
1545
  return MohrShearAxis2;
1546
1546
  })(MohrShearAxis || {});
1547
- var sampleStresses = (seed) => _chunkUMEKIIHJcjs.SampleData.points(seed, 2, 2).map((row, i) => ({
1547
+ var sampleStresses = (seed) => _chunkLNWTC72Ycjs.SampleData.points(seed, 2, 2).map((row, i) => ({
1548
1548
  element: i ? "Weld toe" : "Fillet",
1549
1549
  sigmaX: +(+row.x * (i ? 0.8 : 1.6)).toFixed(1),
1550
1550
  sigmaY: +(+row.y * (i ? -0.5 : 0.4) - 10).toFixed(1),
@@ -1703,7 +1703,7 @@ var ISOTHERMS = [200, 300, 400, 500, 600];
1703
1703
  var QUALITIES = [0.2, 0.4, 0.6, 0.8];
1704
1704
  var DOME = Array.from({ length: 40 }, (_, i) => 10 + i * 364.14 / 39);
1705
1705
  function sampleRankine(seed) {
1706
- const [a, b] = _chunkUMEKIIHJcjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
1706
+ const [a, b] = _chunkLNWTC72Ycjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
1707
1707
  const boiler = 80 + 40 * a, top = 500 + 60 * b, condenser = 0.1;
1708
1708
  const cold = SteamModel.saturationTemperature(condenser), hot = SteamModel.saturationTemperature(boiler);
1709
1709
  const liquid = SteamModel.wet(cold, 0), inlet = SteamModel.superheated(boiler, top);
@@ -1830,7 +1830,7 @@ function colebrook(re, rough) {
1830
1830
  var LAWS = { ["colebrook" /* Colebrook */]: colebrook, ["haaland" /* Haaland */]: haaland, ["swamee-jain" /* SwameeJain */]: swamee };
1831
1831
  function samplePipes(seed) {
1832
1832
  const pipes = [["Drawn copper", 1e-4], ["Commercial steel", 1e-3], ["Cast iron", 0.01]];
1833
- return _chunkUMEKIIHJcjs.SampleData.points(seed, 30, 3).map((row, i) => {
1833
+ return _chunkLNWTC72Ycjs.SampleData.points(seed, 30, 3).map((row, i) => {
1834
1834
  const [pipe, rough] = pipes[i % 3], reynolds = 10 ** (4.2 + (+row.size - 3) / 30 * 3);
1835
1835
  return { pipe, reynolds: Math.round(reynolds), friction: +(colebrook(reynolds, rough) * (1 + (+row.y - +row.x * 0.8 - 10) / 9 * 0.03)).toFixed(5) };
1836
1836
  });
@@ -2340,7 +2340,7 @@ var pressureAt = (elevation) => 101.325 * (1 - 225577e-10 * elevation) ** 5.2559
2340
2340
  var ratioOf = (vapour, pressure) => 0.62198 * vapour / (pressure - vapour);
2341
2341
  var enthalpyRatio = (h, t) => (h - 1.006 * t) / (2501 + 1.86 * t);
2342
2342
  function sampleProcess(seed) {
2343
- const [a, b] = _chunkUMEKIIHJcjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2343
+ const [a, b] = _chunkLNWTC72Ycjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2344
2344
  const state = (temperature, humidity, process) => ({ temperature, humidityRatio: +ratioOf(humidity / 100 * saturationPressure(temperature), 101.325).toFixed(5), process });
2345
2345
  const outdoor = 32 + 4 * a, indoor = 24 + b, mixed = (outdoor + 2 * indoor) / 3;
2346
2346
  return [
@@ -2461,7 +2461,7 @@ var PumpArrangement = /* @__PURE__ */ ((PumpArrangement2) => {
2461
2461
  })(PumpArrangement || {});
2462
2462
  var LEVELS = [0.6, 0.7, 0.76];
2463
2463
  function samplePump(seed) {
2464
- const [a, b] = _chunkUMEKIIHJcjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2464
+ const [a, b] = _chunkLNWTC72Ycjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2465
2465
  const shutoff = 46 + 8 * a, reach = 300 + 60 * b;
2466
2466
  return [1, 0.87, 0.74].flatMap((ratio) => Array.from({ length: 41 }, (_, i) => {
2467
2467
  const share2 = 0.02 + i / 40 * 0.98, flow = share2 * reach * ratio, head = (shutoff - shutoff * 0.8 * share2 ** 2.1 + 3 * share2) * ratio * ratio;
@@ -2694,7 +2694,7 @@ var cascade = (m, n) => [
2694
2694
  add(mul(m[2], n[1]), mul(m[3], n[3]))
2695
2695
  ];
2696
2696
  function sampleSParameters(seed) {
2697
- const [a, b] = _chunkUMEKIIHJcjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2697
+ const [a, b] = _chunkLNWTC72Ycjs.SampleData.points(seed, 2, 1).map((row) => (+row.size - 3) / 30);
2698
2698
  const center = 2e9 * (0.95 + 0.1 * a), fraction = 0.25, z0 = 50, w0 = 2 * Math.PI * center;
2699
2699
  const sections = [{ g: 1, series: true }, { g: 2 * (0.92 + 0.16 * b), series: false }, { g: 1.15, series: true }];
2700
2700
  return Array.from({ length: 161 }, (_, i) => 1e9 + i * 125e5).flatMap((frequency) => {
@@ -2979,7 +2979,7 @@ var StepHold = /* @__PURE__ */ ((StepHold2) => {
2979
2979
  return StepHold2;
2980
2980
  })(StepHold || {});
2981
2981
  function sampleSteps(seed) {
2982
- const rows = _chunkUMEKIIHJcjs.SampleData.points(seed, 4, 2).map((row) => (+row.size - 3) / 30);
2982
+ const rows = _chunkLNWTC72Ycjs.SampleData.points(seed, 4, 2).map((row) => (+row.size - 3) / 30);
2983
2983
  return [[0.22 + 0.12 * rows[0], 1.8 + rows[1], "Underdamped"], [0.55 + 0.2 * rows[2], 1.6 + rows[3], "Tuned"]].flatMap(([zeta, wn, system]) => {
2984
2984
  const z = zeta, w = wn, wd = w * Math.sqrt(1 - z * z);
2985
2985
  return Array.from({ length: 161 }, (_, i) => {
@@ -3079,7 +3079,7 @@ var StressRange = /* @__PURE__ */ ((StressRange2) => {
3079
3079
  })(StressRange || {});
3080
3080
  var MATERIALS = [["Alloy steel", 205e3, 620, 800, 0.11, 0.17], ["Mild steel", 2e5, 300, 440, 0.2, 0.32], ["Al 6061-T6", 69e3, 275, 315, 0.09, 0.15]];
3081
3081
  function sampleTensile(seed) {
3082
- const trims = _chunkUMEKIIHJcjs.SampleData.categories(seed, 3, 1).map((row) => 0.96 + (+row.value - 20) / 1e3);
3082
+ const trims = _chunkLNWTC72Ycjs.SampleData.categories(seed, 3, 1).map((row) => 0.96 + (+row.value - 20) / 1e3);
3083
3083
  return MATERIALS.flatMap(([material, modulus, yieldStress, ultimate, uniform, fracture], m) => {
3084
3084
  const trim = trims[m], yieldStrain = yieldStress * trim / modulus;
3085
3085
  return Array.from({ length: 180 }, (_, i) => {
@@ -3179,7 +3179,7 @@ var ThermalRender = /* @__PURE__ */ ((ThermalRender2) => {
3179
3179
  })(ThermalRender || {});
3180
3180
  var PROFILE = [[0, 25], [90, 150], [180, 190], [235, 246], [255, 246], [305, 120], [345, 60]];
3181
3181
  function sampleReflow(seed) {
3182
- const trims = _chunkUMEKIIHJcjs.SampleData.categories(seed, 4, 1).map((row) => (+row.value - 60) / 40);
3182
+ const trims = _chunkLNWTC72Ycjs.SampleData.categories(seed, 4, 1).map((row) => (+row.value - 60) / 40);
3183
3183
  const curve = (moment) => {
3184
3184
  const t = Math.max(0, Math.min(PROFILE[PROFILE.length - 1][0], moment));
3185
3185
  const i = Math.max(1, PROFILE.findIndex((p) => p[0] >= t));