data = {
const keys = d3.range(1, 65, 1);
const [regions, states] = await Promise.all([
FileAttachment("regions@4.csv").text(),
FileAttachment("WorldwideConfirmed26March@3.csv").text()
]).then(([regions, states]) => [
d3.csvParse(regions),
d3.csvParse(states, (d, i) => i === 0 ? null : ({name: d[""], values: keys.map(key => +d[key].replace(/,/g, "") || 1e-6)}))
]);
const regionByState = new Map(regions.map(d => [d.State, d.Region]));
const divisionByState = new Map(regions.map(d => [d.State, d.Division]));
return {keys, children: nest(states, d => regionByState.get(d.name), d => divisionByState.get(d.name))};
}