benchforge 0.1.11 → 0.2.4

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 (253) hide show
  1. package/LICENSE +20 -0
  2. package/README.md +99 -294
  3. package/bin/benchforge +1 -2
  4. package/dist/AnalyzeArchive-8NCJhmhS.mjs +145 -0
  5. package/dist/AnalyzeArchive-8NCJhmhS.mjs.map +1 -0
  6. package/dist/BenchMatrix-BZVrBB_h.mjs +1050 -0
  7. package/dist/BenchMatrix-BZVrBB_h.mjs.map +1 -0
  8. package/dist/{BenchRunner-BzyUfiyB.d.mts → BenchRunner-DglX1NOn.d.mts} +119 -66
  9. package/dist/CoverageSampler-D5T9DRqe.mjs +27 -0
  10. package/dist/CoverageSampler-D5T9DRqe.mjs.map +1 -0
  11. package/dist/Formatters-BWj3d4sv.mjs +95 -0
  12. package/dist/Formatters-BWj3d4sv.mjs.map +1 -0
  13. package/dist/{HeapSampler-B8dtKHn1.mjs → HeapSampler-Dq-hpXem.mjs} +4 -4
  14. package/dist/HeapSampler-Dq-hpXem.mjs.map +1 -0
  15. package/dist/RunBenchCLI-C17DrJz8.mjs +3075 -0
  16. package/dist/RunBenchCLI-C17DrJz8.mjs.map +1 -0
  17. package/dist/StatisticalUtils-BD92crgM.mjs +255 -0
  18. package/dist/StatisticalUtils-BD92crgM.mjs.map +1 -0
  19. package/dist/TimeSampler-Ds8n7l2B.mjs +29 -0
  20. package/dist/TimeSampler-Ds8n7l2B.mjs.map +1 -0
  21. package/dist/ViewerServer-BJhdnxlN.mjs +639 -0
  22. package/dist/ViewerServer-BJhdnxlN.mjs.map +1 -0
  23. package/dist/ViewerServer-CuMNdNBz.mjs +2 -0
  24. package/dist/bin/benchforge.mjs +4 -5
  25. package/dist/bin/benchforge.mjs.map +1 -1
  26. package/dist/index.d.mts +711 -558
  27. package/dist/index.mjs +98 -3
  28. package/dist/index.mjs.map +1 -0
  29. package/dist/runners/WorkerScript.d.mts +12 -4
  30. package/dist/runners/WorkerScript.mjs +77 -105
  31. package/dist/runners/WorkerScript.mjs.map +1 -1
  32. package/dist/viewer/assets/CIPlot-BkOvMoMa.js +1 -0
  33. package/dist/viewer/assets/HistogramKde-CmSyUFY0.js +1 -0
  34. package/dist/viewer/assets/LegendUtils-BJpbn_jr.js +55 -0
  35. package/dist/viewer/assets/SampleTimeSeries-C4VBhXr3.js +1 -0
  36. package/dist/viewer/assets/index-Br9bp_cX.js +153 -0
  37. package/dist/viewer/assets/index-NzXXe_CC.css +1 -0
  38. package/dist/viewer/index.html +19 -0
  39. package/dist/viewer/speedscope/LICENSE +21 -0
  40. package/dist/viewer/speedscope/SourceCodePro-Regular.ttf-ILST5JV6.woff2 +0 -0
  41. package/dist/viewer/speedscope/favicon-16x16-V2DMIAZS.js +2 -0
  42. package/dist/viewer/speedscope/favicon-16x16-V2DMIAZS.js.map +7 -0
  43. package/dist/viewer/speedscope/favicon-16x16-VSI62OPJ.png +0 -0
  44. package/dist/viewer/speedscope/favicon-32x32-3EB2YCUY.png +0 -0
  45. package/dist/viewer/speedscope/favicon-32x32-THY3JDJL.js +2 -0
  46. package/dist/viewer/speedscope/favicon-32x32-THY3JDJL.js.map +7 -0
  47. package/dist/viewer/speedscope/favicon-FOKUP5Y5.ico +0 -0
  48. package/dist/viewer/speedscope/favicon-M34RF7BI.js +2 -0
  49. package/dist/viewer/speedscope/favicon-M34RF7BI.js.map +7 -0
  50. package/dist/viewer/speedscope/file-format-schema.json +274 -0
  51. package/dist/viewer/speedscope/index.html +19 -0
  52. package/dist/viewer/speedscope/jfrview_bg-BLJXNNQB.wasm +0 -0
  53. package/dist/viewer/speedscope/perf-vertx-stacks-01-collapsed-all-ZNUIGAJL.txt +199 -0
  54. package/dist/viewer/speedscope/release.txt +3 -0
  55. package/dist/viewer/speedscope/source-code-pro.LICENSE.md +93 -0
  56. package/dist/viewer/speedscope/speedscope-GHPHNKXC.css +2 -0
  57. package/dist/viewer/speedscope/speedscope-GHPHNKXC.css.map +7 -0
  58. package/dist/viewer/speedscope/speedscope-QZFMJ7VP.js +212 -0
  59. package/dist/viewer/speedscope/speedscope-QZFMJ7VP.js.map +7 -0
  60. package/package.json +52 -27
  61. package/src/bin/benchforge.ts +2 -2
  62. package/src/cli/AnalyzeArchive.ts +232 -0
  63. package/src/cli/BrowserBench.ts +322 -0
  64. package/src/cli/CliArgs.ts +164 -51
  65. package/src/cli/CliExport.ts +179 -0
  66. package/src/cli/CliOptions.ts +147 -0
  67. package/src/cli/CliReport.ts +197 -0
  68. package/src/cli/FilterBenchmarks.ts +18 -30
  69. package/src/cli/RunBenchCLI.ts +132 -866
  70. package/src/cli/SuiteRunner.ts +160 -0
  71. package/src/cli/ViewerServer.ts +282 -0
  72. package/src/export/AllocExport.ts +121 -0
  73. package/src/export/ArchiveExport.ts +146 -0
  74. package/src/export/ArchiveFormat.ts +50 -0
  75. package/src/export/CoverageExport.ts +148 -0
  76. package/src/export/EditorUri.ts +10 -0
  77. package/src/export/PerfettoExport.ts +64 -99
  78. package/src/export/SpeedscopeTypes.ts +98 -0
  79. package/src/export/TimeExport.ts +115 -0
  80. package/src/index.ts +86 -67
  81. package/src/matrix/BenchMatrix.ts +230 -0
  82. package/src/matrix/CaseLoader.ts +8 -6
  83. package/src/matrix/MatrixDirRunner.ts +153 -0
  84. package/src/matrix/MatrixFilter.ts +49 -47
  85. package/src/matrix/MatrixInlineRunner.ts +50 -0
  86. package/src/matrix/MatrixReport.ts +90 -250
  87. package/src/matrix/VariantLoader.ts +5 -5
  88. package/src/profiling/browser/BenchLoop.ts +51 -0
  89. package/src/profiling/browser/BrowserCDP.ts +133 -0
  90. package/src/profiling/browser/BrowserGcStats.ts +33 -0
  91. package/src/profiling/browser/BrowserProfiler.ts +160 -0
  92. package/src/profiling/browser/CdpClient.ts +82 -0
  93. package/src/profiling/browser/CdpPage.ts +138 -0
  94. package/src/profiling/browser/ChromeLauncher.ts +158 -0
  95. package/src/profiling/browser/ChromeTraceEvent.ts +28 -0
  96. package/src/profiling/browser/PageLoadMode.ts +61 -0
  97. package/src/profiling/node/CoverageSampler.ts +27 -0
  98. package/src/profiling/node/CoverageTypes.ts +23 -0
  99. package/src/profiling/node/HeapSampleReport.ts +261 -0
  100. package/src/{heap-sample → profiling/node}/HeapSampler.ts +1 -2
  101. package/src/{heap-sample → profiling/node}/ResolvedProfile.ts +18 -9
  102. package/src/profiling/node/TimeSampler.ts +57 -0
  103. package/src/report/BenchmarkReport.ts +146 -0
  104. package/src/report/Colors.ts +9 -0
  105. package/src/report/Formatters.ts +110 -0
  106. package/src/report/GcSections.ts +151 -0
  107. package/src/{GitUtils.ts → report/GitUtils.ts} +18 -19
  108. package/src/report/HtmlReport.ts +223 -0
  109. package/src/report/ParseStats.ts +73 -0
  110. package/src/report/StandardSections.ts +147 -0
  111. package/src/report/ViewerSections.ts +286 -0
  112. package/src/report/text/TableReport.ts +253 -0
  113. package/src/report/text/TextReport.ts +123 -0
  114. package/src/runners/AdaptiveWrapper.ts +116 -236
  115. package/src/runners/BenchRunner.ts +20 -15
  116. package/src/{Benchmark.ts → runners/BenchmarkSpec.ts} +5 -6
  117. package/src/runners/CreateRunner.ts +5 -7
  118. package/src/runners/GcStats.ts +47 -50
  119. package/src/{MeasuredResults.ts → runners/MeasuredResults.ts} +43 -37
  120. package/src/runners/MergeBatches.ts +123 -0
  121. package/src/{NodeGC.ts → runners/NodeGC.ts} +2 -3
  122. package/src/runners/RunnerOrchestrator.ts +127 -243
  123. package/src/runners/RunnerUtils.ts +75 -1
  124. package/src/runners/SampleStats.ts +100 -0
  125. package/src/runners/TimingRunner.ts +244 -0
  126. package/src/runners/TimingUtils.ts +3 -2
  127. package/src/runners/WorkerScript.ts +135 -151
  128. package/src/stats/BootstrapDifference.ts +282 -0
  129. package/src/{PermutationTest.ts → stats/PermutationTest.ts} +8 -17
  130. package/src/stats/StatisticalUtils.ts +445 -0
  131. package/src/{tests → test}/AdaptiveConvergence.test.ts +10 -10
  132. package/src/test/AdaptiveRunner.test.ts +39 -41
  133. package/src/{tests → test}/AdaptiveSampling.test.ts +9 -9
  134. package/src/test/AdaptiveStatistics.integration.ts +2 -2
  135. package/src/{tests → test}/BenchMatrix.test.ts +19 -16
  136. package/src/test/BenchmarkReport.test.ts +63 -13
  137. package/src/test/BrowserBench.e2e.test.ts +186 -17
  138. package/src/test/BrowserBench.test.ts +10 -5
  139. package/src/test/BuildTimeSection.test.ts +130 -0
  140. package/src/test/CapSamples.test.ts +82 -0
  141. package/src/test/CoverageExport.test.ts +115 -0
  142. package/src/test/CoverageSampler.test.ts +33 -0
  143. package/src/test/HeapAttribution.test.ts +14 -14
  144. package/src/{tests → test}/MatrixFilter.test.ts +1 -1
  145. package/src/{tests → test}/MatrixReport.test.ts +1 -1
  146. package/src/test/PermutationTest.test.ts +1 -1
  147. package/src/{tests → test}/RealDataValidation.test.ts +6 -6
  148. package/src/test/RunBenchCLI.test.ts +39 -38
  149. package/src/test/RunnerOrchestrator.test.ts +12 -12
  150. package/src/test/StatisticalUtils.test.ts +48 -12
  151. package/src/{table-util/test → test}/TableReport.test.ts +2 -2
  152. package/src/test/TestUtils.ts +12 -7
  153. package/src/test/TimeExport.test.ts +139 -0
  154. package/src/test/TimeSampler.test.ts +37 -0
  155. package/src/test/ViewerLive.e2e.test.ts +159 -0
  156. package/src/test/ViewerStatic.static.e2e.test.ts +137 -0
  157. package/src/{tests → test}/fixtures/baseline/impl.ts +1 -1
  158. package/src/{tests → test}/fixtures/bevy30-samples.ts +3 -1
  159. package/src/test/fixtures/cases/asyncCases.ts +9 -0
  160. package/src/{tests → test}/fixtures/cases/cases.ts +5 -2
  161. package/src/test/fixtures/cases/variants/product.ts +2 -0
  162. package/src/test/fixtures/cases/variants/sum.ts +2 -0
  163. package/src/test/fixtures/discover/fast.ts +1 -0
  164. package/src/{tests → test}/fixtures/discover/slow.ts +1 -1
  165. package/src/test/fixtures/invalid/bad.ts +1 -0
  166. package/src/test/fixtures/loader/fast.ts +1 -0
  167. package/src/{tests → test}/fixtures/loader/slow.ts +1 -1
  168. package/src/test/fixtures/loader/stateful.ts +2 -0
  169. package/src/test/fixtures/stateful/stateful.ts +2 -0
  170. package/src/test/fixtures/variants/extra.ts +1 -0
  171. package/src/test/fixtures/variants/impl.ts +1 -0
  172. package/src/test/fixtures/worker/fast.ts +1 -0
  173. package/src/{tests → test}/fixtures/worker/slow.ts +1 -1
  174. package/src/viewer/DateFormat.ts +30 -0
  175. package/src/viewer/Helpers.ts +23 -0
  176. package/src/viewer/LineData.ts +120 -0
  177. package/src/viewer/Providers.ts +191 -0
  178. package/src/viewer/ReportData.ts +123 -0
  179. package/src/viewer/State.ts +49 -0
  180. package/src/viewer/Theme.ts +15 -0
  181. package/src/viewer/components/App.tsx +73 -0
  182. package/src/viewer/components/DropZone.tsx +71 -0
  183. package/src/viewer/components/LazyPlot.ts +33 -0
  184. package/src/viewer/components/SamplesPanel.tsx +214 -0
  185. package/src/viewer/components/Shell.tsx +26 -0
  186. package/src/viewer/components/SourcePanel.tsx +216 -0
  187. package/src/viewer/components/SummaryPanel.tsx +332 -0
  188. package/src/viewer/components/TabBar.tsx +131 -0
  189. package/src/viewer/components/TabContent.tsx +46 -0
  190. package/src/viewer/components/ThemeToggle.tsx +50 -0
  191. package/src/viewer/index.html +20 -0
  192. package/src/viewer/main.tsx +4 -0
  193. package/src/viewer/plots/CIPlot.ts +313 -0
  194. package/src/{html/browser → viewer/plots}/HistogramKde.ts +33 -38
  195. package/src/viewer/plots/LegendUtils.ts +134 -0
  196. package/src/viewer/plots/PlotTypes.ts +85 -0
  197. package/src/viewer/plots/RenderPlots.ts +230 -0
  198. package/src/viewer/plots/SampleTimeSeries.ts +306 -0
  199. package/src/viewer/plots/SvgHelpers.ts +136 -0
  200. package/src/viewer/plots/TimeSeriesMarks.ts +319 -0
  201. package/src/viewer/report.css +427 -0
  202. package/src/viewer/shell.css +357 -0
  203. package/src/viewer/tsconfig.json +11 -0
  204. package/dist/BrowserHeapSampler-B6asLKWQ.mjs +0 -202
  205. package/dist/BrowserHeapSampler-B6asLKWQ.mjs.map +0 -1
  206. package/dist/GcStats-wX7Xyblu.mjs +0 -77
  207. package/dist/GcStats-wX7Xyblu.mjs.map +0 -1
  208. package/dist/HeapSampler-B8dtKHn1.mjs.map +0 -1
  209. package/dist/TimingUtils-DwOwkc8G.mjs +0 -597
  210. package/dist/TimingUtils-DwOwkc8G.mjs.map +0 -1
  211. package/dist/browser/index.js +0 -914
  212. package/dist/src-B-DDaCa9.mjs +0 -3108
  213. package/dist/src-B-DDaCa9.mjs.map +0 -1
  214. package/src/BenchMatrix.ts +0 -380
  215. package/src/BenchmarkReport.ts +0 -161
  216. package/src/HtmlDataPrep.ts +0 -148
  217. package/src/StandardSections.ts +0 -261
  218. package/src/StatisticalUtils.ts +0 -175
  219. package/src/TypeUtil.ts +0 -8
  220. package/src/browser/BrowserGcStats.ts +0 -44
  221. package/src/browser/BrowserHeapSampler.ts +0 -271
  222. package/src/export/JsonExport.ts +0 -103
  223. package/src/export/JsonFormat.ts +0 -91
  224. package/src/export/SpeedscopeExport.ts +0 -202
  225. package/src/heap-sample/HeapSampleReport.ts +0 -269
  226. package/src/html/HtmlReport.ts +0 -131
  227. package/src/html/HtmlTemplate.ts +0 -284
  228. package/src/html/Types.ts +0 -88
  229. package/src/html/browser/CIPlot.ts +0 -287
  230. package/src/html/browser/LegendUtils.ts +0 -163
  231. package/src/html/browser/RenderPlots.ts +0 -263
  232. package/src/html/browser/SampleTimeSeries.ts +0 -389
  233. package/src/html/browser/Types.ts +0 -96
  234. package/src/html/browser/index.ts +0 -1
  235. package/src/html/index.ts +0 -17
  236. package/src/runners/BasicRunner.ts +0 -364
  237. package/src/table-util/ConvergenceFormatters.ts +0 -19
  238. package/src/table-util/Formatters.ts +0 -157
  239. package/src/table-util/README.md +0 -70
  240. package/src/table-util/TableReport.ts +0 -293
  241. package/src/tests/fixtures/cases/asyncCases.ts +0 -7
  242. package/src/tests/fixtures/cases/variants/product.ts +0 -2
  243. package/src/tests/fixtures/cases/variants/sum.ts +0 -2
  244. package/src/tests/fixtures/discover/fast.ts +0 -1
  245. package/src/tests/fixtures/invalid/bad.ts +0 -1
  246. package/src/tests/fixtures/loader/fast.ts +0 -1
  247. package/src/tests/fixtures/loader/stateful.ts +0 -2
  248. package/src/tests/fixtures/stateful/stateful.ts +0 -2
  249. package/src/tests/fixtures/variants/extra.ts +0 -1
  250. package/src/tests/fixtures/variants/impl.ts +0 -1
  251. package/src/tests/fixtures/worker/fast.ts +0 -1
  252. /package/src/{table-util/test → test}/TableValueExtractor.test.ts +0 -0
  253. /package/src/{table-util/test → test}/TableValueExtractor.ts +0 -0
@@ -0,0 +1,55 @@
1
+ function e(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function t(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function n(n){let i,a,o;n.length===2?(i=n===e||n===t?n:r,a=n,o=n):(i=e,a=(t,r)=>e(n(t),r),o=(e,t)=>n(e)-t);function s(e,t,n=0,r=e.length){if(n<r){if(i(t,t)!==0)return r;do{let i=n+r>>>1;a(e[i],t)<0?n=i+1:r=i}while(n<r)}return n}function c(e,t,n=0,r=e.length){if(n<r){if(i(t,t)!==0)return r;do{let i=n+r>>>1;a(e[i],t)<=0?n=i+1:r=i}while(n<r)}return n}function l(e,t,n=0,r=e.length){let i=s(e,t,n,r-1);return i>n&&o(e[i-1],t)>-o(e[i],t)?i-1:i}return{left:s,center:l,right:c}}function r(){return 0}function i(e){return e===null?NaN:+e}function*a(e,t){if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(yield t);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}var o=n(e),s=o.right;o.left,n(i).center;function c(e,t){let n=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&++n;else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(i=+i)>=i&&++n}return n}function l(e){return e.length|0}function u(e){return!(e>0)}function d(e){return typeof e!=`object`||`length`in e?e:Array.from(e)}function f(e){return t=>e(...t)}function p(...e){let t=typeof e[e.length-1]==`function`&&f(e.pop());e=e.map(d);let n=e.map(l),r=e.length-1,i=Array(r+1).fill(0),a=[];if(r<0||n.some(u))return a;for(;;){a.push(i.map((t,n)=>e[n][t]));let o=r;for(;++i[o]===n[o];){if(o===0)return t?a.map(t):a;i[o--]=0}}}function m(e,t){var n=0,r=0;return Float64Array.from(e,t===void 0?e=>n+=+e||0:i=>n+=+t(i,r++,e)||0)}function h(e,t){let n=0,r,i=0,a=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(r=t-i,i+=r/++n,a+=r*(t-i));else{let o=-1;for(let s of e)(s=t(s,++o,e))!=null&&(s=+s)>=s&&(r=s-i,i+=r/++n,a+=r*(s-i))}if(n>1)return a/(n-1)}function g(e,t){let n=h(e,t);return n&&Math.sqrt(n)}function _(e,t){let n,r;if(t===void 0)for(let t of e)t!=null&&(n===void 0?t>=t&&(n=r=t):(n>t&&(n=t),r<t&&(r=t)));else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(n===void 0?a>=a&&(n=r=a):(n>a&&(n=a),r<a&&(r=a)))}return[n,r]}var v=class{constructor(){this._partials=new Float64Array(32),this._n=0}add(e){let t=this._partials,n=0;for(let r=0;r<this._n&&r<32;r++){let i=t[r],a=e+i,o=Math.abs(e)<Math.abs(i)?e-(a-i):i-(a-e);o&&(t[n++]=o),e=a}return t[n]=e,this._n=n+1,this}valueOf(){let e=this._partials,t=this._n,n,r,i,a=0;if(t>0){for(a=e[--t];t>0&&(n=a,r=e[--t],a=n+r,i=r-(a-n),!i););t>0&&(i<0&&e[t-1]<0||i>0&&e[t-1]>0)&&(r=i*2,n=a+r,r==n-a&&(a=n))}return a}},y=class extends Map{constructor(e,t=w){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let[t,n]of e)this.set(t,n)}get(e){return super.get(x(this,e))}has(e){return super.has(x(this,e))}set(e,t){return super.set(S(this,e),t)}delete(e){return super.delete(C(this,e))}},b=class extends Set{constructor(e,t=w){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:t}}),e!=null)for(let t of e)this.add(t)}has(e){return super.has(x(this,e))}add(e){return super.add(S(this,e))}delete(e){return super.delete(C(this,e))}};function x({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):n}function S({_intern:e,_key:t},n){let r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function C({_intern:e,_key:t},n){let r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function w(e){return typeof e==`object`&&e?e.valueOf():e}function T(e){return e}function E(e,...t){return k(e,T,T,t)}function D(e,t,...n){return k(e,T,t,n)}function O(e,t,...n){return k(e,Array.from,t,n)}function k(e,t,n,r){return(function e(i,a){if(a>=r.length)return n(i);let o=new y,s=r[a++],c=-1;for(let e of i){let t=s(e,++c,i),n=o.get(t);n?n.push(e):o.set(t,[e])}for(let[t,n]of o)o.set(t,e(n,a));return t(o)})(e,0)}function A(e,t){return Array.from(t,t=>e[t])}function j(e,...t){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){let r=Uint32Array.from(e,(e,t)=>t);return t.length>1?(t=t.map(t=>e.map(t)),r.sort((e,n)=>{for(let r of t){let t=te(r[e],r[n]);if(t)return t}})):(n=e.map(n),r.sort((e,t)=>te(n[e],n[t]))),A(e,r)}return e.sort(ee(n))}function ee(t=e){if(t===e)return te;if(typeof t!=`function`)throw TypeError(`compare is not a function`);return(e,n)=>{let r=t(e,n);return r||r===0?r:(t(n,n)===0)-(t(e,e)===0)}}function te(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(e<t?-1:e>t?1:0)}function ne(t,n,r){return(n.length===2?j(E(t,r),(([t,r],[i,a])=>n(r,a)||e(t,i))):j(D(t,n,r),(([t,n],[r,i])=>e(n,i)||e(t,r)))).map(([e])=>e)}var re=Math.sqrt(50),ie=Math.sqrt(10),ae=Math.sqrt(2);function oe(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=re?10:a>=ie?5:a>=ae?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?oe(e,t,n*2):[s,c,l]}function se(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?oe(t,e,n):oe(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o;else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function ce(e,t,n){return t=+t,e=+e,n=+n,oe(e,t,n)[2]}function le(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?ce(t,e,n):ce(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function ue(e){return Math.max(1,Math.ceil(Math.log(c(e))/Math.LN2)+1)}function de(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n<t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n<i||n===void 0&&i>=i)&&(n=i)}return n}function fe(e,t){let n,r=-1,i=-1;if(t===void 0)for(let t of e)++i,t!=null&&(n<t||n===void 0&&t>=t)&&(n=t,r=i);else for(let a of e)(a=t(a,++i,e))!=null&&(n<a||n===void 0&&a>=a)&&(n=a,r=i);return r}function pe(e,t){let n;if(t===void 0)for(let t of e)t!=null&&(n>t||n===void 0&&t>=t)&&(n=t);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function me(e,t){let n,r=-1,i=-1;if(t===void 0)for(let t of e)++i,t!=null&&(n>t||n===void 0&&t>=t)&&(n=t,r=i);else for(let a of e)(a=t(a,++i,e))!=null&&(n>a||n===void 0&&a>=a)&&(n=a,r=i);return r}function he(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?te:ee(i);r>n;){if(r-n>600){let a=r-n+1,o=t-n+1,s=Math.log(a),c=.5*Math.exp(2*s/3),l=.5*Math.sqrt(s*c*(a-c)/a)*(o-a/2<0?-1:1),u=Math.max(n,Math.floor(t-o*c/a+l)),d=Math.min(r,Math.floor(t+(a-o)*c/a+l));he(e,t,u,d,i)}let a=e[t],o=n,s=r;for(ge(e,n,t),i(e[r],a)>0&&ge(e,n,r);o<s;){for(ge(e,o,s),++o,--s;i(e[o],a)<0;)++o;for(;i(e[s],a)>0;)--s}i(e[n],a)===0?ge(e,n,s):(++s,ge(e,s,r)),s<=t&&(n=s+1),t<=s&&(r=s-1)}return e}function ge(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}function _e(t,n=e){let r,i=!1;if(n.length===1){let a;for(let o of t){let t=n(o);(i?e(t,a)>0:e(t,t)===0)&&(r=o,a=t,i=!0)}}else for(let e of t)(i?n(e,r)>0:n(e,e)===0)&&(r=e,i=!0);return r}function ve(e,t,n){if(e=Float64Array.from(a(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return pe(e);if(t>=1)return de(e);var r,i=(r-1)*t,o=Math.floor(i),s=de(he(e,o).subarray(0,o+1));return s+(pe(e.subarray(o+1))-s)*(i-o)}}function ye(e,t,n=i){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,a=(r-1)*t,o=Math.floor(a),s=+n(e[o],o,e);return s+(+n(e[o+1],o+1,e)-s)*(a-o)}}function be(e,t,n){let r=c(e),i=ve(e,.75)-ve(e,.25);return r&&i?Math.ceil((n-t)/(2*i*r**(-1/3))):1}function xe(e,t,n){let r=c(e),i=g(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function Se(e,t){let n=0,r=0;if(t===void 0)for(let t of e)t!=null&&(t=+t)>=t&&(++n,r+=t);else{let i=-1;for(let a of e)(a=t(a,++i,e))!=null&&(a=+a)>=a&&(++n,r+=a)}if(n)return r/n}function Ce(e,t){return ve(e,.5,t)}function*we(e){for(let t of e)yield*t}function Te(e){return Array.from(we(e))}function Ee(e,t){let n=new y;if(t===void 0)for(let t of e)t!=null&&t>=t&&n.set(t,(n.get(t)||0)+1);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&i>=i&&n.set(i,(n.get(i)||0)+1)}let r,i=0;for(let[e,t]of n)t>i&&(i=t,r=e);return r}function De(e,t=Oe){let n=[],r,i=!1;for(let a of e)i&&n.push(t(r,a)),r=a,i=!0;return n}function Oe(e,t){return[e,t]}function ke(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,a=Array(i);++r<i;)a[r]=e+r*n;return a}function Ae(e,t){let n=0;if(t===void 0)for(let t of e)(t=+t)&&(n+=t);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function je(e){if(typeof e[Symbol.iterator]!=`function`)throw TypeError(`values is not iterable`);return Array.from(e).reverse()}function Me(e){return e}var Ne=1,Pe=2,Fe=3,Ie=4,Le=1e-6;function Re(e){return`translate(`+e+`,0)`}function ze(e){return`translate(0,`+e+`)`}function Be(e){return t=>+e(t)}function Ve(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function He(){return!this.__axis}function Ue(e,t){var n=[],r=null,i=null,a=6,o=6,s=3,c=typeof window<`u`&&window.devicePixelRatio>1?0:.5,l=e===Ne||e===Ie?-1:1,u=e===Ie||e===Pe?`x`:`y`,d=e===Ne||e===Fe?Re:ze;function f(f){var p=r??(t.ticks?t.ticks.apply(t,n):t.domain()),m=i??(t.tickFormat?t.tickFormat.apply(t,n):Me),h=Math.max(a,0)+s,g=t.range(),_=+g[0]+c,v=+g[g.length-1]+c,y=(t.bandwidth?Ve:Be)(t.copy(),c),b=f.selection?f.selection():f,x=b.selectAll(`.domain`).data([null]),S=b.selectAll(`.tick`).data(p,t).order(),C=S.exit(),w=S.enter().append(`g`).attr(`class`,`tick`),T=S.select(`line`),E=S.select(`text`);x=x.merge(x.enter().insert(`path`,`.tick`).attr(`class`,`domain`).attr(`stroke`,`currentColor`)),S=S.merge(w),T=T.merge(w.append(`line`).attr(`stroke`,`currentColor`).attr(u+`2`,l*a)),E=E.merge(w.append(`text`).attr(`fill`,`currentColor`).attr(u,l*h).attr(`dy`,e===Ne?`0em`:e===Fe?`0.71em`:`0.32em`)),f!==b&&(x=x.transition(f),S=S.transition(f),T=T.transition(f),E=E.transition(f),C=C.transition(f).attr(`opacity`,Le).attr(`transform`,function(e){return isFinite(e=y(e))?d(e+c):this.getAttribute(`transform`)}),w.attr(`opacity`,Le).attr(`transform`,function(e){var t=this.parentNode.__axis;return d((t&&isFinite(t=t(e))?t:y(e))+c)})),C.remove(),x.attr(`d`,e===Ie||e===Pe?o?`M`+l*o+`,`+_+`H`+c+`V`+v+`H`+l*o:`M`+c+`,`+_+`V`+v:o?`M`+_+`,`+l*o+`V`+c+`H`+v+`V`+l*o:`M`+_+`,`+c+`H`+v),S.attr(`opacity`,1).attr(`transform`,function(e){return d(y(e)+c)}),T.attr(u+`2`,l*a),E.attr(u,l*h).text(m),b.filter(He).attr(`fill`,`none`).attr(`font-size`,10).attr(`font-family`,`sans-serif`).attr(`text-anchor`,e===Pe?`start`:e===Ie?`end`:`middle`),b.each(function(){this.__axis=y})}return f.scale=function(e){return arguments.length?(t=e,f):t},f.ticks=function(){return n=Array.from(arguments),f},f.tickArguments=function(e){return arguments.length?(n=e==null?[]:Array.from(e),f):n.slice()},f.tickValues=function(e){return arguments.length?(r=e==null?null:Array.from(e),f):r&&r.slice()},f.tickFormat=function(e){return arguments.length?(i=e,f):i},f.tickSize=function(e){return arguments.length?(a=o=+e,f):a},f.tickSizeInner=function(e){return arguments.length?(a=+e,f):a},f.tickSizeOuter=function(e){return arguments.length?(o=+e,f):o},f.tickPadding=function(e){return arguments.length?(s=+e,f):s},f.offset=function(e){return arguments.length?(c=+e,f):c},f}function We(e){return Ue(Fe,e)}var Ge={value:()=>{}};function Ke(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new qe(n)}function qe(e){this._=e}function Je(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}qe.prototype=Ke.prototype={constructor:qe,on:function(e,t){var n=this._,r=Je(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=Ye(n[i],e.name)))return i;return}if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=Xe(n[i],e.name,t);else if(t==null)for(i in n)n[i]=Xe(n[i],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new qe(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function Ye(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function Xe(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=Ge,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var Ze={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function Qe(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),Ze.hasOwnProperty(t)?{space:Ze[t],local:e}:e}function $e(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function et(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function tt(e){var t=Qe(e);return(t.local?et:$e)(t)}function nt(){}function rt(e){return e==null?nt:function(){return this.querySelector(e)}}function at(e){typeof e!=`function`&&(e=rt(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new Jn(r,this._parents)}function ot(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function st(){return[]}function ct(e){return e==null?st:function(){return this.querySelectorAll(e)}}function lt(e){return function(){return ot(e.apply(this,arguments))}}function ut(e){e=typeof e==`function`?lt(e):ct(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new Jn(r,i)}function dt(e){return function(){return this.matches(e)}}function ft(e){return function(t){return t.matches(e)}}var pt=Array.prototype.find;function mt(e){return function(){return pt.call(this.children,e)}}function ht(){return this.firstElementChild}function gt(e){return this.select(e==null?ht:mt(typeof e==`function`?e:ft(e)))}var _t=Array.prototype.filter;function vt(){return Array.from(this.children)}function yt(e){return function(){return _t.call(this.children,e)}}function bt(e){return this.selectAll(e==null?vt:yt(typeof e==`function`?e:ft(e)))}function xt(e){typeof e!=`function`&&(e=dt(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Jn(r,this._parents)}function St(e){return Array(e.length)}function Ct(){return new Jn(this._enter||this._groups.map(St),this._parents)}function wt(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}wt.prototype={constructor:wt,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Tt(e){return function(){return e}}function Et(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new wt(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Dt(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new wt(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function Ot(e){return e.__data__}function kt(e,t){if(!arguments.length)return Array.from(this,Ot);var n=t?Dt:Et,r=this._parents,i=this._groups;typeof e!=`function`&&(e=Tt(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=At(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new Jn(o,r),o._enter=s,o._exit=c,o}function At(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function jt(){return new Jn(this._exit||this._groups.map(St),this._parents)}function Mt(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Nt(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new Jn(s,this._parents)}function Pt(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function Ft(e){e||=It;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new Jn(i,this._parents).order()}function It(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function Lt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Rt(){return Array.from(this)}function zt(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function Bt(){let e=0;for(let t of this)++e;return e}function Vt(){return!this.node()}function Ht(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function Ut(e){return function(){this.removeAttribute(e)}}function Wt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Gt(e,t){return function(){this.setAttribute(e,t)}}function Kt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function qt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function Jt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function Yt(e,t){var n=Qe(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?Wt:Ut:typeof t==`function`?n.local?Jt:qt:n.local?Kt:Gt)(n,t))}function Xt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Zt(e){return function(){this.style.removeProperty(e)}}function Qt(e,t,n){return function(){this.style.setProperty(e,t,n)}}function $t(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function en(e,t,n){return arguments.length>1?this.each((t==null?Zt:typeof t==`function`?$t:Qt)(e,t,n??``)):tn(this.node(),e)}function tn(e,t){return e.style.getPropertyValue(t)||Xt(e).getComputedStyle(e,null).getPropertyValue(t)}function nn(e){return function(){delete this[e]}}function rn(e,t){return function(){this[e]=t}}function an(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function on(e,t){return arguments.length>1?this.each((t==null?nn:typeof t==`function`?an:rn)(e,t)):this.node()[e]}function sn(e){return e.trim().split(/^|\s+/)}function cn(e){return e.classList||new ln(e)}function ln(e){this._node=e,this._names=sn(e.getAttribute(`class`)||``)}ln.prototype={add:function(e){this._names.indexOf(e)<0&&(this._names.push(e),this._node.setAttribute(`class`,this._names.join(` `)))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute(`class`,this._names.join(` `)))},contains:function(e){return this._names.indexOf(e)>=0}};function un(e,t){for(var n=cn(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function dn(e,t){for(var n=cn(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function fn(e){return function(){un(this,e)}}function pn(e){return function(){dn(this,e)}}function mn(e,t){return function(){(t.apply(this,arguments)?un:dn)(this,e)}}function hn(e,t){var n=sn(e+``);if(arguments.length<2){for(var r=cn(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?mn:t?fn:pn)(n,t))}function gn(){this.textContent=``}function _n(e){return function(){this.textContent=e}}function vn(e){return function(){this.textContent=e.apply(this,arguments)??``}}function yn(e){return arguments.length?this.each(e==null?gn:(typeof e==`function`?vn:_n)(e)):this.node().textContent}function bn(){this.innerHTML=``}function xn(e){return function(){this.innerHTML=e}}function Sn(e){return function(){this.innerHTML=e.apply(this,arguments)??``}}function Cn(e){return arguments.length?this.each(e==null?bn:(typeof e==`function`?Sn:xn)(e)):this.node().innerHTML}function wn(){this.nextSibling&&this.parentNode.appendChild(this)}function Tn(){return this.each(wn)}function En(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Dn(){return this.each(En)}function On(e){var t=typeof e==`function`?e:tt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function kn(){return null}function An(e,t){var n=typeof e==`function`?e:tt(e),r=t==null?kn:typeof t==`function`?t:rt(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function jn(){var e=this.parentNode;e&&e.removeChild(this)}function Mn(){return this.each(jn)}function Nn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Pn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Fn(e){return this.select(e?Pn:Nn)}function In(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function Ln(e){return function(t){e.call(this,t,this.__data__)}}function Rn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function zn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function Bn(e,t,n){return function(){var r=this.__on,i,a=Ln(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function Vn(e,t,n){var r=Rn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}return}for(s=t?Bn:zn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}function Hn(e,t,n){var r=Xt(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function Un(e,t){return function(){return Hn(this,e,t)}}function Wn(e,t){return function(){return Hn(this,e,t.apply(this,arguments))}}function Gn(e,t){return this.each((typeof t==`function`?Wn:Un)(e,t))}function*Kn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var qn=[null];function Jn(e,t){this._groups=e,this._parents=t}function Yn(){return new Jn([[document.documentElement]],qn)}function Xn(){return this}Jn.prototype=Yn.prototype={constructor:Jn,select:at,selectAll:ut,selectChild:gt,selectChildren:bt,filter:xt,data:kt,enter:Ct,exit:jt,join:Mt,merge:Nt,selection:Xn,order:Pt,sort:Ft,call:Lt,nodes:Rt,node:zt,size:Bt,empty:Vt,each:Ht,attr:Yt,style:en,property:on,classed:hn,text:yn,html:Cn,raise:Tn,lower:Dn,append:On,insert:An,remove:Mn,clone:Fn,datum:In,on:Vn,dispatch:Gn,[Symbol.iterator]:Kn};function Zn(e){return typeof e==`string`?new Jn([[document.querySelector(e)]],[document.documentElement]):new Jn([[e]],qn)}function Qn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function $n(e,t){if(e=Qn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}function er(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function tr(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function nr(){}var rr=.7,ir=1/rr,ar=`\\s*([+-]?\\d+)\\s*`,or=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,sr=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,cr=/^#([0-9a-f]{3,8})$/,lr=RegExp(`^rgb\\(${ar},${ar},${ar}\\)$`),ur=RegExp(`^rgb\\(${sr},${sr},${sr}\\)$`),dr=RegExp(`^rgba\\(${ar},${ar},${ar},${or}\\)$`),fr=RegExp(`^rgba\\(${sr},${sr},${sr},${or}\\)$`),pr=RegExp(`^hsl\\(${or},${sr},${sr}\\)$`),mr=RegExp(`^hsla\\(${or},${sr},${sr},${or}\\)$`),hr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};er(nr,br,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:gr,formatHex:gr,formatHex8:_r,formatHsl:vr,formatRgb:yr,toString:yr});function gr(){return this.rgb().formatHex()}function _r(){return this.rgb().formatHex8()}function vr(){return Mr(this).formatHsl()}function yr(){return this.rgb().formatRgb()}function br(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=cr.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?xr(t):n===3?new M(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Sr(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Sr(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=lr.exec(e))?new M(t[1],t[2],t[3],1):(t=ur.exec(e))?new M(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=dr.exec(e))?Sr(t[1],t[2],t[3],t[4]):(t=fr.exec(e))?Sr(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=pr.exec(e))?jr(t[1],t[2]/100,t[3]/100,1):(t=mr.exec(e))?jr(t[1],t[2]/100,t[3]/100,t[4]):hr.hasOwnProperty(e)?xr(hr[e]):e===`transparent`?new M(NaN,NaN,NaN,0):null}function xr(e){return new M(e>>16&255,e>>8&255,e&255,1)}function Sr(e,t,n,r){return r<=0&&(e=t=n=NaN),new M(e,t,n,r)}function Cr(e){return e instanceof nr||(e=br(e)),e?(e=e.rgb(),new M(e.r,e.g,e.b,e.opacity)):new M}function wr(e,t,n,r){return arguments.length===1?Cr(e):new M(e,t,n,r??1)}function M(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}er(M,wr,tr(nr,{brighter(e){return e=e==null?ir:ir**+e,new M(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?rr:rr**+e,new M(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new M(kr(this.r),kr(this.g),kr(this.b),Or(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Tr,formatHex:Tr,formatHex8:Er,formatRgb:Dr,toString:Dr}));function Tr(){return`#${Ar(this.r)}${Ar(this.g)}${Ar(this.b)}`}function Er(){return`#${Ar(this.r)}${Ar(this.g)}${Ar(this.b)}${Ar((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dr(){let e=Or(this.opacity);return`${e===1?`rgb(`:`rgba(`}${kr(this.r)}, ${kr(this.g)}, ${kr(this.b)}${e===1?`)`:`, ${e})`}`}function Or(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function kr(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Ar(e){return e=kr(e),(e<16?`0`:``)+e.toString(16)}function jr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new Pr(e,t,n,r)}function Mr(e){if(e instanceof Pr)return new Pr(e.h,e.s,e.l,e.opacity);if(e instanceof nr||(e=br(e)),!e)return new Pr;if(e instanceof Pr)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new Pr(o,s,c,e.opacity)}function Nr(e,t,n,r){return arguments.length===1?Mr(e):new Pr(e,t,n,r??1)}function Pr(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}er(Pr,Nr,tr(nr,{brighter(e){return e=e==null?ir:ir**+e,new Pr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?rr:rr**+e,new Pr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new M(Lr(e>=240?e-240:e+120,i,r),Lr(e,i,r),Lr(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new Pr(Fr(this.h),Ir(this.s),Ir(this.l),Or(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=Or(this.opacity);return`${e===1?`hsl(`:`hsla(`}${Fr(this.h)}, ${Ir(this.s)*100}%, ${Ir(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function Fr(e){return e=(e||0)%360,e<0?e+360:e}function Ir(e){return Math.max(0,Math.min(1,e||0))}function Lr(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var Rr=Math.PI/180,zr=180/Math.PI,Br=18,Vr=.96422,Hr=1,Ur=.82521,Wr=4/29,Gr=6/29,Kr=3*Gr*Gr,qr=Gr*Gr*Gr;function Jr(e){if(e instanceof Xr)return new Xr(e.l,e.a,e.b,e.opacity);if(e instanceof ri)return ii(e);e instanceof M||(e=Cr(e));var t=ei(e.r),n=ei(e.g),r=ei(e.b),i=Zr((.2225045*t+.7168786*n+.0606169*r)/Hr),a,o;return t===n&&n===r?a=o=i:(a=Zr((.4360747*t+.3850649*n+.1430804*r)/Vr),o=Zr((.0139322*t+.0971045*n+.7141733*r)/Ur)),new Xr(116*i-16,500*(a-i),200*(i-o),e.opacity)}function Yr(e,t,n,r){return arguments.length===1?Jr(e):new Xr(e,t,n,r??1)}function Xr(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}er(Xr,Yr,tr(nr,{brighter(e){return new Xr(this.l+Br*(e??1),this.a,this.b,this.opacity)},darker(e){return new Xr(this.l-Br*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=Vr*Qr(t),e=Hr*Qr(e),n=Ur*Qr(n),new M($r(3.1338561*t-1.6168667*e-.4906146*n),$r(-.9787684*t+1.9161415*e+.033454*n),$r(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function Zr(e){return e>qr?e**(1/3):e/Kr+Wr}function Qr(e){return e>Gr?e*e*e:Kr*(e-Wr)}function $r(e){return 255*(e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055)}function ei(e){return(e/=255)<=.04045?e/12.92:((e+.055)/1.055)**2.4}function ti(e){if(e instanceof ri)return new ri(e.h,e.c,e.l,e.opacity);if(e instanceof Xr||(e=Jr(e)),e.a===0&&e.b===0)return new ri(NaN,0<e.l&&e.l<100?0:NaN,e.l,e.opacity);var t=Math.atan2(e.b,e.a)*zr;return new ri(t<0?t+360:t,Math.sqrt(e.a*e.a+e.b*e.b),e.l,e.opacity)}function ni(e,t,n,r){return arguments.length===1?ti(e):new ri(e,t,n,r??1)}function ri(e,t,n,r){this.h=+e,this.c=+t,this.l=+n,this.opacity=+r}function ii(e){if(isNaN(e.h))return new Xr(e.l,0,0,e.opacity);var t=e.h*Rr;return new Xr(e.l,Math.cos(t)*e.c,Math.sin(t)*e.c,e.opacity)}er(ri,ni,tr(nr,{brighter(e){return new ri(this.h,this.c,this.l+Br*(e??1),this.opacity)},darker(e){return new ri(this.h,this.c,this.l-Br*(e??1),this.opacity)},rgb(){return ii(this).rgb()}}));var ai=-.14861,oi=1.78277,si=-.29227,ci=-.90649,li=1.97294,ui=li*ci,di=li*oi,fi=oi*si-ci*ai;function pi(e){if(e instanceof hi)return new hi(e.h,e.s,e.l,e.opacity);e instanceof M||(e=Cr(e));var t=e.r/255,n=e.g/255,r=e.b/255,i=(fi*r+ui*t-di*n)/(fi+ui-di),a=r-i,o=(li*(n-i)-si*a)/ci,s=Math.sqrt(o*o+a*a)/(li*i*(1-i)),c=s?Math.atan2(o,a)*zr-120:NaN;return new hi(c<0?c+360:c,s,i,e.opacity)}function mi(e,t,n,r){return arguments.length===1?pi(e):new hi(e,t,n,r??1)}function hi(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}er(hi,mi,tr(nr,{brighter(e){return e=e==null?ir:ir**+e,new hi(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?rr:rr**+e,new hi(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=isNaN(this.h)?0:(this.h+120)*Rr,t=+this.l,n=isNaN(this.s)?0:this.s*t*(1-t),r=Math.cos(e),i=Math.sin(e);return new M(255*(t+n*(ai*r+oi*i)),255*(t+n*(si*r+ci*i)),255*(t+li*r*n),this.opacity)}}));function gi(e,t,n,r,i){var a=e*e,o=a*e;return((1-3*e+3*a-o)*t+(4-6*a+3*o)*n+(1+3*e+3*a-3*o)*r+o*i)/6}function _i(e){var t=e.length-1;return function(n){var r=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),i=e[r],a=e[r+1],o=r>0?e[r-1]:2*i-a,s=r<t-1?e[r+2]:2*a-i;return gi((n-r/t)*t,o,i,a,s)}}var vi=e=>()=>e;function yi(e,t){return function(n){return e+n*t}}function bi(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function xi(e,t){var n=t-e;return n?yi(e,n>180||n<-180?n-360*Math.round(n/360):n):vi(isNaN(e)?t:e)}function Si(e){return(e=+e)==1?Ci:function(t,n){return n-t?bi(t,n,e):vi(isNaN(t)?n:t)}}function Ci(e,t){var n=t-e;return n?yi(e,n):vi(isNaN(e)?t:e)}var wi=(function e(t){var n=Si(t);function r(e,t){var r=n((e=wr(e)).r,(t=wr(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=Ci(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function Ti(e){return function(t){var n=t.length,r=Array(n),i=Array(n),a=Array(n),o,s;for(o=0;o<n;++o)s=wr(t[o]),r[o]=s.r||0,i[o]=s.g||0,a[o]=s.b||0;return r=e(r),i=e(i),a=e(a),s.opacity=1,function(e){return s.r=r(e),s.g=i(e),s.b=a(e),s+``}}}var Ei=Ti(_i);function Di(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function Oi(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function ki(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=Ri(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Ai(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ji(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Mi(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=Ri(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Ni=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Pi=new RegExp(Ni.source,`g`);function Fi(e){return function(){return e}}function Ii(e){return function(t){return e(t)+``}}function Li(e,t){var n=Ni.lastIndex=Pi.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Ni.exec(e))&&(i=Pi.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:ji(r,i)})),n=Pi.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?Ii(c[0].x):Fi(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function Ri(e,t){var n=typeof t,r;return t==null||n===`boolean`?vi(t):(n===`number`?ji:n===`string`?(r=br(t))?(t=r,wi):Li:t instanceof br?wi:t instanceof Date?Ai:Oi(t)?Di:Array.isArray(t)?ki:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Mi:ji)(e,t)}function zi(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Bi=180/Math.PI,Vi={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Hi(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Bi,skewX:Math.atan(c)*Bi,scaleX:o,scaleY:s}}var Ui;function Wi(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Vi:Hi(t.a,t.b,t.c,t.d,t.e,t.f)}function Gi(e){return e==null||(Ui||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Ui.setAttribute(`transform`,e),!(e=Ui.transform.baseVal.consolidate()))?Vi:(e=e.matrix,Hi(e.a,e.b,e.c,e.d,e.e,e.f))}function Ki(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:ji(e,i)},{i:c-2,x:ji(r,a)})}else (i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:ji(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:ji(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:ji(e,n)},{i:s-2,x:ji(t,r)})}else (n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var qi=Ki(Wi,`px, `,`px)`,`deg)`),Ji=Ki(Gi,`, `,`)`,`)`);function Yi(e){return function(t,n){var r=e((t=Nr(t)).h,(n=Nr(n)).h),i=Ci(t.s,n.s),a=Ci(t.l,n.l),o=Ci(t.opacity,n.opacity);return function(e){return t.h=r(e),t.s=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var Xi=Yi(xi);function Zi(e,t){var n=Ci((e=Yr(e)).l,(t=Yr(t)).l),r=Ci(e.a,t.a),i=Ci(e.b,t.b),a=Ci(e.opacity,t.opacity);return function(t){return e.l=n(t),e.a=r(t),e.b=i(t),e.opacity=a(t),e+``}}function Qi(e){return function(t,n){var r=e((t=ni(t)).h,(n=ni(n)).h),i=Ci(t.c,n.c),a=Ci(t.l,n.l),o=Ci(t.opacity,n.opacity);return function(e){return t.h=r(e),t.c=i(e),t.l=a(e),t.opacity=o(e),t+``}}}var $i=Qi(xi);function ea(e){return(function t(n){n=+n;function r(t,r){var i=e((t=mi(t)).h,(r=mi(r)).h),a=Ci(t.s,r.s),o=Ci(t.l,r.l),s=Ci(t.opacity,r.opacity);return function(e){return t.h=i(e),t.s=a(e),t.l=o(e**+n),t.opacity=s(e),t+``}}return r.gamma=t,r})(1)}ea(xi);var ta=ea(Ci);function na(e,t){t===void 0&&(t=e,e=Ri);for(var n=0,r=t.length-1,i=t[0],a=Array(r<0?0:r);n<r;)a[n]=e(i,i=t[++n]);return function(e){var t=Math.max(0,Math.min(r-1,Math.floor(e*=r)));return a[t](e-t)}}function ra(e,t){for(var n=Array(t),r=0;r<t;++r)n[r]=e(r/(t-1));return n}var ia=0,aa=0,oa=0,sa=1e3,ca,la,ua=0,da=0,fa=0,pa=typeof performance==`object`&&performance.now?performance:Date,ma=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ha(){return da||=(ma(ga),pa.now()+fa)}function ga(){da=0}function _a(){this._call=this._time=this._next=null}_a.prototype=va.prototype={constructor:_a,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ha():+n)+(t==null?0:+t),!this._next&&la!==this&&(la?la._next=this:ca=this,la=this),this._call=e,this._time=n,Ca()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ca())}};function va(e,t,n){var r=new _a;return r.restart(e,t,n),r}function ya(){ha(),++ia;for(var e=ca,t;e;)(t=da-e._time)>=0&&e._call.call(void 0,t),e=e._next;--ia}function ba(){da=(ua=pa.now())+fa,ia=aa=0;try{ya()}finally{ia=0,Sa(),da=0}}function xa(){var e=pa.now(),t=e-ua;t>sa&&(fa-=t,ua=e)}function Sa(){for(var e,t=ca,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:ca=n);la=e,Ca(r)}function Ca(e){ia||(aa&&=clearTimeout(aa),e-da>24?(e<1/0&&(aa=setTimeout(ba,e-pa.now()-fa)),oa&&=clearInterval(oa)):(oa||=(ua=pa.now(),setInterval(xa,sa)),ia=1,ma(ba)))}function wa(e,t,n){var r=new _a;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var Ta=Ke(`start`,`end`,`cancel`,`interrupt`),Ea=[];function Da(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;ja(e,n,{name:t,index:r,group:i,on:Ta,tween:Ea,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function Oa(e,t){var n=Aa(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function ka(e,t){var n=Aa(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function Aa(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function ja(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=va(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return wa(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(wa(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function Ma(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n){if((r=n[o]).name!==t){a=!1;continue}i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]}a&&delete e.__transition}}function Na(e){return this.each(function(){Ma(this,e)})}function Pa(e,t){var n,r;return function(){var i=ka(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Fa(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=ka(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function Ia(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=Aa(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Pa:Fa)(n,e,t))}function La(e,t,n){var r=e._id;return e.each(function(){var e=ka(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return Aa(e,r).value[t]}}function Ra(e,t){var n;return(typeof t==`number`?ji:t instanceof br?wi:(n=br(t))?(t=n,wi):Li)(e,t)}function za(e){return function(){this.removeAttribute(e)}}function Ba(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Va(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ha(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function Ua(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Wa(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ga(e,t){var n=Qe(e),r=n===`transform`?Ji:Ra;return this.attrTween(e,typeof t==`function`?(n.local?Wa:Ua)(n,r,La(this,`attr.`+e,t)):t==null?(n.local?Ba:za)(n):(n.local?Ha:Va)(n,r,t))}function Ka(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function qa(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ja(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&qa(e,i)),n}return i._value=t,i}function Ya(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Ka(e,i)),n}return i._value=t,i}function Xa(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=Qe(e);return this.tween(n,(r.local?Ja:Ya)(r,t))}function Za(e,t){return function(){Oa(this,e).delay=+t.apply(this,arguments)}}function Qa(e,t){return t=+t,function(){Oa(this,e).delay=t}}function $a(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Za:Qa)(t,e)):Aa(this.node(),t).delay}function eo(e,t){return function(){ka(this,e).duration=+t.apply(this,arguments)}}function to(e,t){return t=+t,function(){ka(this,e).duration=t}}function no(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?eo:to)(t,e)):Aa(this.node(),t).duration}function ro(e,t){if(typeof t!=`function`)throw Error();return function(){ka(this,e).ease=t}}function io(e){var t=this._id;return arguments.length?this.each(ro(t,e)):Aa(this.node(),t).ease}function ao(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();ka(this,e).ease=n}}function oo(e){if(typeof e!=`function`)throw Error();return this.each(ao(this._id,e))}function so(e){typeof e!=`function`&&(e=dt(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new Lo(r,this._parents,this._name,this._id)}function co(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new Lo(o,this._parents,this._name,this._id)}function lo(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function uo(e,t,n){var r,i,a=lo(t)?Oa:ka;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function fo(e,t){var n=this._id;return arguments.length<2?Aa(this.node(),n).on.on(e):this.each(uo(n,e,t))}function po(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function mo(){return this.on(`end.remove`,po(this._id))}function ho(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=rt(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,Da(l[f],t,n,f,l,Aa(u,n)));return new Lo(a,this._parents,t,n)}function go(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=ct(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=Aa(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&Da(p,t,n,h,f,m);a.push(f),o.push(u)}return new Lo(a,o,t,n)}var _o=Yn.prototype.constructor;function vo(){return new _o(this._groups,this._parents)}function yo(e,t){var n,r,i;return function(){var a=tn(this,e),o=(this.style.removeProperty(e),tn(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function bo(e){return function(){this.style.removeProperty(e)}}function xo(e,t,n){var r,i=n+``,a;return function(){var o=tn(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function So(e,t,n){var r,i,a;return function(){var o=tn(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),tn(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function Co(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=ka(this,e),l=c.on,u=c.value[a]==null?s||=bo(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function wo(e,t,n){var r=(e+=``)==`transform`?qi:Ra;return t==null?this.styleTween(e,yo(e,r)).on(`end.style.`+e,bo(e)):typeof t==`function`?this.styleTween(e,So(e,r,La(this,`style.`+e,t))).each(Co(this._id,e)):this.styleTween(e,xo(e,r,t),n).on(`end.style.`+e,null)}function To(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function Eo(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&To(e,a,n)),r}return a._value=t,a}function Do(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,Eo(e,t,n??``))}function Oo(e){return function(){this.textContent=e}}function ko(e){return function(){this.textContent=e(this)??``}}function Ao(e){return this.tween(`text`,typeof e==`function`?ko(La(this,`text`,e)):Oo(e==null?``:e+``))}function jo(e){return function(t){this.textContent=e.call(this,t)}}function Mo(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&jo(r)),t}return r._value=e,r}function No(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,Mo(e))}function Po(){for(var e=this._name,t=this._id,n=zo(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=Aa(c,t);Da(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new Lo(r,this._parents,e,n)}function Fo(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=ka(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Io=0;function Lo(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ro(e){return Yn().transition(e)}function zo(){return++Io}var Bo=Yn.prototype;Lo.prototype=Ro.prototype={constructor:Lo,select:ho,selectAll:go,selectChild:Bo.selectChild,selectChildren:Bo.selectChildren,filter:so,merge:co,selection:vo,transition:Po,call:Bo.call,nodes:Bo.nodes,node:Bo.node,size:Bo.size,empty:Bo.empty,each:Bo.each,on:fo,attr:Ga,attrTween:Xa,style:wo,styleTween:Do,text:Ao,textTween:No,remove:mo,tween:Ia,delay:$a,duration:no,ease:io,easeVarying:oo,end:Fo,[Symbol.iterator]:Bo[Symbol.iterator]};function Vo(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Ho={time:null,delay:0,duration:250,ease:Vo};function Uo(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Wo(e){var t,n;e instanceof Lo?(t=e._id,e=e._name):(t=zo(),(n=Ho).time=ha(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&Da(c,e,t,l,o,n||Uo(c,t));return new Lo(r,this._parents,e,t)}Yn.prototype.interrupt=Na,Yn.prototype.transition=Wo;var{abs:Go,max:Ko,min:qo}=Math;[`w`,`e`].map(Jo),[`n`,`s`].map(Jo),[`n`,`w`,`e`,`s`,`nw`,`ne`,`sw`,`se`].map(Jo);function Jo(e){return{type:e}}var Yo=Math.PI,Xo=2*Yo,Zo=1e-6,Qo=Xo-Zo;function $o(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function es(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return $o;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var ts=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?$o:es(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>Zo)if(!(Math.abs(u*s-c*l)>Zo)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((Yo-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>Zo&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>Zo||Math.abs(this._y1-l)>Zo)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%Xo+Xo),d>Qo?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>Zo&&this._append`A${n},${n},0,${+(d>=Yo)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function ns(){return new ts}ns.prototype=ts.prototype;function rs(e=3){return new ts(+e)}function is(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function as(e,t){if(!isFinite(e)||e===0)return null;var n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`),r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function os(e){return e=as(Math.abs(e)),e?e[1]:NaN}function ss(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function cs(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var ls=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function us(e){if(!(t=ls.exec(e)))throw Error(`invalid format: `+e);var t;return new ds({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}us.prototype=ds.prototype;function ds(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}ds.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function fs(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var ps;function ms(e,t){var n=as(e,t);if(!n)return ps=void 0,e.toPrecision(t);var r=n[0],i=n[1],a=i-(ps=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+as(e,Math.max(0,t+a-1))[0]}function hs(e,t){var n=as(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var gs={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:is,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>hs(e*100,t),r:hs,s:ms,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function _s(e){return e}var vs=Array.prototype.map,ys=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function bs(e){var t=e.grouping===void 0||e.thousands===void 0?_s:ss(vs.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?_s:cs(vs.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e,l){e=us(e);var u=e.fill,d=e.align,f=e.sign,p=e.symbol,m=e.zero,h=e.width,g=e.comma,_=e.precision,v=e.trim,y=e.type;y===`n`?(g=!0,y=`g`):gs[y]||(_===void 0&&(_=12),v=!0,y=`g`),(m||u===`0`&&d===`=`)&&(m=!0,u=`0`,d=`=`);var b=(l&&l.prefix!==void 0?l.prefix:``)+(p===`$`?n:p===`#`&&/[boxX]/.test(y)?`0`+y.toLowerCase():``),x=(p===`$`?r:/[%p]/.test(y)?o:``)+(l&&l.suffix!==void 0?l.suffix:``),S=gs[y],C=/[defgprs%]/.test(y);_=_===void 0?6:/[gprs]/.test(y)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_));function w(e){var n=b,r=x,o,l,p;if(y===`c`)r=S(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:S(Math.abs(e),_),v&&(e=fs(e)),w&&+e==0&&f!==`+`&&(w=!1),n=(w?f===`(`?f:s:f===`-`||f===`(`?``:f)+n,r=(y===`s`&&!isNaN(e)&&ps!==void 0?ys[8+ps/3]:``)+r+(w&&f===`(`?`)`:``),C){for(o=-1,l=e.length;++o<l;)if(p=e.charCodeAt(o),48>p||p>57){r=(p===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}g&&!m&&(e=t(e,1/0));var T=n.length+e.length+r.length,E=T<h?Array(h-T+1).join(u):``;switch(g&&m&&(e=t(E+e,E.length?h-r.length:1/0),E=``),d){case`<`:e=n+e+r+E;break;case`=`:e=n+E+e+r;break;case`^`:e=E.slice(0,T=E.length>>1)+n+e+r+E.slice(T);break;default:e=E+n+e+r;break}return a(e)}return w.toString=function(){return e+``},w}function u(e,t){var n=Math.max(-8,Math.min(8,Math.floor(os(t)/3)))*3,r=10**-n,i=l((e=us(e),e.type=`f`,e),{suffix:ys[8+n/3]});return function(e){return i(r*e)}}return{format:l,formatPrefix:u}}var xs,Ss,Cs;ws({thousands:`,`,grouping:[3],currency:[`$`,``]});function ws(e){return xs=bs(e),Ss=xs.format,Cs=xs.formatPrefix,xs}function Ts(e){return Math.max(0,-os(Math.abs(e)))}function Es(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(os(t)/3)))*3-os(Math.abs(e)))}function Ds(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,os(t)-os(e))+1}var N=1e-6,P=Math.PI,F=P/2,Os=P/4,ks=P*2,As=180/P,I=P/180,L=Math.abs,js=Math.atan,Ms=Math.atan2,R=Math.cos,Ns=Math.exp,Ps=Math.log,Fs=Math.pow,z=Math.sin,Is=Math.sign||function(e){return e>0?1:e<0?-1:0},Ls=Math.sqrt,Rs=Math.tan;function zs(e){return e>1?0:e<-1?P:Math.acos(e)}function Bs(e){return e>1?F:e<-1?-F:Math.asin(e)}function Vs(){}function Hs(e,t){e&&Ws.hasOwnProperty(e.type)&&Ws[e.type](e,t)}var Us={Feature:function(e,t){Hs(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++r<i;)Hs(n[r].geometry,t)}},Ws={Sphere:function(e,t){t.sphere()},Point:function(e,t){e=e.coordinates,t.point(e[0],e[1],e[2])},MultiPoint:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)e=n[r],t.point(e[0],e[1],e[2])},LineString:function(e,t){Gs(e.coordinates,t,0)},MultiLineString:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Gs(n[r],t,0)},Polygon:function(e,t){Ks(e.coordinates,t)},MultiPolygon:function(e,t){for(var n=e.coordinates,r=-1,i=n.length;++r<i;)Ks(n[r],t)},GeometryCollection:function(e,t){for(var n=e.geometries,r=-1,i=n.length;++r<i;)Hs(n[r],t)}};function Gs(e,t,n){var r=-1,i=e.length-n,a;for(t.lineStart();++r<i;)a=e[r],t.point(a[0],a[1],a[2]);t.lineEnd()}function Ks(e,t){var n=-1,r=e.length;for(t.polygonStart();++n<r;)Gs(e[n],t,1);t.polygonEnd()}function qs(e,t){e&&Us.hasOwnProperty(e.type)?Us[e.type](e,t):Hs(e,t)}function Js(e){return[Ms(e[1],e[0]),Bs(e[2])]}function Ys(e){var t=e[0],n=e[1],r=R(n);return[r*R(t),r*z(t),z(n)]}function Xs(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function Zs(e,t){return[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]]}function Qs(e,t){e[0]+=t[0],e[1]+=t[1],e[2]+=t[2]}function $s(e,t){return[e[0]*t,e[1]*t,e[2]*t]}function ec(e){var t=Ls(e[0]*e[0]+e[1]*e[1]+e[2]*e[2]);e[0]/=t,e[1]/=t,e[2]/=t}function tc(e,t){function n(n,r){return n=e(n,r),t(n[0],n[1])}return e.invert&&t.invert&&(n.invert=function(n,r){return n=t.invert(n,r),n&&e.invert(n[0],n[1])}),n}function nc(e,t){return L(e)>P&&(e-=Math.round(e/ks)*ks),[e,t]}nc.invert=nc;function rc(e,t,n){return(e%=ks)?t||n?tc(ac(e),oc(t,n)):ac(e):t||n?oc(t,n):nc}function ic(e){return function(t,n){return t+=e,L(t)>P&&(t-=Math.round(t/ks)*ks),[t,n]}}function ac(e){var t=ic(e);return t.invert=ic(-e),t}function oc(e,t){var n=R(e),r=z(e),i=R(t),a=z(t);function o(e,t){var o=R(t),s=R(e)*o,c=z(e)*o,l=z(t),u=l*n+s*r;return[Ms(c*i-u*a,s*n-l*r),Bs(u*i+c*a)]}return o.invert=function(e,t){var o=R(t),s=R(e)*o,c=z(e)*o,l=z(t),u=l*i-c*a;return[Ms(c*i+l*a,s*n+u*r),Bs(u*n-s*r)]},o}function sc(e){e=rc(e[0]*I,e[1]*I,e.length>2?e[2]*I:0);function t(t){return t=e(t[0]*I,t[1]*I),t[0]*=As,t[1]*=As,t}return t.invert=function(t){return t=e.invert(t[0]*I,t[1]*I),t[0]*=As,t[1]*=As,t},t}function cc(e,t,n,r,i,a){if(n){var o=R(t),s=z(t),c=r*n;i==null?(i=t+r*ks,a=t-c/2):(i=lc(o,i),a=lc(o,a),(r>0?i<a:i>a)&&(i+=r*ks));for(var l,u=i;r>0?u>a:u<a;u-=c)l=Js([o,-s*R(u),-s*z(u)]),e.point(l[0],l[1])}}function lc(e,t){t=Ys(t),t[0]-=e,ec(t);var n=zs(-t[1]);return((-t[2]<0?-n:n)+ks-N)%ks}function uc(){var e=[],t;return{point:function(e,n,r){t.push([e,n,r])},lineStart:function(){e.push(t=[])},lineEnd:Vs,rejoin:function(){e.length>1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function dc(e,t){return L(e[0]-t[0])<1e-6&&L(e[1]-t[1])<1e-6}function fc(e,t,n,r){this.x=e,this.z=t,this.o=n,this.e=r,this.v=!1,this.n=this.p=null}function pc(e,t,n,r,i){var a=[],o=[],s,c;if(e.forEach(function(e){if(!((t=e.length-1)<=0)){var t,n=e[0],r=e[t],c;if(dc(n,r)){if(!n[2]&&!r[2]){for(i.lineStart(),s=0;s<t;++s)i.point((n=e[s])[0],n[1]);i.lineEnd();return}r[0]+=2*N}a.push(c=new fc(n,e,null,!0)),o.push(c.o=new fc(n,null,c,!1)),a.push(c=new fc(r,e,null,!1)),o.push(c.o=new fc(r,null,c,!0))}}),a.length){for(o.sort(t),mc(a),mc(o),s=0,c=o.length;s<c;++s)o[s].e=n=!n;for(var l=a[0],u,d;;){for(var f=l,p=!0;f.v;)if((f=f.n)===l)return;u=f.z,i.lineStart();do{if(f.v=f.o.v=!0,f.e){if(p)for(s=0,c=u.length;s<c;++s)i.point((d=u[s])[0],d[1]);else r(f.x,f.n.x,1,i);f=f.n}else{if(p)for(u=f.p.z,s=u.length-1;s>=0;--s)i.point((d=u[s])[0],d[1]);else r(f.x,f.p.x,-1,i);f=f.p}f=f.o,u=f.z,p=!p}while(!f.v);i.lineEnd()}}}function mc(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n<t;)r.n=i=e[n],i.p=r,r=i;r.n=i=e[0],i.p=r}}function hc(e){return L(e[0])<=P?e[0]:Is(e[0])*((L(e[0])+P)%ks-P)}function gc(e,t){var n=hc(t),r=t[1],i=z(r),a=[z(n),-R(n),0],o=0,s=0,c=new v;i===1?r=F+N:i===-1&&(r=-F-N);for(var l=0,u=e.length;l<u;++l)if(f=(d=e[l]).length)for(var d,f,p=d[f-1],m=hc(p),h=p[1]/2+Os,g=z(h),_=R(h),y=0;y<f;++y,m=x,g=C,_=w,p=b){var b=d[y],x=hc(b),S=b[1]/2+Os,C=z(S),w=R(S),T=x-m,E=T>=0?1:-1,D=E*T,O=D>P,k=g*C;if(c.add(Ms(k*E*z(D),_*w+k*R(D))),o+=O?T+E*ks:T,O^m>=n^x>=n){var A=Zs(Ys(p),Ys(b));ec(A);var j=Zs(a,A);ec(j);var ee=(O^T>=0?-1:1)*Bs(j[2]);(r>ee||r===ee&&(A[0]||A[1]))&&(s+=O^T>=0?1:-1)}}return(o<-1e-6||o<1e-6&&c<-1e-12)^s&1}function _c(e,t,n,r){return function(i){var a=t(i),o=uc(),s=t(o),c=!1,l,u,d,f={point:p,lineStart:h,lineEnd:g,polygonStart:function(){f.point=_,f.lineStart=v,f.lineEnd=y,u=[],l=[]},polygonEnd:function(){f.point=p,f.lineStart=h,f.lineEnd=g,u=Te(u);var e=gc(l,r);u.length?(c||=(i.polygonStart(),!0),pc(u,yc,e,n,i)):e&&(c||=(i.polygonStart(),!0),i.lineStart(),n(null,null,1,i),i.lineEnd()),c&&=(i.polygonEnd(),!1),u=l=null},sphere:function(){i.polygonStart(),i.lineStart(),n(null,null,1,i),i.lineEnd(),i.polygonEnd()}};function p(t,n){e(t,n)&&i.point(t,n)}function m(e,t){a.point(e,t)}function h(){f.point=m,a.lineStart()}function g(){f.point=p,a.lineEnd()}function _(e,t){d.push([e,t]),s.point(e,t)}function v(){s.lineStart(),d=[]}function y(){_(d[0][0],d[0][1]),s.lineEnd();var e=s.clean(),t=o.result(),n,r=t.length,a,f,p;if(d.pop(),l.push(d),d=null,r){if(e&1){if(f=t[0],(a=f.length-1)>0){for(c||=(i.polygonStart(),!0),i.lineStart(),n=0;n<a;++n)i.point((p=f[n])[0],p[1]);i.lineEnd()}return}r>1&&e&2&&t.push(t.pop().concat(t.shift())),u.push(t.filter(vc))}}return f}}function vc(e){return e.length>1}function yc(e,t){return((e=e.x)[0]<0?e[1]-F-N:F-e[1])-((t=t.x)[0]<0?t[1]-F-N:F-t[1])}var bc=_c(function(){return!0},xc,Cc,[-P,-F]);function xc(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(a,o){var s=a>0?P:-P,c=L(a-t);L(c-P)<1e-6?(e.point(t,n=(n+o)/2>0?F:-F),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),e.point(a,n),i=0):r!==s&&c>=P&&(L(t-r)<1e-6&&(t-=r*N),L(a-s)<1e-6&&(a-=s*N),n=Sc(t,n,a,o),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(s,n),i=0),e.point(t=a,n=o),r=s},lineEnd:function(){e.lineEnd(),t=n=NaN},clean:function(){return 2-i}}}function Sc(e,t,n,r){var i,a,o=z(e-n);return L(o)>1e-6?js((z(t)*(a=R(r))*z(n)-z(r)*(i=R(t))*z(e))/(i*a*o)):(t+r)/2}function Cc(e,t,n,r){var i;if(e==null)i=n*F,r.point(-P,i),r.point(0,i),r.point(P,i),r.point(P,0),r.point(P,-i),r.point(0,-i),r.point(-P,-i),r.point(-P,0),r.point(-P,i);else if(L(e[0]-t[0])>1e-6){var a=e[0]<t[0]?P:-P;i=n*a/2,r.point(-a,i),r.point(0,i),r.point(a,i)}else r.point(t[0],t[1])}function wc(e){var t=R(e),n=2*I,r=t>0,i=L(t)>N;function a(t,r,i,a){cc(a,e,n,i,t,r)}function o(e,n){return R(e)*R(n)>t}function s(e){var t,n,a,s,u;return{lineStart:function(){s=a=!1,u=1},point:function(d,f){var p=[d,f],m,h=o(d,f),g=r?h?0:l(d,f):h?l(d+(d<0?P:-P),f):0;if(!t&&(s=a=h)&&e.lineStart(),h!==a&&(m=c(t,p),(!m||dc(t,m)||dc(p,m))&&(p[2]=1)),h!==a)u=0,h?(e.lineStart(),m=c(p,t),e.point(m[0],m[1])):(m=c(t,p),e.point(m[0],m[1],2),e.lineEnd()),t=m;else if(i&&t&&r^h){var _;!(g&n)&&(_=c(p,t,!0))&&(u=0,r?(e.lineStart(),e.point(_[0][0],_[0][1]),e.point(_[1][0],_[1][1]),e.lineEnd()):(e.point(_[1][0],_[1][1]),e.lineEnd(),e.lineStart(),e.point(_[0][0],_[0][1],3)))}h&&(!t||!dc(t,p))&&e.point(p[0],p[1]),t=p,a=h,n=g},lineEnd:function(){a&&e.lineEnd(),t=null},clean:function(){return u|(s&&a)<<1}}}function c(e,n,r){var i=Ys(e),a=Ys(n),o=[1,0,0],s=Zs(i,a),c=Xs(s,s),l=s[0],u=c-l*l;if(!u)return!r&&e;var d=t*c/u,f=-t*l/u,p=Zs(o,s),m=$s(o,d);Qs(m,$s(s,f));var h=p,g=Xs(m,h),_=Xs(h,h),v=g*g-_*(Xs(m,m)-1);if(!(v<0)){var y=Ls(v),b=$s(h,(-g-y)/_);if(Qs(b,m),b=Js(b),!r)return b;var x=e[0],S=n[0],C=e[1],w=n[1],T;S<x&&(T=x,x=S,S=T);var E=S-x,D=L(E-P)<N,O=D||E<1e-6;if(!D&&w<C&&(T=C,C=w,w=T),O?D?C+w>0^b[1]<(L(b[0]-x)<1e-6?C:w):C<=b[1]&&b[1]<=w:E>P^(x<=b[0]&&b[0]<=S)){var k=$s(h,(-g+y)/_);return Qs(k,m),[b,Js(k)]}}}function l(t,n){var i=r?e:P-e,a=0;return t<-i?a|=1:t>i&&(a|=2),n<-i?a|=4:n>i&&(a|=8),a}return _c(o,s,a,r?[0,-e]:[-P,e-P])}function Tc(e,t,n,r,i,a){var o=e[0],s=e[1],c=t[0],l=t[1],u=0,d=1,f=c-o,p=l-s,m=n-o;if(!(!f&&m>0)){if(m/=f,f<0){if(m<u)return;m<d&&(d=m)}else if(f>0){if(m>d)return;m>u&&(u=m)}if(m=i-o,!(!f&&m<0)){if(m/=f,f<0){if(m>d)return;m>u&&(u=m)}else if(f>0){if(m<u)return;m<d&&(d=m)}if(m=r-s,!(!p&&m>0)){if(m/=p,p<0){if(m<u)return;m<d&&(d=m)}else if(p>0){if(m>d)return;m>u&&(u=m)}if(m=a-s,!(!p&&m<0)){if(m/=p,p<0){if(m>d)return;m>u&&(u=m)}else if(p>0){if(m<u)return;m<d&&(d=m)}return u>0&&(e[0]=o+u*f,e[1]=s+u*p),d<1&&(t[0]=o+d*f,t[1]=s+d*p),!0}}}}}var Ec=1e9,Dc=-Ec;function Oc(e,t,n,r){function i(i,a){return e<=i&&i<=n&&t<=a&&a<=r}function a(i,a,s,l){var u=0,d=0;if(i==null||(u=o(i,s))!==(d=o(a,s))||c(i,a)<0^s>0)do l.point(u===0||u===3?e:n,u>1?r:t);while((u=(u+s+4)%4)!==d);else l.point(a[0],a[1])}function o(r,i){return L(r[0]-e)<1e-6?i>0?0:3:L(r[0]-n)<1e-6?i>0?2:1:L(r[1]-t)<1e-6?i>0?1:0:i>0?3:2}function s(e,t){return c(e.x,t.x)}function c(e,t){var n=o(e,1),r=o(t,1);return n===r?n===0?t[1]-e[1]:n===1?e[0]-t[0]:n===2?e[1]-t[1]:t[0]-e[0]:n-r}return function(o){var c=o,l=uc(),u,d,f,p,m,h,g,_,v,y,b,x={point:S,lineStart:E,lineEnd:D,polygonStart:w,polygonEnd:T};function S(e,t){i(e,t)&&c.point(e,t)}function C(){for(var t=0,n=0,i=d.length;n<i;++n)for(var a=d[n],o=1,s=a.length,c=a[0],l,u,f=c[0],p=c[1];o<s;++o)l=f,u=p,c=a[o],f=c[0],p=c[1],u<=r?p>r&&(f-l)*(r-u)>(p-u)*(e-l)&&++t:p<=r&&(f-l)*(r-u)<(p-u)*(e-l)&&--t;return t}function w(){c=l,u=[],d=[],b=!0}function T(){var e=C(),t=b&&e,n=(u=Te(u)).length;(t||n)&&(o.polygonStart(),t&&(o.lineStart(),a(null,null,1,o),o.lineEnd()),n&&pc(u,s,e,a,o),o.polygonEnd()),c=o,u=d=f=null}function E(){x.point=O,d&&d.push(f=[]),y=!0,v=!1,g=_=NaN}function D(){u&&(O(p,m),h&&v&&l.rejoin(),u.push(l.result())),x.point=S,v&&c.lineEnd()}function O(a,o){var s=i(a,o);if(d&&f.push([a,o]),y)p=a,m=o,h=s,y=!1,s&&(c.lineStart(),c.point(a,o));else if(s&&v)c.point(a,o);else{var l=[g=Math.max(Dc,Math.min(Ec,g)),_=Math.max(Dc,Math.min(Ec,_))],u=[a=Math.max(Dc,Math.min(Ec,a)),o=Math.max(Dc,Math.min(Ec,o))];Tc(l,u,e,t,n,r)?(v||(c.lineStart(),c.point(l[0],l[1])),c.point(u[0],u[1]),s||c.lineEnd(),b=!1):s&&(c.lineStart(),c.point(a,o),b=!1)}g=a,_=o,v=s}return x}}var kc=e=>e,Ac=new v,jc=new v,Mc,Nc,Pc,Fc,Ic={point:Vs,lineStart:Vs,lineEnd:Vs,polygonStart:function(){Ic.lineStart=Lc,Ic.lineEnd=Bc},polygonEnd:function(){Ic.lineStart=Ic.lineEnd=Ic.point=Vs,Ac.add(L(jc)),jc=new v},result:function(){var e=Ac/2;return Ac=new v,e}};function Lc(){Ic.point=Rc}function Rc(e,t){Ic.point=zc,Mc=Pc=e,Nc=Fc=t}function zc(e,t){jc.add(Fc*e-Pc*t),Pc=e,Fc=t}function Bc(){zc(Mc,Nc)}var Vc=1/0,Hc=Vc,Uc=-Vc,Wc=Uc,Gc={point:Kc,lineStart:Vs,lineEnd:Vs,polygonStart:Vs,polygonEnd:Vs,result:function(){var e=[[Vc,Hc],[Uc,Wc]];return Uc=Wc=-(Hc=Vc=1/0),e}};function Kc(e,t){e<Vc&&(Vc=e),e>Uc&&(Uc=e),t<Hc&&(Hc=t),t>Wc&&(Wc=t)}var qc=0,Jc=0,Yc=0,Xc=0,Zc=0,Qc=0,$c=0,el=0,tl=0,nl,rl,il,al,ol={point:sl,lineStart:cl,lineEnd:dl,polygonStart:function(){ol.lineStart=fl,ol.lineEnd=pl},polygonEnd:function(){ol.point=sl,ol.lineStart=cl,ol.lineEnd=dl},result:function(){var e=tl?[$c/tl,el/tl]:Qc?[Xc/Qc,Zc/Qc]:Yc?[qc/Yc,Jc/Yc]:[NaN,NaN];return qc=Jc=Yc=Xc=Zc=Qc=$c=el=tl=0,e}};function sl(e,t){qc+=e,Jc+=t,++Yc}function cl(){ol.point=ll}function ll(e,t){ol.point=ul,sl(il=e,al=t)}function ul(e,t){var n=e-il,r=t-al,i=Ls(n*n+r*r);Xc+=i*(il+e)/2,Zc+=i*(al+t)/2,Qc+=i,sl(il=e,al=t)}function dl(){ol.point=sl}function fl(){ol.point=ml}function pl(){hl(nl,rl)}function ml(e,t){ol.point=hl,sl(nl=il=e,rl=al=t)}function hl(e,t){var n=e-il,r=t-al,i=Ls(n*n+r*r);Xc+=i*(il+e)/2,Zc+=i*(al+t)/2,Qc+=i,i=al*e-il*t,$c+=i*(il+e),el+=i*(al+t),tl+=i*3,sl(il=e,al=t)}function gl(e){this._context=e}gl.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:this._context.moveTo(e,t),this._point=1;break;case 1:this._context.lineTo(e,t);break;default:this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,ks);break}},result:Vs};var _l=new v,vl,yl,bl,xl,Sl,Cl={point:Vs,lineStart:function(){Cl.point=wl},lineEnd:function(){vl&&Tl(yl,bl),Cl.point=Vs},polygonStart:function(){vl=!0},polygonEnd:function(){vl=null},result:function(){var e=+_l;return _l=new v,e}};function wl(e,t){Cl.point=Tl,yl=xl=e,bl=Sl=t}function Tl(e,t){xl-=e,Sl-=t,_l.add(Ls(xl*xl+Sl*Sl)),xl=e,Sl=t}var El,Dl,Ol,kl,Al=class{constructor(e){this._append=e==null?jl:Ml(e),this._radius=4.5,this._=``}pointRadius(e){return this._radius=+e,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+=`Z`),this._point=NaN}point(e,t){switch(this._point){case 0:this._append`M${e},${t}`,this._point=1;break;case 1:this._append`L${e},${t}`;break;default:if(this._append`M${e},${t}`,this._radius!==Ol||this._append!==Dl){let e=this._radius,t=this._;this._=``,this._append`m0,${e}a${e},${e} 0 1,1 0,${-2*e}a${e},${e} 0 1,1 0,${2*e}z`,Ol=e,Dl=this._append,kl=this._,this._=t}this._+=kl;break}}result(){let e=this._;return this._=``,e.length?e:null}};function jl(e){let t=1;this._+=e[0];for(let n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function Ml(e){let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);if(t>15)return jl;if(t!==El){let e=10**t;El=t,Dl=function(t){let n=1;this._+=t[0];for(let r=t.length;n<r;++n)this._+=Math.round(arguments[n]*e)/e+t[n]}}return Dl}function Nl(e,t){let n=3,r=4.5,i,a;function o(e){return e&&(typeof r==`function`&&a.pointRadius(+r.apply(this,arguments)),qs(e,i(a))),a.result()}return o.area=function(e){return qs(e,i(Ic)),Ic.result()},o.measure=function(e){return qs(e,i(Cl)),Cl.result()},o.bounds=function(e){return qs(e,i(Gc)),Gc.result()},o.centroid=function(e){return qs(e,i(ol)),ol.result()},o.projection=function(t){return arguments.length?(i=t==null?(e=null,kc):(e=t).stream,o):e},o.context=function(e){return arguments.length?(a=e==null?(t=null,new Al(n)):new gl(t=e),typeof r!=`function`&&a.pointRadius(r),o):t},o.pointRadius=function(e){return arguments.length?(r=typeof e==`function`?e:(a.pointRadius(+e),+e),o):r},o.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{let t=Math.floor(e);if(!(t>=0))throw RangeError(`invalid digits: ${e}`);n=t}return t===null&&(a=new Al(n)),o},o.projection(e).digits(n).context(t)}function Pl(e){return{stream:Fl(e)}}function Fl(e){return function(t){var n=new Il;for(var r in e)n[r]=e[r];return n.stream=t,n}}function Il(){}Il.prototype={constructor:Il,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function Ll(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),qs(n,e.stream(Gc)),t(Gc.result()),r!=null&&e.clipExtent(r),e}function Rl(e,t,n){return Ll(e,function(n){var r=t[1][0]-t[0][0],i=t[1][1]-t[0][1],a=Math.min(r/(n[1][0]-n[0][0]),i/(n[1][1]-n[0][1])),o=+t[0][0]+(r-a*(n[1][0]+n[0][0]))/2,s=+t[0][1]+(i-a*(n[1][1]+n[0][1]))/2;e.scale(150*a).translate([o,s])},n)}function zl(e,t,n){return Rl(e,[[0,0],t],n)}function Bl(e,t,n){return Ll(e,function(n){var r=+t,i=r/(n[1][0]-n[0][0]),a=(r-i*(n[1][0]+n[0][0]))/2,o=-i*n[0][1];e.scale(150*i).translate([a,o])},n)}function Vl(e,t,n){return Ll(e,function(n){var r=+t,i=r/(n[1][1]-n[0][1]),a=-i*n[0][0],o=(r-i*(n[1][1]+n[0][1]))/2;e.scale(150*i).translate([a,o])},n)}var Hl=16,Ul=R(30*I);function Wl(e,t){return+t?Kl(e,t):Gl(e)}function Gl(e){return Fl({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function Kl(e,t){function n(r,i,a,o,s,c,l,u,d,f,p,m,h,g){var _=l-r,v=u-i,y=_*_+v*v;if(y>4*t&&h--){var b=o+f,x=s+p,S=c+m,C=Ls(b*b+x*x+S*S),w=Bs(S/=C),T=L(L(S)-1)<1e-6||L(a-d)<1e-6?(a+d)/2:Ms(x,b),E=e(T,w),D=E[0],O=E[1],k=D-r,A=O-i,j=v*k-_*A;(j*j/y>t||L((_*k+v*A)/y-.5)>.3||o*f+s*p+c*m<Ul)&&(n(r,i,a,o,s,c,D,O,T,b/=C,x/=C,S,h,g),g.point(D,O),n(D,O,T,b,x,S,l,u,d,f,p,m,h,g))}}return function(t){var r,i,a,o,s,c,l,u,d,f,p,m,h={point:g,lineStart:_,lineEnd:y,polygonStart:function(){t.polygonStart(),h.lineStart=b},polygonEnd:function(){t.polygonEnd(),h.lineStart=_}};function g(n,r){n=e(n,r),t.point(n[0],n[1])}function _(){u=NaN,h.point=v,t.lineStart()}function v(r,i){var a=Ys([r,i]),o=e(r,i);n(u,d,l,f,p,m,u=o[0],d=o[1],l=r,f=a[0],p=a[1],m=a[2],Hl,t),t.point(u,d)}function y(){h.point=g,t.lineEnd()}function b(){_(),h.point=x,h.lineEnd=S}function x(e,t){v(r=e,t),i=u,a=d,o=f,s=p,c=m,h.point=v}function S(){n(u,d,l,f,p,m,i,a,r,o,s,c,Hl,t),h.lineEnd=y,y()}return h}}var ql=Fl({point:function(e,t){this.stream.point(e*I,t*I)}});function Jl(e){return Fl({point:function(t,n){var r=e(t,n);return this.stream.point(r[0],r[1])}})}function Yl(e,t,n,r,i){function a(a,o){return a*=r,o*=i,[t+e*a,n-e*o]}return a.invert=function(a,o){return[(a-t)/e*r,(n-o)/e*i]},a}function Xl(e,t,n,r,i,a){if(!a)return Yl(e,t,n,r,i);var o=R(a),s=z(a),c=o*e,l=s*e,u=o/e,d=s/e,f=(s*n-o*t)/e,p=(s*t+o*n)/e;function m(e,a){return e*=r,a*=i,[c*e-l*a+t,n-l*e-c*a]}return m.invert=function(e,t){return[r*(u*e-d*t+f),i*(p-d*e-u*t)]},m}function Zl(e){return Ql(function(){return e})()}function Ql(e){var t,n=150,r=480,i=250,a=0,o=0,s=0,c=0,l=0,u,d=0,f=1,p=1,m=null,h=bc,g=null,_,v,y,b=kc,x=.5,S,C,w,T,E;function D(e){return w(e[0]*I,e[1]*I)}function O(e){return e=w.invert(e[0],e[1]),e&&[e[0]*As,e[1]*As]}D.stream=function(e){return T&&E===e?T:T=ql(Jl(u)(h(S(b(E=e)))))},D.preclip=function(e){return arguments.length?(h=e,m=void 0,A()):h},D.postclip=function(e){return arguments.length?(b=e,g=_=v=y=null,A()):b},D.clipAngle=function(e){return arguments.length?(h=+e?wc(m=e*I):(m=null,bc),A()):m*As},D.clipExtent=function(e){return arguments.length?(b=e==null?(g=_=v=y=null,kc):Oc(g=+e[0][0],_=+e[0][1],v=+e[1][0],y=+e[1][1]),A()):g==null?null:[[g,_],[v,y]]},D.scale=function(e){return arguments.length?(n=+e,k()):n},D.translate=function(e){return arguments.length?(r=+e[0],i=+e[1],k()):[r,i]},D.center=function(e){return arguments.length?(a=e[0]%360*I,o=e[1]%360*I,k()):[a*As,o*As]},D.rotate=function(e){return arguments.length?(s=e[0]%360*I,c=e[1]%360*I,l=e.length>2?e[2]%360*I:0,k()):[s*As,c*As,l*As]},D.angle=function(e){return arguments.length?(d=e%360*I,k()):d*As},D.reflectX=function(e){return arguments.length?(f=e?-1:1,k()):f<0},D.reflectY=function(e){return arguments.length?(p=e?-1:1,k()):p<0},D.precision=function(e){return arguments.length?(S=Wl(C,x=e*e),A()):Ls(x)},D.fitExtent=function(e,t){return Rl(D,e,t)},D.fitSize=function(e,t){return zl(D,e,t)},D.fitWidth=function(e,t){return Bl(D,e,t)},D.fitHeight=function(e,t){return Vl(D,e,t)};function k(){var e=Xl(n,0,0,f,p,d).apply(null,t(a,o)),m=Xl(n,r-e[0],i-e[1],f,p,d);return u=rc(s,c,l),C=tc(t,m),w=tc(u,C),S=Wl(C,x),A()}function A(){return T=E=null,D}return function(){return t=e.apply(this,arguments),D.invert=t.invert&&O,k()}}function $l(e){var t=0,n=P/3,r=Ql(e),i=r(t,n);return i.parallels=function(e){return arguments.length?r(t=e[0]*I,n=e[1]*I):[t*As,n*As]},i}function eu(e){var t=R(e);function n(e,n){return[e*t,z(n)/t]}return n.invert=function(e,n){return[e/t,Bs(n*t)]},n}function tu(e,t){var n=z(e),r=(n+z(t))/2;if(L(r)<1e-6)return eu(e);var i=1+n*(2*r-n),a=Ls(i)/r;function o(e,t){var n=Ls(i-2*r*z(t))/r;return[n*z(e*=r),a-n*R(e)]}return o.invert=function(e,t){var n=a-t,o=Ms(e,L(n))*Is(n);return n*r<0&&(o-=P*Is(e)*Is(n)),[o/r,Bs((i-(e*e+n*n)*r*r)/(2*r))]},o}function nu(){return $l(tu).scale(155.424).center([0,33.6442])}function ru(){return nu().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function iu(e){var t=e.length;return{point:function(n,r){for(var i=-1;++i<t;)e[i].point(n,r)},sphere:function(){for(var n=-1;++n<t;)e[n].sphere()},lineStart:function(){for(var n=-1;++n<t;)e[n].lineStart()},lineEnd:function(){for(var n=-1;++n<t;)e[n].lineEnd()},polygonStart:function(){for(var n=-1;++n<t;)e[n].polygonStart()},polygonEnd:function(){for(var n=-1;++n<t;)e[n].polygonEnd()}}}function au(){var e,t,n=ru(),r,i=nu().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a,o=nu().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,c,l={point:function(e,t){c=[e,t]}};function u(e){var t=e[0],n=e[1];return c=null,(r.point(t,n),c)||(a.point(t,n),c)||(s.point(t,n),c)}u.invert=function(e){var t=n.scale(),r=n.translate(),a=(e[0]-r[0])/t,s=(e[1]-r[1])/t;return(s>=.12&&s<.234&&a>=-.425&&a<-.214?i:s>=.166&&s<.234&&a>=-.214&&a<-.115?o:n).invert(e)},u.stream=function(r){return e&&t===r?e:e=iu([n.stream(t=r),i.stream(r),o.stream(r)])},u.precision=function(e){return arguments.length?(n.precision(e),i.precision(e),o.precision(e),d()):n.precision()},u.scale=function(e){return arguments.length?(n.scale(e),i.scale(e*.35),o.scale(e),u.translate(n.translate())):n.scale()},u.translate=function(e){if(!arguments.length)return n.translate();var t=n.scale(),c=+e[0],u=+e[1];return r=n.translate(e).clipExtent([[c-.455*t,u-.238*t],[c+.455*t,u+.238*t]]).stream(l),a=i.translate([c-.307*t,u+.201*t]).clipExtent([[c-.425*t+N,u+.12*t+N],[c-.214*t-N,u+.234*t-N]]).stream(l),s=o.translate([c-.205*t,u+.212*t]).clipExtent([[c-.214*t+N,u+.166*t+N],[c-.115*t-N,u+.234*t-N]]).stream(l),d()},u.fitExtent=function(e,t){return Rl(u,e,t)},u.fitSize=function(e,t){return zl(u,e,t)},u.fitWidth=function(e,t){return Bl(u,e,t)},u.fitHeight=function(e,t){return Vl(u,e,t)};function d(){return e=t=null,u}return u.scale(1070)}function ou(e){return function(t,n){var r=R(t),i=R(n),a=e(r*i);return a===1/0?[2,0]:[a*i*z(t),a*z(n)]}}function su(e){return function(t,n){var r=Ls(t*t+n*n),i=e(r),a=z(i),o=R(i);return[Ms(t*a,r*o),Bs(r&&n*a/r)]}}var cu=ou(function(e){return Ls(2/(1+e))});cu.invert=su(function(e){return 2*Bs(e/2)});function lu(){return Zl(cu).scale(124.75).clipAngle(179.999)}var uu=ou(function(e){return(e=zs(e))&&e/z(e)});uu.invert=su(function(e){return e});function du(){return Zl(uu).scale(79.4188).clipAngle(179.999)}function fu(e,t){return[e,Ps(Rs((F+t)/2))]}fu.invert=function(e,t){return[e,2*js(Ns(t))-F]};function pu(){return mu(fu).scale(961/ks)}function mu(e){var t=Zl(e),n=t.center,r=t.scale,i=t.translate,a=t.clipExtent,o=null,s,c,l;t.scale=function(e){return arguments.length?(r(e),u()):r()},t.translate=function(e){return arguments.length?(i(e),u()):i()},t.center=function(e){return arguments.length?(n(e),u()):n()},t.clipExtent=function(e){return arguments.length?(e==null?o=s=c=l=null:(o=+e[0][0],s=+e[0][1],c=+e[1][0],l=+e[1][1]),u()):o==null?null:[[o,s],[c,l]]};function u(){var n=P*r(),i=t(sc(t.rotate()).invert([0,0]));return a(o==null?[[i[0]-n,i[1]-n],[i[0]+n,i[1]+n]]:e===fu?[[Math.max(i[0]-n,o),s],[Math.min(i[0]+n,c),l]]:[[o,Math.max(i[1]-n,s)],[c,Math.min(i[1]+n,l)]])}return u()}function hu(e){return Rs((F+e)/2)}function gu(e,t){var n=R(e),r=e===t?z(e):Ps(n/R(t))/Ps(hu(t)/hu(e)),i=n*Fs(hu(e),r)/r;if(!r)return fu;function a(e,t){i>0?t<-F+1e-6&&(t=-F+N):t>F-1e-6&&(t=F-N);var n=i/Fs(hu(t),r);return[n*z(r*e),i-n*R(r*e)]}return a.invert=function(e,t){var n=i-t,a=Is(r)*Ls(e*e+n*n),o=Ms(e,L(n))*Is(n);return n*r<0&&(o-=P*Is(e)*Is(n)),[o/r,2*js(Fs(i/a,1/r))-F]},a}function _u(){return $l(gu).scale(109.5).parallels([30,30])}function vu(e,t){return[e,t]}vu.invert=vu;function yu(){return Zl(vu).scale(152.63)}function bu(e,t){var n=R(e),r=e===t?z(e):(n-R(t))/(t-e),i=n/r+e;if(L(r)<1e-6)return vu;function a(e,t){var n=i-t,a=r*e;return[n*z(a),i-n*R(a)]}return a.invert=function(e,t){var n=i-t,a=Ms(e,L(n))*Is(n);return n*r<0&&(a-=P*Is(e)*Is(n)),[a/r,i-Is(r)*Ls(e*e+n*n)]},a}function xu(){return $l(bu).scale(131.154).center([0,13.9389])}var Su=1.340264,Cu=-.081106,wu=893e-6,Tu=.003796,Eu=Ls(3)/2,Du=12;function Ou(e,t){var n=Bs(Eu*z(t)),r=n*n,i=r*r*r;return[e*R(n)/(Eu*(Su+3*Cu*r+i*(7*wu+9*Tu*r))),n*(Su+Cu*r+i*(wu+Tu*r))]}Ou.invert=function(e,t){for(var n=t,r=n*n,i=r*r*r,a=0,o,s,c;a<Du&&(s=n*(Su+Cu*r+i*(wu+Tu*r))-t,c=Su+3*Cu*r+i*(7*wu+9*Tu*r),n-=o=s/c,r=n*n,i=r*r*r,!(L(o)<1e-12));++a);return[Eu*e*(Su+3*Cu*r+i*(7*wu+9*Tu*r))/R(n),Bs(z(n)/Eu)]};function ku(){return Zl(Ou).scale(177.158)}function Au(e,t){var n=R(t),r=R(e)*n;return[n*z(e)/r,z(t)/r]}Au.invert=su(js);function ju(){return Zl(Au).scale(144.049).clipAngle(60)}function Mu(e,t){return[R(t)*z(e),z(t)]}Mu.invert=su(Bs);function Nu(){return Zl(Mu).scale(249.5).clipAngle(90+N)}function Pu(e,t){var n=R(t),r=1+R(e)*n;return[n*z(e)/r,z(t)/r]}Pu.invert=su(function(e){return 2*js(e)});function Fu(){return Zl(Pu).scale(250).clipAngle(142)}function Iu(e,t){return[Ps(Rs((F+t)/2)),-e]}Iu.invert=function(e,t){return[-t,2*js(Ns(e))-F]};function Lu(){var e=mu(Iu),t=e.center,n=e.rotate;return e.center=function(e){return arguments.length?t([-e[1],e[0]]):(e=t(),[e[1],-e[0]])},e.rotate=function(e){return arguments.length?n([e[0],e[1],e.length>2?e[2]+90:90]):(e=n(),[e[0],e[1],e[2]-90])},n([0,0,90]).scale(159.155)}function Ru(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function zu(e,t){switch(arguments.length){case 0:break;case 1:typeof e==`function`?this.interpolator(e):this.range(e);break;default:this.domain(e),typeof t==`function`?this.interpolator(t):this.range(t);break}return this}var Bu=Symbol(`implicit`);function Vu(){var e=new y,t=[],n=[],r=Bu;function i(i){let a=e.get(i);if(a===void 0){if(r!==Bu)return r;e.set(i,a=t.push(i)-1)}return n[a%n.length]}return i.domain=function(n){if(!arguments.length)return t.slice();t=[],e=new y;for(let r of n)e.has(r)||e.set(r,t.push(r)-1);return i},i.range=function(e){return arguments.length?(n=Array.from(e),i):n.slice()},i.unknown=function(e){return arguments.length?(r=e,i):r},i.copy=function(){return Vu(t,n).unknown(r)},Ru.apply(i,arguments),i}function Hu(){var e=Vu().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,a,o,s=!1,c=0,l=0,u=.5;delete e.unknown;function d(){var e=t().length,d=i<r,f=d?i:r,p=d?r:i;a=(p-f)/Math.max(1,e-c+l*2),s&&(a=Math.floor(a)),f+=(p-f-a*(e-c))*u,o=a*(1-c),s&&(f=Math.round(f),o=Math.round(o));var m=ke(e).map(function(e){return f+a*e});return n(d?m.reverse():m)}return e.domain=function(e){return arguments.length?(t(e),d()):t()},e.range=function(e){return arguments.length?([r,i]=e,r=+r,i=+i,d()):[r,i]},e.rangeRound=function(e){return[r,i]=e,r=+r,i=+i,s=!0,d()},e.bandwidth=function(){return o},e.step=function(){return a},e.round=function(e){return arguments.length?(s=!!e,d()):s},e.padding=function(e){return arguments.length?(c=Math.min(1,l=+e),d()):c},e.paddingInner=function(e){return arguments.length?(c=Math.min(1,e),d()):c},e.paddingOuter=function(e){return arguments.length?(l=+e,d()):l},e.align=function(e){return arguments.length?(u=Math.max(0,Math.min(1,e)),d()):u},e.copy=function(){return Hu(t(),[r,i]).round(s).paddingInner(c).paddingOuter(l).align(u)},Ru.apply(d(),arguments)}function Uu(e){var t=e.copy;return e.padding=e.paddingOuter,delete e.paddingInner,delete e.paddingOuter,e.copy=function(){return Uu(t())},e}function Wu(){return Uu(Hu.apply(null,arguments).paddingInner(1))}function Gu(e){return function(){return e}}function Ku(e){return+e}var qu=[0,1];function Ju(e){return e}function Yu(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:Gu(isNaN(t)?NaN:.5)}function Xu(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function Zu(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=Yu(i,r),a=n(o,a)):(r=Yu(r,i),a=n(a,o)),function(e){return a(r(e))}}function Qu(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=Yu(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=s(e,t,1,r)-1;return a[n](i[n](t))}}function $u(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function ed(){var e=qu,t=qu,n=Ri,r,i,a,o=Ju,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==Ju&&(o=Xu(e[0],e[n-1])),s=n>2?Qu:Zu,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||=s(e.map(r),t,n))(r(o(i)))}return d.invert=function(n){return o(i((l||=s(t,e.map(r),ji))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,Ku),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=zi,u()},d.clamp=function(e){return arguments.length?(o=e?!0:Ju,u()):o!==Ju},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function td(){return ed()(Ju,Ju)}function nd(e,t,n,r){var i=le(e,t,n),a;switch(r=us(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=Es(i,o))&&(r.precision=a),Cs(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=Ds(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=Ts(i))&&(r.precision=a-(r.type===`%`)*2);break}return Ss(r)}function rd(e){var t=e.domain;return e.ticks=function(e){var n=t();return se(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return nd(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??=10;var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-- >0;){if(l=ce(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function id(){var e=td();return e.copy=function(){return $u(e,id())},Ru.apply(e,arguments),rd(e)}function ad(e){var t;function n(e){return e==null||isNaN(e=+e)?t:e}return n.invert=n,n.domain=n.range=function(t){return arguments.length?(e=Array.from(t,Ku),n):e.slice()},n.unknown=function(e){return arguments.length?(t=e,n):t},n.copy=function(){return ad(e).unknown(t)},e=arguments.length?Array.from(e,Ku):[0,1],rd(n)}function od(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],a=e[r],o;return a<i&&(o=n,n=r,r=o,o=i,i=a,a=o),e[n]=t.floor(i),e[r]=t.ceil(a),e}function sd(e){return Math.log(e)}function cd(e){return Math.exp(e)}function ld(e){return-Math.log(-e)}function ud(e){return-Math.exp(-e)}function dd(e){return isFinite(e)?+(`1e`+e):e<0?0:e}function fd(e){return e===10?dd:e===Math.E?Math.exp:t=>e**+t}function pd(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function md(e){return(t,n)=>-e(-t,n)}function hd(e){let t=e(sd,cd),n=t.domain,r=10,i,a;function o(){return i=pd(r),a=fd(r),n()[0]<0?(i=md(i),a=md(a),e(ld,ud)):e(sd,cd),t}return t.base=function(e){return arguments.length?(r=+e,o()):r},t.domain=function(e){return arguments.length?(n(e),o()):n()},t.ticks=e=>{let t=n(),o=t[0],s=t[t.length-1],c=s<o;c&&([o,s]=[s,o]);let l=i(o),u=i(s),d,f,p=e==null?10:+e,m=[];if(!(r%1)&&u-l<p){if(l=Math.floor(l),u=Math.ceil(u),o>0){for(;l<=u;++l)for(d=1;d<r;++d)if(f=l<0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}}else for(;l<=u;++l)for(d=r-1;d>=1;--d)if(f=l>0?d/a(-l):d*a(l),!(f<o)){if(f>s)break;m.push(f)}m.length*2<p&&(m=se(o,s,p))}else m=se(l,u,Math.min(u-l,p)).map(a);return c?m.reverse():m},t.tickFormat=(e,n)=>{if(e??=10,n??=r===10?`s`:`,`,typeof n!=`function`&&(!(r%1)&&(n=us(n)).precision==null&&(n.trim=!0),n=Ss(n)),e===1/0)return n;let o=Math.max(1,r*e/t.ticks().length);return e=>{let t=e/a(Math.round(i(e)));return t*r<r-.5&&(t*=r),t<=o?n(e):``}},t.nice=()=>n(od(n(),{floor:e=>a(Math.floor(i(e))),ceil:e=>a(Math.ceil(i(e)))})),t}function gd(){let e=hd(ed()).domain([1,10]);return e.copy=()=>$u(e,gd()).base(e.base()),Ru.apply(e,arguments),e}function _d(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function vd(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function yd(e){var t=1,n=e(_d(t),vd(t));return n.constant=function(n){return arguments.length?e(_d(t=+n),vd(t)):t},rd(n)}function bd(){var e=yd(ed());return e.copy=function(){return $u(e,bd()).constant(e.constant())},Ru.apply(e,arguments)}function xd(e){return function(t){return t<0?-((-t)**+e):t**+e}}function Sd(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Cd(e){return e<0?-e*e:e*e}function wd(e){var t=e(Ju,Ju),n=1;function r(){return n===1?e(Ju,Ju):n===.5?e(Sd,Cd):e(xd(n),xd(1/n))}return t.exponent=function(e){return arguments.length?(n=+e,r()):n},rd(t)}function Td(){var e=wd(ed());return e.copy=function(){return $u(e,Td()).exponent(e.exponent())},Ru.apply(e,arguments),e}function Ed(){var t=[],n=[],r=[],i;function a(){var e=0,i=Math.max(1,n.length);for(r=Array(i-1);++e<i;)r[e-1]=ye(t,e/i);return o}function o(e){return e==null||isNaN(e=+e)?i:n[s(r,e)]}return o.invertExtent=function(e){var i=n.indexOf(e);return i<0?[NaN,NaN]:[i>0?r[i-1]:t[0],i<r.length?r[i]:t[t.length-1]]},o.domain=function(n){if(!arguments.length)return t.slice();t=[];for(let e of n)e!=null&&!isNaN(e=+e)&&t.push(e);return t.sort(e),a()},o.range=function(e){return arguments.length?(n=Array.from(e),a()):n.slice()},o.unknown=function(e){return arguments.length?(i=e,o):i},o.quantiles=function(){return r.slice()},o.copy=function(){return Ed().domain(t).range(n).unknown(i)},Ru.apply(o,arguments)}function Dd(){var e=[.5],t=[0,1],n,r=1;function i(i){return i!=null&&i<=i?t[s(e,i,0,r)]:n}return i.domain=function(n){return arguments.length?(e=Array.from(n),r=Math.min(e.length,t.length-1),i):e.slice()},i.range=function(n){return arguments.length?(t=Array.from(n),r=Math.min(e.length,t.length-1),i):t.slice()},i.invertExtent=function(n){var r=t.indexOf(n);return[e[r-1],e[r]]},i.unknown=function(e){return arguments.length?(n=e,i):n},i.copy=function(){return Dd().domain(e).range(t).unknown(n)},Ru.apply(i,arguments)}var Od=new Date,kd=new Date;function B(e,t,n,r){function i(t){return e(t=arguments.length===0?new Date:new Date(+t)),t}return i.floor=t=>(e(t=new Date(+t)),t),i.ceil=n=>(e(n=new Date(n-1)),t(n,1),e(n),n),i.round=e=>{let t=i(e),n=i.ceil(e);return e-t<n-e?t:n},i.offset=(e,n)=>(t(e=new Date(+e),n==null?1:Math.floor(n)),e),i.range=(n,r,a)=>{let o=[];if(n=i.ceil(n),a=a==null?1:Math.floor(a),!(n<r)||!(a>0))return o;let s;do o.push(s=new Date(+n)),t(n,a),e(n);while(s<n&&n<r);return o},i.filter=n=>B(t=>{if(t>=t)for(;e(t),!n(t);)t.setTime(t-1)},(e,r)=>{if(e>=e)if(r<0)for(;++r<=0;)for(;t(e,-1),!n(e););else for(;--r>=0;)for(;t(e,1),!n(e););}),n&&(i.count=(t,r)=>(Od.setTime(+t),kd.setTime(+r),e(Od),e(kd),Math.floor(n(Od,kd))),i.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?i.filter(r?t=>r(t)%e===0:t=>i.count(0,t)%e===0):i)),i}var Ad=B(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ad.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?B(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Ad),Ad.range;var jd=1e3,Md=jd*60,Nd=Md*60,Pd=Nd*24,Fd=Pd*7,Id=Pd*30,Ld=Pd*365,Rd=B(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*jd)},(e,t)=>(t-e)/jd,e=>e.getUTCSeconds());Rd.range;var zd=B(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*jd)},(e,t)=>{e.setTime(+e+t*Md)},(e,t)=>(t-e)/Md,e=>e.getMinutes());zd.range;var Bd=B(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Md)},(e,t)=>(t-e)/Md,e=>e.getUTCMinutes());Bd.range;var Vd=B(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*jd-e.getMinutes()*Md)},(e,t)=>{e.setTime(+e+t*Nd)},(e,t)=>(t-e)/Nd,e=>e.getHours());Vd.range;var Hd=B(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*Nd)},(e,t)=>(t-e)/Nd,e=>e.getUTCHours());Hd.range;var Ud=B(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Md)/Pd,e=>e.getDate()-1);Ud.range;var Wd=B(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Pd,e=>e.getUTCDate()-1);Wd.range;var Gd=B(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Pd,e=>Math.floor(e/Pd));Gd.range;function Kd(e){return B(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(e,t)=>{e.setDate(e.getDate()+t*7)},(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Md)/Fd)}var qd=Kd(0),Jd=Kd(1),Yd=Kd(2),Xd=Kd(3),Zd=Kd(4),Qd=Kd(5),$d=Kd(6);qd.range,Jd.range,Yd.range,Xd.range,Zd.range,Qd.range,$d.range;function ef(e){return B(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t*7)},(e,t)=>(t-e)/Fd)}var tf=ef(0),nf=ef(1),rf=ef(2),af=ef(3),of=ef(4),sf=ef(5),cf=ef(6);tf.range,nf.range,rf.range,af.range,of.range,sf.range,cf.range;var lf=B(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());lf.range;var uf=B(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());uf.range;var df=B(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());df.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:B(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)}),df.range;var ff=B(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ff.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:B(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)}),ff.range;function pf(e,t,r,i,a,o){let s=[[Rd,1,jd],[Rd,5,5*jd],[Rd,15,15*jd],[Rd,30,30*jd],[o,1,Md],[o,5,5*Md],[o,15,15*Md],[o,30,30*Md],[a,1,Nd],[a,3,3*Nd],[a,6,6*Nd],[a,12,12*Nd],[i,1,Pd],[i,2,2*Pd],[r,1,Fd],[t,1,Id],[t,3,3*Id],[e,1,Ld]];function c(e,t,n){let r=t<e;r&&([e,t]=[t,e]);let i=n&&typeof n.range==`function`?n:l(e,t,n),a=i?i.range(e,+t+1):[];return r?a.reverse():a}function l(t,r,i){let a=Math.abs(r-t)/i,o=n(([,,e])=>e).right(s,a);if(o===s.length)return e.every(le(t/Ld,r/Ld,i));if(o===0)return Ad.every(Math.max(le(t,r,i),1));let[c,l]=s[a/s[o-1][2]<s[o][2]/a?o-1:o];return c.every(l)}return[c,l]}var[mf,hf]=pf(ff,uf,tf,Gd,Hd,Bd),[gf,_f]=pf(df,lf,qd,Ud,Vd,zd);function vf(e){if(0<=e.y&&e.y<100){var t=new Date(-1,e.m,e.d,e.H,e.M,e.S,e.L);return t.setFullYear(e.y),t}return new Date(e.y,e.m,e.d,e.H,e.M,e.S,e.L)}function yf(e){if(0<=e.y&&e.y<100){var t=new Date(Date.UTC(-1,e.m,e.d,e.H,e.M,e.S,e.L));return t.setUTCFullYear(e.y),t}return new Date(Date.UTC(e.y,e.m,e.d,e.H,e.M,e.S,e.L))}function bf(e,t,n){return{y:e,m:t,d:n,H:0,M:0,S:0,L:0}}function xf(e){var t=e.dateTime,n=e.date,r=e.time,i=e.periods,a=e.days,o=e.shortDays,s=e.months,c=e.shortMonths,l=Ef(i),u=Df(i),d=Ef(a),f=Df(a),p=Ef(o),m=Df(o),h=Ef(s),g=Df(s),_=Ef(c),v=Df(c),y={a:te,A:ne,b:re,B:ie,c:null,d:Jf,e:Jf,f:$f,g:up,G:fp,H:Yf,I:Xf,j:Zf,L:Qf,m:ep,M:tp,p:ae,q:oe,Q:Fp,s:Ip,S:np,u:rp,U:ip,V:op,w:sp,W:cp,x:null,X:null,y:lp,Y:dp,Z:pp,"%":Pp},b={a:se,A:ce,b:le,B:ue,c:null,d:mp,e:mp,f:yp,g:Ap,G:Mp,H:hp,I:gp,j:_p,L:vp,m:bp,M:xp,p:de,q:fe,Q:Fp,s:Ip,S:Sp,u:Cp,U:wp,V:Ep,w:Dp,W:Op,x:null,X:null,y:kp,Y:jp,Z:Np,"%":Pp},x={a:E,A:D,b:O,B:k,c:A,d:Rf,e:Rf,f:Wf,g:Pf,G:Nf,H:Bf,I:Bf,j:zf,L:Uf,m:Lf,M:Vf,p:T,q:If,Q:Kf,s:qf,S:Hf,u:kf,U:Af,V:jf,w:Of,W:Mf,x:j,X:ee,y:Pf,Y:Nf,Z:Ff,"%":Gf};y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),b.x=S(n,b),b.X=S(r,b),b.c=S(t,b);function S(e,t){return function(n){var r=[],i=-1,a=0,o=e.length,s,c,l;for(n instanceof Date||(n=new Date(+n));++i<o;)e.charCodeAt(i)===37&&(r.push(e.slice(a,i)),(c=Sf[s=e.charAt(++i)])==null?c=s===`e`?` `:`0`:s=e.charAt(++i),(l=t[s])&&(s=l(n,c)),r.push(s),a=i+1);return r.push(e.slice(a,i)),r.join(``)}}function C(e,t){return function(n){var r=bf(1900,void 0,1),i=w(r,e,n+=``,0),a,o;if(i!=n.length)return null;if(`Q`in r)return new Date(r.Q);if(`s`in r)return new Date(r.s*1e3+(`L`in r?r.L:0));if(t&&!(`Z`in r)&&(r.Z=0),`p`in r&&(r.H=r.H%12+r.p*12),r.m===void 0&&(r.m=`q`in r?r.q:0),`V`in r){if(r.V<1||r.V>53)return null;`w`in r||(r.w=1),`Z`in r?(a=yf(bf(r.y,0,1)),o=a.getUTCDay(),a=o>4||o===0?nf.ceil(a):nf(a),a=Wd.offset(a,(r.V-1)*7),r.y=a.getUTCFullYear(),r.m=a.getUTCMonth(),r.d=a.getUTCDate()+(r.w+6)%7):(a=vf(bf(r.y,0,1)),o=a.getDay(),a=o>4||o===0?Jd.ceil(a):Jd(a),a=Ud.offset(a,(r.V-1)*7),r.y=a.getFullYear(),r.m=a.getMonth(),r.d=a.getDate()+(r.w+6)%7)}else (`W`in r||`U`in r)&&(`w`in r||(r.w=`u`in r?r.u%7:`W`in r?1:0),o=`Z`in r?yf(bf(r.y,0,1)).getUTCDay():vf(bf(r.y,0,1)).getDay(),r.m=0,r.d=`W`in r?(r.w+6)%7+r.W*7-(o+5)%7:r.w+r.U*7-(o+6)%7);return`Z`in r?(r.H+=r.Z/100|0,r.M+=r.Z%100,yf(r)):vf(r)}}function w(e,t,n,r){for(var i=0,a=t.length,o=n.length,s,c;i<a;){if(r>=o)return-1;if(s=t.charCodeAt(i++),s===37){if(s=t.charAt(i++),c=x[s in Sf?t.charAt(i++):s],!c||(r=c(e,n,r))<0)return-1}else if(s!=n.charCodeAt(r++))return-1}return r}function T(e,t,n){var r=l.exec(t.slice(n));return r?(e.p=u.get(r[0].toLowerCase()),n+r[0].length):-1}function E(e,t,n){var r=p.exec(t.slice(n));return r?(e.w=m.get(r[0].toLowerCase()),n+r[0].length):-1}function D(e,t,n){var r=d.exec(t.slice(n));return r?(e.w=f.get(r[0].toLowerCase()),n+r[0].length):-1}function O(e,t,n){var r=_.exec(t.slice(n));return r?(e.m=v.get(r[0].toLowerCase()),n+r[0].length):-1}function k(e,t,n){var r=h.exec(t.slice(n));return r?(e.m=g.get(r[0].toLowerCase()),n+r[0].length):-1}function A(e,n,r){return w(e,t,n,r)}function j(e,t,r){return w(e,n,t,r)}function ee(e,t,n){return w(e,r,t,n)}function te(e){return o[e.getDay()]}function ne(e){return a[e.getDay()]}function re(e){return c[e.getMonth()]}function ie(e){return s[e.getMonth()]}function ae(e){return i[+(e.getHours()>=12)]}function oe(e){return 1+~~(e.getMonth()/3)}function se(e){return o[e.getUTCDay()]}function ce(e){return a[e.getUTCDay()]}function le(e){return c[e.getUTCMonth()]}function ue(e){return s[e.getUTCMonth()]}function de(e){return i[+(e.getUTCHours()>=12)]}function fe(e){return 1+~~(e.getUTCMonth()/3)}return{format:function(e){var t=S(e+=``,y);return t.toString=function(){return e},t},parse:function(e){var t=C(e+=``,!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+=``,b);return t.toString=function(){return e},t},utcParse:function(e){var t=C(e+=``,!0);return t.toString=function(){return e},t}}}var Sf={"-":``,_:` `,0:`0`},V=/^\s*\d+/,Cf=/^%/,wf=/[\\^$*+?|[\]().{}]/g;function H(e,t,n){var r=e<0?`-`:``,i=(r?-e:e)+``,a=i.length;return r+(a<n?Array(n-a+1).join(t)+i:i)}function Tf(e){return e.replace(wf,`\\$&`)}function Ef(e){return RegExp(`^(?:`+e.map(Tf).join(`|`)+`)`,`i`)}function Df(e){return new Map(e.map((e,t)=>[e.toLowerCase(),t]))}function Of(e,t,n){var r=V.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function kf(e,t,n){var r=V.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function Af(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function jf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function Mf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function Nf(e,t,n){var r=V.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function Pf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function Ff(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||`00`)),n+r[0].length):-1}function If(e,t,n){var r=V.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function Lf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function Rf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function zf(e,t,n){var r=V.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function Bf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function Vf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function Hf(e,t,n){var r=V.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function Uf(e,t,n){var r=V.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function Wf(e,t,n){var r=V.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function Gf(e,t,n){var r=Cf.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function Kf(e,t,n){var r=V.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function qf(e,t,n){var r=V.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function Jf(e,t){return H(e.getDate(),t,2)}function Yf(e,t){return H(e.getHours(),t,2)}function Xf(e,t){return H(e.getHours()%12||12,t,2)}function Zf(e,t){return H(1+Ud.count(df(e),e),t,3)}function Qf(e,t){return H(e.getMilliseconds(),t,3)}function $f(e,t){return Qf(e,t)+`000`}function ep(e,t){return H(e.getMonth()+1,t,2)}function tp(e,t){return H(e.getMinutes(),t,2)}function np(e,t){return H(e.getSeconds(),t,2)}function rp(e){var t=e.getDay();return t===0?7:t}function ip(e,t){return H(qd.count(df(e)-1,e),t,2)}function ap(e){var t=e.getDay();return t>=4||t===0?Zd(e):Zd.ceil(e)}function op(e,t){return e=ap(e),H(Zd.count(df(e),e)+(df(e).getDay()===4),t,2)}function sp(e){return e.getDay()}function cp(e,t){return H(Jd.count(df(e)-1,e),t,2)}function lp(e,t){return H(e.getFullYear()%100,t,2)}function up(e,t){return e=ap(e),H(e.getFullYear()%100,t,2)}function dp(e,t){return H(e.getFullYear()%1e4,t,4)}function fp(e,t){var n=e.getDay();return e=n>=4||n===0?Zd(e):Zd.ceil(e),H(e.getFullYear()%1e4,t,4)}function pp(e){var t=e.getTimezoneOffset();return(t>0?`-`:(t*=-1,`+`))+H(t/60|0,`0`,2)+H(t%60,`0`,2)}function mp(e,t){return H(e.getUTCDate(),t,2)}function hp(e,t){return H(e.getUTCHours(),t,2)}function gp(e,t){return H(e.getUTCHours()%12||12,t,2)}function _p(e,t){return H(1+Wd.count(ff(e),e),t,3)}function vp(e,t){return H(e.getUTCMilliseconds(),t,3)}function yp(e,t){return vp(e,t)+`000`}function bp(e,t){return H(e.getUTCMonth()+1,t,2)}function xp(e,t){return H(e.getUTCMinutes(),t,2)}function Sp(e,t){return H(e.getUTCSeconds(),t,2)}function Cp(e){var t=e.getUTCDay();return t===0?7:t}function wp(e,t){return H(tf.count(ff(e)-1,e),t,2)}function Tp(e){var t=e.getUTCDay();return t>=4||t===0?of(e):of.ceil(e)}function Ep(e,t){return e=Tp(e),H(of.count(ff(e),e)+(ff(e).getUTCDay()===4),t,2)}function Dp(e){return e.getUTCDay()}function Op(e,t){return H(nf.count(ff(e)-1,e),t,2)}function kp(e,t){return H(e.getUTCFullYear()%100,t,2)}function Ap(e,t){return e=Tp(e),H(e.getUTCFullYear()%100,t,2)}function jp(e,t){return H(e.getUTCFullYear()%1e4,t,4)}function Mp(e,t){var n=e.getUTCDay();return e=n>=4||n===0?of(e):of.ceil(e),H(e.getUTCFullYear()%1e4,t,4)}function Np(){return`+0000`}function Pp(){return`%`}function Fp(e){return+e}function Ip(e){return Math.floor(e/1e3)}var Lp,Rp,zp;Bp({dateTime:`%x, %X`,date:`%-m/%-d/%Y`,time:`%-I:%M:%S %p`,periods:[`AM`,`PM`],days:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],shortDays:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],shortMonths:[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`]});function Bp(e){return Lp=xf(e),Rp=Lp.format,Lp.parse,zp=Lp.utcFormat,Lp.utcParse,Lp}function Vp(e){return new Date(e)}function Hp(e){return e instanceof Date?+e:+new Date(+e)}function Up(e,t,n,r,i,a,o,s,c,l){var u=td(),d=u.invert,f=u.domain,p=l(`.%L`),m=l(`:%S`),h=l(`%I:%M`),g=l(`%I %p`),_=l(`%a %d`),v=l(`%b %d`),y=l(`%B`),b=l(`%Y`);function x(e){return(c(e)<e?p:s(e)<e?m:o(e)<e?h:a(e)<e?g:r(e)<e?i(e)<e?_:v:n(e)<e?y:b)(e)}return u.invert=function(e){return new Date(d(e))},u.domain=function(e){return arguments.length?f(Array.from(e,Hp)):f().map(Vp)},u.ticks=function(t){var n=f();return e(n[0],n[n.length-1],t??10)},u.tickFormat=function(e,t){return t==null?x:l(t)},u.nice=function(e){var n=f();return(!e||typeof e.range!=`function`)&&(e=t(n[0],n[n.length-1],e??10)),e?f(od(n,e)):u},u.copy=function(){return $u(u,Up(e,t,n,r,i,a,o,s,c,l))},u}function Wp(){return Ru.apply(Up(gf,_f,df,lf,qd,Ud,Vd,zd,Rd,Rp).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function Gp(){return Ru.apply(Up(mf,hf,ff,uf,tf,Wd,Hd,Bd,Rd,zp).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}function Kp(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function qp(){var e=0,t=.5,n=1,r=1,i,a,o,s,c,l=Ju,u,d=!1,f;function p(e){return isNaN(e=+e)?f:(e=.5+((e=+u(e))-a)*(r*e<r*a?s:c),l(d?Math.max(0,Math.min(1,e)):e))}p.domain=function(l){return arguments.length?([e,t,n]=l,i=u(e=+e),a=u(t=+t),o=u(n=+n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p):[e,t,n]},p.clamp=function(e){return arguments.length?(d=!!e,p):d},p.interpolator=function(e){return arguments.length?(l=e,p):l};function m(e){return function(t){var n,r,i;return arguments.length?([n,r,i]=t,l=na(e,[n,r,i]),p):[l(0),l(.5),l(1)]}}return p.range=m(Ri),p.rangeRound=m(zi),p.unknown=function(e){return arguments.length?(f=e,p):f},function(l){return u=l,i=l(e),a=l(t),o=l(n),s=i===a?0:.5/(a-i),c=a===o?0:.5/(o-a),r=a<i?-1:1,p}}function Jp(){var e=rd(qp()(Ju));return e.copy=function(){return Kp(e,Jp())},zu.apply(e,arguments)}function Yp(){var e=hd(qp()).domain([.1,1,10]);return e.copy=function(){return Kp(e,Yp()).base(e.base())},zu.apply(e,arguments)}function Xp(){var e=yd(qp());return e.copy=function(){return Kp(e,Xp()).constant(e.constant())},zu.apply(e,arguments)}function Zp(){var e=wd(qp());return e.copy=function(){return Kp(e,Zp()).exponent(e.exponent())},zu.apply(e,arguments)}function U(e){for(var t=e.length/6|0,n=Array(t),r=0;r<t;)n[r]=`#`+e.slice(r*6,++r*6);return n}var Qp=U(`1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf`),$p=U(`7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666`),em=U(`1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666`),tm=U(`4269d0efb118ff725c6cc5b03ca951ff8ab7a463f297bbf59c6b4e9498a0`),nm=U(`a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928`),rm=U(`fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2`),im=U(`b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc`),am=U(`e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999`),om=U(`66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3`),sm=U(`8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f`),cm=U(`4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab`),W=e=>Ei(e[e.length-1]),lm=[,,,`d8b365f5f5f55ab4ac`,`a6611adfc27d80cdc1018571`,`a6611adfc27df5f5f580cdc1018571`,`8c510ad8b365f6e8c3c7eae55ab4ac01665e`,`8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e`,`8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e`,`8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e`,`5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30`,`5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30`].map(U),um=W(lm),dm=[,,,`af8dc3f7f7f77fbf7b`,`7b3294c2a5cfa6dba0008837`,`7b3294c2a5cff7f7f7a6dba0008837`,`762a83af8dc3e7d4e8d9f0d37fbf7b1b7837`,`762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837`,`762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837`,`762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837`,`40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b`,`40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b`].map(U),fm=W(dm),pm=[,,,`e9a3c9f7f7f7a1d76a`,`d01c8bf1b6dab8e1864dac26`,`d01c8bf1b6daf7f7f7b8e1864dac26`,`c51b7de9a3c9fde0efe6f5d0a1d76a4d9221`,`c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221`,`c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221`,`c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221`,`8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419`,`8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419`].map(U),mm=W(pm),hm=[,,,`998ec3f7f7f7f1a340`,`5e3c99b2abd2fdb863e66101`,`5e3c99b2abd2f7f7f7fdb863e66101`,`542788998ec3d8daebfee0b6f1a340b35806`,`542788998ec3d8daebf7f7f7fee0b6f1a340b35806`,`5427888073acb2abd2d8daebfee0b6fdb863e08214b35806`,`5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806`,`2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08`,`2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08`].map(U),gm=W(hm),_m=[,,,`ef8a62f7f7f767a9cf`,`ca0020f4a58292c5de0571b0`,`ca0020f4a582f7f7f792c5de0571b0`,`b2182bef8a62fddbc7d1e5f067a9cf2166ac`,`b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac`,`b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac`,`b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac`,`67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061`,`67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061`].map(U),vm=W(_m),ym=[,,,`ef8a62ffffff999999`,`ca0020f4a582bababa404040`,`ca0020f4a582ffffffbababa404040`,`b2182bef8a62fddbc7e0e0e09999994d4d4d`,`b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d`,`b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d`,`b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d`,`67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a`,`67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a`].map(U),bm=W(ym),xm=[,,,`fc8d59ffffbf91bfdb`,`d7191cfdae61abd9e92c7bb6`,`d7191cfdae61ffffbfabd9e92c7bb6`,`d73027fc8d59fee090e0f3f891bfdb4575b4`,`d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4`,`d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4`,`d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4`,`a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695`,`a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695`].map(U),Sm=W(xm),Cm=[,,,`fc8d59ffffbf91cf60`,`d7191cfdae61a6d96a1a9641`,`d7191cfdae61ffffbfa6d96a1a9641`,`d73027fc8d59fee08bd9ef8b91cf601a9850`,`d73027fc8d59fee08bffffbfd9ef8b91cf601a9850`,`d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850`,`d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850`,`a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837`,`a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837`].map(U),wm=W(Cm),Tm=[,,,`fc8d59ffffbf99d594`,`d7191cfdae61abdda42b83ba`,`d7191cfdae61ffffbfabdda42b83ba`,`d53e4ffc8d59fee08be6f59899d5943288bd`,`d53e4ffc8d59fee08bffffbfe6f59899d5943288bd`,`d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd`,`d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd`,`9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2`,`9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2`].map(U),Em=W(Tm),Dm=[,,,`e5f5f999d8c92ca25f`,`edf8fbb2e2e266c2a4238b45`,`edf8fbb2e2e266c2a42ca25f006d2c`,`edf8fbccece699d8c966c2a42ca25f006d2c`,`edf8fbccece699d8c966c2a441ae76238b45005824`,`f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824`,`f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b`].map(U),Om=W(Dm),km=[,,,`e0ecf49ebcda8856a7`,`edf8fbb3cde38c96c688419d`,`edf8fbb3cde38c96c68856a7810f7c`,`edf8fbbfd3e69ebcda8c96c68856a7810f7c`,`edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b`,`f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b`,`f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b`].map(U),Am=W(km),jm=[,,,`e0f3dba8ddb543a2ca`,`f0f9e8bae4bc7bccc42b8cbe`,`f0f9e8bae4bc7bccc443a2ca0868ac`,`f0f9e8ccebc5a8ddb57bccc443a2ca0868ac`,`f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e`,`f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e`,`f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081`].map(U),Mm=W(jm),Nm=[,,,`fee8c8fdbb84e34a33`,`fef0d9fdcc8afc8d59d7301f`,`fef0d9fdcc8afc8d59e34a33b30000`,`fef0d9fdd49efdbb84fc8d59e34a33b30000`,`fef0d9fdd49efdbb84fc8d59ef6548d7301f990000`,`fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000`,`fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000`].map(U),Pm=W(Nm),Fm=[,,,`ece2f0a6bddb1c9099`,`f6eff7bdc9e167a9cf02818a`,`f6eff7bdc9e167a9cf1c9099016c59`,`f6eff7d0d1e6a6bddb67a9cf1c9099016c59`,`f6eff7d0d1e6a6bddb67a9cf3690c002818a016450`,`fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450`,`fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636`].map(U),Im=W(Fm),Lm=[,,,`ece7f2a6bddb2b8cbe`,`f1eef6bdc9e174a9cf0570b0`,`f1eef6bdc9e174a9cf2b8cbe045a8d`,`f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d`,`f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b`,`fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b`,`fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858`].map(U),Rm=W(Lm),zm=[,,,`e7e1efc994c7dd1c77`,`f1eef6d7b5d8df65b0ce1256`,`f1eef6d7b5d8df65b0dd1c77980043`,`f1eef6d4b9dac994c7df65b0dd1c77980043`,`f1eef6d4b9dac994c7df65b0e7298ace125691003f`,`f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f`,`f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f`].map(U),Bm=W(zm),Vm=[,,,`fde0ddfa9fb5c51b8a`,`feebe2fbb4b9f768a1ae017e`,`feebe2fbb4b9f768a1c51b8a7a0177`,`feebe2fcc5c0fa9fb5f768a1c51b8a7a0177`,`feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177`,`fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177`,`fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a`].map(U),Hm=W(Vm),Um=[,,,`edf8b17fcdbb2c7fb8`,`ffffcca1dab441b6c4225ea8`,`ffffcca1dab441b6c42c7fb8253494`,`ffffccc7e9b47fcdbb41b6c42c7fb8253494`,`ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84`,`ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84`,`ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58`].map(U),Wm=W(Um),Gm=[,,,`f7fcb9addd8e31a354`,`ffffccc2e69978c679238443`,`ffffccc2e69978c67931a354006837`,`ffffccd9f0a3addd8e78c67931a354006837`,`ffffccd9f0a3addd8e78c67941ab5d238443005a32`,`ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32`,`ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529`].map(U),Km=W(Gm),qm=[,,,`fff7bcfec44fd95f0e`,`ffffd4fed98efe9929cc4c02`,`ffffd4fed98efe9929d95f0e993404`,`ffffd4fee391fec44ffe9929d95f0e993404`,`ffffd4fee391fec44ffe9929ec7014cc4c028c2d04`,`ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04`,`ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506`].map(U),Jm=W(qm),Ym=[,,,`ffeda0feb24cf03b20`,`ffffb2fecc5cfd8d3ce31a1c`,`ffffb2fecc5cfd8d3cf03b20bd0026`,`ffffb2fed976feb24cfd8d3cf03b20bd0026`,`ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026`,`ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026`,`ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026`].map(U),Xm=W(Ym),Zm=[,,,`deebf79ecae13182bd`,`eff3ffbdd7e76baed62171b5`,`eff3ffbdd7e76baed63182bd08519c`,`eff3ffc6dbef9ecae16baed63182bd08519c`,`eff3ffc6dbef9ecae16baed64292c62171b5084594`,`f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594`,`f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b`].map(U),Qm=W(Zm),$m=[,,,`e5f5e0a1d99b31a354`,`edf8e9bae4b374c476238b45`,`edf8e9bae4b374c47631a354006d2c`,`edf8e9c7e9c0a1d99b74c47631a354006d2c`,`edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32`,`f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32`,`f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b`].map(U),eh=W($m),th=[,,,`f0f0f0bdbdbd636363`,`f7f7f7cccccc969696525252`,`f7f7f7cccccc969696636363252525`,`f7f7f7d9d9d9bdbdbd969696636363252525`,`f7f7f7d9d9d9bdbdbd969696737373525252252525`,`fffffff0f0f0d9d9d9bdbdbd969696737373525252252525`,`fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000`].map(U),nh=W(th),rh=[,,,`efedf5bcbddc756bb1`,`f2f0f7cbc9e29e9ac86a51a3`,`f2f0f7cbc9e29e9ac8756bb154278f`,`f2f0f7dadaebbcbddc9e9ac8756bb154278f`,`f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486`,`fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486`,`fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d`].map(U),ih=W(rh),ah=[,,,`fee0d2fc9272de2d26`,`fee5d9fcae91fb6a4acb181d`,`fee5d9fcae91fb6a4ade2d26a50f15`,`fee5d9fcbba1fc9272fb6a4ade2d26a50f15`,`fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d`,`fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d`,`fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d`].map(U),oh=W(ah),sh=[,,,`fee6cefdae6be6550d`,`feeddefdbe85fd8d3cd94701`,`feeddefdbe85fd8d3ce6550da63603`,`feeddefdd0a2fdae6bfd8d3ce6550da63603`,`feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04`,`fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04`,`fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704`].map(U),ch=W(sh);function lh(e){return e=Math.max(0,Math.min(1,e)),`rgb(`+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+`, `+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+`, `+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+`)`}var uh=ta(mi(300,.5,0),mi(-240,.5,1)),dh=ta(mi(-100,.75,.35),mi(80,1.5,.8)),fh=ta(mi(260,.75,.35),mi(80,1.5,.8)),ph=mi();function mh(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return ph.h=360*e-100,ph.s=1.5-1.5*t,ph.l=.8-.9*t,ph+``}var hh=wr(),gh=Math.PI/3,_h=Math.PI*2/3;function vh(e){var t;return e=(.5-e)*Math.PI,hh.r=255*(t=Math.sin(e))*t,hh.g=255*(t=Math.sin(e+gh))*t,hh.b=255*(t=Math.sin(e+_h))*t,hh+``}function yh(e){return e=Math.max(0,Math.min(1,e)),`rgb(`+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+`, `+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+`, `+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+`)`}function bh(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}var xh=bh(U(`44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725`)),Sh=bh(U(`00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf`)),Ch=bh(U(`00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4`)),wh=bh(U(`0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921`));function G(e){return function(){return e}}var Th=Math.cos,Eh=Math.min,Dh=Math.sin,K=Math.sqrt,Oh=Math.PI;Oh/2;var kh=2*Oh;function Ah(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new ts(t)}Array.prototype.slice;function jh(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Mh(e){this._context=e}Mh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Nh(e){return new Mh(e)}function Ph(e){return e[0]}function Fh(e){return e[1]}function Ih(e,t){var n=G(!0),r=null,i=Nh,a=null,o=Ah(s);e=typeof e==`function`?e:e===void 0?Ph:G(e),t=typeof t==`function`?t:t===void 0?Fh:G(t);function s(s){var c,l=(s=jh(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:G(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:G(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:G(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function Lh(e,t,n){var r=null,i=G(!0),a=null,o=Nh,s=null,c=Ah(l);e=typeof e==`function`?e:e===void 0?Ph:G(+e),t=typeof t==`function`?t:G(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?Fh:G(+n);function l(l){var u,d,f,p=(l=jh(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return Ih().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:G(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:G(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:G(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:G(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:G(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:G(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:G(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var Rh=class{constructor(e,t){this._context=e,this._x=t}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,t,e,t):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+t)/2,e,this._y0,e,t);break}this._x0=e,this._y0=t}};function zh(e){return new Rh(e,!0)}function Bh(e){return new Rh(e,!1)}var Vh=K(3),Hh={draw(e,t){let n=K(t+Eh(t/28,.75))*.59436,r=n/2,i=r*Vh;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}},Uh={draw(e,t){let n=K(t/Oh);e.moveTo(n,0),e.arc(0,0,n,0,kh)}},Wh={draw(e,t){let n=K(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},Gh=K(1/3),Kh=Gh*2,qh={draw(e,t){let n=K(t/Kh),r=n*Gh;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},Jh={draw(e,t){let n=K(t)*.62625;e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}},Yh={draw(e,t){let n=K(t-Eh(t/7,2))*.87559;e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}},Xh={draw(e,t){let n=K(t),r=-n/2;e.rect(r,r,n,n)}},Zh={draw(e,t){let n=K(t)*.4431;e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}},Qh=.8908130915292852,$h=Dh(Oh/10)/Dh(7*Oh/10),eg=Dh(kh/10)*$h,tg=-Th(kh/10)*$h,ng={draw(e,t){let n=K(t*Qh),r=eg*n,i=tg*n;e.moveTo(0,-n),e.lineTo(r,i);for(let t=1;t<5;++t){let a=kh*t/5,o=Th(a),s=Dh(a);e.lineTo(s*n,-o*n),e.lineTo(o*r-s*i,s*r+o*i)}e.closePath()}},rg=K(3),ig={draw(e,t){let n=-K(t/(rg*3));e.moveTo(0,n*2),e.lineTo(-rg*n,-n),e.lineTo(rg*n,-n),e.closePath()}},ag=K(3),og={draw(e,t){let n=K(t)*.6824,r=n/2,i=n*ag/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}},sg=-.5,cg=K(3)/2,lg=1/K(12),ug=(lg/2+1)*3,dg={draw(e,t){let n=K(t/ug),r=n/2,i=n*lg,a=r,o=n*lg+n,s=-a,c=o;e.moveTo(r,i),e.lineTo(a,o),e.lineTo(s,c),e.lineTo(sg*r-cg*i,cg*r+sg*i),e.lineTo(sg*a-cg*o,cg*a+sg*o),e.lineTo(sg*s-cg*c,cg*s+sg*c),e.lineTo(sg*r+cg*i,sg*i-cg*r),e.lineTo(sg*a+cg*o,sg*o-cg*a),e.lineTo(sg*s+cg*c,sg*c-cg*s),e.closePath()}},fg={draw(e,t){let n=K(t-Eh(t/6,1.7))*.6189;e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}},pg=[Uh,Wh,qh,Xh,ng,ig,dg],mg=[Uh,Yh,fg,og,Hh,Zh,Jh];function hg(){}function gg(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function _g(e){this._context=e}_g.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:gg(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:gg(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vg(e){return new _g(e)}function yg(e){this._context=e}yg.prototype={areaStart:hg,areaEnd:hg,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x2,this._y2),this._context.closePath();break;case 2:this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break;case 3:this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:gg(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function bg(e){return new yg(e)}function xg(e){this._context=e}xg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:gg(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function Sg(e){return new xg(e)}function Cg(e,t){this._basis=new _g(e),this._beta=t}Cg.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],a=e[n]-r,o=t[n]-i,s=-1,c;++s<=n;)c=s/n,this._basis.point(this._beta*e[s]+(1-this._beta)*(r+c*a),this._beta*t[s]+(1-this._beta)*(i+c*o));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};var wg=(function e(t){function n(e){return t===1?new _g(e):new Cg(e,t)}return n.beta=function(t){return e(+t)},n})(.85);function Tg(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function Eg(e,t){this._context=e,this._k=(1-t)/6}Eg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Tg(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:Tg(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Dg=(function e(t){function n(e){return new Eg(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Og(e,t){this._context=e,this._k=(1-t)/6}Og.prototype={areaStart:hg,areaEnd:hg,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Tg(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var kg=(function e(t){function n(e){return new Og(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Ag(e,t){this._context=e,this._k=(1-t)/6}Ag.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Tg(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var jg=(function e(t){function n(e){return new Ag(e,t)}return n.tension=function(t){return e(+t)},n})(0);function Mg(e,t,n){var r=e._x1,i=e._y1,a=e._x2,o=e._y2;if(e._l01_a>1e-12){var s=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,c=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*s-e._x0*e._l12_2a+e._x2*e._l01_2a)/c,i=(i*s-e._y0*e._l12_2a+e._y2*e._l01_2a)/c}if(e._l23_a>1e-12){var l=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);a=(a*l+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*l+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,a,o,e._x2,e._y2)}function Ng(e,t){this._context=e,this._alpha=t}Ng.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:Mg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Pg=(function e(t){function n(e){return t?new Ng(e,t):new Eg(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Fg(e,t){this._context=e,this._alpha=t}Fg.prototype={areaStart:hg,areaEnd:hg,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:this._context.moveTo(this._x3,this._y3),this._context.closePath();break;case 2:this._context.lineTo(this._x3,this._y3),this._context.closePath();break;case 3:this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:Mg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Ig=(function e(t){function n(e){return t?new Fg(e,t):new Og(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function Lg(e,t){this._context=e,this._alpha=t}Lg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=(n*n+r*r)**+this._alpha)}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:Mg(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};var Rg=(function e(t){function n(e){return t?new Lg(e,t):new Ag(e,0)}return n.alpha=function(t){return e(+t)},n})(.5);function zg(e){this._context=e}zg.prototype={areaStart:hg,areaEnd:hg,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function Bg(e){return new zg(e)}function Vg(e){return e<0?-1:1}function Hg(e,t,n){var r=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),s=(a*i+o*r)/(r+i);return(Vg(a)+Vg(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(s))||0}function Ug(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function Wg(e,t,n){var r=e._x0,i=e._y0,a=e._x1,o=e._y1,s=(a-r)/3;e._context.bezierCurveTo(r+s,i+s*t,a-s,o-s*n,a,o)}function Gg(e){this._context=e}Gg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Wg(this,this._t0,Ug(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Wg(this,Ug(this,n=Hg(this,e,t)),n);break;default:Wg(this,this._t0,n=Hg(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function Kg(e){this._context=new qg(e)}(Kg.prototype=Object.create(Gg.prototype)).point=function(e,t){Gg.prototype.point.call(this,t,e)};function qg(e){this._context=e}qg.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,a){this._context.bezierCurveTo(t,e,r,n,a,i)}};function Jg(e){return new Gg(e)}function Yg(e){return new Kg(e)}function Xg(e){this._context=e}Xg.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=Zg(e),i=Zg(t),a=0,o=1;o<n;++a,++o)this._context.bezierCurveTo(r[0][a],i[0][a],r[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Zg(e){var t,n=e.length-1,r,i=Array(n),a=Array(n),o=Array(n);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[n-1]=2,a[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=i[t]/a[t-1],a[t]-=r,o[t]-=r*o[t-1];for(i[n-1]=o[n-1]/a[n-1],t=n-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[n-1]=(e[n]+i[n-1])/2,t=0;t<n-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function Qg(e){return new Xg(e)}function $g(e,t){this._context=e,this._t=t}$g.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}this._x=e,this._y=t}};function e_(e){return new $g(e,.5)}function t_(e){return new $g(e,0)}function n_(e){return new $g(e,1)}function r_(e,t,n){this.k=e,this.x=t,this.y=n}r_.prototype={constructor:r_,scale:function(e){return e===1?this:new r_(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new r_(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return`translate(`+this.x+`,`+this.y+`) scale(`+this.k+`)`}};var i_=new r_(1,0,0);a_.prototype=r_.prototype;function a_(e){for(;!e.__zoom;)if(!(e=e.parentNode))return i_;return e.__zoom}function o_(e){return e!=null&&!Number.isNaN(e)}function s_(t,n){return o_(n)-+o_(t)||e(t,n)}function c_(e,n){return o_(n)-+o_(e)||t(e,n)}function l_(e){return e!=null&&`${e}`!=``}function u_(e){return isFinite(e)?e:NaN}function d_(e){return e>0&&isFinite(e)?e:NaN}function f_(e){return e<0&&isFinite(e)?e:NaN}function p_(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t==`function`?t(e):t;let n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),a=e.getUTCMilliseconds();return`${m_(e.getUTCFullYear(),4)}-${h_(e.getUTCMonth()+1,2)}-${h_(e.getUTCDate(),2)}${n||r||i||a?`T${h_(n,2)}:${h_(r,2)}${i||a?`:${h_(i,2)}${a?`.${h_(a,3)}`:``}`:``}Z`:``}`}function m_(e){return e<0?`-${h_(-e,6)}`:e>9999?`+${h_(e,6)}`:h_(e,4)}function h_(e,t){return`${e}`.padStart(t,`0`)}var g_=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function __(e,t){return g_.test(e+=``)?new Date(e):typeof t==`function`?t(e):t}function v_(e){if(e==null)return;let n=e[0],r=e[e.length-1];return t(n,r)}var y_=1e3,b_=y_*60,x_=b_*60,S_=x_*24,C_=S_*7,w_=S_*30,T_=S_*365,E_=[[`millisecond`,1],[`2 milliseconds`,2],[`5 milliseconds`,5],[`10 milliseconds`,10],[`20 milliseconds`,20],[`50 milliseconds`,50],[`100 milliseconds`,100],[`200 milliseconds`,200],[`500 milliseconds`,500],[`second`,y_],[`5 seconds`,5*y_],[`15 seconds`,15*y_],[`30 seconds`,30*y_],[`minute`,b_],[`5 minutes`,5*b_],[`15 minutes`,15*b_],[`30 minutes`,30*b_],[`hour`,x_],[`3 hours`,3*x_],[`6 hours`,6*x_],[`12 hours`,12*x_],[`day`,S_],[`2 days`,2*S_],[`week`,C_],[`2 weeks`,2*C_],[`month`,w_],[`3 months`,3*w_],[`6 months`,6*w_],[`year`,T_],[`2 years`,2*T_],[`5 years`,5*T_],[`10 years`,10*T_],[`20 years`,20*T_],[`50 years`,50*T_],[`100 years`,100*T_]],D_=new Map([[`second`,y_],[`minute`,b_],[`hour`,x_],[`day`,S_],[`monday`,C_],[`tuesday`,C_],[`wednesday`,C_],[`thursday`,C_],[`friday`,C_],[`saturday`,C_],[`sunday`,C_],[`week`,C_],[`month`,w_],[`year`,T_]]),O_=new Map([[`second`,Rd],[`minute`,zd],[`hour`,Vd],[`day`,Ud],[`monday`,Jd],[`tuesday`,Yd],[`wednesday`,Xd],[`thursday`,Zd],[`friday`,Qd],[`saturday`,$d],[`sunday`,qd],[`week`,qd],[`month`,lf],[`year`,df]]),k_=new Map([[`second`,Rd],[`minute`,Bd],[`hour`,Hd],[`day`,Gd],[`monday`,nf],[`tuesday`,rf],[`wednesday`,af],[`thursday`,of],[`friday`,sf],[`saturday`,cf],[`sunday`,tf],[`week`,tf],[`month`,uf],[`year`,ff]]),A_=Symbol(`intervalDuration`),j_=Symbol(`intervalType`);for(let[e,t]of O_)t[A_]=D_.get(e),t[j_]=`time`;for(let[e,t]of k_)t[A_]=D_.get(e),t[j_]=`utc`;var M_=[[`year`,ff,`utc`],[`month`,uf,`utc`],[`day`,Gd,`utc`,6*w_],[`hour`,Hd,`utc`,3*S_],[`minute`,Bd,`utc`,6*x_],[`second`,Rd,`utc`,30*b_]],N_=[[`year`,df,`time`],[`month`,lf,`time`],[`day`,Ud,`time`,6*w_],[`hour`,Vd,`time`,3*S_],[`minute`,zd,`time`,6*x_],[`second`,Rd,`time`,30*b_]],P_=[M_[0],N_[0],M_[1],N_[1],M_[2],N_[2],...M_.slice(3)];function F_(e){let t=`${e}`.toLowerCase();t.endsWith(`s`)&&(t=t.slice(0,-1));let n=1,r=/^(?:(\d+)\s+)/.exec(t);switch(r&&(t=t.slice(r[0].length),n=+r[1]),t){case`quarter`:t=`month`,n*=3;break;case`half`:t=`month`,n*=6;break}let i=k_.get(t);if(!i)throw Error(`unknown interval: ${e}`);if(n>1&&!i.every)throw Error(`non-periodic interval: ${t}`);return[t,n]}function I_(e){return R_(F_(e),`time`)}function L_(e){return R_(F_(e),`utc`)}function R_([e,t],n){let r=(n===`time`?O_:k_).get(e);return t>1&&(r=r.every(t),r[A_]=D_.get(e)*t,r[j_]=n),r}function z_(e,t){if(!(t>1))return;let r=e[A_];if(!E_.some(([,e])=>e===r)||r%S_===0&&S_<r&&r<w_)return;let[i]=E_[n(([,e])=>Math.log(e)).center(E_,Math.log(r*t))];return(e[j_]===`time`?I_:L_)(i)}function B_(e,t,n){let r=t===`time`?Rp:zp;if(n==null)return r(e===`year`?`%Y`:e===`month`?`%Y-%m`:e===`day`?`%Y-%m-%d`:e===`hour`||e===`minute`?`%Y-%m-%dT%H:%M`:e===`second`?`%Y-%m-%dT%H:%M:%S`:`%Y-%m-%dT%H:%M:%S.%L`);let i=V_(n);switch(e){case`millisecond`:return W_(r(`.%L`),r(`:%M:%S`),i);case`second`:return W_(r(`:%S`),r(`%-I:%M`),i);case`minute`:return W_(r(`%-I:%M`),r(`%p`),i);case`hour`:return W_(r(`%-I %p`),r(`%b %-d`),i);case`day`:return W_(r(`%-d`),r(`%b`),i);case`month`:return W_(r(`%b`),r(`%Y`),i);case`year`:return r(`%Y`)}throw Error(`unable to format time ticks`)}function V_(e){return e===`left`||e===`right`?(e,t)=>`\n${e}\n${t}`:e===`top`?(e,t)=>`${t}\n${e}`:(e,t)=>`${e}\n${t}`}function H_(e){return e===`time`?N_:e===`utc`?M_:P_}function U_(e,t,n){let r=de(De(t,(e,t)=>Math.abs(t-e)));if(r<1e3)return B_(`millisecond`,`utc`,n);for(let[i,a,o,s]of H_(e)){if(r>s||i===`hour`&&!r)break;if(t.every(e=>a.floor(e)>=e))return B_(i,o,n)}}function W_(e,t,n){return(r,i,a)=>{let o=e(r,i),s=t(r,i),c=i-v_(a);return i!==c&&a[c]!==void 0&&s===t(a[c],c)?o:n(o,s)}}var G_=Object.getPrototypeOf(Uint8Array),K_=Object.prototype.toString;function q_(e){return e instanceof Array||e instanceof G_}function J_(e){return e instanceof G_&&!X_(e)}function Y_(e){return e?.prototype instanceof G_&&!Z_(e)}function X_(e){return e instanceof BigInt64Array||e instanceof BigUint64Array}function Z_(e){return e===BigInt64Array||e===BigUint64Array}var Q_=Symbol(`reindex`);function q(e,t,n){let r=typeof t;return r===`string`?wy(e)?nv(e.getChild(t),n):ev(e,av(t),n):r===`function`?ev(e,t,n):r===`number`||t instanceof Date||r===`boolean`?J(e,mv(t),n):typeof t?.transform==`function`?tv(t.transform(e),n):$_(tv(t,n),e?.[Q_])}function $_(e,t){return e!=null&&t?Bv(e,t):e}function ev(e,t,n){return J(e,Y_(n)?(e,n)=>_v(t(e,n)):t,n)}function tv(e,t){return t===void 0?Tv(e):Ty(e)?nv(e,t):e instanceof t?e:t.from(e,Y_(t)&&!J_(e)?_v:void 0)}function nv(e,t){return e==null?e:(t===void 0||t===Array)&&Ey(e.type)?vv(rv(e)):tv(rv(e),t)}function rv(e){return e.nullCount?e.toJSON():e.toArray()}var iv=[null],av=e=>t=>{let n=t[e];return n===void 0&&t.type===`Feature`?t.properties?.[e]:n},ov={transform:zv},sv={transform:e=>e},cv=()=>1,lv=()=>!0,uv=e=>e==null?e:`${e}`,dv=e=>e==null?e:+e,fv=e=>e?e[0]:void 0,pv=e=>e?e[1]:void 0,mv=e=>()=>e;function hv(e){let t=`${e}`.slice(1)/100;return(e,n)=>ve(e,t,n)}function gv(e){return J_(e)?e:J(e,_v,Float64Array)}function _v(e){return e==null?NaN:Number(e)}function vv(e){return J(e,yv)}function yv(e){return e instanceof Date&&!isNaN(e)?e:typeof e==`string`?__(e):e==null||isNaN(e=Number(e))?void 0:new Date(e)}function bv(e,t){return e===void 0&&(e=t),e===null?[void 0,`none`]:py(e)?[void 0,e]:[e,void 0]}function xv(e,t){return e===void 0&&(e=t),e===null||typeof e==`number`?[void 0,e]:[e,void 0]}function Sv(e,t,n){if(e!=null)return Cv(e,t,n)}function Cv(e,t,n){let r=`${e}`.toLowerCase();if(!n.includes(r))throw Error(`invalid ${t}: ${e}`);return r}function wv(e){return wy(e)?e:Tv(e)}function Tv(e){if(e==null||q_(e))return e;if(Ty(e))return nv(e);if(Ev(e))switch(e.type){case`FeatureCollection`:return e.features;case`GeometryCollection`:return e.geometries;default:return[e]}return Array.from(e)}function Ev(e){switch(e?.type){case`FeatureCollection`:case`GeometryCollection`:case`Feature`:case`LineString`:case`MultiLineString`:case`MultiPoint`:case`MultiPolygon`:case`Point`:case`Polygon`:case`Sphere`:return!0;default:return!1}}function J(e,t,n=Array){return e==null?e:e instanceof n?e.map(t):n.from(e,t)}function Dv(e,t=Array){return e instanceof t?e.slice():t.from(e)}function Ov({x:e,x1:t,x2:n}){return e!==void 0||t!==void 0||n!==void 0}function kv({y:e,y1:t,y2:n}){return e!==void 0||t!==void 0||n!==void 0}function Av(e){return Ov(e)||kv(e)||e.interval!==void 0}function jv(e){return e?.toString===K_}function Mv(e){return jv(e)&&(e.type!==void 0||e.domain!==void 0)}function Nv(e){return jv(e)&&typeof e.transform!=`function`}function Pv(e){return Nv(e)&&e.value===void 0&&e.channel===void 0}function Fv(e,t,n,r=sv){return t===void 0&&n===void 0?(t=0,n=e===void 0?r:e):t===void 0?t=e===void 0?0:e:n===void 0&&(n=e===void 0?0:e),[t,n]}function Iv(e,t){return e===void 0&&t===void 0?[fv,pv]:[e,t]}function Lv({z:e,fill:t,stroke:n}={}){return e===void 0&&([e]=bv(t)),e===void 0&&([e]=bv(n)),e}function Rv(e){return q_(e)?e.length:e?.numRows}function zv(e){let t=Rv(e),n=new Uint32Array(t);for(let e=0;e<t;++e)n[e]=e;return n}function Bv(e,t){return q_(e)?J(t,t=>e[t],e.constructor):J(t,t=>e.at(t))}function Vv(e,t,n){return e.subarray?e.subarray(t,n):e.slice(t,n)}function Hv(e){return typeof e==`object`&&e?e.valueOf():e}function Uv(e,t){if(t[e]!==void 0)return t[e];switch(e){case`x1`:case`x2`:e=`x`;break;case`y1`:case`y2`:e=`y`;break}return t[e]}function Wv(e){let t;return[{transform:()=>t,label:Kv(e)},e=>t=e]}function Gv(e){return e==null?[e]:Wv(e)}function Kv(e,t){return typeof e==`string`?e:e&&e.label!==void 0?e.label:t}function qv(e,t){return{transform(n){let r=e.transform(n),i=t.transform(n);return sy(r)||sy(i)?J(r,(e,t)=>new Date((+r[t]+ +i[t])/2)):J(r,(e,t)=>(+r[t]+ +i[t])/2,Float64Array)},label:e.label}}function Jv(e,t){let n=Yv(t?.interval,t?.type);return n?J(e,n):e}function Yv(e,t){let n=Xv(e,t);return n&&(e=>o_(e)?n.floor(e):e)}function Xv(e,t){if(e!=null){if(typeof e==`number`)return Zv(e);if(typeof e==`string`)return(t===`time`?I_:L_)(e);if(typeof e.floor!=`function`)throw Error(`invalid interval; missing floor method`);if(typeof e.offset!=`function`)throw Error(`invalid interval; missing offset method`);return e}}function Zv(e){e=+e,0<e&&e<1&&Number.isInteger(1/e)&&(e=-1/e);let t=Math.abs(e);return e<0?{floor:e=>Math.floor(e*t)/t,offset:(e,n=1)=>(e*t+Math.floor(n))/t,range:(e,n)=>ke(Math.ceil(e*t),n*t).map(e=>e/t)}:{floor:e=>Math.floor(e/t)*t,offset:(e,n=1)=>e+t*Math.floor(n),range:(e,n)=>ke(Math.ceil(e/t),n/t).map(e=>e*t)}}function Qv(e,t){if(e=Xv(e,t),e&&typeof e.range!=`function`)throw Error(`invalid interval: missing range method`);return e}function $v(e,t){if(e=Qv(e,t),e&&typeof e.ceil!=`function`)throw Error(`invalid interval: missing ceil method`);return e}function ey(e){return ty(e)&&typeof e?.floor==`function`&&e.floor()instanceof Date}function ty(e){return typeof e?.range==`function`}function ny(e){return e===void 0||Nv(e)?e:{value:e}}function ry(e){return e==null?null:{transform:t=>q(t,e,Float64Array),label:Kv(e)}}function iy(e){return e&&typeof e[Symbol.iterator]==`function`}function ay(e){for(let t of e)if(t!=null)return typeof t!=`object`||t instanceof Date}function oy(e){for(let t of e){if(t==null)continue;let e=typeof t;return e===`string`||e===`boolean`}}function sy(e){for(let t of e)if(t!=null)return t instanceof Date}function cy(e){for(let t of e)if(t!=null)return typeof t==`string`&&isNaN(t)&&__(t)}function ly(e){for(let t of e)if(t!=null){if(typeof t!=`string`)return!1;if(t.trim())return!isNaN(t)}}function uy(e){for(let t of e)if(t!=null)return typeof t==`number`}function dy(e,t){let n;for(let r of e)if(r!=null){if(!t(r))return!1;n=!0}return n}var fy=new Set(`none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow`.split(`,`));function py(e){return typeof e==`string`?(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||fy.has(e)):!1}function my(e){return typeof e==`number`&&(0<=e&&e<=1||isNaN(e))}function hy(e){return e==null||gy(e)}function gy(e){return/^\s*none\s*$/i.test(e)}function _y(e){return/^\s*round\s*$/i.test(e)}function vy(e,t){return Sv(e,t,[`middle`,`top-left`,`top`,`top-right`,`right`,`bottom-right`,`bottom`,`bottom-left`,`left`])}function yy(e=`middle`){return vy(e,`frameAnchor`)}function by(e={},...t){let n=e;for(let r of t)for(let t in r)if(n[t]===void 0){let i=r[t];n===e?n={...n,[t]:i}:n[t]=i}return n}function xy(e){console.warn(`named iterables are deprecated; please use an object instead`);let t=new Set;return Object.fromEntries(Array.from(e,e=>{let{name:n}=e;if(n==null)throw Error(`missing name`);let r=`${n}`;if(r===`__proto__`)throw Error(`illegal name: ${r}`);if(t.has(r))throw Error(`duplicate name: ${r}`);return t.add(r),[n,e]}))}function Sy(e){return iy(e)?xy(e):e}function Cy(e){return e===!0?e=`frame`:e===!1?e=null:!Ev(e)&&e!=null&&(e=Cv(e,`clip`,[`frame`,`sphere`]),e===`sphere`&&(e={type:`Sphere`})),e}function wy(e){return e&&typeof e.getChild==`function`&&typeof e.toArray==`function`&&e.schema&&Array.isArray(e.schema.fields)}function Ty(e){return e&&typeof e.toArray==`function`&&e.type}function Ey(e){return e&&(e.typeId===8||e.typeId===10)&&e.unit===1}var Dy=Symbol(`position`),Oy=Symbol(`color`),ky=Symbol(`radius`),Ay=Symbol(`length`),jy=Symbol(`opacity`),My=Symbol(`symbol`),Ny=Symbol(`projection`),Y=new Map([[`x`,Dy],[`y`,Dy],[`fx`,Dy],[`fy`,Dy],[`r`,ky],[`color`,Oy],[`opacity`,jy],[`symbol`,My],[`length`,Ay],[`projection`,Ny]]);function Py(e){return e===Dy||e===Ny}function Fy(e){return e===Dy||e===ky||e===Ay||e===jy}var Iy=2/Math.sqrt(3),Ly=new Map([[`asterisk`,Hh],[`circle`,Uh],[`cross`,Wh],[`diamond`,qh],[`diamond2`,Jh],[`hexagon`,{draw(e,t){let n=Math.sqrt(t/Math.PI),r=n*Iy,i=r/2;e.moveTo(0,r),e.lineTo(n,i),e.lineTo(n,-i),e.lineTo(0,-r),e.lineTo(-n,-i),e.lineTo(-n,i),e.closePath()}}],[`plus`,Yh],[`square`,Xh],[`square2`,Zh],[`star`,ng],[`times`,fg],[`triangle`,ig],[`triangle2`,og],[`wye`,dg]]);function Ry(e){return e&&typeof e.draw==`function`}function zy(e){return Ry(e)?!0:typeof e==`string`?Ly.has(e.toLowerCase()):!1}function By(e){if(e==null||Ry(e))return e;let t=Ly.get(`${e}`.toLowerCase());if(t)return t;throw Error(`invalid symbol: ${e}`)}function Vy(e){if(e==null||Ry(e))return[void 0,e];if(typeof e==`string`){let t=Ly.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function Hy({filter:e,sort:t,reverse:n,transform:r,initializer:i,...a}={},o){if(r===void 0&&(e!=null&&(r=qy(e)),t!=null&&!Pv(t)&&(r=Wy(r,Xy(t))),n&&(r=Wy(r,Jy))),o!=null&&i!=null)throw Error(`transforms cannot be applied after initializers`);return{...a,...(t===null||Pv(t))&&{sort:t},transform:Wy(r,o)}}function Uy({filter:e,sort:t,reverse:n,initializer:r,...i}={},a){return r===void 0&&(e!=null&&(r=qy(e)),t!=null&&!Pv(t)&&(r=Gy(r,Xy(t))),n&&(r=Gy(r,Jy))),{...i,...(t===null||Pv(t))&&{sort:t},initializer:Gy(r,a)}}function Wy(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i){return{data:n,facets:r}=e.call(this,n,r,i),t.call(this,wv(n),r,i)}}function Gy(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i,...a){let o,s,c,l,u,d;return{data:s=n,facets:c=r,channels:o}=e.call(this,n,r,i,...a),{data:u=s,facets:d=c,channels:l}=t.call(this,s,c,{...i,...o},...a),{data:u,facets:d,channels:{...o,...l}}}}function Ky(e,t){return(e.initializer==null?Hy:Uy)(e,t)}function qy(e){return(t,n)=>{let r=q(t,e);return{data:t,facets:n.map(e=>e.filter(e=>r[e]))}}}function Jy(e,t){return{data:e,facets:t.map(e=>e.slice().reverse())}}function Yy(e,{sort:t,...n}={}){return{...(Nv(e)&&e.channel!==void 0?Uy:Ky)(n,Xy(e)),sort:Pv(t)?t:null}}function Xy(e){return(typeof e==`function`&&e.length!==1?Zy:Qy)(e)}function Zy(e){return(t,n)=>{let r=q_(t)?(n,r)=>e(t[n],t[r]):(n,r)=>e(t.get(n),t.get(r));return{data:t,facets:n.map(e=>e.slice().sort(r))}}}function Qy(e){let t,n;({channel:t,value:e,order:n}={...ny(e)});let r=t?.startsWith(`-`);if(r&&(t=t.slice(1)),n===void 0&&(n=r?c_:s_),typeof n!=`function`)switch(`${n}`.toLowerCase()){case`ascending`:n=s_;break;case`descending`:n=c_;break;default:throw Error(`invalid order: ${n}`)}return(r,i,a)=>{let o;if(t===void 0)o=q(r,e);else{if(a===void 0)throw Error(`channel sort requires an initializer`);if(o=a[t],!o)return{};o=o.value}let s=(e,t)=>n(o[e],o[t]);return{data:r,facets:i.map(e=>e.slice().sort(s))}}}function $y(e,...t){for(let{name:n}of e)if(t.includes(n))return!0;return!1}function eb(e,t,n=tb){let r=Object.entries(e);return t.title!=null&&e.title===void 0&&r.push([`title`,hb]),t.href!=null&&e.href===void 0&&r.push([`href`,mb]),r.filter(([,e])=>e!==void 0).map(([e,r])=>r===null?nb(e):n(e,r,t))}function tb(e,t,n,r=rb){let i;jv(t)&&`reduce`in t&&(i=t.scale,t=t.reduce);let a=r(e,t,n),[o,s]=Wv(a.label),c;return{name:e,output:i===void 0?o:{value:o,scale:i},initialize(e){a.initialize(e),c=s([])},scope(e,t){a.scope(e,t)},reduce(e,t){c.push(a.reduce(e,t))}}}function nb(e){return{name:e,initialize(){},scope(){},reduce(){}}}function rb(e,t,n,r=ab){let i=Uv(e,n),a=r(t,i),o,s;return{label:Kv(a===_b?null:i,a.label),initialize(e){o=i===void 0?e:q(e,i),a.scope===`data`&&(s=a.reduceIndex(zv(e),o))},scope(e,t){a.scope===e&&(s=a.reduceIndex(t,o))},reduce(e,t){return a.scope==null?a.reduceIndex(e,o,t):a.reduceIndex(e,o,s,t)}}}function ib(e,t){return t?E(e,e=>t[e]):[[,e]]}function ab(e,t,n=ob){if(e==null)return n(e);if(typeof e.reduceIndex==`function`)return e;if(typeof e.reduce==`function`&&jv(e))return lb(e);if(typeof e==`function`)return ub(e);if(/^p\d{2}$/i.test(e))return db(hv(e));switch(`${e}`.toLowerCase()){case`first`:return mb;case`last`:return gb;case`identity`:return pb;case`count`:return _b;case`distinct`:return vb;case`sum`:return t==null?_b:yb;case`proportion`:return bb(t,`data`);case`proportion-facet`:return bb(t,`facet`);case`deviation`:return db(g);case`min`:return db(pe);case`min-index`:return db(me);case`max`:return db(de);case`max-index`:return db(fe);case`mean`:return fb(Se);case`median`:return fb(Ce);case`variance`:return db(h);case`mode`:return db(Ee)}return n(e)}function ob(e){throw Error(`invalid reduce: ${e}`)}function sb(e,t){for(let n in t){let r=t[n];if(r!==void 0&&!e.some(e=>e.name===n))return r}}function cb(e,t,n){if(t){let n=t.output.transform(),r=(e,t)=>s_(n[e],n[t]);e.forEach(e=>e.sort(r))}n&&e.forEach(e=>e.reverse())}function lb(e){return console.warn(`deprecated reduce interface; implement reduceIndex instead.`),{...e,reduceIndex:e.reduce.bind(e)}}function ub(e){return{reduceIndex(t,n,r){return e(Bv(n,t),r)}}}function db(e){return{reduceIndex(t,n){return e(t,e=>n[e])}}}function fb(e){return{reduceIndex(t,n){let r=e(t,e=>n[e]);return sy(n)?new Date(r):r}}}var pb={reduceIndex(e,t){return Bv(t,e)}},mb={reduceIndex(e,t){return t[e[0]]}},hb={reduceIndex(e,t){let n=j(D(e,e=>e.length,e=>t[e]),pv),r=n.slice(-5).reverse();if(r.length<n.length){let e=n.slice(0,-4);r[4]=[`… ${e.length.toLocaleString(`en-US`)} more`,Ae(e,pv)]}return r.map(([e,t])=>`${e} (${t.toLocaleString(`en-US`)})`).join(`
2
+ `)}},gb={reduceIndex(e,t){return t[e[e.length-1]]}},_b={label:`Frequency`,reduceIndex(e){return e.length}},vb={label:`Distinct`,reduceIndex(e,t){let n=new b;for(let r of e)n.add(t[r]);return n.size}},yb=db(Ae);function bb(e,t){return e==null?{scope:t,label:`Frequency`,reduceIndex:(e,t,n=1)=>e.length/n}:{scope:t,reduceIndex:(e,t,n=1)=>Ae(e,e=>t[e])/n}}var xb={reduceIndex(e,t,{z:n}){return n}};function Sb(e,{scale:t,type:n,value:r,filter:i,hint:a,label:o=Kv(r)},s){return a===void 0&&typeof r?.transform==`function`&&(a=r.hint),Tb(s,{scale:t,type:n,value:q(e,r),label:o,filter:i,hint:a})}function Cb(e,t){return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,Sb(t,n,e)]))}function wb(e,t){let n=Object.fromEntries(Object.entries(e).map(([e,{scale:n,value:r}])=>{let i=n==null?null:t[n];return[e,i==null?r:J(r,i)]}));return n.channels=e,n}function Tb(e,t){let{scale:n,value:r}=t;if(n===!0||n===`auto`)switch(e){case`fill`:case`stroke`:case`color`:t.scale=n!==!0&&dy(r,py)?null:`color`,t.defaultScale=`color`;break;case`fillOpacity`:case`strokeOpacity`:case`opacity`:t.scale=n!==!0&&dy(r,my)?null:`opacity`,t.defaultScale=`opacity`;break;case`symbol`:n!==!0&&dy(r,zy)?(t.scale=null,t.value=J(r,By)):t.scale=`symbol`,t.defaultScale=`symbol`;break;default:t.scale=Y.has(e)?e:null;break}else if(n===!1)t.scale=null;else if(n!=null&&!Y.has(n))throw Error(`unknown scale: ${n}`);return t}function Eb(e,t,n,r,i){let{order:a,reverse:o,reduce:s=!0,limit:c}=i;for(let l in i){if(!Y.has(l))continue;let{value:u,order:d=a,reverse:f=o,reduce:p=s,limit:m=c}=ny(i[l]),h=u?.startsWith(`-`);if(h&&(u=u.slice(1)),d=d===void 0?h===(u===`width`||u===`height`)?Mb:Nb:jb(d),p==null||p===!1)continue;let g=l===`fx`||l===`fy`?Ob(t,r[l]):Db(n,l);if(!g)throw Error(`missing channel for scale: ${l}`);let _=g.value,[v=0,y=1/0]=iy(m)?m:m<0?[m]:[0,m];if(u==null)g.domain=()=>{let e=Array.from(new b(_));return f&&(e=e.reverse()),(v!==0||y!==1/0)&&(e=e.slice(v,y)),e};else{let t=u===`data`?e:u===`height`?kb(n,`y1`,`y2`):u===`width`?kb(n,`x1`,`x2`):Ab(n,u,u===`y`?`y2`:u===`x`?`x2`:void 0),r=ab(p===!0?`max`:p,t);g.domain=()=>{let e=O(zv(_),e=>r.reduceIndex(e,t),e=>_[e]);return d&&e.sort(d),f&&e.reverse(),(v!==0||y!==1/0)&&(e=e.slice(v,y)),e.map(fv)}}}}function Db(e,t){for(let n in e){let r=e[n];if(r.scale===t)return r}}function Ob(e,t){let n=e.original;if(n===e)return t;let r=t.value,i=t.value=[];for(let t=0;t<n.length;++t){let a=r[n[t][0]];for(let n of e[t])i[n]=a}return t}function kb(e,t,n){let r=Ab(e,t);return J(Ab(e,n),(e,t)=>Math.abs(e-r[t]),Float64Array)}function Ab(e,t,n){let r=e[t];if(!r&&n!==void 0&&(r=e[n]),r)return r.value;throw Error(`missing channel: ${t}`)}function jb(e){if(e==null||typeof e==`function`)return e;switch(`${e}`.toLowerCase()){case`ascending`:return Mb;case`descending`:return Nb}throw Error(`invalid order: ${e}`)}function Mb([e,t],[n,r]){return s_(t,r)||s_(e,n)}function Nb([e,t],[n,r]){return c_(t,r)||s_(e,n)}function Pb(e,t){let n=e[t];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}var Fb=new Map([[`accent`,$p],[`category10`,Qp],[`dark2`,em],[`observable10`,tm],[`paired`,nm],[`pastel1`,rm],[`pastel2`,im],[`set1`,am],[`set2`,om],[`set3`,sm],[`tableau10`,cm]]);function Ib(e){return e!=null&&Fb.has(`${e}`.toLowerCase())}var Lb=new Map([...Fb,[`brbg`,Rb(lm,um)],[`prgn`,Rb(dm,fm)],[`piyg`,Rb(pm,mm)],[`puor`,Rb(hm,gm)],[`rdbu`,Rb(_m,vm)],[`rdgy`,Rb(ym,bm)],[`rdylbu`,Rb(xm,Sm)],[`rdylgn`,Rb(Cm,wm)],[`spectral`,Rb(Tm,Em)],[`burd`,zb(_m,vm)],[`buylrd`,zb(xm,Sm)],[`blues`,X(Zm,Qm)],[`greens`,X($m,eh)],[`greys`,X(th,nh)],[`oranges`,X(sh,ch)],[`purples`,X(rh,ih)],[`reds`,X(ah,oh)],[`turbo`,Bb(yh)],[`viridis`,Bb(xh)],[`magma`,Bb(Sh)],[`inferno`,Bb(Ch)],[`plasma`,Bb(wh)],[`cividis`,Bb(lh)],[`cubehelix`,Bb(uh)],[`warm`,Bb(dh)],[`cool`,Bb(fh)],[`bugn`,X(Dm,Om)],[`bupu`,X(km,Am)],[`gnbu`,X(jm,Mm)],[`orrd`,X(Nm,Pm)],[`pubu`,X(Lm,Rm)],[`pubugn`,X(Fm,Im)],[`purd`,X(zm,Bm)],[`rdpu`,X(Vm,Hm)],[`ylgn`,X(Gm,Km)],[`ylgnbu`,X(Um,Wm)],[`ylorbr`,X(qm,Jm)],[`ylorrd`,X(Ym,Xm)],[`rainbow`,Vb(mh)],[`sinebow`,Vb(vh)]]);function X(e,t){return({length:n})=>n===1?[e[3][1]]:n===2?[e[3][1],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?ra(t,n):e[n])}function Rb(e,t){return({length:n})=>n===2?[e[3][0],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?ra(t,n):e[n])}function zb(e,t){return({length:n})=>n===2?[e[3][2],e[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?ra(e=>t(1-e),n):e[n].slice().reverse())}function Bb(e){return({length:t})=>ra(e,Math.max(2,Math.floor(t)))}function Vb(e){return({length:t})=>ra(e,Math.floor(t)+1).slice(0,-1)}function Hb(e){let t=`${e}`.toLowerCase();if(!Lb.has(t))throw Error(`unknown ordinal scheme: ${t}`);return Lb.get(t)}function Ub(e,t){let n=Hb(e),r=typeof n==`function`?n({length:t}):n;return r.length===t?r:r.slice(0,t)}function Wb(e,t=`greys`){let n=new Set,[r,i]=Ub(t,2);for(let t of e)if(t!=null)if(t===!0)n.add(i);else if(t===!1)n.add(r);else return;return[...n]}var Gb=new Map([[`brbg`,um],[`prgn`,fm],[`piyg`,mm],[`puor`,gm],[`rdbu`,vm],[`rdgy`,bm],[`rdylbu`,Sm],[`rdylgn`,wm],[`spectral`,Em],[`burd`,e=>vm(1-e)],[`buylrd`,e=>Sm(1-e)],[`blues`,Qm],[`greens`,eh],[`greys`,nh],[`purples`,ih],[`reds`,oh],[`oranges`,ch],[`turbo`,yh],[`viridis`,xh],[`magma`,Sh],[`inferno`,Ch],[`plasma`,wh],[`cividis`,lh],[`cubehelix`,uh],[`warm`,dh],[`cool`,fh],[`bugn`,Om],[`bupu`,Am],[`gnbu`,Mm],[`orrd`,Pm],[`pubugn`,Im],[`pubu`,Rm],[`purd`,Bm],[`rdpu`,Hm],[`ylgnbu`,Wm],[`ylgn`,Km],[`ylorbr`,Jm],[`ylorrd`,Xm],[`rainbow`,mh],[`sinebow`,vh]]);function Kb(e){let t=`${e}`.toLowerCase();if(!Gb.has(t))throw Error(`unknown quantitative scheme: ${t}`);return Gb.get(t)}var qb=new Set([`brbg`,`prgn`,`piyg`,`puor`,`rdbu`,`rdgy`,`rdylbu`,`rdylgn`,`spectral`,`burd`,`buylrd`]);function Jb(e){return e!=null&&qb.has(`${e}`.toLowerCase())}var Yb=e=>t=>e(1-t),Xb=[0,1],Zb=new Map([[`number`,ji],[`rgb`,wi],[`hsl`,Xi],[`hcl`,$i],[`lab`,Zi]]);function Qb(e){let t=`${e}`.toLowerCase();if(!Zb.has(t))throw Error(`unknown interpolator: ${t}`);return Zb.get(t)}function $b(e,t,n,{type:r,nice:i,clamp:a,zero:o,domain:s=px(e,n),unknown:c,round:l,scheme:u,interval:d,range:f=Y.get(e)===ky?hx(n,s):Y.get(e)===Ay?gx(n,s):Y.get(e)===jy?Xb:void 0,interpolate:p=Y.get(e)===Oy?u==null&&f!==void 0?wi:Kb(u===void 0?r===`cyclical`?`rainbow`:`turbo`:u):l?zi:ji,reverse:m}){if(s=ex(s),d=Qv(d,r),(r===`cyclical`||r===`sequential`)&&(r=`linear`),typeof p!=`function`&&(p=Qb(p)),m=!!m,f!==void 0&&s.length!==(f=ex(f)).length){if(p.length===1)throw Error(`invalid piecewise interpolator`);p=na(p,f),f=void 0}if(p.length===1?(m&&=(p=Yb(p),!1),f===void 0&&(f=Float64Array.from(s,(e,t)=>t/(s.length-1)),f.length===2&&(f=Xb)),t.interpolate((f===Xb?mv:yx)(p))):t.interpolate(p),o){let[e,t]=_(s);(e>0||t<0)&&(s=Dv(s),(v_(s)||1)===Math.sign(e)?s[0]=0:s[s.length-1]=0)}return m&&(s=je(s)),t.domain(s).unknown(c),i&&(t.nice(tx(i,r)),s=t.domain()),f!==void 0&&t.range(f),a&&t.clamp(a),{type:r,domain:s,range:f,scale:t,interpolate:p,interval:d}}function ex(e){return e=Tv(e),e.length>=2?e:[e[0],e[0]]}function tx(e,t){return e===!0?void 0:typeof e==`number`?e:$v(e,t)}function nx(e,t,n){return $b(e,id(),t,n)}function rx(e,t,n){return ix(e,t,{...n,exponent:.5})}function ix(e,t,{exponent:n=1,...r}){return $b(e,Td().exponent(n),t,{...r,type:`pow`})}function ax(e,t,{base:n=10,domain:r=_x(t),...i}){return $b(e,gd().base(n),t,{...i,domain:r})}function ox(e,t,{constant:n=1,...r}){return $b(e,bd().constant(n),t,r)}function sx(e,t,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:i=r,scheme:a=`rdylbu`,domain:o=vx(t),unknown:s,interpolate:c,reverse:l}){return n===void 0&&(n=c===void 0?Y.get(e)===Oy?Ub(a,i):void 0:ra(c,i)),o.length>0&&(o=Ed(o,n===void 0?{length:i}:n).quantiles()),lx(e,t,{domain:o,range:n,reverse:l,unknown:s})}function cx(e,t,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:i=`rdylbu`,domain:a=px(e,t),unknown:o,interpolate:s,reverse:c}){let[l,u]=_(a),d;return n===void 0?(d=se(l,u,r),d[0]<=l&&d.splice(0,1),d[d.length-1]>=u&&d.pop(),r=d.length+1,n=s===void 0?Y.get(e)===Oy?Ub(i,r):void 0:ra(s,r)):(d=ra(ji(l,u),r+1).slice(1,-1),l instanceof Date&&(d=d.map(e=>new Date(e)))),v_(Tv(a))<0&&d.reverse(),lx(e,t,{domain:d,range:n,reverse:c,unknown:o})}function lx(e,t,{domain:n=[0],unknown:r,scheme:i=`rdylbu`,interpolate:a,range:o=a===void 0?Y.get(e)===Oy?Ub(i,n.length+1):void 0:ra(a,n.length+1),reverse:s}){n=Tv(n);let c=v_(n);if(!isNaN(c)&&!ux(n,c))throw Error(`the ${e} scale has a non-monotonic domain`);return s&&(o=je(o)),{type:`threshold`,scale:Dd(c<0?je(n):n,o===void 0?[]:o).unknown(r),domain:n,range:o}}function ux(e,n){for(let r=1,i=e.length,a=e[0];r<i;++r){let i=t(a,a=e[r]);if(i!==0&&i!==n)return!1}return!0}function dx(e){return{type:`identity`,scale:Fy(Y.get(e))?ad():e=>e}}function fx(e,t=u_){return e.length?[pe(e,({value:e})=>e===void 0?e:pe(e,t)),de(e,({value:e})=>e===void 0?e:de(e,t))]:[0,1]}function px(e,t){let n=Y.get(e);return(n===ky||n===jy||n===Ay?mx:fx)(t)}function mx(e){return[0,e.length?de(e,({value:e})=>e===void 0?e:de(e,u_)):1]}function hx(e,t){let n=e.find(({radius:e})=>e!==void 0);if(n!==void 0)return[0,n.radius];let r=ve(e,.5,({value:e})=>e===void 0?NaN:ve(e,.25,d_)),i=t.map(e=>3*Math.sqrt(e/r)),a=30/de(i);return a<1?i.map(e=>e*a):i}function gx(e,t){let n=Ce(e,({value:e})=>e===void 0?NaN:Ce(e,Math.abs)),r=t.map(e=>12*e/n),i=60/de(r);return i<1?r.map(e=>e*i):r}function _x(e){for(let{value:t}of e)if(t!==void 0)for(let n of t){if(n>0)return fx(e,d_);if(n<0)return fx(e,f_)}return[1,10]}function vx(e){let t=[];for(let{value:n}of e)if(n!==void 0)for(let e of n)t.push(e);return t}function yx(e){return(t,n)=>r=>e(t+r*(n-t))}var bx=0,xx;function Sx(){let e=bx;return bx=0,xx=void 0,e}function Cx(e){e!==xx&&(xx=e,console.warn(e),++bx)}function wx(e,n,r,i,{type:a,nice:o,clamp:s,domain:c=fx(i),unknown:l,pivot:u=0,scheme:d,range:f,symmetric:p=!0,interpolate:m=Y.get(e)===Oy?d==null&&f!==void 0?wi:Kb(d===void 0?`rdbu`:d):ji,reverse:h}){u=+u,c=Tv(c);let[g,_]=c;if(c.length>2&&Cx(`Warning: the diverging ${e} scale domain contains extra elements.`),t(g,_)<0&&([g,_]=[_,g],h=!h),g=Math.min(g,u),_=Math.max(_,u),typeof m!=`function`&&(m=Qb(m)),f!==void 0&&(m=m.length===1?yx(m)(...f):na(m,f)),h&&(m=Yb(m)),p){let e=r.apply(u),t=e-r.apply(g),n=r.apply(_)-e;t<n?g=r.invert(e-n):t>n&&(_=r.invert(e+t))}return n.domain([g,u,_]).unknown(l).interpolator(m),s&&n.clamp(s),o&&n.nice(o),{type:a,domain:[g,_],pivot:u,interpolate:m,scale:n}}function Tx(e,t,n){return wx(e,Jp(),Ax,t,n)}function Ex(e,t,n){return Dx(e,t,{...n,exponent:.5})}function Dx(e,t,{exponent:n=1,...r}){return wx(e,Zp().exponent(n=+n),Nx(n),t,{...r,type:`diverging-pow`})}function Ox(e,t,{base:n=10,pivot:r=1,domain:i=fx(t,r<0?f_:d_),...a}){return wx(e,Yp().base(n=+n),jx,t,{domain:i,pivot:r,...a})}function kx(e,t,{constant:n=1,...r}){return wx(e,Xp().constant(n=+n),Px(n),t,r)}var Ax={apply(e){return e},invert(e){return e}},jx={apply:Math.log,invert:Math.exp},Mx={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return e*e*Math.sign(e)}};function Nx(e){return e===.5?Mx:{apply(t){return Math.sign(t)*Math.abs(t)**+e},invert(t){return Math.sign(t)*Math.abs(t)**(1/e)}}}function Px(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function Fx(e,t,n,r){return $b(e,t,n,r)}function Ix(e,t,n){return Fx(e,Wp(),t,n)}function Lx(e,t,n){return Fx(e,Gp(),t,n)}var Rx=Symbol(`ordinal`);function zx(e,t,n,{type:r,interval:i,domain:a,range:o,reverse:s,hint:c}){return i=Qv(i,r),a===void 0&&(a=Wx(n,i,e)),(r===`categorical`||r===Rx)&&(r=`ordinal`),s&&(a=je(a)),a=t.domain(a).domain(),o!==void 0&&(typeof o==`function`&&(o=o(a)),t.range(o)),{type:r,domain:a,range:o,scale:t,hint:c,interval:i}}function Bx(e,t,{type:n,interval:r,domain:i,range:a,scheme:o,unknown:s,...c}){r=Qv(r,n),i===void 0&&(i=Wx(t,r,e));let l;if(Y.get(e)===My)l=Kx(t),a=a===void 0?qx(l):J(a,By);else if(Y.get(e)===Oy&&(a===void 0&&(n===`ordinal`||n===Rx)&&(a=Wb(i,o),a!==void 0&&(o=void 0)),o===void 0&&a===void 0&&(o=n===`ordinal`?`turbo`:`observable10`),o!==void 0))if(a!==void 0){let e=Kb(o),t=a[0],n=a[1]-a[0];a=({length:r})=>ra(r=>e(t+n*r),r)}else a=Hb(o);if(s===Bu)throw Error(`implicit unknown on ${e} scale is not supported`);return zx(e,Vu().unknown(s),t,{...c,type:n,domain:i,range:a,hint:l})}function Vx(e,t,{align:n=.5,padding:r=.5,...i}){return Ux(Wu().align(n).padding(r),t,i,e)}function Hx(e,t,{align:n=.5,padding:r=.1,paddingInner:i=r,paddingOuter:a=e===`fx`||e===`fy`?0:r,...o}){return Ux(Hu().align(n).paddingInner(i).paddingOuter(a),t,o,e)}function Ux(e,t,n,r){let{round:i}=n;return i!==void 0&&e.round(i=!!i),e=zx(r,e,t,n),e.round=i,e}function Wx(e,t,n){let r=new b;for(let{value:t,domain:n}of e){if(n!==void 0)return n();if(t!==void 0)for(let e of t)r.add(e)}if(t!==void 0){let[e,n]=_(r).map(t.floor,t);return t.range(e,t.offset(n))}if(r.size>1e4&&Y.get(n)===Dy)throw Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return j(r,s_)}function Gx(e,t){let n;for(let{hint:r}of e){let e=r?.[t];if(e!==void 0){if(n===void 0)n=e;else if(n!==e)return}}return n}function Kx(e){return{fill:Gx(e,`fill`),stroke:Gx(e,`stroke`)}}function qx(e){return hy(e.fill)?mg:pg}function Jx(e,{label:t,inset:n=0,insetTop:r=n,insetRight:i=n,insetBottom:a=n,insetLeft:o=n,round:s,nice:c,clamp:l,zero:u,align:d,padding:f,projection:p,facet:{label:m=t}={},...h}={}){let g={};for(let[n,_]of e){let e=h[n],v=oS(n,_,{round:Y.get(n)===Dy?s:void 0,nice:c,clamp:l,zero:u,align:d,padding:f,projection:p,...e});if(v){let{label:s=n===`fx`||n===`fy`?m:t,percent:c,transform:l,inset:u,insetTop:d=u===void 0?n===`y`?r:0:u,insetRight:f=u===void 0?n===`x`?i:0:u,insetBottom:p=u===void 0?n===`y`?a:0:u,insetLeft:h=u===void 0?n===`x`?o:0:u}=e||{};if(l==null)l=void 0;else if(typeof l!=`function`)throw Error(`invalid scale transform; not a function`);v.percent=!!c,v.label=s===void 0?Zx(_,v):s,v.transform=l,n===`x`||n===`fx`?(v.insetLeft=+h,v.insetRight=+f):(n===`y`||n===`fy`)&&(v.insetTop=+d,v.insetBottom=+p),g[n]=v}}return g}function Yx(e){let t={},n={scales:t};for(let[r,i]of Object.entries(e)){let{scale:e,type:a,interval:o,label:s}=i;t[r]=yS(i),n[r]=e,e.type=a,o!=null&&(e.interval=o),s!=null&&(e.label=s)}return n}function Xx(e,t){let{x:n,y:r,fx:i,fy:a}=e,o=i||a?$x(t):t;i&&tS(i,o),a&&nS(a,o);let s=i||a?eS(e,t):t;n&&tS(n,s),r&&nS(r,s)}function Zx(e=[],t){let n;for(let{label:t}of e)if(t!==void 0){if(n===void 0)n=t;else if(n!==t)return}if(n!==void 0)return!fS(t)&&t.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function Qx(e){return Math.sign(v_(e.domain()))*Math.sign(v_(e.range()))}function $x(e){let{marginTop:t,marginRight:n,marginBottom:r,marginLeft:i,width:a,height:o,facet:{marginTop:s,marginRight:c,marginBottom:l,marginLeft:u}}=e;return{marginTop:Math.max(t,s),marginRight:Math.max(n,c),marginBottom:Math.max(r,l),marginLeft:Math.max(i,u),width:a,height:o}}function eS({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:a,marginLeft:o,width:s,height:c}=$x(n);return{marginTop:r,marginRight:i,marginBottom:a,marginLeft:o,width:e?e.scale.bandwidth()+o+i:s,height:t?t.scale.bandwidth()+r+a:c,facet:{width:s,height:c}}}function tS(e,t){if(e.range===void 0){let{insetLeft:n,insetRight:r}=e,{width:i,marginLeft:a=0,marginRight:o=0}=t,s=a+n,c=i-o-r;e.range=[s,Math.max(s,c)],fS(e)||(e.range=aS(e)),e.scale.range(e.range)}rS(e)}function nS(e,t){if(e.range===void 0){let{insetTop:n,insetBottom:r}=e,{height:i,marginTop:a=0,marginBottom:o=0}=t,s=a+n,c=i-o-r;e.range=[Math.max(s,c),s],fS(e)?e.range.reverse():e.range=aS(e),e.scale.range(e.range)}rS(e)}function rS(e){e.round===void 0&&mS(e)&&iS(e)<=30&&e.scale.round(!0)}function iS({scale:e}){let t=e.domain().length,[n,r]=e.range(),i=e.paddingInner?e.paddingInner():1,a=e.paddingOuter?e.paddingOuter():e.padding(),o=t-i,s=Math.abs(r-n)/Math.max(1,o+a*2);return(s-Math.floor(s))*o}function aS(e){let t=e.scale.domain().length+pS(e);if(!(t>2))return e.range;let[n,r]=e.range;return Array.from({length:t},(e,i)=>n+i/(t-1)*(r-n))}function oS(e,t=[],n={}){let r=uS(e,t,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&e!==`fx`&&e!==`fy`&&fS({type:r})){let n=t.map(({value:e})=>e).filter(e=>e!==void 0);n.some(sy)?Cx(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${sS(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${sS(r)}".`):n.some(cy)?Cx(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${sS(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${sS(r)}".`):n.some(ly)&&Cx(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${sS(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${sS(r)}".`)}switch(n.type=r,r){case`diverging`:case`diverging-sqrt`:case`diverging-pow`:case`diverging-log`:case`diverging-symlog`:case`cyclical`:case`sequential`:case`linear`:case`sqrt`:case`threshold`:case`quantile`:case`pow`:case`log`:case`symlog`:n=gS(t,n,gv);break;case`identity`:switch(Y.get(e)){case Dy:n=gS(t,n,gv);break;case My:n=gS(t,n,_S);break}break;case`utc`:case`time`:n=gS(t,n,vv);break}switch(r){case`diverging`:return Tx(e,t,n);case`diverging-sqrt`:return Ex(e,t,n);case`diverging-pow`:return Dx(e,t,n);case`diverging-log`:return Ox(e,t,n);case`diverging-symlog`:return kx(e,t,n);case`categorical`:case`ordinal`:case Rx:return Bx(e,t,n);case`cyclical`:case`sequential`:case`linear`:return nx(e,t,n);case`sqrt`:return rx(e,t,n);case`threshold`:return lx(e,t,n);case`quantile`:return sx(e,t,n);case`quantize`:return cx(e,t,n);case`pow`:return ix(e,t,n);case`log`:return ax(e,t,n);case`symlog`:return ox(e,t,n);case`utc`:return Lx(e,t,n);case`time`:return Ix(e,t,n);case`point`:return Vx(e,t,n);case`band`:return Hx(e,t,n);case`identity`:return dx(e);case void 0:return;default:throw Error(`unknown scale type: ${r}`)}}function sS(e){return typeof e==`symbol`?e.description:e}function cS(e){return typeof e==`string`?`${e}`.toLowerCase():e}var lS={toString:()=>`projection`};function uS(e,t,{type:n,domain:r,range:i,scheme:a,pivot:o,projection:s}){if(n=cS(n),e===`fx`||e===`fy`)return`band`;(e===`x`||e===`y`)&&s!=null&&(n=lS);for(let e of t){let t=cS(e.type);if(t!==void 0){if(n===void 0)n=t;else if(n!==t)throw Error(`scale incompatible with channel: ${n} !== ${t}`)}}if(n===lS)return;if(n!==void 0)return n;if(r===void 0&&!t.some(({value:e})=>e!==void 0))return;let c=Y.get(e);if(c===ky)return`sqrt`;if(c===jy||c===Ay)return`linear`;if(c===My)return`ordinal`;let l=(r??i)?.length;if(l<2||l>2)return dS(c);if(r!==void 0){if(oy(r))return dS(c);if(sy(r))return`utc`}else{let e=t.map(({value:e})=>e).filter(e=>e!==void 0);if(e.some(oy))return dS(c);if(e.some(sy))return`utc`}if(c===Oy){if(o!=null||Jb(a))return`diverging`;if(Ib(a))return`categorical`}return`linear`}function dS(e){switch(e){case Dy:return`point`;case Oy:return Rx;default:return`ordinal`}}function fS({type:e}){return e===`ordinal`||e===`point`||e===`band`||e===Rx}function pS({type:e}){return e===`threshold`}function mS({type:e}){return e===`point`||e===`band`}function hS(e){if(e===void 0)return!0;let t=e.domain(),n=e(t[0]);for(let r=1,i=t.length;r<i;++r)if(e(t[r])-n)return!1;return!0}function gS(e,{domain:t,...n},r){for(let n of e)n.value!==void 0&&(t===void 0&&(t=n.value?.domain),n.value=r(n.value));return{domain:t===void 0?t:r(t),...n}}function _S(e){return J(e,By)}function vS(e){return t=>{if(!Y.has(t=`${t}`))throw Error(`unknown scale: ${t}`);return e[t]}}function yS({scale:e,type:t,domain:n,range:r,interpolate:i,interval:a,transform:o,percent:s,pivot:c}){if(t===`identity`)return{type:`identity`,apply:e=>e,invert:e=>e};let l=e.unknown?e.unknown():void 0;return{type:t,domain:Dv(n),...r!==void 0&&{range:Dv(r)},...o!==void 0&&{transform:o},...s&&{percent:s},...l!==void 0&&{unknown:l},...a!==void 0&&{interval:a},...i!==void 0&&{interpolate:i},...e.clamp&&{clamp:e.clamp()},...c!==void 0&&{pivot:c,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:t=>e(t),...e.invert&&{invert:t=>e.invert(t)}}}function bS(e,t){let{fx:n,fy:r}=Jx(e,t),i=n?.scale.domain(),a=r?.scale.domain();return i&&a?p(i,a).map(([e,t],n)=>({x:e,y:t,i:n})):i?i.map((e,t)=>({x:e,i:t})):a?a.map((e,t)=>({y:e,i:t})):void 0}function xS(e,{x:t,y:n}){return t&&=OS(t),n&&=OS(n),e.filter(t&&n?e=>t.has(e.x)&&n.has(e.y):t?e=>t.has(e.x):e=>n.has(e.y)).sort(t&&n?(e,r)=>t.get(e.x)-t.get(r.x)||n.get(e.y)-n.get(r.y):t?(e,n)=>t.get(e.x)-t.get(n.x):(e,t)=>n.get(e.y)-n.get(t.y))}function SS(e,{fx:t,fy:n}){let r=zv(e),i=t?.value,a=n?.value;return t&&n?D(r,e=>(e.fx=i[e[0]],e.fy=a[e[0]],e),e=>i[e],e=>a[e]):t?D(r,e=>(e.fx=i[e[0]],e),e=>i[e]):D(r,e=>(e.fy=a[e[0]],e),e=>a[e])}function CS(e,t,{marginTop:n,marginLeft:r}){let i=e?({x:t})=>e(t)-r:()=>0,a=t?({y:e})=>t(e)-n:()=>0;return function(e){this.tagName===`svg`?(this.setAttribute(`x`,i(e)),this.setAttribute(`y`,a(e))):this.setAttribute(`transform`,`translate(${i(e)},${a(e)})`)}}function wS(e){let t=[],n=new Uint32Array(Ae(e,e=>e.length));for(let r of e){let i=0;for(let t of e)r!==t&&(n.set(t,i),i+=t.length);t.push(n.slice(0,i))}return t}var TS=new Map([[`top`,MS],[`right`,FS],[`bottom`,NS],[`left`,PS],[`top-left`,VS(MS,PS)],[`top-right`,VS(MS,FS)],[`bottom-left`,VS(NS,PS)],[`bottom-right`,VS(NS,FS)],[`top-empty`,IS],[`right-empty`,zS],[`bottom-empty`,LS],[`left-empty`,RS],[`empty`,BS]]);function ES(e){if(e==null)return null;let t=TS.get(`${e}`.toLowerCase());if(t)return t;throw Error(`invalid facet anchor: ${e}`)}var DS=new WeakMap;function OS(e){let t=DS.get(e);return t||DS.set(e,t=new y(J(e,(e,t)=>[e,t]))),t}function kS(e,t){return OS(e).get(t)}function AS(e,t,n){return t=Hv(t),n=Hv(n),e.find(e=>Object.is(Hv(e.x),t)&&Object.is(Hv(e.y),n))}function jS(e,t,n){return AS(e,t,n)?.empty}function MS(e,{y:t},{y:n}){return t?kS(t,n)===0:!0}function NS(e,{y:t},{y:n}){return t?kS(t,n)===t.length-1:!0}function PS(e,{x:t},{x:n}){return t?kS(t,n)===0:!0}function FS(e,{x:t},{x:n}){return t?kS(t,n)===t.length-1:!0}function IS(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let a=kS(t,r);if(a>0)return jS(e,n,t[a-1])}function LS(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let a=kS(t,r);if(a<t.length-1)return jS(e,n,t[a+1])}function RS(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let a=kS(t,n);if(a>0)return jS(e,t[a-1],r)}function zS(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;let a=kS(t,n);if(a<t.length-1)return jS(e,t[a+1],r)}function BS(e,t,{empty:n}){return n}function VS(e,t){return function(){return e.apply(null,arguments)&&t.apply(null,arguments)}}function HS(e,{channels:{fx:t,fy:n},groups:r}){return t&&n?e.map(({x:e,y:t})=>r.get(e)?.get(t)??[]):t?e.map(({x:e})=>r.get(e)??[]):e.map(({y:e})=>r.get(e)??[])}var US=Math.PI,WS=2*US,GS=.618;function KS({projection:e,inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:a=t}={},o){if(e==null)return;if(typeof e.stream==`function`)return e;let s,c,l=`frame`;if(jv(e)){let t;if({type:e,domain:c,inset:t,insetTop:n=t===void 0?n:t,insetRight:r=t===void 0?r:t,insetBottom:i=t===void 0?i:t,insetLeft:a=t===void 0?a:t,clip:l=l,...s}=e,e==null)return}typeof e!=`function`&&({type:e}=qS(e));let{width:u,height:d,marginLeft:f,marginRight:p,marginTop:m,marginBottom:h}=o,g=u-f-p-a-r,_=d-m-h-n-i;if(e=e?.({width:g,height:_,clip:l,...s}),e==null)return;l=JS(l,f,m,u-p,d-h);let v=f+a,y=m+n,b;if(c!=null){let[[t,n],[r,i]]=Nl(e).bounds(c),a=Math.min(g/(r-t),_/(i-n));a>0?(v-=(a*(t+r)-g)/2,y-=(a*(n+i)-_)/2,b=Pl({point(e,t){this.stream.point(e*a+v,t*a+y)}})):Cx(`Warning: the projection could not be fit to the specified domain; using the default scale.`)}return b??=v===0&&y===0?ZS():Pl({point(e,t){this.stream.point(e+v,t+y)}}),{stream:t=>e.stream(b.stream(l(t)))}}function qS(e){switch(`${e}`.toLowerCase()){case`albers-usa`:return YS(au,.7463,.4673);case`albers`:return XS(ru,.7463,.4673);case`azimuthal-equal-area`:return YS(lu,4,4);case`azimuthal-equidistant`:return YS(du,WS,WS);case`conic-conformal`:return XS(_u,WS,WS);case`conic-equal-area`:return XS(nu,6.1702,2.9781);case`conic-equidistant`:return XS(xu,7.312,3.6282);case`equal-earth`:return YS(ku,5.4133,2.6347);case`equirectangular`:return YS(yu,WS,US);case`gnomonic`:return YS(ju,3.4641,3.4641);case`identity`:return{type:ZS};case`reflect-y`:return{type:QS};case`mercator`:return YS(pu,WS,WS);case`orthographic`:return YS(Nu,2,2);case`stereographic`:return YS(Fu,2,2);case`transverse-mercator`:return YS(Lu,WS,WS);default:throw Error(`unknown projection type: ${e}`)}}function JS(e,t,n,r,i){if(e===!1||e==null||typeof e==`number`)return e=>e;switch(e===!0&&(e=`frame`),`${e}`.toLowerCase()){case`frame`:return Oc(t,n,r,i);default:throw Error(`unknown projection clip type: ${e}`)}}function YS(e,t,n){return{type:({width:r,height:i,rotate:a,precision:o=.15,clip:s})=>{let c=e();return o!=null&&c.precision?.(o),a!=null&&c.rotate?.(a),typeof s==`number`&&c.clipAngle?.(s),r!=null&&(c.scale(Math.min(r/t,i/n)),c.translate([r/2,i/2])),c},aspectRatio:n/t}}function XS(e,t,n){let{type:r,aspectRatio:i}=YS(e,t,n);return{type:e=>{let{parallels:t,domain:n,width:i,height:a}=e,o=r(e);return t!=null&&(o.parallels(t),n===void 0&&i!=null&&o.fitSize([i,a],{type:`Sphere`})),o},aspectRatio:i}}var ZS=mv({stream:e=>e}),QS=mv(Pl({point(e,t){this.stream.point(e,-t)}}));function $S(e,t,n,r){let i=n[e],a=n[t],o=i.length,s=n[e]=new Float64Array(o).fill(NaN),c=n[t]=new Float64Array(o).fill(NaN),l,u=r.stream({point(e,t){s[l]=e,c[l]=t}});for(l=0;l<o;++l)u.point(i[l],a[l])}function eC({projection:e}={}){return e==null?!1:typeof e.stream==`function`?!0:(jv(e)&&(e=e.type),e!=null)}function tC(e){if(typeof e?.stream==`function`)return GS;if(jv(e)){let t,n;if({domain:t,type:e,...n}=e,t!=null&&e!=null){let[[r,i],[a,o]]=Nl((typeof e==`string`?qS(e).type:e)({...n,width:100,height:100})).bounds(t),s=(o-i)/(a-r);return s&&isFinite(s)?s<.2?.2:s>5?5:s:GS}}if(e!=null){if(typeof e!=`function`){let{aspectRatio:t}=qS(e);if(t)return t}return GS}}function nC(e){let t=[],n=[],r={scale:`x`,value:t},i={scale:`y`,value:n},a={point(e,r){t.push(e),n.push(r)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(let t of e.value)qs(t,a);return[r,i]}function rC({x:e,y:t}){if(e||t)return e??=e=>e,t??=e=>e,Pl({point(n,r){this.stream.point(e(n),t(r))}})}function iC(e={}){let{document:t=typeof window<`u`?window.document:void 0,clip:n}=e;return{document:t,clip:Cy(n)}}function Z(e,{document:t}){return Zn(tt(e).call(t.documentElement))}var aC=Symbol(`unset`);function oC(e){return(e.length===1?sC:cC)(e)}function sC(e){let t,n=aC;return r=>(Object.is(n,r)||(n=r,t=e(r)),t)}function cC(e){let t,n;return(...r)=>((n?.length!==r.length||n.some((e,t)=>!Object.is(e,r[t])))&&(n=r,t=e(...r)),t)}var lC=oC(e=>new Intl.NumberFormat(e));oC((e,t)=>new Intl.DateTimeFormat(e,{timeZone:`UTC`,...t&&{month:t}})),oC((e,t)=>new Intl.DateTimeFormat(e,{timeZone:`UTC`,...t&&{weekday:t}}));function uC(e=`en-US`){let t=lC(e);return e=>e!=null&&!isNaN(e)?t.format(e):void 0}function dC(e){return p_(e,`Invalid Date`)}function fC(e=`en-US`){let t=uC(e);return e=>(e instanceof Date?dC:typeof e==`number`?t:uv)(e)}var pC=fC(),mC=(typeof window<`u`?window.devicePixelRatio>1:typeof it>`u`)?0:.5,hC=0;function gC(){return`plot-clip-${++hC}`}function _C(e,{title:t,href:n,ariaLabel:r,ariaDescription:i,ariaHidden:a,target:o,fill:s,fillOpacity:c,stroke:l,strokeWidth:u,strokeOpacity:d,strokeLinejoin:f,strokeLinecap:p,strokeMiterlimit:m,strokeDasharray:h,strokeDashoffset:g,opacity:_,mixBlendMode:v,imageFilter:y,paintOrder:b,pointerEvents:x,shapeRendering:S,channels:C},{ariaLabel:w,fill:T=`currentColor`,fillOpacity:E,stroke:D=`none`,strokeOpacity:O,strokeWidth:k,strokeLinecap:A,strokeLinejoin:j,strokeMiterlimit:ee,paintOrder:te}){T===null&&(s=null,c=null),D===null&&(l=null,d=null),hy(T)?!hy(D)&&(!hy(s)||C?.fill)&&(D=`none`):hy(D)&&(!hy(l)||C?.stroke)&&(T=`none`);let[ne,re]=bv(s,T),[ie,ae]=xv(c,E),[oe,se]=bv(l,D),[ce,le]=xv(d,O),[ue,de]=xv(_);gy(se)||(u===void 0&&(u=k),p===void 0&&(p=A),f===void 0&&(f=j),m===void 0&&!_y(f)&&(m=ee),!gy(re)&&b===void 0&&(b=te));let[fe,pe]=xv(u);return T!==null&&(e.fill=$(re,`currentColor`),e.fillOpacity=RC(ae,1)),D!==null&&(e.stroke=$(se,`none`),e.strokeWidth=RC(pe,1),e.strokeOpacity=RC(le,1),e.strokeLinejoin=$(f,`miter`),e.strokeLinecap=$(p,`butt`),e.strokeMiterlimit=RC(m,4),e.strokeDasharray=$(h,`none`),e.strokeDashoffset=$(g,`0`)),e.target=uv(o),e.ariaLabel=uv(w),e.ariaDescription=uv(i),e.ariaHidden=uv(a),e.opacity=RC(de,1),e.mixBlendMode=$(v,`normal`),e.imageFilter=$(y,`none`),e.paintOrder=$(b,`normal`),e.pointerEvents=$(x,`auto`),e.shapeRendering=$(S,`auto`),{title:{value:t,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:ne,scale:`auto`,optional:!0},fillOpacity:{value:ie,scale:`auto`,optional:!0},stroke:{value:oe,scale:`auto`,optional:!0},strokeOpacity:{value:ce,scale:`auto`,optional:!0},strokeWidth:{value:fe,optional:!0},opacity:{value:ue,scale:`auto`,optional:!0}}}function vC(e,t){t&&e.filter(e=>l_(t[e])).append(`title`).call(bC,t)}function yC(e,t){t&&e.filter(([e])=>l_(t[e])).append(`title`).call(xC,t)}function bC(e,t){t&&e.text(e=>pC(t[e]))}function xC(e,t){t&&e.text(([e])=>pC(t[e]))}function SC(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:a,fillOpacity:o,stroke:s,strokeOpacity:c,strokeWidth:l,opacity:u,href:d}){r&&Q(e,`aria-label`,e=>r[e]),a&&Q(e,`fill`,e=>a[e]),o&&Q(e,`fill-opacity`,e=>o[e]),s&&Q(e,`stroke`,e=>s[e]),c&&Q(e,`stroke-opacity`,e=>c[e]),l&&Q(e,`stroke-width`,e=>l[e]),u&&Q(e,`opacity`,e=>u[e]),d&&FC(e,e=>d[e],t),n||vC(e,i)}function CC(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:a,fillOpacity:o,stroke:s,strokeOpacity:c,strokeWidth:l,opacity:u,href:d}){r&&Q(e,`aria-label`,([e])=>r[e]),a&&Q(e,`fill`,([e])=>a[e]),o&&Q(e,`fill-opacity`,([e])=>o[e]),s&&Q(e,`stroke`,([e])=>s[e]),c&&Q(e,`stroke-opacity`,([e])=>c[e]),l&&Q(e,`stroke-width`,([e])=>l[e]),u&&Q(e,`opacity`,([e])=>u[e]),d&&FC(e,([e])=>d[e],t),n||yC(e,i)}function wC({ariaLabel:e,title:t,fill:n,fillOpacity:r,stroke:i,strokeOpacity:a,strokeWidth:o,opacity:s,href:c},{tip:l}){return[e,l?void 0:t,n,r,i,a,o,s,c].filter(e=>e!==void 0)}function TC(e,t,n){let r=E(e,e=>t[e]);return n===void 0&&r.size>1+e.length>>1&&Cx(`Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null.`),r.values()}function*EC(e,t,n,r){let{z:i}=n,{z:a}=r,o=wC(r,n),s=[...t,...o];for(let t of a?TC(e,a,i):[e]){let e,n;out:for(let r of t){for(let e of s)if(!o_(e[r])){n&&n.push(-1);continue out}if(e===void 0){n&&(yield n),e=o.map(e=>Hv(e[r])),n=[r];continue}n.push(r);for(let t=0;t<o.length;++t)if(Hv(o[t][r])!==e[t]){yield n,e=o.map(e=>Hv(e[r])),n=[r];continue out}}n&&(yield n)}}function DC(e,t,n,r){let i,{clip:a=r.clip}=t;a===`frame`?(e=Z(`svg:g`,r).each(function(){this.appendChild(e.node()),e.node=()=>this}),i=kC(r,n)):a&&(i=MC(a,r)),Q(e,`aria-label`,t.ariaLabel),Q(e,`aria-description`,t.ariaDescription),Q(e,`aria-hidden`,t.ariaHidden),Q(e,`clip-path`,i)}function OC(e){let t=new WeakMap;return(n,r)=>{let i=t.get(n);if(!i){let a=gC();Zn(n.ownerSVGElement).append(`clipPath`).attr(`id`,a).call(e,n,r),t.set(n,i=`url(#${a})`)}return i}}var kC=OC((e,t,n)=>{let{width:r,height:i,marginLeft:a,marginRight:o,marginTop:s,marginBottom:c}=n;e.append(`rect`).attr(`x`,a).attr(`y`,s).attr(`width`,r-o-a).attr(`height`,i-s-c)}),AC=new WeakMap,jC={type:`Sphere`};function MC(e,t){let n,r;if((n=AC.get(t))||AC.set(t,n=new WeakMap),e.type===`Sphere`&&(e=jC),!(r=n.get(e))){let i=gC();Zn(t.ownerSVGElement).append(`clipPath`).attr(`id`,i).append(`path`).attr(`d`,t.path()(e)),n.set(e,r=`url(#${i})`)}return r}function NC(e,t,n,r){DC(e,t,n,r),Q(e,`class`,t.className),Q(e,`fill`,t.fill),Q(e,`fill-opacity`,t.fillOpacity),Q(e,`stroke`,t.stroke),Q(e,`stroke-width`,t.strokeWidth),Q(e,`stroke-opacity`,t.strokeOpacity),Q(e,`stroke-linejoin`,t.strokeLinejoin),Q(e,`stroke-linecap`,t.strokeLinecap),Q(e,`stroke-miterlimit`,t.strokeMiterlimit),Q(e,`stroke-dasharray`,t.strokeDasharray),Q(e,`stroke-dashoffset`,t.strokeDashoffset),Q(e,`shape-rendering`,t.shapeRendering),Q(e,`filter`,t.imageFilter),Q(e,`paint-order`,t.paintOrder);let{pointerEvents:i=r.pointerSticky===!1?`none`:void 0}=t;Q(e,`pointer-events`,i)}function PC(e,t){IC(e,`mix-blend-mode`,t.mixBlendMode),Q(e,`opacity`,t.opacity)}function FC(e,t,n){e.each(function(e){let r=t(e);if(r!=null){let e=this.ownerDocument.createElementNS(Ze.svg,`a`);e.setAttribute(`fill`,`inherit`),e.setAttributeNS(Ze.xlink,`href`,r),n!=null&&e.setAttribute(`target`,n),this.parentNode.insertBefore(e,this).appendChild(this)}})}function Q(e,t,n){n!=null&&e.attr(t,n)}function IC(e,t,n){n!=null&&e.style(t,n)}function LC(e,t,{x:n,y:r},i=mC,a=mC){i+=t.dx,a+=t.dy,n?.bandwidth&&(i+=n.bandwidth()/2),r?.bandwidth&&(a+=r.bandwidth()/2),(i||a)&&e.attr(`transform`,`translate(${i},${a})`)}function $(e,t){if((e=uv(e))!==t)return e}function RC(e,t){if((e=dv(e))!==t)return e}var zC=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function BC(e){if(e===void 0)return`plot-d6a7b5`;if(e=`${e}`,!zC.test(e))throw Error(`invalid class name: ${e}`);return e}function VC(e,t){if(typeof t==`string`)e.property(`style`,t);else if(t!=null)for(let n of e)Object.assign(n.style,t)}function HC({frameAnchor:e},{width:t,height:n,marginTop:r,marginRight:i,marginBottom:a,marginLeft:o}){return[/left$/.test(e)?o:/right$/.test(e)?t-i:(o+t-i)/2,/^top/.test(e)?r:/^bottom/.test(e)?n-a:(r+n-a)/2]}var UC=class{constructor(e,t={},n={},r){let{facet:i=`auto`,facetAnchor:a,fx:o,fy:s,sort:c,dx:l=0,dy:u=0,margin:d=0,marginTop:f=d,marginRight:p=d,marginBottom:m=d,marginLeft:h=d,className:g,clip:_=r?.clip,channels:v,tip:y,render:b}=n;if(this.data=e,this.sort=Pv(c)?c:null,this.initializer=Uy(n).initializer,this.transform=this.initializer?n.transform:Hy(n).transform,i===null||i===!1?this.facet=null:(this.facet=Cv(i===!0?`include`:i,`facet`,[`auto`,`include`,`exclude`,`super`]),this.fx=e===iv&&typeof o==`string`?[o]:o,this.fy=e===iv&&typeof s==`string`?[s]:s),this.facetAnchor=ES(a),t=Sy(t),v!==void 0&&(t={...KC(v),...t}),r!==void 0&&(t={..._C(this,n,r),...t}),this.channels=Object.fromEntries(Object.entries(t).map(([t,n])=>{if(Nv(n.value)){let{value:e,label:t=n.label,scale:r=n.scale}=n.value;n={...n,label:t,scale:r,value:e}}if(e===iv&&typeof n.value==`string`){let{value:e}=n;n={...n,value:[e]}}return[t,n]}).filter(([e,{value:t,optional:n}])=>{if(t!=null)return!0;if(n)return!1;throw Error(`missing channel value: ${e}`)})),this.dx=+l,this.dy=+u,this.marginTop=+f,this.marginRight=+p,this.marginBottom=+m,this.marginLeft=+h,this.clip=Cy(_),this.tip=qC(y),this.className=uv(g),this.facet===`super`){if(o||s)throw Error(`super-faceting cannot use fx or fy`);for(let e in this.channels){let{scale:n}=t[e];if(!(n!==`x`&&n!==`y`))throw Error(`super-faceting cannot use x or y`)}}b!=null&&(this.render=GC(b,this.render))}initialize(e,t,n){let r=wv(this.data);e===void 0&&r!=null&&(e=[zv(r)]);let i=e;this.transform!=null&&({facets:e,data:r}=this.transform(r,e,n),r=wv(r)),e!==void 0&&(e.original=i);let a=Cb(this.channels,r);return this.sort!=null&&Eb(r,e,a,t,this.sort),{data:r,facets:e,channels:a}}filter(e,t,n){for(let r in t){let{filter:i=o_}=t[r];if(i!==null){let t=n[r];e=e.filter(e=>i(t[e]))}}return e}project(e,t,n){for(let r in e)if(e[r].scale===`x`&&/^x|x$/.test(r)){let i=r.replace(/^x|x$/,`y`);i in e&&e[i].scale===`y`&&$S(r,i,t,n.projection)}}scale(e,t,n){let r=wb(e,t);return n.projection&&this.project(e,r,n),r}};function WC(...e){return e.plot=UC.prototype.plot,e}function GC(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!=`function`)throw TypeError(`invalid render transform: ${e}`);if(typeof t!=`function`)throw TypeError(`invalid render transform: ${t}`);return function(n,r,i,a,o,s){return e.call(this,n,r,i,a,o,(e,n,r,i,a)=>t.call(this,e,n,r,i,a,s))}}function KC(e){return Object.fromEntries(Object.entries(Sy(e)).map(([e,t])=>(t=typeof t==`string`?{value:t,label:e}:ny(t),t.filter===void 0&&t.scale==null&&(t={...t,filter:null}),[e,t])))}function qC(e){return e===!0?`xy`:e===!1||e==null?null:typeof e==`string`?Cv(e,`tip`,[`x`,`y`,`xy`]):e}function JC(e,t){return e?.tip===!0?{...e,tip:t}:jv(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}function YC(e,t,n={}){let r=.5-mC,i=.5+mC,a=.5+mC,o=.5-mC;for(let{marginTop:e,marginRight:n,marginBottom:s,marginLeft:c}of t)e>r&&(r=e),n>i&&(i=n),s>a&&(a=s),c>o&&(o=c);let{margin:s,marginTop:c=s===void 0?r:s,marginRight:l=s===void 0?i:s,marginBottom:u=s===void 0?a:s,marginLeft:d=s===void 0?o:s}=n;c=+c,l=+l,u=+u,d=+d;let{width:f=640,height:p=XC(e,n,{width:f,marginTopDefault:r,marginRightDefault:i,marginBottomDefault:a,marginLeftDefault:o})+Math.max(0,c-r+u-a)}=n;f=+f,p=+p;let m={width:f,height:p,marginTop:c,marginRight:l,marginBottom:u,marginLeft:d};if(e.fx||e.fy){let{margin:e,marginTop:t=e===void 0?c:e,marginRight:r=e===void 0?l:e,marginBottom:i=e===void 0?u:e,marginLeft:a=e===void 0?d:e}=n.facet??{};t=+t,r=+r,i=+i,a=+a,m.facet={marginTop:t,marginRight:r,marginBottom:i,marginLeft:a}}return m}function XC({x:e,y:t,fy:n,fx:r},{projection:i,aspectRatio:a},{width:o,marginTopDefault:s,marginRightDefault:c,marginBottomDefault:l,marginLeftDefault:u}){let d=n&&n.scale.domain().length||1,f=tC(i);if(f){let e=r?r.scale.domain().length:1,t=(1.1*d-.1)/(1.1*e-.1)*f,n=Math.max(.1,Math.min(10,t));return Math.round((o-u-c)*n+s+l)}let p=t?fS(t)?t.scale.domain().length||1:Math.max(7,17/d):1;if(a!=null){if(a=+a,!(isFinite(a)&&a>0))throw Error(`invalid aspectRatio: ${a}`);let i=ZC(`y`,t)/(ZC(`x`,e)*a),d=r?r.scale.bandwidth():1,f=n?n.scale.bandwidth():1;return(i*(d*(o-u-c)-e.insetLeft-e.insetRight)+t.insetTop+t.insetBottom)/f+s+l}return!!(t||n)*Math.max(1,Math.min(60,p*d))*20+!!r*30+60}function ZC(e,t){if(!t)throw Error(`aspectRatio requires ${e} scale`);let{type:n,domain:r}=t,i;switch(n){case`linear`:case`utc`:case`time`:i=Number;break;case`pow`:{let e=t.scale.exponent();i=t=>t**+e;break}case`log`:i=Math.log;break;case`point`:case`band`:return r.length;default:throw Error(`unsupported ${e} scale for aspectRatio: ${n}`)}let[a,o]=_(r);return Math.abs(i(o)-i(a))}var QC=new WeakMap;function $C(e,t,{x:n,y:r,px:i,py:a,maxRadius:o=40,channels:s,render:c,...l}={}){return o=+o,i!=null&&(n??=null,s={...s,px:{value:i,scale:`x`}}),a!=null&&(r??=null,s={...s,py:{value:a,scale:`y`}}),{x:n,y:r,channels:s,...l,render:GC(function(n,r,i,a,s,c){s={...s,pointerSticky:!1};let l=s.ownerSVGElement,{data:u}=s.getMarkState(this),d=QC.get(l);d||QC.set(l,d={sticky:!1,roots:[],renders:[]});let f=d.renders.push(ee)-1,{x:p,y:m,fx:h,fy:g}=r,_=h?h(n.fx)-a.marginLeft:0,v=g?g(n.fy)-a.marginTop:0;p?.bandwidth&&(_+=p.bandwidth()/2),m?.bandwidth&&(v+=m.bandwidth()/2);let y=n.fi!=null,b;if(y){let e=d.facetStates;e||(d.facetStates=e=new Map),b=e.get(this),b||e.set(this,b=new Map)}let[x,S]=HC(this,a),{px:C,py:w}=i,T=C?e=>C[e]:rw(i,x),E=w?e=>w[e]:iw(i,S),D,O,k,A;function j(e,t){if(y)if(A&&=cancelAnimationFrame(A),e==null)b.delete(n.fi);else{b.set(n.fi,t),A=requestAnimationFrame(()=>{A=null;for(let[r,i]of b)if(i<t||i===t&&r<n.fi){e=null;break}ee(e)});return}ee(e)}function ee(e){if(D===e&&k===d.sticky)return;D=e,k=s.pointerSticky=d.sticky;let t=D==null?[]:[D];y&&(t.fx=n.fx,t.fy=n.fy,t.fi=n.fi);let o=c(t,r,i,a,s);if(O){if(y){let e=O.parentNode,t=O.getAttribute(`transform`),n=o.getAttribute(`transform`);t?o.setAttribute(`transform`,t):o.removeAttribute(`transform`),n?e.setAttribute(`transform`,n):e.removeAttribute(`transform`),o.removeAttribute(`aria-label`),o.removeAttribute(`aria-description`),o.removeAttribute(`aria-hidden`)}O.replaceWith(o)}if(d.roots[f]=O=o,!(D==null&&b?.size>1)){let e=D==null?null:q_(u)?u[D]:u.get(D);s.dispatchValue(e)}return o}function te(r){if(d.sticky||r.pointerType===`mouse`&&r.buttons===1)return;let[i,s]=$n(r);i-=_,s-=v;let c=i<a.marginLeft||i>a.width-a.marginRight?1:e,l=s<a.marginTop||s>a.height-a.marginBottom?1:t,u=null,f=o*o;for(let e of n){let t=c*(T(e)-i),n=l*(E(e)-s),r=t*t+n*n;r<=f&&(u=e,f=r)}if(u!=null&&(e!==1||t!==1)){let e=T(u)-i,t=E(u)-s;f=e*e+t*t}j(u,f)}function ne(e){e.pointerType===`mouse`&&D!=null&&(d.sticky&&d.roots.some(t=>t?.contains(e.target))||(d.sticky?(d.sticky=!1,d.renders.forEach(e=>e(null))):(d.sticky=!0,ee(D)),e.stopImmediatePropagation()))}function re(e){e.pointerType===`mouse`&&(d.sticky||j(null))}return l.addEventListener(`pointerenter`,te),l.addEventListener(`pointermove`,te),l.addEventListener(`pointerdown`,ne),l.addEventListener(`pointerleave`,re),ee(null)},c)}}function ew(e){return $C(1,1,e)}function tw(e){return $C(1,.01,e)}function nw(e){return $C(.01,1,e)}function rw({x1:e,x2:t,x:n=e},r){return e&&t?n=>(e[n]+t[n])/2:n?e=>n[e]:()=>r}function iw({y1:e,y2:t,y:n=e},r){return e&&t?n=>(e[n]+t[n])/2:n?e=>n[e]:()=>r}function aw(e){return fS(e)&&e.interval===void 0?void 0:`tabular-nums`}function ow(e,t){let{label:n=e.label,tickSize:r=6,width:i=240,height:a=44+r,marginTop:o=18,marginRight:s=0,marginBottom:c=16+r,marginLeft:l=0,style:u,ticks:d=(i-l-s)/64,tickFormat:f,fontVariant:p=aw(e),round:m=!0,opacity:h,className:g}=t,_=iC(t);g=BC(g),h=xv(h)[1],f===null&&(f=()=>null);let v=Z(`svg`,_).attr(`class`,`${g}-ramp`).attr(`font-family`,`system-ui, sans-serif`).attr(`font-size`,10).attr(`width`,i).attr(`height`,a).attr(`viewBox`,`0 0 ${i} ${a}`).call(e=>e.append(`style`).text(`:where(.${g}-ramp) {
3
+ display: block;
4
+ height: auto;
5
+ height: intrinsic;
6
+ max-width: 100%;
7
+ overflow: visible;
8
+ }
9
+ :where(.${g}-ramp text) {
10
+ white-space: pre;
11
+ }`)).call(VC,u),y=e=>e.selectAll(`.tick line`).attr(`y1`,o+c-a),b,x=m?(e,t)=>e.rangeRound(t):(e,t)=>e.range(t),{type:S,domain:C,range:w,interpolate:T,scale:E,pivot:D}=e;if(T){let e=w===void 0?T:na(T.length===1?yx(T):T,w);b=x(E.copy(),ra(ji(l,i-s),Math.min(C.length+(D!==void 0),w===void 0?1/0:w.length)));let t=_.document.createElement(`canvas`);t.width=256,t.height=1;let n=t.getContext(`2d`);for(let t=0;t<256;++t)n.fillStyle=e(t/255),n.fillRect(t,0,1,1);v.append(`image`).attr(`opacity`,h).attr(`x`,l).attr(`y`,o).attr(`width`,i-l-s).attr(`height`,a-o-c).attr(`preserveAspectRatio`,`none`).attr(`xlink:href`,t.toDataURL())}else if(S===`threshold`){let e=C,t=f===void 0?e=>e:typeof f==`string`?Ss(f):f;b=x(id().domain([-1,w.length-1]),[l,i-s]),v.append(`g`).attr(`fill-opacity`,h).selectAll().data(w).enter().append(`rect`).attr(`x`,(e,t)=>b(t-1)).attr(`y`,o).attr(`width`,(e,t)=>b(t)-b(t-1)).attr(`height`,a-o-c).attr(`fill`,e=>e),d=J(e,(e,t)=>t),f=n=>t(e[n],n)}else b=x(Hu().domain(C),[l,i-s]),v.append(`g`).attr(`fill-opacity`,h).selectAll().data(C).enter().append(`rect`).attr(`x`,b).attr(`y`,o).attr(`width`,Math.max(0,b.bandwidth()-1)).attr(`height`,a-o-c).attr(`fill`,E),y=()=>{};return v.append(`g`).attr(`transform`,`translate(0,${a-c})`).call(We(b).ticks(Array.isArray(d)?null:d,typeof f==`string`?f:void 0).tickFormat(typeof f==`function`?f:void 0).tickSize(r).tickValues(Array.isArray(d)?d:null)).attr(`font-size`,null).attr(`font-family`,null).attr(`font-variant`,$(p,`normal`)).call(y).call(e=>e.select(`.domain`).remove()),n!==void 0&&v.append(`text`).attr(`x`,l).attr(`y`,o-6).attr(`fill`,`currentColor`).attr(`font-weight`,`bold`).text(n),v.node()}var sw=Math.PI/180;function cw(e,{marker:t,markerStart:n=t,markerMid:r=t,markerEnd:i=t}={}){e.markerStart=lw(n),e.markerMid=lw(r),e.markerEnd=lw(i)}function lw(e){if(e==null||e===!1)return null;if(e===!0)return fw;if(typeof e==`function`)return e;switch(`${e}`.toLowerCase()){case`none`:return null;case`arrow`:return uw(`auto`);case`arrow-reverse`:return uw(`auto-start-reverse`);case`dot`:return dw;case`circle`:case`circle-fill`:return fw;case`circle-stroke`:return pw;case`tick`:return mw(`auto`);case`tick-x`:return mw(90);case`tick-y`:return mw(0)}throw Error(`invalid marker: ${e}`)}function uw(e){return(t,n)=>Z(`svg:marker`,n).attr(`viewBox`,`-5 -5 10 10`).attr(`markerWidth`,6.67).attr(`markerHeight`,6.67).attr(`orient`,e).attr(`fill`,`none`).attr(`stroke`,t).attr(`stroke-width`,1.5).attr(`stroke-linecap`,`round`).attr(`stroke-linejoin`,`round`).call(e=>e.append(`path`).attr(`d`,`M-1.5,-3l3,3l-3,3`)).node()}function dw(e,t){return Z(`svg:marker`,t).attr(`viewBox`,`-5 -5 10 10`).attr(`markerWidth`,6.67).attr(`markerHeight`,6.67).attr(`fill`,e).attr(`stroke`,`none`).call(e=>e.append(`circle`).attr(`r`,2.5)).node()}function fw(e,t){return Z(`svg:marker`,t).attr(`viewBox`,`-5 -5 10 10`).attr(`markerWidth`,6.67).attr(`markerHeight`,6.67).attr(`fill`,e).attr(`stroke`,`var(--plot-background)`).attr(`stroke-width`,1.5).call(e=>e.append(`circle`).attr(`r`,3)).node()}function pw(e,t){return Z(`svg:marker`,t).attr(`viewBox`,`-5 -5 10 10`).attr(`markerWidth`,6.67).attr(`markerHeight`,6.67).attr(`fill`,`var(--plot-background)`).attr(`stroke`,e).attr(`stroke-width`,1.5).call(e=>e.append(`circle`).attr(`r`,3)).node()}function mw(e){return(t,n)=>Z(`svg:marker`,n).attr(`viewBox`,`-3 -3 6 6`).attr(`markerWidth`,6).attr(`markerHeight`,6).attr(`orient`,e).attr(`stroke`,t).call(e=>e.append(`path`).attr(`d`,`M0,-3v6`)).node()}var hw=0;function gw(e,t,{stroke:n},r){return bw(e,t,n&&(e=>n[e]),null,r)}var _w=1,vw=2;function yw(e,t){let n=new Uint8Array(t.length),r=e.data().filter(e=>e.length>1),i=r.length;for(let e=0,a=aC;e<i;++e){let i=r[e];if(i.length>1){let e=i[0];a!==(a=Hv(t[e]))&&(n[e]|=_w)}}for(let e=i-1,a=aC;e>=0;--e){let i=r[e];if(i.length>1){let e=i[0];a!==(a=Hv(t[e]))&&(n[e]|=vw)}}return([e])=>n[e]}function bw(e,{markerStart:t,markerMid:n,markerEnd:r,stroke:i},a=()=>i,o,s){if(!t&&!n&&!r)return;let c=new Map,l=o&&yw(e,o);function u(e,t,n){return function(r){if(n&&!n(r))return;let i=a(r),o=c.get(t);o||c.set(t,o=new Map);let l=o.get(i);if(!l){let e=this.parentNode.insertBefore(t(i,s),this),n=`plot-marker-${++hw}`;e.setAttribute(`id`,n),o.set(i,l=`url(#${n})`)}this.setAttribute(e,l)}}t&&e.each(u(`marker-start`,t,l&&(e=>l(e)&_w))),n&&l&&e.each(u(`marker-start`,n,e=>!(l(e)&_w))),n&&e.each(u(`marker-mid`,n)),r&&e.each(u(`marker-end`,r,l&&(e=>l(e)&vw)))}function xw({inset:e,insetLeft:t,insetRight:n,...r}={}){return[t,n]=Cw(e,t,n),{inset:e,insetLeft:t,insetRight:n,...r}}function Sw({inset:e,insetTop:t,insetBottom:n,...r}={}){return[t,n]=Cw(e,t,n),{inset:e,insetTop:t,insetBottom:n,...r}}function Cw(e,t,n){return e===void 0&&t===void 0&&n===void 0?mC?[1,0]:[.5,.5]:[t,n]}function ww(e,{interval:t}){return e={...ny(e)},e.interval=Xv(e.interval===void 0?t:e.interval),e}function Tw(e,t,n,r){let{[e]:i,[`${e}1`]:a,[`${e}2`]:o}=n,{value:s,interval:c}=ww(i,n);if(s==null||c==null&&!r)return n;let l=Kv(i);if(c==null){let t,i={transform:e=>t||=q(e,s),label:l};return{...n,[e]:void 0,[`${e}1`]:a===void 0?i:a,[`${e}2`]:o===void 0&&!(a===o&&r)?i:o}}let u,d;function f(e){return d!==void 0&&e===u?d:d=J(q(u=e,s),e=>c.floor(e))}return t({...n,[e]:void 0,[`${e}1`]:a===void 0?{transform:f,label:l}:a,[`${e}2`]:o===void 0?{transform:e=>f(e).map(e=>c.offset(e)),label:l}:o})}function Ew(e,t,n){let{[e]:r}=n,{value:i,interval:a}=ww(r,n);return i==null||a==null?n:t({...n,[e]:{label:Kv(r),transform:e=>{let t=J(q(e,i),e=>a.floor(e)),n=t.map(e=>a.offset(e));return t.map(sy(t)?(e,t)=>e==null||isNaN(e=+e)||(t=n[t],t==null)||isNaN(t=+t)?void 0:new Date((e+t)/2):(e,t)=>e==null||(t=n[t],t==null)?NaN:(+e+ +t)/2)}}})}function Dw(e={}){return Tw(`x`,xw,e,!0)}function Ow(e={}){return Tw(`y`,Sw,e,!0)}function kw(e={}){return Tw(`x`,xw,e)}function Aw(e={}){return Tw(`y`,Sw,e)}function jw(e={}){return Ew(`x`,xw,e)}function Mw(e={}){return Ew(`y`,Sw,e)}var Nw={ariaLabel:`rule`,fill:null,stroke:`currentColor`},Pw=class extends UC{constructor(e,t={}){let{x:n,y1:r,y2:i,inset:a=0,insetTop:o=a,insetBottom:s=a}=t;super(e,{x:{value:n,scale:`x`,optional:!0},y1:{value:r,scale:`y`,optional:!0},y2:{value:i,scale:`y`,optional:!0}},JC(t,`x`),Nw),this.insetTop=dv(o),this.insetBottom=dv(s),cw(this,t)}render(e,t,n,r,i){let{x:a,y:o}=t,{x:s,y1:c,y2:l}=n,{width:u,height:d,marginTop:f,marginRight:p,marginLeft:m,marginBottom:h}=r,{insetTop:g,insetBottom:_}=this;return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,{x:s&&a},mC,0).call(t=>t.selectAll().data(e).enter().append(`line`).call(PC,this).attr(`x1`,s?e=>s[e]:(m+u-p)/2).attr(`x2`,s?e=>s[e]:(m+u-p)/2).attr(`y1`,c&&!hS(o)?e=>c[e]+g:f+g).attr(`y2`,l&&!hS(o)?o.bandwidth?e=>l[e]+o.bandwidth()-_:e=>l[e]-_:d-h-_).call(SC,this,n).call(gw,this,n,i)).node()}},Fw=class extends UC{constructor(e,t={}){let{x1:n,x2:r,y:i,inset:a=0,insetRight:o=a,insetLeft:s=a}=t;super(e,{y:{value:i,scale:`y`,optional:!0},x1:{value:n,scale:`x`,optional:!0},x2:{value:r,scale:`x`,optional:!0}},JC(t,`y`),Nw),this.insetRight=dv(o),this.insetLeft=dv(s),cw(this,t)}render(e,t,n,r,i){let{x:a,y:o}=t,{y:s,x1:c,x2:l}=n,{width:u,height:d,marginTop:f,marginRight:p,marginLeft:m,marginBottom:h}=r,{insetLeft:g,insetRight:_}=this;return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,{y:s&&o},0,mC).call(t=>t.selectAll().data(e).enter().append(`line`).call(PC,this).attr(`x1`,c&&!hS(a)?e=>c[e]+g:m+g).attr(`x2`,l&&!hS(a)?a.bandwidth?e=>l[e]+a.bandwidth()-_:e=>l[e]-_:u-p-_).attr(`y1`,s?e=>s[e]:(f+d-h)/2).attr(`y2`,s?e=>s[e]:(f+d-h)/2).call(SC,this,n).call(gw,this,n,i)).node()}};function Iw(e,t){let{x:n=sv,y:r,y1:i,y2:a,...o}=Aw(t);return[i,a]=Rw(r,i,a),new Pw(e,{...o,x:n,y1:i,y2:a})}function Lw(e,t){let{y:n=sv,x:r,x1:i,x2:a,...o}=kw(t);return[i,a]=Rw(r,i,a),new Fw(e,{...o,y:n,x1:i,x2:a})}function Rw(e,t,n){if(e==null){if(t===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,t]}else if(t===void 0)return n===void 0?[0,e]:[e,n];else if(n===void 0)return[e,t];return[t,n]}function zw(e,...t){let n=t.length;for(let r=0,i=!0;r<n;++r)typeof t[r]!=`function`&&(i&&=(e=e.slice(),!1),e.splice(r,2,e[r]+t[r]+e[r+1]),t.splice(r,1),--r,--n);return r=>{let i=e[0];for(let a=0;a<n;++a)i+=t[a](r)+e[a+1];return i}}var Bw={ariaLabel:`text`,strokeLinejoin:`round`,strokeWidth:3,paintOrder:`stroke`},Vw=`­`,Hw=class extends UC{constructor(e,t={}){let{x:n,y:r,text:i=iy(e)&&ay(e)?sv:ov,frameAnchor:a,textAnchor:o=/right$/i.test(a)?`end`:/left$/i.test(a)?`start`:`middle`,lineAnchor:s=/^top/i.test(a)?`top`:/^bottom/i.test(a)?`bottom`:`middle`,lineHeight:c=1,lineWidth:l=1/0,textOverflow:u,monospace:d,fontFamily:f=d?`ui-monospace, monospace`:void 0,fontSize:p,fontStyle:m,fontVariant:h,fontWeight:g,rotate:_}=t,[v,y]=xv(_,0),[b,x]=Zw(p);if(super(e,{x:{value:n,scale:`x`,optional:!0},y:{value:r,scale:`y`,optional:!0},fontSize:{value:b,optional:!0},rotate:{value:ry(v),optional:!0},text:{value:i,filter:l_,optional:!0}},t,Bw),this.rotate=y,this.textAnchor=$(o,`middle`),this.lineAnchor=Cv(s,`lineAnchor`,[`top`,`middle`,`bottom`]),this.lineHeight=+c,this.lineWidth=+l,this.textOverflow=Uw(u),this.monospace=!!d,this.fontFamily=uv(f),this.fontSize=x,this.fontStyle=uv(m),this.fontVariant=uv(h),this.fontWeight=uv(g),this.frameAnchor=yy(a),!(this.lineWidth>=0))throw Error(`invalid lineWidth: ${l}`);this.splitLines=rT(this),this.clipLine=iT(this)}render(e,t,n,r,i){let{x:a,y:o}=t,{x:s,y:c,rotate:l,text:u,title:d,fontSize:f}=n,{rotate:p}=this,[m,h]=HC(this,r);return Z(`svg:g`,i).call(NC,this,r,i).call(Jw,this,u,r).call(LC,this,{x:s&&a,y:c&&o}).call(t=>t.selectAll().data(e).enter().append(`text`).call(PC,this).call(Ww,this,u,d).attr(`transform`,zw`translate(${s?e=>s[e]:m},${c?e=>c[e]:h})${l?e=>` rotate(${l[e]})`:p?` rotate(${p})`:``}`).call(Q,`font-size`,f&&(e=>f[e])).call(SC,this,n)).node()}};function Uw(e){return e==null?null:Cv(e,`textOverflow`,[`clip`,`ellipsis`,`clip-start`,`clip-end`,`ellipsis-start`,`ellipsis-middle`,`ellipsis-end`]).replace(/^(clip|ellipsis)$/,`$1-end`)}function Ww(e,t,n,r){if(!n)return;let{lineAnchor:i,lineHeight:a,textOverflow:o,splitLines:s,clipLine:c}=t;e.each(function(e){let t=s(pC(n[e])??``).map(c),l=t.length,u=i===`top`?.71:i===`bottom`?1-l:(164-l*100)/200;if(l>1){let e=0;for(let n=0;n<l;++n){if(++e,!t[n])continue;let r=this.ownerDocument.createElementNS(Ze.svg,`tspan`);r.setAttribute(`x`,0),n===e-1?r.setAttribute(`y`,`${(u+n)*a}em`):r.setAttribute(`dy`,`${e*a}em`),r.textContent=t[n],this.appendChild(r),e=0}}else u&&this.setAttribute(`y`,`${u*a}em`),this.textContent=t[0];if(o&&!r&&t[0]!==n[e]){let t=this.ownerDocument.createElementNS(Ze.svg,`title`);t.textContent=n[e],this.appendChild(t)}})}function Gw(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Iv(t,n)),new Hw(e,{...r,x:t,y:n})}function Kw(e,{x:t=sv,...n}={}){return new Hw(e,Mw({...n,x:t}))}function qw(e,{y:t=sv,...n}={}){return new Hw(e,jw({...n,y:t}))}function Jw(e,t,n){Q(e,`text-anchor`,t.textAnchor),Q(e,`font-family`,t.fontFamily),Q(e,`font-size`,t.fontSize),Q(e,`font-style`,t.fontStyle),Q(e,`font-variant`,t.fontVariant===void 0?Yw(n):t.fontVariant),Q(e,`font-weight`,t.fontWeight)}function Yw(e){return e&&(uy(e)||sy(e))?`tabular-nums`:void 0}var Xw=new Set([`inherit`,`initial`,`revert`,`unset`,`xx-small`,`x-small`,`small`,`medium`,`large`,`x-large`,`xx-large`,`xxx-large`,`larger`,`smaller`]);function Zw(e){return e==null||typeof e==`number`?[void 0,e]:typeof e==`string`?(e=e.trim().toLowerCase(),Xw.has(e)||/^[+-]?\d*\.?\d+(e[+-]?\d+)?(\w*|%)$/.test(e)?[void 0,e]:[e,void 0]):[e,void 0]}function Qw(e,t,n){let r=[],i,a=0;for(let[o,s,c]of $w(e)){if(i===void 0&&(i=o),a>i&&n(e,i,s)>t&&(r.push(e.slice(i,a)+(e[a-1]===Vw?`-`:``)),i=o),c){r.push(e.slice(i,s)),i=void 0;continue}a=s}return r}function*$w(e){let t=0,n=0,r=e.length;for(;n<r;){let r=1;switch(e[n]){case Vw:case`-`:++n,yield[t,n,!1],t=n;break;case` `:for(yield[t,n,!1];e[++n]===` `;);t=n;break;case`\r`:e[n+1]===`
12
+ `&&++r;case`
13
+ `:yield[t,n,!0],n+=r,t=n;break;default:++n;break}}yield[t,n,!0]}var eT={a:56,b:63,c:57,d:63,e:58,f:37,g:62,h:60,i:26,j:26,k:55,l:26,m:88,n:60,o:60,p:62,q:62,r:39,s:54,t:38,u:60,v:55,w:79,x:54,y:55,z:55,A:69,B:67,C:73,D:74,E:61,F:58,G:76,H:75,I:28,J:55,K:67,L:58,M:89,N:75,O:78,P:65,Q:78,R:67,S:65,T:65,U:75,V:69,W:98,X:69,Y:67,Z:67,0:64,1:48,2:62,3:64,4:66,5:63,6:65,7:58,8:65,9:65," ":29,"!":32,'"':49,"'":31,"(":39,")":39,",":31,"-":48,".":31,"/":32,":":31,";":31,"?":52,"‘":31,"’":31,"“":47,"”":47,"…":82};function tT(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=dT(e,i))r+=eT[e[i]]??(gT(e,i)?120:eT.e);return r}function nT(e,t=0,n=e.length){let r=0;for(let i=t;i<n;i=dT(e,i))r+=gT(e,i)?126:63;return r}function rT({monospace:e,lineWidth:t,textOverflow:n}){if(n!=null||t==1/0)return e=>e.split(/\r\n?|\n/g);let r=e?nT:tT,i=t*100;return e=>Qw(e,i,r)}function iT({monospace:e,lineWidth:t,textOverflow:n}){if(n==null||t==1/0)return e=>e;let r=e?nT:tT,i=t*100;switch(n){case`clip-start`:return e=>cT(e,i,r,``);case`clip-end`:return e=>oT(e,i,r,``);case`ellipsis-start`:return e=>cT(e,i,r,`…`);case`ellipsis-middle`:return e=>sT(e,i,r,`…`);case`ellipsis-end`:return e=>oT(e,i,r,`…`)}}function aT(e,t,n,r){let i=[],a=0;for(let o=0,s=0,c=e.length;o<c;o=s){s=dT(e,o);let c=n(e,o,s);if(a+c>t){for(a+=r;a>t&&o>0;)s=o,o=i.pop(),a-=n(e,o,s);return[o,t-a]}a+=c,i.push(o)}return[-1,0]}function oT(e,t,n,r){e=e.trim();let i=n(r),[a]=aT(e,t,n,i);return a<0?e:e.slice(0,a).trimEnd()+r}function sT(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let a=n(r)/2,[o,s]=aT(e,t/2,n,a),[c]=aT(e,i-t/2-s+a,n,-a);return c<0?r:e.slice(0,o).trimEnd()+r+e.slice(dT(e,c)).trimStart()}function cT(e,t,n,r){e=e.trim();let i=n(e);if(i<=t)return e;let a=n(r),[o]=aT(e,i-t+a,n,-a);return o<0?r:r+e.slice(dT(e,o)).trimStart()}var lT=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,uT=/\p{Extended_Pictographic}/uy;function dT(e,t){return t+=pT(e,t)?2:1,hT(e,t)&&(t=lT.lastIndex),mT(e,t)?dT(e,t+1):t}function fT(e,t){return e.charCodeAt(t)<128}function pT(e,t){let n=e.charCodeAt(t);if(n>=55296&&n<56320){let n=e.charCodeAt(t+1);return n>=56320&&n<57344}return!1}function mT(e,t){return e.charCodeAt(t)===8205}function hT(e,t){return fT(e,t)?!1:(lT.lastIndex=t,lT.test(e))}function gT(e,t){return fT(e,t)?!1:(uT.lastIndex=t,uT.test(e))}var _T={ariaLabel:`vector`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5,strokeLinejoin:`round`,strokeLinecap:`round`},vT=3.5,yT=vT*5,bT={draw(e,t,n){let r=t*n/yT;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-r,r-t),e.lineTo(0,-t),e.lineTo(r,r-t)}},xT=new Map([[`arrow`,bT],[`spike`,{draw(e,t,n){e.moveTo(-n,0),e.lineTo(0,-t),e.lineTo(n,0)}}]]);function ST(e){return e&&typeof e.draw==`function`}function CT(e){if(ST(e))return e;let t=xT.get(`${e}`.toLowerCase());if(t)return t;throw Error(`invalid shape: ${e}`)}var wT=class extends UC{constructor(e,t={}){let{x:n,y:r,r:i=vT,length:a,rotate:o,shape:s=bT,anchor:c=`middle`,frameAnchor:l}=t,[u,d]=xv(a,12),[f,p]=xv(o,0);super(e,{x:{value:n,scale:`x`,optional:!0},y:{value:r,scale:`y`,optional:!0},length:{value:u,scale:`length`,optional:!0},rotate:{value:f,optional:!0}},t,_T),this.r=+i,this.length=d,this.rotate=p,this.shape=CT(s),this.anchor=Cv(c,`anchor`,[`start`,`middle`,`end`]),this.frameAnchor=yy(l)}render(e,t,n,r,i){let{x:a,y:o}=t,{x:s,y:c,length:l,rotate:u}=n,{length:d,rotate:f,anchor:p,shape:m,r:h}=this,[g,_]=HC(this,r);return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,{x:s&&a,y:c&&o}).call(t=>t.selectAll().data(e).enter().append(`path`).call(PC,this).attr(`transform`,zw`translate(${s?e=>s[e]:g},${c?e=>c[e]:_})${u?e=>` rotate(${u[e]})`:f?` rotate(${f})`:``}${p===`start`?``:p===`end`?l?e=>` translate(0,${l[e]})`:` translate(0,${d})`:l?e=>` translate(0,${l[e]/2})`:` translate(0,${d/2})`}`).attr(`d`,l?e=>{let t=rs();return m.draw(t,l[e],h),t}:(()=>{let e=rs();return m.draw(e,d,h),e})()).call(SC,this,n)).node()}};function TT(e,t={}){let{x:n=sv,...r}=t;return new wT(e,{...r,x:n})}function ET(e,t={}){let{y:n=sv,...r}=t;return new wT(e,{...r,y:n})}function DT(e,t){return arguments.length<2&&!iy(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function OT({anchor:e}={},t){return e===void 0?t[0]:Cv(e,`anchor`,t)}function kT(e){return OT(e,[`left`,`right`])}function AT(e){return OT(e,[`right`,`left`])}function jT(e){return OT(e,[`bottom`,`top`])}function MT(e){return OT(e,[`top`,`bottom`])}function NT(){let[e,t]=DT(...arguments);return LT(`y`,kT(t),e,t)}function PT(){let[e,t]=DT(...arguments);return LT(`fy`,AT(t),e,t)}function FT(){let[e,t]=DT(...arguments);return RT(`x`,jT(t),e,t)}function IT(){let[e,t]=DT(...arguments);return RT(`fx`,MT(t),e,t)}function LT(e,t,n,{color:r=`currentColor`,opacity:i=1,stroke:a=r,strokeOpacity:o=i,strokeWidth:s=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:d,textStrokeOpacity:f,textStrokeWidth:p,tickSize:m=e===`y`?6:0,tickPadding:h,tickRotate:g,x:_,margin:v,marginTop:y=v===void 0?20:v,marginRight:b=v===void 0?t===`right`?40:0:v,marginBottom:x=v===void 0?20:v,marginLeft:S=v===void 0?t===`left`?40:0:v,label:C,labelAnchor:w,labelArrow:T,labelOffset:E,ariaLabel:D=`${e}-axis`,...O}){return m=dv(m),h=dv(h),g=dv(g),w!==void 0&&(w=Cv(w,`labelAnchor`,[`center`,`top`,`bottom`])),T=cE(T),WC(m&&!hy(a)?zT(e,t,n,{stroke:a,strokeOpacity:o,strokeWidth:s,tickSize:m,tickPadding:h,tickRotate:g,x:_,ariaLabel:D,...O}):null,hy(c)?null:VT(e,t,n,{fill:c,fillOpacity:l,stroke:d,strokeOpacity:f,strokeWidth:p,textAnchor:u,tickSize:m,tickPadding:h,tickRotate:g,x:_,marginTop:y,marginRight:b,marginBottom:x,marginLeft:S,ariaLabel:D,...O}),!hy(c)&&C!==null?Gw([],XT({fill:c,fillOpacity:l,...O},function(n,r,i,a,o){let s=a[e],{marginTop:c,marginRight:l,marginBottom:u,marginLeft:d}=e===`y`&&o.inset||o,f=w??(s.bandwidth?`center`:`top`),p=E??(t===`right`?l:d)-3;return f===`center`?(this.textAnchor=void 0,this.lineAnchor=t===`right`?`bottom`:`top`,this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t===`right`?`end`:`start`,this.lineAnchor=f,this.frameAnchor=`${f}-${t}`,this.rotate=0),this.dy=f===`top`?3-c:f===`bottom`?u-3:0,this.dx=t===`right`?p:-p,this.ariaLabel=`${D} label`,{facets:[[0]],channels:{text:{value:[sE(e,s,{anchor:t,label:C,labelAnchor:f,labelArrow:T})]}}}})):null)}function RT(e,t,n,{color:r=`currentColor`,opacity:i=1,stroke:a=r,strokeOpacity:o=i,strokeWidth:s=1,fill:c=r,fillOpacity:l=i,textAnchor:u,textStroke:d,textStrokeOpacity:f,textStrokeWidth:p,tickSize:m=e===`x`?6:0,tickPadding:h,tickRotate:g,y:_,margin:v,marginTop:y=v===void 0?t===`top`?30:0:v,marginRight:b=v===void 0?20:v,marginBottom:x=v===void 0?t===`bottom`?30:0:v,marginLeft:S=v===void 0?20:v,label:C,labelAnchor:w,labelArrow:T,labelOffset:E,ariaLabel:D=`${e}-axis`,...O}){return m=dv(m),h=dv(h),g=dv(g),w!==void 0&&(w=Cv(w,`labelAnchor`,[`center`,`left`,`right`])),T=cE(T),WC(m&&!hy(a)?BT(e,t,n,{stroke:a,strokeOpacity:o,strokeWidth:s,tickSize:m,tickPadding:h,tickRotate:g,y:_,ariaLabel:D,...O}):null,hy(c)?null:HT(e,t,n,{fill:c,fillOpacity:l,stroke:d,strokeOpacity:f,strokeWidth:p,textAnchor:u,tickSize:m,tickPadding:h,tickRotate:g,y:_,marginTop:y,marginRight:b,marginBottom:x,marginLeft:S,ariaLabel:D,...O}),!hy(c)&&C!==null?Gw([],XT({fill:c,fillOpacity:l,...O},function(n,r,i,a,o){let s=a[e],{marginTop:c,marginRight:l,marginBottom:u,marginLeft:d}=e===`x`&&o.inset||o,f=w??(s.bandwidth?`center`:`right`),p=E??(t===`top`?c:u)-3;return f===`center`?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${f}`,this.textAnchor=f===`right`?`end`:`start`),this.lineAnchor=t,this.dy=t===`top`?-p:p,this.dx=f===`right`?l-3:f===`left`?3-d:0,this.ariaLabel=`${D} label`,{facets:[[0]],channels:{text:{value:[sE(e,s,{anchor:t,label:C,labelAnchor:f,labelArrow:T})]}}}})):null)}function zT(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:a=null,facetAnchor:o=t+(e===`y`?`-empty`:``),frameAnchor:s=t,tickSize:c,inset:l=0,insetLeft:u=l,insetRight:d=l,dx:f=0,y:p=e===`y`?void 0:null,ariaLabel:m,...h}){return ZT(ET,e,n,{ariaLabel:`${m} tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:i,strokeLinejoin:a,facetAnchor:o,frameAnchor:s,y:p,...h,dx:t===`left`?+f-mC+ +u:+f+mC-d,anchor:`start`,length:c,shape:t===`left`?iE:aE})}function BT(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:a=null,facetAnchor:o=t+(e===`x`?`-empty`:``),frameAnchor:s=t,tickSize:c,inset:l=0,insetTop:u=l,insetBottom:d=l,dy:f=0,x:p=e===`x`?void 0:null,ariaLabel:m,...h}){return ZT(TT,e,n,{ariaLabel:`${m} tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:a,strokeLinecap:i,facetAnchor:o,frameAnchor:s,x:p,...h,dy:t===`bottom`?+f-mC-d:+f+mC+ +u,anchor:`start`,length:c,shape:t===`bottom`?nE:rE})}function VT(e,t,n,{facetAnchor:r=t+(e===`y`?`-empty`:``),frameAnchor:i=t,tickSize:a,tickRotate:o=0,tickPadding:s=Math.max(3,9-a)+(Math.abs(o)>60?4*Math.cos(o*sw):0),text:c,textAnchor:l=Math.abs(o)>60?`middle`:t===`left`?`end`:`start`,lineAnchor:u=o>60?`top`:o<-60?`bottom`:`middle`,fontVariant:d,inset:f=0,insetLeft:p=f,insetRight:m=f,dx:h=0,ariaLabel:g,y:_=e===`y`?void 0:null,...v}){return ZT(qw,e,n,{ariaLabel:`${g} tick label`},{facetAnchor:r,frameAnchor:i,text:c,textAnchor:l,lineAnchor:u,fontVariant:d,rotate:o,y:_,...v,dx:t===`left`?+h-a-s+ +p:+h+ +a+ +s-m},function(e,n,r,i,a){d===void 0&&(this.fontVariant=oE(e)),c===void 0&&(a.text=$T(e,n,r,i,t))})}function HT(e,t,n,{facetAnchor:r=t+(e===`x`?`-empty`:``),frameAnchor:i=t,tickSize:a,tickRotate:o=0,tickPadding:s=Math.max(3,9-a)+(Math.abs(o)>=10?4*Math.cos(o*sw):0),text:c,textAnchor:l=Math.abs(o)>=10?o<0^t===`bottom`?`start`:`end`:`middle`,lineAnchor:u=Math.abs(o)>=10?`middle`:t===`bottom`?`top`:`bottom`,fontVariant:d,inset:f=0,insetTop:p=f,insetBottom:m=f,dy:h=0,x:g=e===`x`?void 0:null,ariaLabel:_,...v}){return ZT(Kw,e,n,{ariaLabel:`${_} tick label`},{facetAnchor:r,frameAnchor:i,text:c===void 0?null:c,textAnchor:l,lineAnchor:u,fontVariant:d,rotate:o,x:g,...v,dy:t===`bottom`?+h+ +a+ +s-m:+h-a-s+ +p},function(e,n,r,i,a){d===void 0&&(this.fontVariant=oE(e)),c===void 0&&(a.text=$T(e,n,r,i,t))})}function UT(){let[e,t]=DT(...arguments);return qT(`y`,kT(t),e,t)}function WT(){let[e,t]=DT(...arguments);return qT(`fy`,AT(t),e,t)}function GT(){let[e,t]=DT(...arguments);return JT(`x`,jT(t),e,t)}function KT(){let[e,t]=DT(...arguments);return JT(`fx`,MT(t),e,t)}function qT(e,t,n,{y:r=e===`y`?void 0:null,x:i=null,x1:a=t===`left`?i:null,x2:o=t===`right`?i:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...l}){return ZT(Lw,e,n,{ariaLabel:s,ariaHidden:c},{y:r,x1:a,x2:o,...YT(l)})}function JT(e,t,n,{x:r=e===`x`?void 0:null,y:i=null,y1:a=t===`top`?i:null,y2:o=t===`bottom`?i:null,ariaLabel:s=`${e}-grid`,ariaHidden:c=!0,...l}){return ZT(Iw,e,n,{ariaLabel:s,ariaHidden:c},{x:r,y1:a,y2:o,...YT(l)})}function YT({color:e=`currentColor`,opacity:t=.1,stroke:n=e,strokeOpacity:r=t,strokeWidth:i=1,...a}){return{stroke:n,strokeOpacity:r,strokeWidth:i,...a}}function XT({fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:a,fontWeight:o,monospace:s,pointerEvents:c,shapeRendering:l,clip:u=!1},d){return[,e]=bv(e),[,t]=xv(t),{facet:`super`,x:null,y:null,fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:a,fontWeight:o,monospace:s,pointerEvents:c,shapeRendering:l,clip:u,initializer:d}}function ZT(e,t,n,r,i,a){let o;function s(e,n,r,s,c,l){let u=e==null&&(t===`fx`||t===`fy`),{[t]:d}=s;if(!d)throw Error(`missing scale: ${t}`);let f=d.domain(),{interval:p,ticks:m,tickFormat:h,tickSpacing:g=t===`x`?80:35}=i;if(typeof m==`string`&&lE(d)&&(p=m,m=void 0),m===void 0&&(m=Qv(p,d.type)??QT(d,g)),e==null){if(iy(m))e=Tv(m);else if(ty(m))e=tE(m,..._(f));else if(d.interval){let t=d.interval;if(d.ticks){let[n,r]=_(f),i=(r-n)/t[A_];t=z_(t,i/m)??t,e=tE(t,n,r)}else{e=f;let n=e.length;t=z_(t,n/m)??t,t!==d.interval&&(e=tE(t,..._(e)))}if(t===d.interval){let t=Math.round(e.length/m);t>1&&(e=e.filter((e,n)=>n%t===0))}}else e=d.ticks?d.ticks(m):f;if(!d.ticks&&e.length&&e!==f){let n=new b(f);e=e.filter(e=>n.has(e)),e.length||Cx(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t===`y`||t===`x`?n=[zv(e)]:o[t]={scale:t,value:sv}}a?.call(this,d,e,m,h,o);let v=Object.fromEntries(Object.entries(o).map(([t,n])=>[t,{...n,value:q(e,n.value)}]));return u&&(n=l.filterFacets(e,v)),{data:e,facets:n,channels:v}}let c=Uy(i).initializer,l=e(n,Uy({...i,initializer:s},c));return n==null?(o=l.channels,l.channels={}):o={},r!==void 0&&Object.assign(l,r),l.clip===void 0&&(l.clip=!1),l}function QT(e,t){let[n,r]=_(e.range());return(r-n)/t}function $T(e,t,n,r,i){return{value:eE(e,t,n,r,i)}}function eE(e,t,n,r,i){return typeof r==`function`&&!(e.type===`log`&&e.tickFormat)?r:r===void 0&&t&&sy(t)?U_(e.type,t,i)??pC:e.tickFormat?e.tickFormat(typeof n==`number`?n:null,r):typeof r==`string`&&e.domain().length>0?(sy(e.domain())?zp:Ss)(r):r===void 0?pC:mv(r)}function tE(e,t,n){return e.range(t,e.offset(e.floor(n)))}var nE={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},rE={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},iE={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},aE={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function oE(e){return e.bandwidth&&!e.interval?void 0:`tabular-nums`}function sE(e,t,{anchor:n,label:r=t.label,labelAnchor:i,labelArrow:a}={}){if(!(r==null||r.inferred&&lE(t)&&/^(date|time|year)$/i.test(r))){if(r=String(r),a===`auto`&&(a=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(r)),!a)return r;if(a===!0){let n=Qx(t);n&&(a=/x$/.test(e)||i===`center`?/x$/.test(e)===n<0?`left`:`right`:n<0?`up`:`down`)}switch(a){case`left`:return`← ${r}`;case`right`:return`${r} →`;case`up`:return n===`right`?`${r} ↑`:`↑ ${r}`;case`down`:return n===`right`?`${r} ↓`:`↓ ${r}`}return r}}function cE(e=`auto`){return hy(e)?!1:typeof e==`boolean`?e:Cv(e,`labelArrow`,[`auto`,`up`,`right`,`down`,`left`])}function lE(e){return sy(e.domain())}function uE(e,t){if(t==null)return t;let n=e(t);if(!n)throw Error(`scale not found: ${t}`);return n}function dE(e,{opacity:t,...n}={}){if(!fS(e)&&!pS(e))throw Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return pE(e,n,(e,n,r,i)=>e.append(`svg`).attr(`width`,r).attr(`height`,i).attr(`fill`,n.scale).attr(`fill-opacity`,xv(t)[1]).append(`rect`).attr(`width`,`100%`).attr(`height`,`100%`))}function fE(e,{fill:t=e.hint?.fill===void 0?`none`:e.hint.fill,fillOpacity:n=1,stroke:r=e.hint?.stroke===void 0?hy(t)?`currentColor`:`none`:e.hint.stroke,strokeOpacity:i=1,strokeWidth:a=1.5,r:o=4.5,...s}={},c){let[l,u]=bv(t),[d,f]=bv(r),p=uE(c,l),m=uE(c,d),h=o*o*Math.PI;return n=xv(n)[1],i=xv(i)[1],a=xv(a)[1],pE(e,s,(t,r,o,s)=>t.append(`svg`).attr(`viewBox`,`-8 -8 16 16`).attr(`width`,o).attr(`height`,s).attr(`fill`,l===`color`?e=>p.scale(e):u).attr(`fill-opacity`,n).attr(`stroke`,d===`color`?e=>m.scale(e):f).attr(`stroke-opacity`,i).attr(`stroke-width`,a).append(`path`).attr(`d`,t=>{let n=rs();return e.scale(t).draw(n,h),n}))}function pE(e,t={},n){let{columns:r,tickFormat:i,fontVariant:a=aw(e),swatchSize:o=15,swatchWidth:s=o,swatchHeight:c=o,marginLeft:l=0,className:u,style:d,width:f}=t,p=iC(t);u=BC(u),i=eE(e.scale,e.domain,void 0,i);let m=Z(`div`,p).attr(`class`,`${u}-swatches ${u}-swatches-${r==null?`wrap`:`columns`}`),h;return r==null?(h=`:where(.${u}-swatches-wrap) {
14
+ display: flex;
15
+ align-items: center;
16
+ min-height: 33px;
17
+ flex-wrap: wrap;
18
+ }
19
+ :where(.${u}-swatches-wrap .${u}-swatch) {
20
+ display: inline-flex;
21
+ align-items: center;
22
+ margin-right: 1em;
23
+ }`,m.selectAll().data(e.domain).enter().append(`span`).attr(`class`,`${u}-swatch`).call(n,e,s,c).append(function(){return this.ownerDocument.createTextNode(i.apply(this,arguments))})):(h=`:where(.${u}-swatches-columns .${u}-swatch) {
24
+ display: flex;
25
+ align-items: center;
26
+ break-inside: avoid;
27
+ padding-bottom: 1px;
28
+ }
29
+ :where(.${u}-swatches-columns .${u}-swatch::before) {
30
+ flex-shrink: 0;
31
+ }
32
+ :where(.${u}-swatches-columns .${u}-swatch-label) {
33
+ white-space: nowrap;
34
+ overflow: hidden;
35
+ text-overflow: ellipsis;
36
+ }`,m.style(`columns`,r).selectAll().data(e.domain).enter().append(`div`).attr(`class`,`${u}-swatch`).call(n,e,s,c).call(e=>e.append(`div`).attr(`class`,`${u}-swatch-label`).attr(`title`,i).text(i))),m.call(e=>e.insert(`style`,`*`).text(`:where(.${u}-swatches) {
37
+ font-family: system-ui, sans-serif;
38
+ font-size: 10px;
39
+ margin-bottom: 0.5em;
40
+ }
41
+ :where(.${u}-swatch > svg) {
42
+ margin-right: 0.5em;
43
+ overflow: visible;
44
+ }
45
+ ${h}`)).style(`margin-left`,l?`${+l}px`:null).style(`width`,f===void 0?null:`${+f}px`).style(`font-variant`,$(a,`normal`)).call(VC,d).node()}var mE=new Map([[`symbol`,fE],[`color`,_E],[`opacity`,vE]]);function hE(e,t,n={}){return(r,i)=>{if(!mE.has(r))throw Error(`unknown legend type: ${r}`);if(r in e)return mE.get(r)(e[r],gE(t,n[r],i),t=>e[t])}}function gE({className:e,...t},{label:n,ticks:r,tickFormat:i}={},a){return by(a,{className:e,...t},{label:n,ticks:r,tickFormat:i})}function _E(e,{legend:t=!0,...n}){if(t===!0&&(t=e.type===`ordinal`?`swatches`:`ramp`),e.domain!==void 0)switch(`${t}`.toLowerCase()){case`swatches`:return dE(e,n);case`ramp`:return ow(e,n);default:throw Error(`unknown legend type: ${t}`)}}function vE({type:e,interpolate:t,...n},{legend:r=!0,color:i=wr(0,0,0),...a}){if(!t)throw Error(`${e} opacity scales are not supported`);if(r===!0&&(r=`ramp`),`${r}`.toLowerCase()!==`ramp`)throw Error(`${r} opacity legends are not supported`);return _E({type:e,...n,interpolate:yE(i)},{legend:r,...a})}function yE(e){let{r:t,g:n,b:r}=wr(e)||wr(0,0,0);return e=>`rgba(${t},${n},${r},${e})`}function bE(e,t,n){let r=[];for(let[i,a]of mE){let o=n[i];if(o?.legend&&i in e){let n=a(e[i],gE(t,e[i],o),t=>e[t]);n!=null&&r.push(n)}}return r}function xE(e={},t=`y`){return kv(e)?e:{...e,[t]:sv}}function SE(e,t){if(t.length===1)return{data:e,facets:t};let n=Rv(e),r=new Uint8Array(n),i=0;for(let e of t)for(let t of e)r[t]&&++i,r[t]=1;if(i===0)return{data:e,facets:t};e=Dv(e);let a=e[Q_]=new Uint32Array(n+i);t=t.map(e=>Dv(e,Uint32Array));let o=n;r.fill(0);for(let n of t)for(let t=0,i=n.length;t<i;++t){let i=n[t];r[i]?(n[t]=o,e[o]=e[i],a[o]=i,++o):a[i]=i,r[i]=1}return{data:e,facets:t}}function CE(e={},t={}){arguments.length===1&&([e,t]=TE(e));let{x1:n,x:r=n,y:i,...a}=t,[o,s,c,l]=DE(r,i,`x`,`y`,e,a);return{...o,x1:n,x:s,y1:c,y2:l,y:qv(c,l)}}function wE({y:e,y1:t,y2:n,...r}={}){return r=JC(r,`x`),t===void 0&&n===void 0?CE({y:e,...r}):([t,n]=Fv(e,t,n),{...r,y1:t,y2:n})}function TE(e){let{offset:t,order:n,reverse:r,...i}=e;return[{offset:t,order:n,reverse:r},i]}var EE={length:!0};function DE(e,t=cv,n,r,{offset:i,order:a,reverse:o},s){if(t===null)throw Error(`stack requires ${r}`);let c=Lv(s),[l,u]=Gv(e),[d,f]=Wv(t),[p,m]=Wv(t);return d.hint=p.hint=EE,i=OE(i),a=FE(a,i,r),[Hy(s,(r,s,l)=>{({data:r,facets:s}=SE(r,s));let d=e==null?void 0:u(Jv(q(r,e),l?.[n])),p=q(r,t,Float64Array),h=q(r,c),g=a&&a(r,d,p,h),_=Rv(r),v=f(new Float64Array(_)),y=m(new Float64Array(_)),b=[];for(let e of s){let t=d?Array.from(E(e,e=>d[e]).values()):[e];if(g)for(let e of t)e.sort(g);for(let e of t){let t=0,n=0;o&&e.reverse();for(let r of e){let e=p[r];e<0?t=y[r]=(v[r]=t)+e:e>0?n=y[r]=(v[r]=n)+e:y[r]=v[r]=n}}b.push(t)}return i&&i(b,v,y,h),{data:r,facets:s}}),l,d,p]}function OE(e){if(e!=null){if(typeof e==`function`)return e;switch(`${e}`.toLowerCase()){case`expand`:case`normalize`:return AE;case`center`:case`silhouette`:return jE;case`wiggle`:return ME}throw Error(`unknown offset: ${e}`)}}function kE(e,t){let n=0,r=0;for(let i of e){let e=t[i];e<n&&(n=e),e>r&&(r=e)}return[n,r]}function AE(e,t,n){for(let r of e)for(let e of r){let[r,i]=kE(e,n);for(let a of e){let e=1/(i-r||1);t[a]=e*(t[a]-r),n[a]=e*(n[a]-r)}}}function jE(e,t,n){for(let r of e){for(let e of r){let[r,i]=kE(e,n);for(let a of e){let e=(i+r)/2;t[a]-=e,n[a]-=e}}NE(r,t,n)}PE(e,t,n)}function ME(e,t,n,r){for(let i of e){let e=new y,a=0;for(let o of i){let i=-1,s=o.map(e=>Math.abs(n[e]-t[e])),c=o.map(a=>{i=r?r[a]:++i;let o=n[a]-t[a],s=e.has(i)?o-e.get(i):0;return e.set(i,o),s}),l=[0,...m(c)];for(let e of o)t[e]+=a,n[e]+=a;let u=Ae(s);u&&(a-=Ae(s,(e,t)=>(c[t]/2+l[t])*e)/u)}NE(i,t,n)}PE(e,t,n)}function NE(e,t,n){let r=pe(e,e=>pe(e,e=>t[e]));for(let i of e)for(let e of i)t[e]-=r,n[e]-=r}function PE(e,t,n){let r=e.length;if(r===1)return;let i=e.map(e=>e.flat()),a=i.map(e=>(pe(e,e=>t[e])+de(e,e=>n[e]))/2),o=pe(a);for(let e=0;e<r;e++){let r=o-a[e];for(let a of i[e])t[a]+=r,n[a]+=r}}function FE(e,t,n){if(e===void 0&&t===ME)return BE(s_);if(e!=null){if(typeof e==`string`){let t=e.startsWith(`-`),r=t?c_:s_;switch((t?e.slice(1):e).toLowerCase()){case`value`:case n:return IE(r);case`z`:return LE(r);case`sum`:return RE(r);case`appearance`:return zE(r);case`inside-out`:return BE(r)}return VE(av(e))}if(typeof e==`function`)return(e.length===1?VE:HE)(e);if(q_(e))return UE(e);throw Error(`invalid order: ${e}`)}}function IE(e){return(t,n,r)=>(t,n)=>e(r[t],r[n])}function LE(e){return(t,n,r,i)=>(t,n)=>e(i[t],i[n])}function RE(e){return WE(e,(e,t,n,r)=>ne(zv(e),e=>Ae(e,e=>n[e]),e=>r[e]))}function zE(e){return WE(e,(e,t,n,r)=>ne(zv(e),e=>t[_e(e,e=>n[e])],e=>r[e]))}function BE(e){return WE(e,(e,t,n,r)=>{let i=zv(e),a=ne(i,e=>t[_e(e,e=>n[e])],e=>r[e]),o=D(i,e=>Ae(e,e=>n[e]),e=>r[e]),s=[],c=[],l=0;for(let e of a)l<0?(l+=o.get(e),s.push(e)):(l-=o.get(e),c.push(e));return c.reverse().concat(s)})}function VE(e){return t=>{let n=q(t,e);return(e,t)=>s_(n[e],n[t])}}function HE(e){return t=>q_(t)?(n,r)=>e(t[n],t[r]):(n,r)=>e(t.get(n),t.get(r))}function UE(e){return WE(s_,()=>e)}function WE(e,t){return(n,r,i,a)=>{if(!a)throw Error(`missing channel: z`);let o=new y(t(n,r,i,a).map((e,t)=>[e,t]));return(t,n)=>e(o.get(a[t]),o.get(a[n]))}}var GE={ariaLabel:`rect`},KE=class extends UC{constructor(e,t={}){let{x1:n,y1:r,x2:i,y2:a}=t;super(e,{x1:{value:n,scale:`x`,type:n!=null&&i==null?`band`:void 0,optional:!0},y1:{value:r,scale:`y`,type:r!=null&&a==null?`band`:void 0,optional:!0},x2:{value:i,scale:`x`,optional:!0},y2:{value:a,scale:`y`,optional:!0}},t,GE),qE(this,t),JE(this,t)}render(e,t,n,r,i){let{x:a,y:o}=t,{x1:s,y1:c,x2:l,y2:u}=n,{marginTop:d,marginRight:f,marginBottom:p,marginLeft:m,width:h,height:g}=r,{projection:_}=i,{insetTop:v,insetRight:y,insetBottom:b,insetLeft:x}=this,{rx:S,ry:C,rx1y1:w,rx1y2:T,rx2y1:E,rx2y2:D}=this;(s||l)&&!_&&hS(a)&&(s=l=null),(c||u)&&!_&&hS(o)&&(c=u=null);let O=a?.bandwidth?a.bandwidth():0,k=o?.bandwidth?o.bandwidth():0;return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,{},0,0).call(t=>t.selectAll().data(e).enter().call(w||T||E||D?e=>e.append(`path`).call(PC,this).call(YE,s&&l?e=>s[e]+(l[e]<s[e]?-y:x):s?e=>s[e]+x:m+x,c&&u?e=>c[e]+(u[e]<c[e]?-b:v):c?e=>c[e]+v:d+v,s&&l?e=>l[e]-(l[e]<s[e]?-x:y):s?e=>s[e]+O-y:h-f-y,c&&u?e=>u[e]-(u[e]<c[e]?-v:b):c?e=>c[e]+k-b:g-p-b,this).call(SC,this,n):e=>e.append(`rect`).call(PC,this).attr(`x`,s?l?e=>Math.min(s[e],l[e])+x:e=>s[e]+x:m+x).attr(`y`,c?u?e=>Math.min(c[e],u[e])+v:e=>c[e]+v:d+v).attr(`width`,s?l?e=>Math.max(0,Math.abs(l[e]-s[e])+O-x-y):O-x-y:h-f-m-y-x).attr(`height`,c?u?e=>Math.max(0,Math.abs(c[e]-u[e])+k-v-b):k-v-b:g-d-p-v-b).call(Q,`rx`,S).call(Q,`ry`,C).call(SC,this,n))).node()}};function qE(e,{inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:a=t}={}){e.insetTop=dv(n),e.insetRight=dv(r),e.insetBottom=dv(i),e.insetLeft=dv(a)}function JE(e,{r:t,rx:n,ry:r,rx1:i=t,ry1:a=t,rx2:o=t,ry2:s=t,rx1y1:c=i===void 0?a===void 0?0:+a:+i,rx1y2:l=i===void 0?s===void 0?0:+s:+i,rx2y1:u=o===void 0?a===void 0?0:+a:+o,rx2y2:d=o===void 0?s===void 0?0:+s:+o}={}){c||l||u||d?(e.rx1y1=c,e.rx1y2=l,e.rx2y1=u,e.rx2y2=d):(e.rx=$(n,`auto`),e.ry=$(r,`auto`))}function YE(e,t,n,r,i,a){let{rx1y1:o,rx1y2:s,rx2y1:c,rx2y2:l}=a;typeof t!=`function`&&(t=mv(t)),typeof n!=`function`&&(n=mv(n)),typeof r!=`function`&&(r=mv(r)),typeof i!=`function`&&(i=mv(i));let u=Math.max(Math.abs(o+c),Math.abs(s+l)),d=Math.max(Math.abs(o+s),Math.abs(c+l));e.attr(`d`,e=>{let a=t(e),f=n(e),p=r(e),m=i(e),h=a>p,g=f>m,_=h?p:a,v=h?a:p,y=g?m:f,b=g?f:m,x=Math.min(1,(v-_)/u,(b-y)/d),S=x*(h?g?l:c:g?s:o),C=x*(h?g?s:o:g?l:c),w=x*(h?g?o:s:g?c:l),T=x*(h?g?c:l:g?o:s);return`M${_},${y+ZE(S,T)}A${S},${S} 0 0 ${S<0?0:1} ${_+XE(S,T)},${y}H${v-XE(C,w)}A${C},${C} 0 0 ${C<0?0:1} ${v},${y+ZE(C,w)}V${b-ZE(w,C)}A${w},${w} 0 0 ${w<0?0:1} ${v-XE(w,C)},${b}H${_+XE(T,S)}A${T},${T} 0 0 ${T<0?0:1} ${_},${b-ZE(T,S)}Z`})}function XE(e,t){return t<0?e:Math.abs(e)}function ZE(e,t){return t<0?Math.abs(e):e}function QE(e,t){return new KE(e,Dw(Ow(t)))}function $E(e,t={}){return Av(t)||(t={...t,x:ov,y2:sv,interval:1}),new KE(e,wE(Dw(xE(t))))}var eD={ariaLabel:`frame`,fill:`none`,stroke:`currentColor`,clip:!1},tD={ariaLabel:`frame`,fill:null,stroke:`currentColor`,strokeLinecap:`square`,clip:!1},nD=class extends UC{constructor(e={}){let{anchor:t=null}=e;super(iv,void 0,e,t==null?eD:tD),this.anchor=Sv(t,`anchor`,[`top`,`right`,`bottom`,`left`]),qE(this,e),t||JE(this,e)}render(e,t,n,r,i){let{marginTop:a,marginRight:o,marginBottom:s,marginLeft:c,width:l,height:u}=r,{anchor:d,insetTop:f,insetRight:p,insetBottom:m,insetLeft:h}=this,{rx:g,ry:_,rx1y1:v,rx1y2:y,rx2y1:b,rx2y2:x}=this,S=c+h,C=l-o-p,w=a+f,T=u-s-m;return Z(d?`svg:line`:v||y||b||x?`svg:path`:`svg:rect`,i).datum(0).call(NC,this,r,i).call(PC,this).call(SC,this,n).call(LC,this,{}).call(d===`left`?e=>e.attr(`x1`,S).attr(`x2`,S).attr(`y1`,w).attr(`y2`,T):d===`right`?e=>e.attr(`x1`,C).attr(`x2`,C).attr(`y1`,w).attr(`y2`,T):d===`top`?e=>e.attr(`x1`,S).attr(`x2`,C).attr(`y1`,w).attr(`y2`,w):d===`bottom`?e=>e.attr(`x1`,S).attr(`x2`,C).attr(`y1`,T).attr(`y2`,T):v||y||b||x?e=>e.call(YE,S,w,C,T,this):e=>e.attr(`x`,S).attr(`y`,w).attr(`width`,C-S).attr(`height`,T-w).attr(`rx`,g).attr(`ry`,_)).node()}};function rD(e){return new nD(e)}var iD={ariaLabel:`tip`,fill:`var(--plot-background)`,stroke:`currentColor`},aD=new Set([`geometry`,`href`,`src`,`ariaLabel`,`scales`]),oD=class extends UC{constructor(e,t={}){t.tip&&(t={...t,tip:!1}),t.title===void 0&&iy(e)&&ay(e)&&(t={...t,title:sv});let{x:n,y:r,x1:i,x2:a,y1:o,y2:s,anchor:c,preferredAnchor:l=`bottom`,monospace:u,fontFamily:d=u?`ui-monospace, monospace`:void 0,fontSize:f,fontStyle:p,fontVariant:m,fontWeight:h,lineHeight:g=1,lineWidth:_=20,frameAnchor:v,format:y,textAnchor:b=`start`,textOverflow:x,textPadding:S=8,title:C,pointerSize:w=12,pathFilter:T=`drop-shadow(0 3px 4px rgba(0,0,0,0.2))`}=t;super(e,{x:{value:i!=null&&a!=null?null:n,scale:`x`,optional:!0},y:{value:o!=null&&s!=null?null:r,scale:`y`,optional:!0},x1:{value:i,scale:`x`,optional:a==null},y1:{value:o,scale:`y`,optional:s==null},x2:{value:a,scale:`x`,optional:i==null},y2:{value:s,scale:`y`,optional:o==null},title:{value:C,optional:!0}},t,iD),this.anchor=vy(c,`anchor`),this.preferredAnchor=vy(l,`preferredAnchor`),this.frameAnchor=yy(v),this.textAnchor=$(b,`middle`),this.textPadding=+S,this.pointerSize=+w,this.pathFilter=uv(T),this.lineHeight=+g,this.lineWidth=+_,this.textOverflow=Uw(x),this.monospace=!!u,this.fontFamily=uv(d),this.fontSize=dv(f),this.fontStyle=uv(p),this.fontVariant=uv(m),this.fontWeight=uv(h);for(let e in iD)e in this.channels&&(this[e]=iD[e]);this.splitLines=rT(this),this.clipLine=iT(this),this.format=typeof y==`string`||typeof y==`function`?{title:y}:{...y}}render(e,t,n,r,i){let a=this,{x:o,y:s,fx:c,fy:l}=t,{ownerSVGElement:u,document:d}=i,{anchor:f,monospace:p,lineHeight:m,lineWidth:h}=this,{textPadding:g,pointerSize:_,pathFilter:v}=this,{marginTop:y,marginLeft:b}=r,{x1:x,y1:S,x2:C,y2:w,x:T=x??C,y:E=S??w}=n,D=c?c(e.fx)-b:0,O=l?l(e.fy)-y:0,[k,A]=HC(this,r),j=rw(n,k),ee=iw(n,A),te=p?nT:tT,ne=te(`…`),re,ie;`title`in n?(re=dD.call(this,{title:n.channels.title},t),ie=pD):(re=dD.call(this,n.channels,t),ie=mD);let ae=Z(`svg:g`,i).call(NC,this,r,i).call(Jw,this).call(LC,this,{x:T&&o,y:E&&s}).call(r=>r.selectAll().data(e).enter().append(`g`).attr(`transform`,e=>`translate(${Math.round(j(e))},${Math.round(ee(e))})`).call(PC,this).call(e=>e.append(`path`).attr(`filter`,v)).call(r=>r.append(`text`).each(function(r){let i=Zn(this);this.setAttribute(`fill`,`currentColor`),this.setAttribute(`fill-opacity`,1),this.setAttribute(`stroke`,`none`);let o=ie.call(a,r,e,re,t,n);if(typeof o==`string`)for(let e of a.splitLines(o))oe(i,{value:a.clipLine(e)});else{let e=new Set;for(let t of o){let{label:n=``}=t;n&&e.has(n)||(e.add(n),oe(i,t))}}})));function oe(e,{label:t,value:n,color:r,opacity:i}){t??=``,n??=``;let a=r!=null||i!=null,o,s=h*100,[c]=aT(t,s,te,ne);if(c>=0)t=t.slice(0,c).trimEnd()+`…`,o=n.trim(),n=``;else{(t||!n&&!a)&&(n=` `+n);let[e]=aT(n,s-te(t),te,ne);e>=0&&(o=n.trim(),n=n.slice(0,e).trimEnd()+`…`)}let l=e.append(`tspan`).attr(`x`,0).attr(`dy`,`${m}em`).text(`​`);t&&l.append(`tspan`).attr(`font-weight`,`bold`).text(t),n&&l.append(()=>d.createTextNode(n)),a&&l.append(`tspan`).text(` ■`).attr(`fill`,r).attr(`fill-opacity`,i).style(`user-select`,`none`),o&&l.append(`title`).text(o)}function se(){let{width:e,height:t}=r.facet??r;ae.selectChildren().each(function(n){let{x:r,width:i,height:o}=this.getBBox();i=Math.round(i),o=Math.round(o);let s=f;if(s===void 0){let r=j(n)+D,c=ee(n)+O,l=r+i+_+g*2<e,u=r-i-_-g*2>0,d=c+o+_+g*2<t,f=c-o-_-g*2>0;s=l&&u?d&&f?a.preferredAnchor:f?`bottom`:`top`:d&&f?l?`left`:`right`:(l||u)&&(d||f)?`${f?`bottom`:`top`}-${l?`left`:`right`}`:a.preferredAnchor}let c=this.firstChild,l=this.lastChild;if(c.setAttribute(`d`,uD(s,_,g,i,o)),r)for(let e of l.childNodes)e.setAttribute(`x`,-r);l.setAttribute(`y`,`${+cD(s,l.childNodes.length,m).toFixed(6)}em`),l.setAttribute(`transform`,`translate(${lD(s,_,g,i,o)})`)}),ae.attr(`visibility`,null)}return e.length&&(ae.attr(`visibility`,`hidden`),u.isConnected?Promise.resolve().then(se):typeof requestAnimationFrame<`u`&&requestAnimationFrame(se)),ae.node()}};function sD(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Iv(t,n)),new oD(e,{...r,x:t,y:n})}function cD(e,t,n){return/^top(?:-|$)/.test(e)?.94-n:-.29-t*n}function lD(e,t,n,r,i){switch(e){case`middle`:return[-r/2,i/2];case`top-left`:return[n,t+n];case`top`:return[-r/2,t/2+n];case`top-right`:return[-r-n,t+n];case`right`:return[-t/2-r-n,i/2];case`bottom-left`:return[n,-t-n];case`bottom`:return[-r/2,-t/2-n];case`bottom-right`:return[-r-n,-t-n];case`left`:return[n+t/2,i/2]}}function uD(e,t,n,r,i){let a=r+n*2,o=i+n*2;switch(e){case`middle`:return`M${-a/2},${-o/2}h${a}v${o}h${-a}z`;case`top-left`:return`M0,0l${t},${t}h${a-t}v${o}h${-a}z`;case`top`:return`M0,0l${t/2},${t/2}h${(a-t)/2}v${o}h${-a}v${-o}h${(a-t)/2}z`;case`top-right`:return`M0,0l${-t},${t}h${t-a}v${o}h${a}z`;case`right`:return`M0,0l${-t/2},${-t/2}v${t/2-o/2}h${-a}v${o}h${a}v${t/2-o/2}z`;case`bottom-left`:return`M0,0l${t},${-t}h${a-t}v${-o}h${-a}z`;case`bottom`:return`M0,0l${t/2},${-t/2}h${(a-t)/2}v${-o}h${-a}v${o}h${(a-t)/2}z`;case`bottom-right`:return`M0,0l${-t},${-t}h${t-a}v${-o}h${a}z`;case`left`:return`M0,0l${t/2},${-t/2}v${t/2-o/2}h${a}v${o}h${-a}v${t/2-o/2}z`}}function dD(e,t){let n={},r=this.format;r=fD(r,e,`x`),r=fD(r,e,`y`),this.format=r;for(let t in r){let i=r[t];if(!(i===null||i===!1))if(t===`fx`||t===`fy`)n[t]=!0;else{let r=Pb(e,t);r&&(n[t]=r)}}for(let t in e){if(t in n||t in r||aD.has(t)||(t===`x`||t===`y`)&&e.geometry)continue;let i=Pb(e,t);if(i){if(i.scale==null&&i.defaultScale===`color`)continue;n[t]=i}}this.facet&&(t.fx&&!(`fx`in r)&&(n.fx=!0),t.fy&&!(`fy`in r)&&(n.fy=!0));for(let e in n){let r=this.format[e];if(typeof r==`string`){let i=n[e]?.value??t[e]?.domain()??[];this.format[e]=(sy(i)?zp:Ss)(r)}else if(r===void 0||r===!0){let n=t[e];this.format[e]=n?.bandwidth?eE(n,n.domain()):pC}}return n}function fD(e,t,n){if(!(n in e))return e;let r=`${n}1`,i=`${n}2`;if((r in e||!(r in t))&&(i in e||!(i in t)))return e;let a=Object.entries(e),o=e[n];return a.splice(a.findIndex(([e])=>e===n)+1,0,[r,o],[i,o]),Object.fromEntries(a)}function pD(e,t,{title:n}){return this.format.title(n.value[e],e)}function*mD(e,t,n,r,i){for(let a in n){if(a===`fx`||a===`fy`){yield{label:_D(r,n,a),value:this.format[a](t[a],e)};continue}if(a===`x1`&&`x2`in n||a===`y1`&&`y2`in n)continue;let o=n[a];if(a===`x2`&&`x1`in n)yield{label:gD(r,n,`x`),value:hD(this.format.x2,n.x1,o,e)};else if(a===`y2`&&`y1`in n)yield{label:gD(r,n,`y`),value:hD(this.format.y2,n.y1,o,e)};else{let t=o.value[e],s=o.scale;if(!o_(t)&&s==null)continue;yield{label:_D(r,n,a),value:this.format[a](t,e),color:s===`color`?i[a][e]:null,opacity:s===`opacity`?i[a][e]:null}}}}function hD(e,t,n,r){return n.hint?.length?`${e(n.value[r]-t.value[r],r)}`:`${e(t.value[r],r)}–${e(n.value[r],r)}`}function gD(e,t,n){let r=_D(e,t,`${n}1`,n),i=_D(e,t,`${n}2`,n);return r===i?r:`${r}–${i}`}function _D(e,t,n,r=n){let i=t[n],a=e[i?.scale??n];return String(a?.label??i?.label??r)}function vD(e={}){let{facet:t,style:n,title:r,subtitle:i,caption:a,ariaLabel:o,ariaDescription:s}=e,c=BC(e.className),l=e.marks===void 0?[]:xD(e.marks);l.push(...MD(l));let u=kD(t,e),d=new Map;for(let t of l){let n=AD(t,u,e);n&&d.set(t,n)}let f=new Map;u&&DD(f,[u],e),DD(f,d,e);let p=xD(ND(l,f,e));for(let t of p){let n=AD(t,u,e);n&&d.set(t,n)}l.unshift(...p);let m=bS(f,e);if(m!==void 0){let e=u?HS(m,u):void 0;for(let t of l){if(t.facet===null||t.facet===`super`)continue;let n=d.get(t);n!==void 0&&(n.facetsIndex=t.fx!=null||t.fy!=null?HS(m,n):e)}let t=new Set;for(let{facetsIndex:e}of d.values())e?.forEach((e,n)=>{e?.length>0&&t.add(n)});m.forEach(0<t.size&&t.size<m.length?(e,n)=>e.empty=!t.has(n):e=>e.empty=!1);for(let e of l)if(e.facet===`exclude`){let t=d.get(e);t!==void 0&&(t.facetsIndex=wS(t.facetsIndex))}}for(let t of Y.keys())Mv(e[t])&&t!==`fx`&&t!==`fy`&&f.set(t,[]);let h=new Map;for(let t of l){if(h.has(t))throw Error(`duplicate mark; each mark must be unique`);let{facetsIndex:n,channels:r}=d.get(t)??{},{data:i,facets:a,channels:o}=t.initialize(n,r,e);wD(o,e),h.set(t,{data:i,facets:a,channels:o})}let g=Jx(DD(f,h,e),e),_=YC(g,l,e);Xx(g,_);let v=Yx(g),{fx:y,fy:b}=v,x=y||b?eS(g,_):_,S=y||b?WD(v,_):_,C=iC(e),w=C.document,T=tt(`svg`).call(w.documentElement),E=T;C.ownerSVGElement=T,C.className=c,C.projection=KS(e,x),C.path=function(){return Nl(this.projection??rC(v))},C.filterFacets=(e,t)=>HS(m,{channels:t,groups:SS(e,t)}),C.getMarkState=e=>{let t=h.get(e),n=d.get(e);return{...t,channels:{...t.channels,...n?.channels}}},C.dispatchValue=e=>{E.value!==e&&(E.value=e,E.dispatchEvent(new C.document.defaultView.Event(`input`,{bubbles:!0})))};let D=new Set;for(let[t,n]of h)if(t.initializer!=null){let r=t.facet===`super`?S:x,i=t.initializer(n.data,n.facets,n.channels,v,r,C);if(i.data!==void 0&&(n.data=i.data),i.facets!==void 0&&(n.facets=i.facets),i.channels!==void 0){let{fx:r,fy:a,...o}=i.channels;ED(o),Object.assign(n.channels,o);for(let t of Object.values(o)){let{scale:n}=t;n!=null&&!Py(Y.get(n))&&(TD(t,e),D.add(n))}(r!=null||a!=null)&&d.set(t,!0)}}if(D.size){let t=new Map;DD(t,h,e,e=>D.has(e)),DD(f,h,e,e=>D.has(e));let n=UD(Jx(t,e),g),{scales:r,...i}=Yx(n);Object.assign(g,n),Object.assign(v,i),Object.assign(v.scales,r)}let O,k;m!==void 0&&(O={x:y?.domain(),y:b?.domain()},m=xS(m,O),k=CS(y,b,_));for(let[e,t]of h)t.values=e.scale(t.channels,v,C);let{width:A,height:j}=_;Zn(T).attr(`class`,c).attr(`fill`,`currentColor`).attr(`font-family`,`system-ui, sans-serif`).attr(`font-size`,10).attr(`text-anchor`,`middle`).attr(`width`,A).attr(`height`,j).attr(`viewBox`,`0 0 ${A} ${j}`).attr(`aria-label`,o).attr(`aria-description`,s).call(e=>e.append(`style`).text(`:where(.${c}) {
46
+ --plot-background: white;
47
+ display: block;
48
+ height: auto;
49
+ height: intrinsic;
50
+ max-width: 100%;
51
+ }
52
+ :where(.${c} text),
53
+ :where(.${c} tspan) {
54
+ white-space: pre;
55
+ }`)).call(VC,n);for(let e of l){let{channels:t,values:n,facets:r}=h.get(e);if(m===void 0||e.facet===`super`){let i=null;if(r&&(i=r[0],i=e.filter(i,t,n),i.length===0))continue;let a=e.render(i,v,n,S,C);if(a==null)continue;T.appendChild(a)}else{let i;for(let a of m){if(!(e.facetAnchor?.(m,O,a)??!a.empty))continue;let o=null;if(r){let i=d.has(e);if(o=r[i?a.i:0],o=e.filter(o,t,n),o.length===0)continue;!i&&o===r[0]&&(o=Vv(o)),o.fx=a.x,o.fy=a.y,o.fi=a.i}let s=e.render(o,v,n,x,C);if(s!=null){(i??=Zn(T).append(`g`)).append(()=>s).datum(a);for(let e of[`aria-label`,`aria-description`,`aria-hidden`,`transform`])s.hasAttribute(e)&&(i.attr(e,s.getAttribute(e)),s.removeAttribute(e))}}i?.selectChildren().each(k)}}let ee=bE(g,C,e),{figure:te=r!=null||i!=null||a!=null||ee.length>0}=e;te&&(E=w.createElement(`figure`),E.className=`${c}-figure`,E.style.maxWidth=`initial`,r!=null&&E.append(yD(w,r,`h2`)),i!=null&&E.append(yD(w,i,`h3`)),E.append(...ee,T),a!=null&&E.append(bD(w,a)),`value`in T&&(E.value=T.value,delete T.value)),E.scale=vS(v.scales),E.legend=hE(g,C,e);let ne=Sx();return ne>0&&Zn(T).append(`text`).attr(`x`,A).attr(`y`,20).attr(`dy`,`-1em`).attr(`text-anchor`,`end`).attr(`font-family`,`initial`).text(`⚠️`).append(`title`).text(`${ne.toLocaleString(`en-US`)} warning${ne===1?``:`s`}. Please check the console.`),E}function yD(e,t,n){if(t.ownerDocument)return t;let r=e.createElement(n);return r.append(t),r}function bD(e,t){let n=e.createElement(`figcaption`);return n.append(t),n}function xD(e){return e.flat(1/0).filter(e=>e!=null).map(SD)}function SD(e){return typeof e.render==`function`?e:new CD(e)}var CD=class extends UC{constructor(e){if(typeof e!=`function`)throw TypeError(`invalid mark; missing render function`);super(),this.render=e}render(){}};function wD(e,t){for(let n in e)TD(e[n],t);return e}function TD(e,t){let{scale:n,transform:r=!0}=e;if(n==null||!r)return;let{type:i,percent:a,interval:o,transform:s=a?e=>e==null?NaN:e*100:Yv(o,i)}=t[n]??{};s!=null&&(e.value=J(e.value,s),e.transform=!1)}function ED(e){for(let t in e)Tb(t,e[t])}function DD(e,t,n,r=lv){for(let{channels:i}of t.values())for(let t in i){let a=i[t],{scale:o}=a;if(o!=null&&r(o))if(o===`projection`){if(!eC(n)){let t=n.x?.domain===void 0,r=n.y?.domain===void 0;if(t||r){let[n,i]=nC(a);t&&OD(e,`x`,n),r&&OD(e,`y`,i)}}}else OD(e,o,a)}return e}function OD(e,t,n){let r=e.get(t);r===void 0?e.set(t,[n]):r.push(n)}function kD(e,t){if(e==null)return;let{x:n,y:r}=e;if(n==null&&r==null)return;let i=wv(e.data);if(i==null)throw Error(`missing facet data`);let a={};return n!=null&&(a.fx=Sb(i,{value:n,scale:`fx`})),r!=null&&(a.fy=Sb(i,{value:r,scale:`fy`})),wD(a,t),{channels:a,groups:SS(i,a),data:e.data}}function AD(e,t,n){if(e.facet===null||e.facet===`super`)return;let{fx:r,fy:i}=e;if(r!=null||i!=null){let t=wv(e.data??r??i);if(t===void 0)throw Error(`missing facet data in ${e.ariaLabel}`);if(t===null)return;let a={};return r!=null&&(a.fx=Sb(t,{value:r,scale:`fx`})),i!=null&&(a.fy=Sb(t,{value:i,scale:`fy`})),wD(a,n),{channels:a,groups:SS(t,a)}}if(t===void 0)return;let{channels:a,groups:o,data:s}=t;if(e.facet!==`auto`||e.data===s)return{channels:a,groups:o};s.length>0&&(o.size>1||o.size===1&&a.fx&&a.fy&&[...o][0][1].size>1)&&Rv(wv(e.data))===Rv(s)&&Cx(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn’t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function jD(e,t={}){return Uy({...t,x:null,y:null},(t,n,r,i,a,o)=>o.getMarkState(e))}function MD(e){let t=[];for(let n of e){let e=n.tip;if(e){e===!0?e={}:typeof e==`string`&&(e={pointer:e});let{pointer:r,preferredAnchor:i}=e;r=/^x$/i.test(r)?tw:/^y$/i.test(r)?nw:ew,e=r(jD(n,e)),e.title=null,i===void 0&&(e.preferredAnchor=r===nw?`left`:`bottom`);let a=sD(n.data,e);a.facet=n.facet,a.facetAnchor=n.facetAnchor,t.push(a)}}return t}function ND(e,t,n){let{projection:r,x:i={},y:a={},fx:o={},fy:s={},axis:c,grid:l,facet:u={},facet:{axis:d=c,grid:f}=u,x:{axis:p=c,grid:m=p===null?null:l}=i,y:{axis:h=c,grid:g=h===null?null:l}=a,fx:{axis:_=d,grid:v=_===null?null:f}=o,fy:{axis:y=d,grid:b=y===null?null:f}=s}=n;(r||!Mv(i)&&!HD(`x`,e))&&(p=m=null),(r||!Mv(a)&&!HD(`y`,e))&&(h=g=null),t.has(`fx`)||(_=v=null),t.has(`fy`)||(y=b=null),p===void 0&&(p=!VD(e,`x`)),h===void 0&&(h=!VD(e,`y`)),_===void 0&&(_=!VD(e,`fx`)),y===void 0&&(y=!VD(e,`fy`)),p===!0&&(p=`bottom`),h===!0&&(h=`left`),_===!0&&(_=p===`top`||p===null?`bottom`:`top`),y===!0&&(y=h===`right`||h===null?`left`:`right`);let x=[];return FD(x,b,WT,s),PD(x,y,PT,`right`,`left`,u,s),FD(x,v,KT,o),PD(x,_,IT,`top`,`bottom`,u,o),FD(x,g,UT,a),PD(x,h,NT,`left`,`right`,n,a),FD(x,m,GT,i),PD(x,p,FT,`bottom`,`top`,n,i),x}function PD(e,t,n,r,i,a,o){if(!t)return;let s=ID(t);o=LD(s?r:t,a,o);let{line:c}=o;(n===NT||n===FT)&&c&&!gy(c)&&e.push(rD(RD(o))),e.push(n(o)),s&&e.push(n({...o,anchor:i,label:null}))}function FD(e,t,n,r){!t||gy(t)||e.push(n(zD(t,r)))}function ID(e){return/^\s*both\s*$/i.test(e)}function LD(e,t,{line:n=t.line,ticks:r,tickSize:i,tickSpacing:a,tickPadding:o,tickFormat:s,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:d,label:f=t.label,labelAnchor:p,labelArrow:m=t.labelArrow,labelOffset:h}){return{anchor:e,line:n,ticks:r,tickSize:i,tickSpacing:a,tickPadding:o,tickFormat:s,tickRotate:c,fontVariant:l,ariaLabel:u,ariaDescription:d,label:f,labelAnchor:p,labelArrow:m,labelOffset:h}}function RD(e){let{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+`-empty`,stroke:n===!0?void 0:n}}function zD(e,{stroke:t=py(e)?e:void 0,ticks:n=BD(e)?e:void 0,tickSpacing:r,ariaLabel:i,ariaDescription:a}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:i,ariaDescription:a}}function BD(e){switch(typeof e){case`number`:return!0;case`string`:return!py(e)}return iy(e)||typeof e?.range==`function`}function VD(e,t){let n=`${t}-axis `;return e.some(e=>e.ariaLabel?.startsWith(n))}function HD(e,t){for(let n of t)for(let t in n.channels){let{scale:r}=n.channels[t];if(r===e||r===`projection`)return!0}return!1}function UD(e,t){for(let n in e){let r=e[n],i=t[n];r.label===void 0&&i&&(r.label=i.label)}return e}function WD({fx:e,fy:t},n){let{marginTop:r,marginRight:i,marginBottom:a,marginLeft:o,width:s,height:c}=$x(n),l=e&&GD(e),u=t&&GD(t);return{marginTop:t?u[0]:r,marginRight:e?s-l[1]:i,marginBottom:t?c-u[1]:a,marginLeft:e?l[0]:o,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:s,height:c}}function GD(e){let t=e.domain();if(t.length===0)return[0,e.bandwidth()];let n=e(t[0]),r=e(t[t.length-1]);return r<n&&([n,r]=[r,n]),[n,r+e.bandwidth()]}var KD=new Map([[`basis`,vg],[`basis-closed`,bg],[`basis-open`,Sg],[`bundle`,wg],[`bump-x`,zh],[`bump-y`,Bh],[`cardinal`,Dg],[`cardinal-closed`,kg],[`cardinal-open`,jg],[`catmull-rom`,Pg],[`catmull-rom-closed`,Ig],[`catmull-rom-open`,Rg],[`linear`,Nh],[`linear-closed`,Bg],[`monotone-x`,Jg],[`monotone-y`,Yg],[`natural`,Qg],[`step`,e_],[`step-after`,n_],[`step-before`,t_]]);function qD(e=Nh,t){if(typeof e==`function`)return e;let n=KD.get(`${e}`.toLowerCase());if(!n)throw Error(`unknown curve: ${e}`);if(t!==void 0){if(`beta`in n)return n.beta(t);if(`tension`in n)return n.tension(t);if(`alpha`in n)return n.alpha(t)}return n}function JD(e=YD,t){return typeof e!=`function`&&`${e}`.toLowerCase()===`auto`?YD:qD(e,t)}function YD(e){return Nh(e)}function XD(e={y:`count`},t={}){[e,t]=eO(e,t);let{x:n,y:r}=t;return $D(tO(n,t,sv),null,null,r,e,xw(t))}function ZD(e,t,n={}){if(n?.interval==null)return n;let{reduce:r=mb}=n,i={filter:null};return n[t]!=null&&(i[t]=r),n[`${t}1`]!=null&&(i[`${t}1`]=r),n[`${t}2`]!=null&&(i[`${t}2`]=r),e(i,n)}function QD(e={}){return ZD(XD,`y`,JC(e,`x`))}function $D(e,t,n,r,{data:i=pb,filter:a=_b,sort:o,reverse:s,...c}={},l={}){e=nO(e),t=nO(t),c=iO(c,l),i=sO(i,sv),o=o==null?void 0:aO(`sort`,o,l),a=a==null?void 0:oO(`filter`,a,l),n!=null&&$y(c,`x`,`x1`,`x2`)&&(n=null),r!=null&&$y(c,`y`,`y1`,`y2`)&&(r=null);let[u,d]=Gv(e),[f,p]=Gv(e),[m,h]=Gv(t),[g,_]=Gv(t),[v,y]=n==null?r==null?[]:[r,`y`]:[n,`x`],[b,x]=Gv(v),{x:S,y:C,z:w,fill:T,stroke:E,x1:D,x2:O,y1:k,y2:A,domain:j,cumulative:ee,thresholds:te,interval:ne,...re}=l,[ie,ae]=Gv(w),[oe]=bv(T),[se]=bv(E),[ce,le]=Gv(oe),[ue,de]=Gv(se);return{...`z`in l&&{z:ie||w},...`fill`in l&&{fill:ce||T},...`stroke`in l&&{stroke:ue||E},...Hy(re,(n,r,l)=>{let u=Jv(q(n,v),l?.[y]),f=q(n,w),m=q(n,oe),g=q(n,se),b=sb(c,{z:f,fill:m,stroke:g}),S=[],C=[],T=u&&x([]),E=f&&ae([]),D=m&&le([]),O=g&&de([]),k=e&&d([]),A=e&&p([]),j=t&&h([]),ee=t&&_([]),te=dO(e,t,n),ne=0;for(let e of c)e.initialize(n);o&&o.initialize(n),a&&a.initialize(n);for(let e of r){let t=[];for(let t of c)t.scope(`facet`,e);o&&o.scope(`facet`,e),a&&a.scope(`facet`,e);for(let[r,s]of ib(e,b))for(let[e,l]of ib(s,u))for(let[s,d]of te(l))if(b&&(d.z=r),!(a&&!a.reduce(s,d))){t.push(ne++),C.push(i.reduceIndex(s,n,d)),u&&T.push(e),f&&E.push(b===f?r:f[(s.length>0?s:l)[0]]),m&&D.push(b===m?r:m[(s.length>0?s:l)[0]]),g&&O.push(b===g?r:g[(s.length>0?s:l)[0]]),k&&(k.push(d.x1),A.push(d.x2)),j&&(j.push(d.y1),ee.push(d.y2));for(let e of c)e.reduce(s,d);o&&o.reduce(s,d)}S.push(t)}return cb(S,o,s),{data:C,facets:S}}),...!$y(c,`x`)&&(u?{x1:u,x2:f,x:qv(u,f)}:{x:S,x1:D,x2:O}),...!$y(c,`y`)&&(m?{y1:m,y2:g,y:qv(m,g)}:{y:C,y1:k,y2:A}),...b&&{[y]:b},...Object.fromEntries(c.map(({name:e,output:t})=>[e,t]))}}function eO({cumulative:e,domain:t,thresholds:n,interval:r,...i},a){return[i,{cumulative:e,domain:t,thresholds:n,interval:r,...a}]}function tO(e,{cumulative:t,domain:n,thresholds:r,interval:i},a){return e={...ny(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=i),e.value===void 0&&(e.value=a),e.thresholds=rO(e.thresholds,e.interval),e}function nO(e){if(e==null)return;let{value:t,cumulative:n,domain:r=_,thresholds:i}=e,a=e=>{let a=q(e,t),o;if(sy(a)||uO(i)){a=J(a,yv,Float64Array);let[e,t]=typeof r==`function`?r(a):r,n=typeof i==`function`&&!ty(i)?i(a,e,t):i;typeof n==`number`&&(n=hf(e,t,n)),ty(n)&&(r===_&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t))),o=n}else{a=gv(a);let[e,t]=typeof r==`function`?r(a):r,n=typeof i==`function`&&!ty(i)?i(a,e,t):i;if(typeof n==`number`)if(r===_){let r=ce(e,t,n);if(isFinite(r))if(r>0){let i=Math.round(e/r),a=Math.round(t/r);i*r<=e||--i,a*r>t||++a;let o=a-i+1;n=new Float64Array(o);for(let e=0;e<o;++e)n[e]=(i+e)*r}else if(r<0){r=-r;let i=Math.round(e*r),a=Math.round(t*r);i/r<=e||--i,a/r>t||++a;let o=a-i+1;n=new Float64Array(o);for(let e=0;e<o;++e)n[e]=(i+e)/r}else n=[e];else n=[e]}else n=se(e,t,n);else ty(n)&&(r===_&&(e=n.floor(e),t=n.offset(n.floor(t))),n=n.range(e,n.offset(t)));o=n}let s=[];if(o.length===1)s.push([o[0],o[0]]);else for(let e=1;e<o.length;++e)s.push([o[e-1],o[e]]);return s.bin=(n<0?mO:n>0?pO:fO)(s,o,a),s};return a.label=Kv(t),a}function rO(e,t,n=lO){if(e===void 0)return t===void 0?n:Qv(t);if(typeof e==`string`){switch(e.toLowerCase()){case`freedman-diaconis`:return be;case`scott`:return xe;case`sturges`:return ue;case`auto`:return lO}return L_(e)}return e}function iO(e,t){return eb(e,t,aO)}function aO(e,t,n){return tb(e,t,n,oO)}function oO(e,t,n){return rb(e,t,n,sO)}function sO(e,t){return ab(e,t,cO)}function cO(e){switch(`${e}`.toLowerCase()){case`x`:return gO;case`x1`:return vO;case`x2`:return yO;case`y`:return _O;case`y1`:return bO;case`y2`:return xO;case`z`:return xb}throw Error(`invalid bin reduce: ${e}`)}function lO(e,t,n){return Math.min(200,xe(e,t,n))}function uO(e){return ey(e)||iy(e)&&sy(e)}function dO(e,t,n){let r=e?.(n),i=t?.(n);return r&&i?function*(e){let t=r.bin(e);for(let[e,[a,o]]of r.entries()){let r=i.bin(t[e]);for(let[e,[t,s]]of i.entries())yield[r[e],{data:n,x1:a,y1:t,x2:o,y2:s}]}}:r?function*(e){let t=r.bin(e);for(let[e,[i,a]]of r.entries())yield[t[e],{data:n,x1:i,x2:a}]}:function*(e){let t=i.bin(e);for(let[e,[r,a]]of i.entries())yield[t[e],{data:n,y1:r,y2:a}]}}function fO(e,t,n){return t=gv(t),r=>{let i=e.map(()=>[]);for(let e of r)i[s(t,n[e])-1]?.push(e);return i}}function pO(e,t,n){let r=fO(e,t,n);return e=>{let t=r(e);for(let e=1,n=t.length;e<n;++e){let n=t[e-1],r=t[e];for(let e of n)r.push(e)}return t}}function mO(e,t,n){let r=fO(e,t,n);return e=>{let t=r(e);for(let e=t.length-2;e>=0;--e){let n=t[e+1],r=t[e];for(let e of n)r.push(e)}return t}}function hO(e,t){let n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}var gO={reduceIndex(e,t,{x1:n,x2:r}){return hO(n,r)}},_O={reduceIndex(e,t,{y1:n,y2:r}){return hO(n,r)}},vO={reduceIndex(e,t,{x1:n}){return n}},yO={reduceIndex(e,t,{x2:n}){return n}},bO={reduceIndex(e,t,{y1:n}){return n}},xO={reduceIndex(e,t,{y2:n}){return n}},SO={ariaLabel:`area`,strokeWidth:1,strokeLinecap:`round`,strokeLinejoin:`round`,strokeMiterlimit:1},CO=class extends UC{constructor(e,t={}){let{x1:n,y1:r,x2:i,y2:a,z:o,curve:s,tension:c}=t;super(e,{x1:{value:n,scale:`x`},y1:{value:r,scale:`y`},x2:{value:i,scale:`x`,optional:!0},y2:{value:a,scale:`y`,optional:!0},z:{value:Lv(t),optional:!0}},t,SO),this.z=o,this.curve=qD(s,c)}filter(e){return e}render(e,t,n,r,i){let{x1:a,y1:o,x2:s=a,y2:c=o}=n;return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,t,0,0).call(t=>t.selectAll().data(EC(e,[a,o,s,c],this,n)).enter().append(`path`).call(PC,this).call(CC,this,n).attr(`d`,Lh().curve(this.curve).defined(e=>e>=0).x0(e=>a[e]).y0(e=>o[e]).x1(e=>s[e]).y1(e=>c[e]))).node()}};function wO(e,t){let{x:n=ov,...r}=QD(t);return new CO(e,wE(xE({...r,x1:n,x2:void 0},n===ov?`y2`:`y`)))}var TO={ariaLabel:`link`,fill:`none`,stroke:`currentColor`,strokeMiterlimit:1},EO=class extends UC{constructor(e,t={}){let{x1:n,y1:r,x2:i,y2:a,curve:o,tension:s}=t;super(e,{x1:{value:n,scale:`x`},y1:{value:r,scale:`y`},x2:{value:i,scale:`x`,optional:!0},y2:{value:a,scale:`y`,optional:!0}},t,TO),this.curve=JD(o,s),cw(this,t)}project(e,t,n){this.curve!==YD&&super.project(e,t,n)}render(e,t,n,r,i){let{x1:a,y1:o,x2:s=a,y2:c=o}=n,{curve:l}=this;return Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,t).call(t=>t.selectAll().data(e).enter().append(`path`).call(PC,this).attr(`d`,l===YD&&i.projection?DO(i.path(),a,o,s,c):e=>{let t=rs(),n=l(t);return n.lineStart(),n.point(a[e],o[e]),n.point(s[e],c[e]),n.lineEnd(),t}).call(SC,this,n).call(gw,this,n,i)).node()}};function DO(e,t,n,r,i){return t=gv(t),n=gv(n),r=gv(r),i=gv(i),a=>e({type:`LineString`,coordinates:[[t[a],n[a]],[r[a],i[a]]]})}function OO(e,{x:t,x1:n,x2:r,y:i,y1:a,y2:o,...s}={}){return[n,r]=kO(t,n,r),[a,o]=kO(i,a,o),new EO(e,{...s,x1:n,x2:r,y1:a,y2:o})}function kO(e,t,n){if(e===void 0){if(t===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[t]}else if(t===void 0)return n===void 0?[e]:[e,n];else if(n===void 0)return[e,t];return[t,n]}var AO={ariaLabel:`dot`,fill:`none`,stroke:`currentColor`,strokeWidth:1.5};function jO(e){return e.sort===void 0&&e.reverse===void 0?Yy({channel:`-r`},e):e}var MO=class extends UC{constructor(e,t={}){let{x:n,y:r,r:i,rotate:a,symbol:o=Uh,frameAnchor:s}=t,[c,l]=xv(a,0),[u,d]=Vy(o),[f,p]=xv(i,u==null?3:4.5);super(e,{x:{value:n,scale:`x`,optional:!0},y:{value:r,scale:`y`,optional:!0},r:{value:f,scale:`r`,filter:d_,optional:!0},rotate:{value:c,optional:!0},symbol:{value:u,scale:`auto`,optional:!0}},jO(t),AO),this.r=p,this.rotate=l,this.symbol=d,this.frameAnchor=yy(s);let{channels:m}=this,{symbol:h}=m;if(h){let{fill:e,stroke:t}=m;h.hint={fill:e?e.value===h.value?`color`:`currentColor`:this.fill??`currentColor`,stroke:t?t.value===h.value?`color`:`currentColor`:this.stroke??`none`}}}render(e,t,n,r,i){let{x:a,y:o}=t,{x:s,y:c,r:l,rotate:u,symbol:d}=n,{r:f,rotate:p,symbol:m}=this,[h,g]=HC(this,r),_=m===Uh,v=l?void 0:f*f*Math.PI;return f_(f)&&(e=[]),Z(`svg:g`,i).call(NC,this,r,i).call(LC,this,{x:s&&a,y:c&&o}).call(t=>t.selectAll().data(e).enter().append(_?`circle`:`path`).call(PC,this).call(_?e=>{e.attr(`cx`,s?e=>s[e]:h).attr(`cy`,c?e=>c[e]:g).attr(`r`,l?e=>l[e]:f)}:e=>{e.attr(`transform`,zw`translate(${s?e=>s[e]:h},${c?e=>c[e]:g})${u?e=>` rotate(${u[e]})`:p?` rotate(${p})`:``}`).attr(`d`,l&&d?e=>{let t=rs();return d[e].draw(t,l[e]*l[e]*Math.PI),t}:l?e=>{let t=rs();return m.draw(t,l[e]*l[e]*Math.PI),t}:d?e=>{let t=rs();return d[e].draw(t,v),t}:(()=>{let e=rs();return m.draw(e,v),e})())}).call(SC,this,n)).node()}};function NO(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Iv(t,n)),new MO(e,{...r,x:t,y:n})}UC.prototype.plot=function({marks:e=[],...t}={}){return vD({...t,marks:[...e,this]})};var PO={x1:`x1`,x2:`x2`,y1:`y1`,y2:`y2`};function FO(e,t){let n=Math.max(e.xMax-e.xMin,e.xMax*.1||1),r=e.yMax-(e.yMin??0),i=e.xMax+n*.04,a=i+n*.03,o=r*.07,s=e.yMax-r*.02,c=e=>({legendX:i,y:s-e*o,textX:a,xRange:n,yRange:r});return t.flatMap((e,t)=>[IO(c(t),e),LO(c(t),e.label)])}function IO(e,t){switch(t.style){case`filled-dot`:return RO(e.legendX,e.y,t.color,!0);case`hollow-dot`:return RO(e.legendX,e.y,t.color,!1);case`vertical-bar`:return zO(e,t.color);case`vertical-line`:return BO(e,t.color,t.strokeDash);case`rect`:return VO(e,t.color)}}function LO(e,t){return Gw([{x:e.textX,y:e.y,text:t}],{x:`x`,y:`y`,text:`text`,fontSize:11,textAnchor:`start`,fill:`#333`,clip:!1})}function RO(e,t,n,r){let i={x:`x`,y:`y`,r:4,clip:!1},a=r?{...i,fill:n}:{...i,stroke:n,fill:`none`,strokeWidth:1.5};return NO([{x:e,y:t}],a)}function zO(e,t){let{legendX:n,y:r,xRange:i,yRange:a}=e,o=i*.006,s=a*.025;return QE([{x1:n-o,x2:n+o,y1:r-s,y2:r+s}],{...PO,fill:t,fillOpacity:.6,clip:!1})}function BO(e,t,n){let{legendX:r,y:i,yRange:a}=e,o=a*.025;return Iw([r],{y1:i-o,y2:i+o,stroke:t,strokeWidth:2,strokeDasharray:n,clip:!1})}function VO(e,t){let{legendX:n,y:r,xRange:i,yRange:a}=e,o=i*.015,s=a*.02;return QE([{x1:n-o,x2:n+o,y1:r-s,y2:r+s}],{...PO,fill:t,fillOpacity:.3,stroke:t,strokeWidth:1,clip:!1})}export{se as _,vD as a,s as b,Iw as c,ke as d,ve as f,ce as g,ue as h,wO as i,Lw as l,de as m,NO as n,$E as o,pe as p,OO as r,Gw as s,FO as t,tm as u,T as v,_ as y};