function simulate_state_once(data, shift) {
let hil_info = data.find((o) => o.candidate == "Hillary Clinton");
let don_info = data.find((o) => o.candidate == "Donald Trump");
let p1 = hil_info.winprob;
let p2 = don_info.winprob;
if (shift) {
let d = p1 - p2;
let p11 = p1;
let p22 = p2;
let s = Math.random() / 4;
p1 = p11 * (1 - s) + p22 * s;
p2 = p22 * (1 - s) + p11 * s;
}
let p = Math.random();
if (p < p1) {
return Object.assign({}, hil_info);
} else if (p1 < p && p < p1 + p2) {
return Object.assign({}, don_info);
} else {
return null;
}
}