From 7063690552da4da2e691a9c78982dfe5cbfd2e62 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Wed, 14 Jan 2026 13:47:01 -0800 Subject: [PATCH 01/22] Re-added hidden branch --- index.scss | 8 +++++++- index.src.html | 11 +---------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/index.scss b/index.scss index ba2f8ba9..e4cb4d56 100644 --- a/index.scss +++ b/index.scss @@ -291,7 +291,13 @@ body.ushouse-selected { } a.unavailable { - display: none; + cursor: not-allowed; + path, circle { + stroke: #999; + } + text { + fill: #999; + } } a .hitarea { fill: rgba(0, 0, 0, 0); diff --git a/index.src.html b/index.src.html index 7e61b906..6486767f 100644 --- a/index.src.html +++ b/index.src.html @@ -499,22 +499,13 @@

Evaluate their fairness.

- + 2024 + Remaps* - - - - - - - - 2024 + Remaps* - From 758bab6f80ceef50dc471f1faa28c1d6d9ead53d Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 20:45:59 -0800 Subject: [PATCH 02/22] Connected "predict" branch of timeline to displays, links, and data --- .../data/bias_ushouse-elections.csv | 50 +++++++++++++++++++ index.js6 | 30 ++++++++--- index.src.html | 17 ++++--- 3 files changed, 81 insertions(+), 16 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 1d0d0aee..b71117b2 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1399,3 +1399,53 @@ cycle,stateabrev,newplan,EG,seats,url,districts 2026,WI,,-0.220,8,, 2026,WV,,-0.076,2,, 2026,WY,,0.005,1,, +predict,AK,,0.0,1,, +predict,AL,,0.0,7,, +predict,AR,,0.0,4,, +predict,AZ,,0.0,9,, +predict,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z,"[[0.909,0.552,330569],[0.999,0.618,377001],[0.852,0.542,353947],[0.943,0.564,333683],[0.001,0.379,353485],[0.767,0.531,325393],[0.908,0.555,335783],[1.0,0.668,302537],[0.887,0.55,259943],[1.0,0.668,365086],[1.0,0.853,346331],[1.0,0.89,303004],[0.403,0.489,202292],[1.0,0.673,274182],[1.0,0.742,294820],[1.0,0.747,328010],[1.0,0.698,252833],[1.0,0.638,230009],[1.0,0.673,363205],[0.0,0.318,308245],[0.673,0.519,196372],[0.274,0.475,166568],[0.004,0.387,269436],[0.999,0.621,340520],[0.694,0.52,264046],[0.963,0.571,333582],[0.828,0.538,286981],[1.0,0.623,316016],[1.0,0.669,231623],[1.0,0.704,329716],[0.888,0.554,283088],[1.0,0.624,349405],[0.843,0.54,241058],[1.0,0.763,204823],[0.755,0.53,252500],[1.0,0.695,373019],[1.0,0.808,227897],[0.904,0.553,252922],[0.84,0.539,227908],[0.036,0.422,369563],[0.943,0.562,301451],[0.936,0.56,338649],[1.0,0.75,216225],[1.0,0.677,212795],[0.562,0.507,291837],[0.954,0.573,220370],[0.86,0.542,344461],[0.552,0.507,320207],[0.893,0.553,376006],[0.987,0.587,360452],[0.982,0.585,345233],[0.976,0.581,265500]]" +predict,CO,,0.0,8,, +predict,CT,,0.0,5,, +predict,DE,,0.0,1,, +predict,FL,,0.0,28,, +predict,GA,,0.0,14,, +predict,HI,,0.0,2,, +predict,IA,,0.0,4,, +predict,ID,,0.0,2,, +predict,IL,,0.0,17,, +predict,IN,,0.0,9,, +predict,KS,,0.0,4,, +predict,KY,,0.0,6,, +predict,LA,,0.0,6,, +predict,MA,,0.0,9,, +predict,MD,,0.0,8,, +predict,ME,,0.0,2,, +predict,MI,,0.0,13,, +predict,MN,,0.0,8,, +predict,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z,"[[1.0,0.8,310718],[0.048,0.433,415798],[0.004,0.389,400723],[0.001,0.381,391097],[0.005,0.399,327699],[0.0,0.353,371821],[0.0,0.269,370939],[0.0,0.209,363791]]" +predict,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z,"[[0.0,0.283,319751],[1.0,0.644,283691],[0.0,0.324,320273],[0.0,0.255,290696]]" +predict,MT,,0.0,2,, +predict,NC,yes,0.0,14,https://planscore.org/plan.html?20251220T215350.341663516Z,"[[0.244,0.477,412424],[1.0,0.685,403685],[0.012,0.423,342337],[1.0,0.737,427800],[0.003,0.406,403093],[0.008,0.408,385622],[0.009,0.424,437996],[0.001,0.397,404040],[0.005,0.412,377628],[0.004,0.405,410898],[0.051,0.443,433922],[1.0,0.741,346755],[0.007,0.409,419635],[0.01,0.416,403525]]" +predict,ND,,0.0,1,, +predict,NE,,0.0,3,, +predict,NH,,0.0,2,, +predict,NJ,,0.0,12,, +predict,NM,,0.0,3,, +predict,NV,,0.0,4,, +predict,NY,,0.0,26,, +predict,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z,"[[0.213,0.469,393485],[0.0,0.248,373151],[1.0,0.709,354655],[0.0,0.245,392876],[0.0,0.353,383974],[0.0,0.29,362582],[0.025,0.422,422478],[0.006,0.395,398786],[0.036,0.426,377567],[0.066,0.441,375479],[1.0,0.791,318228],[0.0,0.317,406615],[0.506,0.502,386792],[0.001,0.369,410013],[0.03,0.426,357133]]" +predict,OK,,0.0,5,, +predict,OR,,0.0,6,, +predict,PA,,0.0,17,, +predict,RI,,0.0,2,, +predict,SC,,0.0,7,, +predict,SD,,0.0,1,, +predict,TN,,0.0,9,, +predict,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z,"[[0.0,0.231,322789],[0.0,0.374,324879],[0.0,0.363,360471],[0.0,0.358,359800],[0.0,0.376,289675],[0.0,0.367,305093],[1.0,0.647,243178],[0.0,0.371,307201],[0.009,0.423,206561],[0.0,0.385,348072],[0.0,0.308,288718],[0.0,0.363,310418],[0.0,0.245,300574],[0.0,0.339,319160],[0.001,0.395,225827],[0.999,0.603,228701],[0.0,0.377,315012],[1.0,0.8,256659],[0.0,0.234,279570],[1.0,0.667,223891],[0.002,0.389,409493],[0.001,0.395,335361],[0.005,0.408,312690],[0.003,0.404,366050],[0.0,0.363,305656],[0.0,0.363,382101],[0.001,0.375,319985],[0.157,0.465,197404],[1.0,0.679,177312],[1.0,0.75,240014],[0.0,0.37,346093],[0.007,0.412,316848],[1.0,0.69,204530],[0.153,0.466,238229],[0.057,0.447,298179],[0.0,0.313,297228],[1.0,0.813,320120],[0.001,0.395,344997]]" +predict,UT,yes,0.0,4,https://planscore.org/plan.html?20260109T043743.846525206Z,"[[0.944,0.559,317805],[0.0,0.35,356976],[0.0,0.3,376228],[0.0,0.336,393802]]" +predict,VA,,0.0,11,, +predict,VT,,0.0,1,, +predict,WA,,0.0,10,, +predict,WI,,0.0,8,, +predict,WV,,0.0,2,, +predict,WY,,0.0,1,, diff --git a/index.js6 b/index.js6 index 771e7519..83837e99 100644 --- a/index.js6 +++ b/index.js6 @@ -182,7 +182,7 @@ window.initLoadStartingConditions = () => { let year = PLAN_YEARS[PLAN_YEARS.length - 1]; let type = 'ushouse'; - const year_and_type = /^#!(\d\d\d\d)\-(\w+)$/.exec(window.location.hash); + const year_and_type = /^#!(predict|\d\d\d\d)\-(\w+)$/.exec(window.location.hash); if (year_and_type) { year = year_and_type[1]; type = year_and_type[2]; @@ -383,7 +383,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { }); function updateTooltipContent(stateInfo) { - const isPrediction = (CURRENT_VIEW.year == 2026) && stateInfo.url; + const isPrediction = (CURRENT_VIEW.year == 2026 || CURRENT_VIEW.year == 'predict') && stateInfo.url; // Update tooltip content with state data $('#state-tooltip .state-name').text(stateInfo.name); @@ -404,8 +404,15 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const stateslug = stateInfo.name.toLowerCase().replace(/\W/g, '_'); const currview = CURRENT_VIEW.boundtype; const moreinfourl = stateInfo.url ? stateInfo.url : `/${stateslug}/#!${CURRENT_VIEW.year}-${plan_or_election}-${currview}`; - const curryear = isPrediction ? '2024+Remaps*' : (CURRENT_VIEW.year == 2026 ? 2024 : CURRENT_VIEW.year); - const linkHtml = `(${curryear} Plan)`; + var labelPrefix = CURRENT_VIEW.year; + if (CURRENT_VIEW.year == 'predict') { + labelPrefix = 'Predicted'; + } else if (isPrediction) { + labelPrefix = '2024+Remaps*'; + } else if (CURRENT_VIEW.year == 2026) { + labelPrefix = 2024; + } + const linkHtml = `(${labelPrefix} Plan)`; $('#state-tooltip .link').attr('href', moreinfourl).html(linkHtml); // Show/hide link based on data and seat count @@ -443,8 +450,15 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const biasEval = lookupBias('eg', nationalEG, CURRENT_VIEW.boundtype); const absBiasPercent = twoDigits(Math.abs(100 * nationalEG)); const absBiasSeats = twoDigits(Math.abs(nationalEG * totalSeats)); - const currYear = CURRENT_VIEW.year == 2026 ? '2024+Remaps*' : CURRENT_VIEW.year; - const turnoutNote = CURRENT_VIEW.year == 2026 ? '' : ''; + var currYear = CURRENT_VIEW.year; + var turnoutNote = ''; + if (CURRENT_VIEW.year == 'predict') { + currYear = '2026 Predictions'; + turnoutNote = ''; + } else if(CURRENT_VIEW.year == 2026) { + currYear = '2024+Remaps*'; + turnoutNote = ''; + } $('#ushouse-legend .swatch').css({ 'background': biasEval.color }); $('#ushouse-legend .caption').html(`Total ${currYear} Bias:`); $('#ushouse-legend .bias').html(`${absBiasPercent}% (${absBiasSeats} seats)${turnoutNote} pro-${biasEval.party}`); @@ -804,8 +818,8 @@ window.selectYear = (year, options={}) => { // but hide it if year 2026 is selected (which is in the yearpicker-future SVG) const $current = $('#yearpicker-current', $picker_big); - if (year == 2026) { - // year 2026 is in yearpicker-future, so hide the current indicator + if (year == 2026 || year == "predict") { + // years past 2024 are in yearpicker-future, so hide the current indicator $current.hide(); } else { // show the indicator and position it at the selected year diff --git a/index.src.html b/index.src.html index 6486767f..39033e97 100644 --- a/index.src.html +++ b/index.src.html @@ -490,14 +490,6 @@

Evaluate their fairness.

- - - - - - 2026 Predictions - - @@ -506,6 +498,15 @@

Evaluate their fairness.

2024 + Remaps* + + + + + + + + 2026 Predictions + From 3ed471af5349ae21643f227ad1f1681934a91de5 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 21:20:28 -0800 Subject: [PATCH 03/22] Added rigging for prediction slider and thumb --- index.scss | 29 +++++++++++++++++++++++++---- index.src.html | 5 +++++ 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/index.scss b/index.scss index e4cb4d56..9ffdfba4 100644 --- a/index.scss +++ b/index.scss @@ -326,14 +326,35 @@ body.ushouse-selected { } #yearpicker-future { + a.active { + cursor: inherit; + } a.active text { fill: white; } - a .background { - visibility: hidden; + a { + .background, #yearpicker-predict-slider, #yearpicker-predict-thumb { + visibility: hidden; + } + } + a.active { + .background, #yearpicker-predict-slider, #yearpicker-predict-thumb { + visibility: visible; + } + } + #yearpicker-predict-slider { + fill: white; } - a.active .background { - visibility: visible; + #yearpicker-predict-thumb { + cursor: pointer; + circle { + fill: black; + stroke: none; + } + text { + font-size: 10px; + text-anchor: middle; + } } } } diff --git a/index.src.html b/index.src.html index 39033e97..87898d90 100644 --- a/index.src.html +++ b/index.src.html @@ -506,6 +506,11 @@

Evaluate their fairness.

2026 Predictions + + + + D+12 + From bacf18106f09202ac98f4cef7df4270f915ac6ec Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 21:38:33 -0800 Subject: [PATCH 04/22] Added draggable prediction slider functionality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Initial User Prompt > "Look at the most recent commit for context. I just added a slider widget with a thumb that should be draggable. Make a plan for hooking mouse events up to this slider so that it's possible to drag it left and right with the circle staying inside the bounds of the slider rectangle." ## Refinement Requests 1. **Code organization**: "How will you isolate the code for this so it's cleanly in its own named function?" 2. **Lazy initialization**: "I think the new init function should only be called when the slider is revealed by activating #yearpicker-future, how does that change your plan?" 3. **Constraints and improvements**: "Let's limit the x/y distance the slider can go so the thumb circle stays visible inside the slider with a 1px boundary. Let's scale the positive and negative display to max out at R+12 / D+12 at either end. Let's also use a matrix transform on the element when we move it so the group moves as a whole unit with just one place to change x and y values." 4. **Dynamic configuration**: "When setting up PREDICTION_SLIDER, can you use position values read from the #yearpicker-predict-slider instead of provided as numeric constants" 5. **Direction reversal**: "Please reverse the direction so D = positive = left and R = negative = right, then make the default initial position zero" ## Changes Made ### 1. **Added PREDICTION_SLIDER constant** (index.js6:33-43) - Tracks drag state and dynamically calculated boundaries - Value range: -12 to +12, default: 0 ("Even") ### 2. **Created window.initPredictionSlider() function** (index.js6:183-265) - Lazy initialization when "2026 Predictions" is activated - Reads all dimensions from DOM (slider position, circle radius) - Calculates bounds with 1px clearance automatically - Uses matrix transform translate(x, 0) to move entire thumb group - Handles mousedown/mousemove/mouseup with SVG coordinate transformation - Reversed mapping: left = D (positive), right = R (negative) ### 3. **Modified selectYear() function** (index.js6:915-918) - Calls initPredictionSlider() when predict mode is activated ### 4. **Updated HTML** (index.src.html:512) - Changed default label to "Even" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- index.js6 | 121 +++++++++++++++++++++++++++++++++++++++++++++++++ index.src.html | 2 +- 2 files changed, 122 insertions(+), 1 deletion(-) diff --git a/index.js6 b/index.js6 index 83837e99..a4ab770e 100644 --- a/index.js6 +++ b/index.js6 @@ -30,6 +30,18 @@ const ANIMATION = { timer: undefined, // if playing, an interval handle from setInterval(); else undefined }; +// prediction slider state; see initPredictionSlider() +const PREDICTION_SLIDER = { + isDragging: false, + initialized: false, + minX: null, // set during initialization from DOM + maxX: null, // set during initialization from DOM + centerY: null, // set during initialization from DOM + minValue: -12, // R+12 (right side) + maxValue: 12, // D+12 (left side) + currentValue: 0, // default: Even (center) +}; + // the map uses a choropleth constructed from BELLCURVE_SPREAD // but for nodata states, use this NODATA value and this color fill const MAP_NODATA_VALUE = 999999; @@ -168,6 +180,110 @@ window.initYearPickers = () => { }); }; +window.initPredictionSlider = () => { + // lazy initialization: only set up once when predict mode is first activated + if (PREDICTION_SLIDER.initialized) return; + PREDICTION_SLIDER.initialized = true; + + const $thumb = $('#yearpicker-predict-thumb'); + const $circle = $thumb.find('circle'); + const $label = $thumb.find('text'); + const $slider = $('#yearpicker-predict-slider'); + + // read slider dimensions from DOM + const sliderX = parseFloat($slider.attr('x')); + const sliderWidth = parseFloat($slider.attr('width')); + const sliderY = parseFloat($slider.attr('y')); + const sliderHeight = parseFloat($slider.attr('height')); + const circleRadius = parseFloat($circle.attr('r')); + + // calculate bounds with 1px clearance for circle + PREDICTION_SLIDER.minX = sliderX + circleRadius + 1; + PREDICTION_SLIDER.maxX = sliderX + sliderWidth - circleRadius - 1; + PREDICTION_SLIDER.centerY = sliderY + (sliderHeight / 2); + + // original position of thumb in SVG (read from DOM) + const originalX = parseFloat($circle.attr('cx')); + const originalY = parseFloat($circle.attr('cy')); + + // helper: convert slider position (x coordinate) to prediction value + // reversed: left = D (positive), right = R (negative) + const positionToValue = (x) => { + const fraction = (x - PREDICTION_SLIDER.minX) / (PREDICTION_SLIDER.maxX - PREDICTION_SLIDER.minX); + return Math.round(PREDICTION_SLIDER.maxValue - fraction * (PREDICTION_SLIDER.maxValue - PREDICTION_SLIDER.minValue)); + }; + + // helper: convert prediction value to slider position (x coordinate) + // reversed: left = D (positive), right = R (negative) + const valueToPosition = (value) => { + const fraction = (PREDICTION_SLIDER.maxValue - value) / (PREDICTION_SLIDER.maxValue - PREDICTION_SLIDER.minValue); + return PREDICTION_SLIDER.minX + fraction * (PREDICTION_SLIDER.maxX - PREDICTION_SLIDER.minX); + }; + + // helper: format value as label text + const formatLabel = (value) => { + if (value === 0) return 'Even'; + return value > 0 ? `D+${value}` : `R+${Math.abs(value)}`; + }; + + // helper: update thumb position and label using matrix transform + const updateThumb = (x) => { + // constrain x to slider bounds + const constrainedX = Math.max(PREDICTION_SLIDER.minX, Math.min(PREDICTION_SLIDER.maxX, x)); + const value = positionToValue(constrainedX); + + PREDICTION_SLIDER.currentValue = value; + + // calculate translation offset from original position + const translateX = constrainedX - originalX; + + // apply matrix transform to move entire group + $thumb.attr('transform', `translate(${translateX}, 0)`); + + // update label text + $label.text(formatLabel(value)); + }; + + // prevent thumb click from triggering parent link + $thumb.on('click', function (event) { + event.preventDefault(); + event.stopPropagation(); + }); + + // mousedown on thumb: start dragging + $thumb.on('mousedown', function (event) { + event.preventDefault(); + event.stopPropagation(); + PREDICTION_SLIDER.isDragging = true; + $thumb.css('cursor', 'grabbing'); + }); + + // mousemove on document: update position if dragging + $(document).on('mousemove.predictionslider', function (event) { + if (!PREDICTION_SLIDER.isDragging) return; + + // get mouse position relative to the SVG + const svg = $('#yearpicker-future')[0]; + const pt = svg.createSVGPoint(); + pt.x = event.clientX; + pt.y = event.clientY; + const svgP = pt.matrixTransform(svg.getScreenCTM().inverse()); + + updateThumb(svgP.x); + }); + + // mouseup on document: stop dragging + $(document).on('mouseup.predictionslider', function () { + if (PREDICTION_SLIDER.isDragging) { + PREDICTION_SLIDER.isDragging = false; + $thumb.css('cursor', 'pointer'); + } + }); + + // initialize thumb to current value + updateThumb(valueToPosition(PREDICTION_SLIDER.currentValue)); +}; + window.initBoundaryPicker = () => { $('#boundarypicker div[data-boundary]').click(function () { const boundarytype = $(this).attr('data-boundary'); @@ -821,6 +937,11 @@ window.selectYear = (year, options={}) => { if (year == 2026 || year == "predict") { // years past 2024 are in yearpicker-future, so hide the current indicator $current.hide(); + + // initialize prediction slider when predict mode is activated + if (year == "predict") { + initPredictionSlider(); + } } else { // show the indicator and position it at the selected year $current.show(); diff --git a/index.src.html b/index.src.html index 87898d90..2b165fff 100644 --- a/index.src.html +++ b/index.src.html @@ -509,7 +509,7 @@

Evaluate their fairness.

- D+12 + Even From 941d33a37960cb6a70179cac73582d4d96882059 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 21:42:12 -0800 Subject: [PATCH 05/22] Added a hitarea for the slider --- index.src.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.src.html b/index.src.html index 2b165fff..0162b067 100644 --- a/index.src.html +++ b/index.src.html @@ -508,6 +508,7 @@

Evaluate their fairness.

2026 Predictions + Even From 0b85196f5c89abe37bd9867df602b6a2a062a031 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 21:49:47 -0800 Subject: [PATCH 06/22] Refactored prediction slider thumb to use zero-based coordinates MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## User Request (Verbatim) > "Look at the last two commits for a recent slider we added. I want to change the x positions inside so that they are 96px to the left making the center of the circle element cx="0", then compensate for this x-shift by using the translate transformation we are already setting in initPredictionSlider(). The HTML by default should have the translation defined so it doesn't look weird without Javascript, and the visual behavior of the slider and thumb should be completely unchanged after this. Only the math will change so the zero values make a little more sense in the HTML/SVG definition. What is your plan?" > "Don't use a fixed value of 96, use the value from the group's transform. Update your plan." ## Changes Implemented **HTML (index.src.html:510-514)**: Added transform="translate(96, 0)" to the element and shifted all child x-coordinates 96px left (circle cx="96" → cx="0", rect x="80" → x="-16", text x="96" → x="0") **JavaScript (index.js6:205-208)**: Changed originalX from reading $circle.attr('cx') to parsing the group's transform attribute: const transformMatch = $thumb.attr('transform')?.match(/translate\(([^,]+)/); const originalX = transformMatch ? parseFloat(transformMatch[1]) : 0; **Result**: Circle centered at cx="0" with cleaner zero-based math, visual behavior unchanged. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- index.js6 | 5 +++-- index.src.html | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/index.js6 b/index.js6 index a4ab770e..3511fc89 100644 --- a/index.js6 +++ b/index.js6 @@ -202,8 +202,9 @@ window.initPredictionSlider = () => { PREDICTION_SLIDER.maxX = sliderX + sliderWidth - circleRadius - 1; PREDICTION_SLIDER.centerY = sliderY + (sliderHeight / 2); - // original position of thumb in SVG (read from DOM) - const originalX = parseFloat($circle.attr('cx')); + // original position of thumb in SVG (read from group's transform) + const transformMatch = $thumb.attr('transform')?.match(/translate\(([^,]+)/); + const originalX = transformMatch ? parseFloat(transformMatch[1]) : 0; const originalY = parseFloat($circle.attr('cy')); // helper: convert slider position (x coordinate) to prediction value diff --git a/index.src.html b/index.src.html index 0162b067..ba05081c 100644 --- a/index.src.html +++ b/index.src.html @@ -507,10 +507,10 @@

Evaluate their fairness.

2026 Predictions - - - - Even + + + + Even From 0b812ee490c35eff83e523b640704b9f9843895b Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Thu, 15 Jan 2026 22:18:41 -0800 Subject: [PATCH 07/22] Extended prediction slider to match state with slider position MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## User's Initial Request (Verbatim): > "Look at the last four commits for context on some recent changes we should extend. In those changes we added a new "predict" view state with a slider in it that can be dragged left and right. I want the "predict" text throughout this code to match the slider state: "predict0" for when it's at zero, "predictD12" for a D+12 value, "predictR12" for R+12, and similar integer-only values between those extremes. The new CSV rows will still be prefixed with just plain "predict", the R/D suffix will be for the frontend only. What is your plan?" ## Implementation: Successfully implemented helper functions and logic to track slider position in frontend state while CSV data remains unchanged: **Helper Functions:** - getPredictionYearString(value): Converts -12 to +12 into "predictR12", "predict0", "predictD12", etc. - isPredictionYear(year): Checks if year starts with "predict" - getBaseYear(year): Extracts "predict" for CSV lookups from any variant **Key Changes:** - Updated CSV filtering to use base year for data lookups - Modified all display/comparison logic to use isPredictionYear() helper - Updated URL hash regex to support new prediction year formats (predict0, predictD12, predictR12, etc.) - Modified year picker click handler to convert "predict" to appropriate prediction year string ## Issues Encountered and Fixed: 1. **Parse Error**: Replaced optional chaining ?. with explicit null check for compatibility 2. **Initialization Timing**: Moved CURRENT_VIEW.year = year assignment before initPredictionSlider() call so slider init has access to current year 3. **Unnecessary Data Reloads**: Changed slider drag to only update CURRENT_VIEW.year and hash, not trigger full selectYear() with data reload 4. **Critical Positioning Bug**: Original code calculated translateX = constrainedX - originalX which moved the circle to position 0. Fixed by using absolute position directly: translateX = constrainedX. Since the circle is at cx="0" within the group, the group's translation value IS the absolute position of the circle. ## Final Result: - Slider positions correctly and is fully draggable within bounds - URL hash updates in real-time (e.g., #!predictD5-ushouse) - CSV data still uses plain "predict" prefix - All display logic correctly handles prediction year variants **Files Modified:** index.js6 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- index.js6 | 110 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 90 insertions(+), 20 deletions(-) diff --git a/index.js6 b/index.js6 index 3511fc89..53dca388 100644 --- a/index.js6 +++ b/index.js6 @@ -169,7 +169,13 @@ window.initYearPickers = () => { // attach to all year elements in both timeline and future $('#yearpicker-timeline a[id^="yearpicker-"], #yearpicker-future a[id^="yearpicker-"]', $picker_big).on('click', function () { const elementId = $(this).attr('id'); - const year = elementId.replace('yearpicker-', ''); + let year = elementId.replace('yearpicker-', ''); + + // When clicking on predict, use the current slider value to determine the year + if (year === 'predict') { + year = getPredictionYearString(PREDICTION_SLIDER.currentValue); + } + selectYear(year); logToGoogleAnalytics('yearselected', year); }); @@ -203,7 +209,8 @@ window.initPredictionSlider = () => { PREDICTION_SLIDER.centerY = sliderY + (sliderHeight / 2); // original position of thumb in SVG (read from group's transform) - const transformMatch = $thumb.attr('transform')?.match(/translate\(([^,]+)/); + const transformAttr = $thumb.attr('transform'); + const transformMatch = transformAttr ? transformAttr.match(/translate\(([^,]+)/) : null; const originalX = transformMatch ? parseFloat(transformMatch[1]) : 0; const originalY = parseFloat($circle.attr('cy')); @@ -228,21 +235,32 @@ window.initPredictionSlider = () => { }; // helper: update thumb position and label using matrix transform - const updateThumb = (x) => { + const updateThumb = (x, skipYearUpdate = false) => { // constrain x to slider bounds const constrainedX = Math.max(PREDICTION_SLIDER.minX, Math.min(PREDICTION_SLIDER.maxX, x)); const value = positionToValue(constrainedX); PREDICTION_SLIDER.currentValue = value; - // calculate translation offset from original position - const translateX = constrainedX - originalX; + // x is the desired absolute position, use it directly as translation + // (since circle is at cx="0" in the group, translation = absolute position) + const translateX = constrainedX; // apply matrix transform to move entire group $thumb.attr('transform', `translate(${translateX}, 0)`); // update label text $label.text(formatLabel(value)); + + // update the year state to match slider position + if (!skipYearUpdate) { + const predictionYear = getPredictionYearString(value); + // Only update the year and hash, don't reload data or trigger full selectYear + if (CURRENT_VIEW.year !== predictionYear) { + CURRENT_VIEW.year = predictionYear; + updateAddressHash(); + } + } }; // prevent thumb click from triggering parent link @@ -282,7 +300,16 @@ window.initPredictionSlider = () => { }); // initialize thumb to current value - updateThumb(valueToPosition(PREDICTION_SLIDER.currentValue)); + const initialPosition = valueToPosition(PREDICTION_SLIDER.currentValue); + updateThumb(initialPosition, true); + + // After initialization, update the year state to match the slider position + // This ensures CURRENT_VIEW.year and the hash are correct + const predictionYear = getPredictionYearString(PREDICTION_SLIDER.currentValue); + if (CURRENT_VIEW.year !== predictionYear) { + CURRENT_VIEW.year = predictionYear; + updateAddressHash(); + } }; window.initBoundaryPicker = () => { @@ -299,12 +326,29 @@ window.initLoadStartingConditions = () => { let year = PLAN_YEARS[PLAN_YEARS.length - 1]; let type = 'ushouse'; - const year_and_type = /^#!(predict|\d\d\d\d)\-(\w+)$/.exec(window.location.hash); + // Match: predict, predict0, predictD12, predictR12, or 4-digit years + const year_and_type = /^#!(predict(?:[DR]\d+|\d+)?|\d\d\d\d)\-(\w+)$/.exec(window.location.hash); if (year_and_type) { year = year_and_type[1]; type = year_and_type[2]; } + // If we have a prediction year from the URL, parse it and set the slider value + if (isPredictionYear(year)) { + const match = year.match(/predict([DR])?(\d+)?/); + if (match) { + const party = match[1]; // 'D', 'R', or undefined + const value = match[2] ? parseInt(match[2]) : 0; + if (party === 'R') { + PREDICTION_SLIDER.currentValue = -value; + } else if (party === 'D') { + PREDICTION_SLIDER.currentValue = value; + } else { + PREDICTION_SLIDER.currentValue = 0; + } + } + } + // ready, set, go selectYear(year); selectBoundaryType(type); @@ -325,6 +369,27 @@ window.handleResize = () => { // loadDataForSelectedBoundaryAndYear() is the real worker here; the others are basically convenience functions // +// Helper: Convert prediction slider value to year string +// value: -12 to +12 (negative = R, positive = D, 0 = Even) +// returns: "predict0", "predictD12", "predictR12", etc. +window.getPredictionYearString = (value) => { + if (value === 0) return 'predict0'; + if (value > 0) return `predictD${value}`; + return `predictR${Math.abs(value)}`; +}; + +// Helper: Check if a year string is a prediction year +// returns: true for "predict", "predict0", "predictD5", "predictR12", etc. +window.isPredictionYear = (year) => { + return String(year).startsWith('predict'); +}; + +// Helper: Extract base year from prediction string for CSV lookup +// returns: "predict" for all prediction variants, or the original year for others +window.getBaseYear = (year) => { + return isPredictionYear(year) ? 'predict' : year; +}; + window.loadDataForSelectedBoundaryAndYear = (options={}) => { if (! CURRENT_VIEW.year || ! CURRENT_VIEW.boundtype) return; // need both; during startup one will be blank, so avoid an error @@ -356,7 +421,8 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { // primarily used when switching district types, as not all district types have the same coverage for every year (e.g. State House 2016) if (options.fudgeYearIfNoData) { const yearColumn = CURRENT_VIEW.boundtype === 'ushouse' ? 'cycle' : 'year'; - const hasdata = results.data.filter((datarow) => { return datarow[yearColumn] == CURRENT_VIEW.year; }).length; + const baseYear = getBaseYear(CURRENT_VIEW.year); + const hasdata = results.data.filter((datarow) => { return datarow[yearColumn] == baseYear; }).length; if (! hasdata) { const wehavetheseyears = results.data.map((datarow) => { return datarow[yearColumn] ? parseInt(datarow[yearColumn]) : 0; // workaround for 176, iOS 11 including blank rows so year=NaN @@ -459,13 +525,15 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { // filter by the year (geography is implicit by which CSV was fetched) // and for each row assign the bias score to the state's row in the above // this is loop-within-loop as we match arrays to arrays, but P=50 and Q=20ish so it's affordable + const baseYear = getBaseYear(CURRENT_VIEW.year); results.data.forEach(function (datarow) { // Boolean flag for mid-cycle redistricting on this plan - const midCycleplan = (datarow.newplan == "yes") && (CURRENT_VIEW.year % 10 != 2); + const numericYear = isPredictionYear(CURRENT_VIEW.year) ? 2026 : CURRENT_VIEW.year; + const midCycleplan = (datarow.newplan == "yes") && (numericYear % 10 != 2); // For ushouse, use different column names if (CURRENT_VIEW.boundtype === 'ushouse') { - if (datarow.cycle != CURRENT_VIEW.year) return; // wrong year; next + if (datarow.cycle != baseYear) return; // wrong year; next const chartrow = chartdata.filter((filteringthisonerow) => { return filteringthisonerow.abbr == datarow.stateabrev; })[0]; if (!chartrow) return; // state not found, skip chartrow.value = parseFloat(datarow.EG); @@ -476,7 +544,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { chartrow.stateScale = datarow.stateScale; chartrow.midcyclePlan = midCycleplan; } else { - if (datarow.year != CURRENT_VIEW.year) return; // wrong year; next + if (datarow.year != baseYear) return; // wrong year; next const chartrow = chartdata.filter((filteringthisonerow) => { return filteringthisonerow.abbr == datarow.state; })[0]; if (!chartrow) return; // state not found, skip chartrow.value = parseFloat(datarow.eg_adj_avg); @@ -500,7 +568,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { }); function updateTooltipContent(stateInfo) { - const isPrediction = (CURRENT_VIEW.year == 2026 || CURRENT_VIEW.year == 'predict') && stateInfo.url; + const isPrediction = (CURRENT_VIEW.year == 2026 || isPredictionYear(CURRENT_VIEW.year)) && stateInfo.url; // Update tooltip content with state data $('#state-tooltip .state-name').text(stateInfo.name); @@ -522,7 +590,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const currview = CURRENT_VIEW.boundtype; const moreinfourl = stateInfo.url ? stateInfo.url : `/${stateslug}/#!${CURRENT_VIEW.year}-${plan_or_election}-${currview}`; var labelPrefix = CURRENT_VIEW.year; - if (CURRENT_VIEW.year == 'predict') { + if (isPredictionYear(CURRENT_VIEW.year)) { labelPrefix = 'Predicted'; } else if (isPrediction) { labelPrefix = '2024+Remaps*'; @@ -569,7 +637,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const absBiasSeats = twoDigits(Math.abs(nationalEG * totalSeats)); var currYear = CURRENT_VIEW.year; var turnoutNote = ''; - if (CURRENT_VIEW.year == 'predict') { + if (isPredictionYear(CURRENT_VIEW.year)) { currYear = '2026 Predictions'; turnoutNote = ''; } else if(CURRENT_VIEW.year == 2026) { @@ -928,19 +996,24 @@ window.selectYear = (year, options={}) => { // remove active class from all years and add to the selected one const $picker_big = $('#yearpicker-big'); $('#yearpicker-timeline a[id^="yearpicker-"], #yearpicker-future a[id^="yearpicker-"]', $picker_big).removeClass('active'); - $(`#yearpicker-${year}`, $picker_big).addClass('active'); + // For prediction years, activate the "predict" element + const yearForPicker = isPredictionYear(year) ? 'predict' : year; + $(`#yearpicker-${yearForPicker}`, $picker_big).addClass('active'); + + // save to the state BEFORE initializing slider (slider init needs this to be set) + CURRENT_VIEW.year = year; // UI update: yearpicker-current indicator position and text // move the current year indicator to match the selected year's position // but hide it if year 2026 is selected (which is in the yearpicker-future SVG) const $current = $('#yearpicker-current', $picker_big); - if (year == 2026 || year == "predict") { + if (year == 2026 || isPredictionYear(year)) { // years past 2024 are in yearpicker-future, so hide the current indicator $current.hide(); // initialize prediction slider when predict mode is activated - if (year == "predict") { + if (isPredictionYear(year)) { initPredictionSlider(); } } else { @@ -964,9 +1037,6 @@ window.selectYear = (year, options={}) => { } } - // save to the state and refresh the map + data - CURRENT_VIEW.year = year; - loadDataForSelectedBoundaryAndYear(options); // no new options nor overrides; just pass options as-given }; From 14d63d0f447cfbb36f1197135481aeeb9990ae10 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Fri, 16 Jan 2026 09:35:11 -0800 Subject: [PATCH 08/22] Added click-to-position functionality to prediction slider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## User's Initial Request (Verbatim): > "Look at the last five commits for context. We want to enhance so it's possible to click on it and send the to the closest available clicked position. It should still respect the drag boundaries and generally show no other behavior changes than being clickable. A pointer cursor will make it clear that this is possible. What is your plan?" ## Implementation: Enhanced the prediction slider to support click-to-position functionality. **Changes:** 1. **CSS (index.scss:347)**: Added `cursor: pointer` to `#yearpicker-predict-slider` 2. **JavaScript (index.js6:272-285)**: Added click handler that uses the same SVG coordinate transformation as dragging and calls `updateThumb(svgP.x)` to reposition the thumb, automatically respecting all existing constraints and boundaries. 3. **HTML (index.src.html:509)**: Added `rx="5"` to slider rect for rounded corners **Result:** Users can now click anywhere on the slider track to jump the thumb to that position while maintaining all existing drag behavior and constraints. **Files Modified:** index.scss, index.js6, index.src.html 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- index.js6 | 15 +++++++++++++++ index.scss | 1 + index.src.html | 2 +- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/index.js6 b/index.js6 index 53dca388..29953839 100644 --- a/index.js6 +++ b/index.js6 @@ -269,6 +269,21 @@ window.initPredictionSlider = () => { event.stopPropagation(); }); + // click on slider: move thumb to clicked position + $slider.on('click', function (event) { + event.preventDefault(); + event.stopPropagation(); + + // get mouse position relative to the SVG + const svg = $('#yearpicker-future')[0]; + const pt = svg.createSVGPoint(); + pt.x = event.clientX; + pt.y = event.clientY; + const svgP = pt.matrixTransform(svg.getScreenCTM().inverse()); + + updateThumb(svgP.x); + }); + // mousedown on thumb: start dragging $thumb.on('mousedown', function (event) { event.preventDefault(); diff --git a/index.scss b/index.scss index 9ffdfba4..bf559d98 100644 --- a/index.scss +++ b/index.scss @@ -344,6 +344,7 @@ body.ushouse-selected { } #yearpicker-predict-slider { fill: white; + cursor: pointer; } #yearpicker-predict-thumb { cursor: pointer; diff --git a/index.src.html b/index.src.html index ba05081c..3de1d219 100644 --- a/index.src.html +++ b/index.src.html @@ -506,7 +506,7 @@

Evaluate their fairness.

2026 Predictions - + From d3829290d6859c45b8b15d2d574de67c1f25713d Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Fri, 16 Jan 2026 10:15:31 -0800 Subject: [PATCH 09/22] Eliminated unused districts column --- .../data/bias_ushouse-elections.csv | 2902 ++++++++--------- index.js6 | 1 - update-ushouse-elections.py | 13 +- 3 files changed, 1457 insertions(+), 1459 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index b71117b2..a6e31ed1 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1,1451 +1,1451 @@ -cycle,stateabrev,newplan,EG,seats,url,districts -1972,AK,yes,-0.625,1,, -1972,AL,yes,-0.030,7,, -1972,AR,yes,0.235,4,, -1972,AZ,yes,-0.207,4,, -1972,CA,yes,-0.006,43,, -1972,CO,yes,-0.043,5,, -1972,CT,yes,0.025,6,, -1972,DE,yes,-0.242,1,, -1972,FL,yes,0.194,15,, -1972,GA,yes,0.338,10,, -1972,HI,yes,0.382,2,, -1972,IA,yes,-0.033,6,, -1972,ID,yes,-0.231,2,, -1972,IL,yes,-0.065,24,, -1972,IN,yes,-0.060,11,, -1972,KS,yes,0.056,5,, -1972,KY,yes,0.208,7,, -1972,LA,yes,0.129,8,, -1972,MA,yes,0.101,12,, -1972,MD,yes,-0.040,8,, -1972,ME,yes,-0.057,2,, -1972,MI,yes,-0.025,19,, -1972,MN,yes,-0.082,8,, -1972,MO,yes,0.206,10,, -1972,MS,yes,0.024,5,, -1972,MT,yes,-0.210,2,, -1972,NC,yes,0.114,11,, -1972,ND,yes,-0.043,1,, -1972,NE,yes,-0.181,3,, -1972,NH,yes,-0.095,2,, -1972,NJ,yes,0.042,15,, -1972,NM,yes,-0.126,2,, -1972,NV,yes,-0.457,1,, -1972,NY,yes,0.053,39,, -1972,OH,yes,-0.132,23,, -1972,OK,yes,0.194,6,, -1972,OR,yes,0.048,4,, -1972,PA,yes,0.084,25,, -1972,RI,yes,0.246,2,, -1972,SC,yes,0.023,6,, -1972,SD,yes,-0.062,2,, -1972,TN,yes,-0.101,8,, -1972,TX,yes,0.131,24,, -1972,UT,yes,0.378,2,, -1972,VA,yes,-0.113,10,, -1972,VT,yes,-0.200,1,, -1972,WA,yes,0.038,7,, -1972,WI,yes,-0.082,9,, -1972,WV,yes,0.318,4,, -1972,WY,yes,0.466,1,, -1974,AK,,-0.423,1,, -1974,AL,,-0.047,7,, -1974,AR,,-0.038,4,, -1974,AZ,,-0.256,4,, -1974,CA,yes,0.019,43,, -1974,CO,,0.037,5,, -1974,CT,,-0.003,6,, -1974,DE,,-0.307,1,, -1974,FL,,0.072,15,, -1974,GA,,0.165,10,, -1974,HI,,0.278,2,, -1974,IA,,0.250,6,, -1974,ID,,-0.360,2,, -1974,IL,,-0.084,24,, -1974,IN,,0.210,11,, -1974,KS,,-0.175,5,, -1974,KY,,-0.077,7,, -1974,LA,,-0.011,8,, -1974,MA,,0.077,12,, -1974,MD,,-0.083,8,, -1974,ME,,-0.298,2,, -1974,MI,,-0.048,19,, -1974,MN,,-0.053,8,, -1974,MO,,0.058,10,, -1974,MS,,0.077,5,, -1974,MT,,0.328,2,, -1974,NC,,0.091,11,, -1974,ND,,-0.386,1,, -1974,NE,,-0.445,3,, -1974,NH,,0.118,2,, -1974,NJ,,0.035,15,, -1974,NM,,-0.041,2,, -1974,NV,,0.290,1,, -1974,NY,yes,0.046,39,, -1974,OH,,-0.149,23,, -1974,OK,,0.084,6,, -1974,OR,,0.218,4,, -1974,PA,,-0.082,25,, -1974,RI,,-0.014,2,, -1974,SC,,0.161,6,, -1974,SD,,-0.274,2,, -1974,TN,,0.094,8,, -1974,TX,yes,0.050,24,, -1974,UT,,0.329,2,, -1974,VA,,-0.048,10,, -1974,VT,,-0.337,1,, -1974,WA,,0.179,7,, -1974,WI,,0.084,9,, -1974,WV,,0.176,4,, -1974,WY,,0.406,1,, -1976,AK,,-0.080,1,, -1976,AL,,-0.126,7,, -1976,AR,,-0.033,4,, -1976,AZ,,-0.022,4,, -1976,CA,,0.052,43,, -1976,CO,,0.181,5,, -1976,CT,,0.144,6,, -1976,DE,,-0.461,1,, -1976,FL,,0.037,15,, -1976,GA,,0.150,10,, -1976,HI,,0.093,2,, -1976,IA,,0.019,6,, -1976,ID,,-0.447,2,, -1976,IL,,-0.031,24,, -1976,IN,,0.146,11,, -1976,KS,,0.120,5,, -1976,KY,,0.038,7,, -1976,LA,,0.006,8,, -1976,MA,,0.079,12,, -1976,MD,,-0.105,8,, -1976,ME,,-0.149,2,, -1976,MI,,-0.037,19,, -1976,MN,,-0.111,8,, -1976,MO,,0.158,10,, -1976,MS,,-0.005,5,, -1976,MT,,-0.125,2,, -1976,NC,,0.098,11,, -1976,ND,,-0.231,1,, -1976,NE,,0.126,3,, -1976,NH,,-0.076,2,, -1976,NJ,,0.117,15,, -1976,NM,,0.073,2,, -1976,NV,,-0.229,1,, -1976,NY,,0.034,39,, -1976,OH,,-0.024,23,, -1976,OK,,0.039,6,, -1976,OR,,0.208,4,, -1976,PA,,0.066,25,, -1976,RI,,0.090,2,, -1976,SC,,0.130,6,, -1976,SD,,0.006,2,, -1976,TN,yes,0.021,8,, -1976,TX,,0.188,24,, -1976,UT,,-0.029,2,, -1976,VA,,-0.090,10,, -1976,VT,,-0.129,1,, -1976,WA,,0.049,7,, -1976,WI,,0.109,9,, -1976,WV,,0.152,4,, -1976,WY,,0.371,1,, -1978,AK,,-0.390,1,, -1978,AL,,-0.115,7,, -1978,AR,,0.018,4,, -1978,AZ,,0.113,4,, -1978,CA,,0.043,43,, -1978,CO,,0.143,5,, -1978,CT,,0.167,6,, -1978,DE,,-0.329,1,, -1978,FL,,0.128,15,, -1978,GA,,-0.005,10,, -1978,HI,,-0.169,2,, -1978,IA,,0.004,6,, -1978,ID,,-0.327,2,, -1978,IL,,-0.065,24,, -1978,IN,,0.087,11,, -1978,KS,,-0.192,5,, -1978,KY,,0.042,7,, -1978,LA,,0.252,8,, -1978,MA,,0.078,12,, -1978,MD,,0.004,8,, -1978,ME,,-0.306,2,, -1978,MI,,0.042,19,, -1978,MN,,0.016,8,, -1978,MO,,0.046,10,, -1978,MS,,-0.058,5,, -1978,MT,,-0.013,2,, -1978,NC,,0.152,11,, -1978,ND,,-0.130,1,, -1978,NE,,0.090,3,, -1978,NH,,0.044,2,, -1978,NJ,,0.057,15,, -1978,NM,,0.027,2,, -1978,NV,,0.002,1,, -1978,NY,,0.059,39,, -1978,OH,,0.001,23,, -1978,OK,,0.143,6,, -1978,OR,,0.203,4,, -1978,PA,,0.073,25,, -1978,RI,,0.368,2,, -1978,SC,,0.005,6,, -1978,SD,,0.059,2,, -1978,TN,,0.117,8,, -1978,TX,,0.179,24,, -1978,UT,,0.118,2,, -1978,VA,,0.031,10,, -1978,VT,,0.092,1,, -1978,WA,,0.298,7,, -1978,WI,,0.105,9,, -1978,WV,,0.262,4,, -1978,WY,,-0.327,1,, -1980,AK,,-0.018,1,, -1980,AL,,-0.053,7,, -1980,AR,,0.163,4,, -1980,AZ,,0.048,4,, -1980,CA,,0.077,43,, -1980,CO,,0.201,5,, -1980,CT,,0.125,6,, -1980,DE,,-0.255,1,, -1980,FL,,0.109,15,, -1980,GA,,0.053,10,, -1980,HI,,-0.241,2,, -1980,IA,,-0.027,6,, -1980,ID,,-0.377,2,, -1980,IL,,-0.001,24,, -1980,IN,,0.051,11,, -1980,KS,,-0.170,5,, -1980,KY,,0.030,7,, -1980,LA,,0.331,8,, -1980,MA,,0.134,12,, -1980,MD,,0.141,8,, -1980,ME,,-0.037,2,, -1980,MI,,0.067,19,, -1980,MN,,-0.082,8,, -1980,MO,,0.017,10,, -1980,MS,,0.200,5,, -1980,MT,,-0.041,2,, -1980,NC,,0.062,11,, -1980,ND,,0.357,1,, -1980,NE,,-0.041,3,, -1980,NH,,0.026,2,, -1980,NJ,,0.053,15,, -1980,NM,,-0.468,2,, -1980,NV,,0.053,1,, -1980,NY,,0.076,39,, -1980,OH,,0.058,23,, -1980,OK,,0.212,6,, -1980,OR,,0.051,4,, -1980,PA,,-0.026,25,, -1980,RI,,-0.106,2,, -1980,SC,,-0.172,6,, -1980,SD,,-0.085,2,, -1980,TN,,0.023,8,, -1980,TX,,0.224,24,, -1980,UT,,-0.295,2,, -1980,VA,,-0.147,10,, -1980,VT,,-0.025,1,, -1980,WA,,0.200,7,, -1980,WI,,0.048,9,, -1980,WV,,-0.140,4,, -1980,WY,,-0.129,1,, -1982,AK,yes,-0.077,1,, -1982,AL,yes,-0.080,7,, -1982,AR,yes,-0.047,4,, -1982,AZ,yes,0.036,5,, -1982,CA,yes,0.115,45,, -1982,CO,yes,0.039,6,, -1982,CT,yes,0.080,6,, -1982,DE,yes,0.439,1,, -1982,FL,yes,0.005,19,, -1982,GA,yes,0.045,10,, -1982,HI,yes,-0.034,2,, -1982,IA,yes,-0.053,6,, -1982,ID,yes,-0.440,2,, -1982,IL,yes,-0.067,22,, -1982,IN,yes,0.015,10,, -1982,KS,yes,-0.026,5,, -1982,KY,yes,-0.083,7,, -1982,LA,yes,0.075,8,, -1982,MA,yes,0.100,11,, -1982,MD,yes,0.014,8,, -1982,ME,yes,-0.335,2,, -1982,MI,yes,0.026,18,, -1982,MN,yes,0.022,8,, -1982,MO,yes,0.024,9,, -1982,MS,yes,0.042,5,, -1982,MT,yes,-0.076,2,, -1982,NC,yes,0.154,11,, -1982,ND,yes,0.058,1,, -1982,NE,yes,-0.140,3,, -1982,NH,yes,0.148,2,, -1982,NJ,yes,0.006,14,, -1982,NM,yes,-0.194,3,, -1982,NV,yes,0.007,2,, -1982,NY,yes,-0.005,34,, -1982,OH,yes,-0.090,21,, -1982,OK,yes,0.064,6,, -1982,OR,yes,-0.039,5,, -1982,PA,yes,0.001,23,, -1982,RI,yes,-0.050,2,, -1982,SC,yes,-0.019,6,, -1982,SD,yes,0.469,1,, -1982,TN,yes,-0.055,9,, -1982,TX,yes,0.110,27,, -1982,UT,yes,-0.337,3,, -1982,VA,yes,-0.063,10,, -1982,VT,yes,-0.002,1,, -1982,WA,yes,0.059,8,, -1982,WI,yes,-0.047,9,, -1982,WV,yes,0.242,4,, -1982,WY,yes,-0.078,1,, -1984,AK,,-0.362,1,, -1984,AL,,0.015,7,, -1984,AR,,0.284,4,, -1984,AZ,,-0.011,5,, -1984,CA,yes,0.097,45,, -1984,CO,,0.034,6,, -1984,CT,,0.066,6,, -1984,DE,,0.329,1,, -1984,FL,,0.148,19,, -1984,GA,,0.036,10,, -1984,HI,,-0.197,2,, -1984,IA,,-0.105,6,, -1984,ID,,0.186,2,, -1984,IL,,0.062,22,, -1984,IN,,0.058,10,, -1984,KS,,0.009,5,, -1984,KY,,0.027,7,, -1984,LA,,0.236,8,, -1984,MA,,0.145,11,, -1984,MD,,-0.013,8,, -1984,ME,,-0.104,2,, -1984,MI,,0.071,18,, -1984,MN,,0.044,8,, -1984,MO,,0.117,9,, -1984,MS,,0.107,5,, -1984,MT,,-0.024,2,, -1984,NC,,-0.003,11,, -1984,ND,,-0.074,1,, -1984,NE,,-0.016,3,, -1984,NH,,-0.140,2,, -1984,NJ,yes,0.059,14,, -1984,NM,,0.021,3,, -1984,NV,,0.173,2,, -1984,NY,,0.025,34,, -1984,OH,,0.085,21,, -1984,OK,,0.163,6,, -1984,OR,,0.011,5,, -1984,PA,,0.002,23,, -1984,RI,,0.000,2,, -1984,SC,,0.044,6,, -1984,SD,,0.353,1,, -1984,TN,,0.096,9,, -1984,TX,yes,0.150,27,, -1984,UT,,-0.199,3,, -1984,VA,,0.007,10,, -1984,VT,,-0.079,1,, -1984,WA,yes,0.015,8,, -1984,WI,,0.104,9,, -1984,WV,,0.281,4,, -1984,WY,,0.002,1,, -1986,AK,,-0.342,1,, -1986,AL,,-0.070,7,, -1986,AR,,0.069,4,, -1986,AZ,,-0.046,5,, -1986,CA,,0.049,45,, -1986,CO,,0.115,6,, -1986,CT,,-0.113,6,, -1986,DE,,0.172,1,, -1986,FL,,0.057,19,, -1986,GA,,-0.004,10,, -1986,HI,,-0.161,2,, -1986,IA,,-0.129,6,, -1986,ID,,0.122,2,, -1986,IL,,-0.004,22,, -1986,IN,,0.079,10,, -1986,KS,,0.021,5,, -1986,KY,,-0.062,7,, -1986,LA,,-0.066,8,, -1986,MA,,0.083,11,, -1986,MD,,-0.008,8,, -1986,ME,,0.202,2,, -1986,MI,,-0.046,18,, -1986,MN,,-0.072,8,, -1986,MO,,-0.060,9,, -1986,MS,,0.116,5,, -1986,MT,,-0.083,2,, -1986,NC,,0.095,11,, -1986,ND,,-0.027,1,, -1986,NE,,-0.209,3,, -1986,NH,,-0.202,2,, -1986,NJ,,0.036,14,, -1986,NM,,-0.094,3,, -1986,NV,,0.049,2,, -1986,NY,,0.021,34,, -1986,OH,yes,0.027,21,, -1986,OK,,-0.046,6,, -1986,OR,,-0.034,5,, -1986,PA,,-0.019,23,, -1986,RI,,0.151,2,, -1986,SC,,-0.026,6,, -1986,SD,,0.316,1,, -1986,TN,,0.065,9,, -1986,TX,,0.074,27,, -1986,UT,,-0.089,3,, -1986,VA,,0.009,10,, -1986,VT,,-0.097,1,, -1986,WA,,-0.061,8,, -1986,WI,,0.077,9,, -1986,WV,,0.126,4,, -1986,WY,,-0.111,1,, -1988,AK,,-0.247,1,, -1988,AL,,0.017,7,, -1988,AR,,-0.195,4,, -1988,AZ,,-0.015,5,, -1988,CA,,0.037,45,, -1988,CO,,0.016,6,, -1988,CT,,0.012,6,, -1988,DE,,0.150,1,, -1988,FL,,-0.059,19,, -1988,GA,,0.120,10,, -1988,HI,,-0.184,2,, -1988,IA,,-0.144,6,, -1988,ID,,0.013,2,, -1988,IL,,0.075,22,, -1988,IN,,0.165,10,, -1988,KS,,0.029,5,, -1988,KY,,0.110,7,, -1988,LA,,0.081,8,, -1988,MA,,0.079,11,, -1988,MD,,0.063,8,, -1988,ME,,0.004,2,, -1988,MI,,0.048,18,, -1988,MN,,-0.048,8,, -1988,MO,,-0.060,9,, -1988,MS,,0.173,5,, -1988,MT,,-0.059,2,, -1988,NC,,0.162,11,, -1988,ND,,0.069,1,, -1988,NE,,0.133,3,, -1988,NH,,-0.324,2,, -1988,NJ,,0.118,14,, -1988,NM,,-0.222,3,, -1988,NV,,-0.052,2,, -1988,NY,,0.061,34,, -1988,OH,,0.001,21,, -1988,OK,,-0.041,6,, -1988,OR,,-0.140,5,, -1988,PA,,0.015,23,, -1988,RI,,-0.218,2,, -1988,SC,,0.055,6,, -1988,SD,,0.065,1,, -1988,TN,,0.111,9,, -1988,TX,,0.153,27,, -1988,UT,,-0.032,3,, -1988,VA,,0.093,10,, -1988,VT,,-0.128,1,, -1988,WA,,0.039,8,, -1988,WI,,0.084,9,, -1988,WV,,0.116,4,, -1988,WY,,-0.146,1,, -1990,AK,,-0.462,1,, -1990,AL,,-0.050,7,, -1990,AR,,0.140,4,, -1990,AZ,,-0.130,5,, -1990,CA,,0.028,45,, -1990,CO,,-0.016,6,, -1990,CT,,0.055,6,, -1990,DE,,0.166,1,, -1990,FL,,-0.023,19,, -1990,GA,,0.173,10,, -1990,HI,,0.206,2,, -1990,IA,,-0.094,6,, -1990,ID,,0.336,2,, -1990,IL,,0.042,22,, -1990,IN,,0.202,10,, -1990,KS,,-0.108,5,, -1990,KY,,0.080,7,, -1990,LA,,-0.040,8,, -1990,MA,,0.280,11,, -1990,MD,,0.080,8,, -1990,ME,,-0.100,2,, -1990,MI,,0.047,18,, -1990,MN,,0.078,8,, -1990,MO,,0.090,9,, -1990,MS,,-0.045,5,, -1990,MT,,0.010,2,, -1990,NC,,0.066,11,, -1990,ND,,0.196,1,, -1990,NE,,-0.111,3,, -1990,NH,,0.027,2,, -1990,NJ,,0.175,14,, -1990,NM,,-0.128,3,, -1990,NV,,0.023,2,, -1990,NY,,0.042,34,, -1990,OH,,-0.020,21,, -1990,OK,,-0.045,6,, -1990,OR,,0.086,5,, -1990,PA,,-0.072,23,, -1990,RI,,-0.049,2,, -1990,SC,,0.058,6,, -1990,SD,,0.149,1,, -1990,TN,,0.048,9,, -1990,TX,,0.176,27,, -1990,UT,,0.066,3,, -1990,VA,,0.107,10,, -1990,VT,,0,1,, -1990,WA,,0.048,8,, -1990,WI,,-0.096,9,, -1990,WV,,0.258,4,, -1990,WY,,-0.398,1,, -1992,AK,yes,-0.456,1,, -1992,AL,yes,-0.093,7,, -1992,AR,yes,-0.191,4,, -1992,AZ,yes,0.119,6,, -1992,CA,yes,-0.011,52,, -1992,CO,yes,-0.121,6,, -1992,CT,yes,0.164,6,, -1992,DE,yes,-0.368,1,, -1992,FL,yes,-0.028,23,, -1992,GA,yes,0.039,11,, -1992,HI,yes,-0.023,2,, -1992,IA,yes,-0.238,5,, -1992,ID,yes,0.018,2,, -1992,IL,yes,-0.022,20,, -1992,IN,yes,0.106,10,, -1992,KS,yes,0.096,4,, -1992,KY,yes,0.106,6,, -1992,LA,yes,0.027,7,, -1992,MA,yes,0.052,10,, -1992,MD,yes,-0.063,8,, -1992,ME,yes,-0.133,2,, -1992,MI,yes,0.075,16,, -1992,MN,yes,0.133,8,, -1992,MO,yes,0.066,9,, -1992,MS,yes,0.080,5,, -1992,MT,yes,0.464,1,, -1992,NC,yes,0.135,12,, -1992,ND,yes,0.319,1,, -1992,NE,yes,0.036,3,, -1992,NH,yes,-0.079,2,, -1992,NJ,yes,0.091,13,, -1992,NM,yes,-0.157,3,, -1992,NV,yes,-0.069,2,, -1992,NY,yes,0.043,31,, -1992,OH,yes,0.011,19,, -1992,OK,yes,-0.038,6,, -1992,OR,yes,0.103,5,, -1992,PA,yes,-0.010,21,, -1992,RI,yes,-0.017,2,, -1992,SC,yes,-0.039,6,, -1992,SD,yes,0.060,1,, -1992,TN,yes,0.137,9,, -1992,TX,yes,0.186,30,, -1992,UT,yes,0.211,3,, -1992,VA,yes,0.075,11,, -1992,VT,yes,0,1,, -1992,WA,yes,0.238,9,, -1992,WI,yes,-0.031,9,, -1992,WV,yes,0.134,3,, -1992,WY,yes,-0.309,1,, -1994,AK,,-0.230,1,, -1994,AL,,0.165,7,, -1994,AR,,0.052,4,, -1994,AZ,,-0.104,6,, -1994,CA,,0.039,52,, -1994,CO,,0.098,6,, -1994,CT,,0.097,6,, -1994,DE,,-0.046,1,, -1994,FL,,0.013,23,, -1994,GA,,-0.137,11,, -1994,HI,,0.206,2,, -1994,IA,,-0.342,5,, -1994,ID,,-0.201,2,, -1994,IL,,0.047,20,, -1994,IN,,0.035,10,, -1994,KS,,-0.230,4,, -1994,KY,,0.009,6,, -1994,LA,,0.010,7,, -1994,MA,,0.060,10,, -1994,MD,,0.015,8,, -1994,ME,,-0.004,2,, -1994,MI,,0.101,16,, -1994,MN,yes,0.229,8,, -1994,MO,,0.132,9,, -1994,MS,,0.139,5,, -1994,MT,,0.429,1,, -1994,NC,,-0.038,12,, -1994,ND,,0.425,1,, -1994,NE,,-0.214,3,, -1994,NH,,-0.286,2,, -1994,NJ,,-0.005,13,, -1994,NM,,0.002,3,, -1994,NV,,-0.279,2,, -1994,NY,,0.064,31,, -1994,OH,,-0.052,19,, -1994,OK,,-0.207,6,, -1994,OR,,-0.029,5,, -1994,PA,,0.036,21,, -1994,RI,,0.275,2,, -1994,SC,,0.016,6,, -1994,SD,,0.259,1,, -1994,TN,,0.014,9,, -1994,TX,,0.184,30,, -1994,UT,,-0.089,3,, -1994,VA,yes,0.110,11,, -1994,VT,,0,1,, -1994,WA,,-0.262,9,, -1994,WI,,-0.005,9,, -1994,WV,,0.177,3,, -1994,WY,,-0.374,1,, -1996,AK,,-0.260,1,, -1996,AL,,-0.124,7,, -1996,AR,,0.084,4,, -1996,AZ,,-0.118,6,, -1996,CA,,0.018,52,, -1996,CO,,-0.001,6,, -1996,CT,,0.068,6,, -1996,DE,,-0.066,1,, -1996,FL,yes,-0.038,23,, -1996,GA,yes,-0.145,11,, -1996,HI,,0.319,2,, -1996,IA,,-0.201,5,, -1996,ID,,-0.300,2,, -1996,IL,,-0.094,20,, -1996,IN,,-0.013,10,, -1996,KS,,-0.329,4,, -1996,KY,,-0.200,6,, -1996,LA,,-0.171,7,, -1996,MA,,0.206,10,, -1996,MD,,-0.070,8,, -1996,ME,,0.215,2,, -1996,MI,,0.051,16,, -1996,MN,,0.132,8,, -1996,MO,,-0.090,9,, -1996,MS,,0.005,5,, -1996,MT,,-0.403,1,, -1996,NC,,0.082,12,, -1996,ND,,0.380,1,, -1996,NE,,-0.125,3,, -1996,NH,,-0.445,2,, -1996,NJ,,-0.021,13,, -1996,NM,,-0.519,3,, -1996,NV,,-0.320,2,, -1996,NY,,-0.042,31,, -1996,OH,,-0.014,19,, -1996,OK,,-0.246,6,, -1996,OR,,0.173,5,, -1996,PA,,-0.014,21,, -1996,RI,,0.118,2,, -1996,SC,,-0.041,6,, -1996,SD,,-0.282,1,, -1996,TN,,-0.037,9,, -1996,TX,yes,0.141,30,, -1996,UT,,-0.313,3,, -1996,VA,,0.041,11,, -1996,VT,,0,1,, -1996,WA,,-0.217,9,, -1996,WI,,0.106,9,, -1996,WV,,0.132,3,, -1996,WY,,-0.350,1,, -1998,AK,,-0.212,1,, -1998,AL,,-0.118,7,, -1998,AR,,-0.008,4,, -1998,AZ,,-0.161,6,, -1998,CA,,-0.057,52,, -1998,CO,,-0.021,6,, -1998,CT,,0.116,6,, -1998,DE,,-0.148,1,, -1998,FL,,-0.046,23,, -1998,GA,,-0.081,11,, -1998,HI,,0.128,2,, -1998,IA,,-0.149,5,, -1998,ID,,-0.406,2,, -1998,IL,,-0.057,20,, -1998,IN,,0.023,10,, -1998,KS,,-0.004,4,, -1998,KY,,-0.167,6,, -1998,LA,,-0.143,7,, -1998,MA,,0.103,10,, -1998,MD,,-0.090,8,, -1998,ME,,0.116,2,, -1998,MI,,0.082,16,, -1998,MN,,0.149,8,, -1998,MO,,0.031,9,, -1998,MS,,0.046,5,, -1998,MT,,-0.403,1,, -1998,NC,yes,-0.006,12,, -1998,ND,,0.345,1,, -1998,NE,,-0.018,3,, -1998,NH,,-0.289,2,, -1998,NJ,,0.013,13,, -1998,NM,,-0.129,3,, -1998,NV,,0.174,2,, -1998,NY,yes,0.003,31,, -1998,OH,,-0.032,19,, -1998,OK,,-0.237,6,, -1998,OR,,0.154,5,, -1998,PA,,0.018,21,, -1998,RI,,0.102,2,, -1998,SC,,-0.115,6,, -1998,SD,,0.002,1,, -1998,TN,,-0.024,9,, -1998,TX,,0.143,30,, -1998,UT,,-0.287,3,, -1998,VA,yes,0.081,11,, -1998,VT,,0,1,, -1998,WA,,-0.016,9,, -1998,WI,,0.019,9,, -1998,WV,,0.041,3,, -1998,WY,,-0.302,1,, -2000,AK,,0.116,1,, -2000,AL,,-0.078,7,, -2000,AR,,0.251,4,, -2000,AZ,,-0.123,6,, -2000,CA,,0.010,52,, -2000,CO,,-0.038,6,, -2000,CT,,-0.080,6,, -2000,DE,,-0.126,1,, -2000,FL,,-0.081,23,, -2000,GA,,-0.027,11,, -2000,HI,,0.168,2,, -2000,IA,,-0.148,5,, -2000,ID,,-0.094,2,, -2000,IL,,-0.074,20,, -2000,IN,,-0.011,10,, -2000,KS,,-0.006,4,, -2000,KY,,-0.125,6,, -2000,LA,,0.004,7,, -2000,MA,,0.011,10,, -2000,MD,,-0.107,8,, -2000,ME,,0.150,2,, -2000,MI,,-0.034,16,, -2000,MN,,0.053,8,, -2000,MO,,-0.052,9,, -2000,MS,,0.079,5,, -2000,MT,,-0.447,1,, -2000,NC,yes,-0.042,12,, -2000,ND,,0.414,1,, -2000,NE,,-0.036,3,, -2000,NH,,-0.381,2,, -2000,NJ,,-0.012,13,, -2000,NM,,-0.212,3,, -2000,NV,,0.191,2,, -2000,NY,,0.004,31,, -2000,OH,,-0.022,19,, -2000,OK,,-0.079,6,, -2000,OR,,0.169,5,, -2000,PA,,-0.043,21,, -2000,RI,,0.031,2,, -2000,SC,,-0.077,6,, -2000,SD,,-0.006,1,, -2000,TN,,-0.043,9,, -2000,TX,,0.134,30,, -2000,UT,,0.000,3,, -2000,VA,,-0.166,11,, -2000,VT,,0,1,, -2000,WA,,0.084,9,, -2000,WI,,0.105,9,, -2000,WV,,-0.020,3,, -2000,WY,,-0.099,1,, -2002,AK,yes,0.123,1,, -2002,AL,yes,-0.104,7,, -2002,AR,yes,0.126,4,, -2002,AZ,yes,-0.068,8,, -2002,CA,yes,0.056,53,, -2002,CO,yes,-0.092,7,, -2002,CT,yes,-0.144,5,, -2002,DE,yes,-0.041,1,, -2002,FL,yes,-0.104,25,, -2002,GA,yes,0.061,13,, -2002,HI,yes,0.169,2,, -2002,IA,yes,-0.207,5,, -2002,ID,yes,-0.200,2,, -2002,IL,yes,-0.056,19,, -2002,IN,yes,-0.032,9,, -2002,KS,yes,-0.017,4,, -2002,KY,yes,-0.084,6,, -2002,LA,yes,0.109,7,, -2002,MA,yes,0.135,10,, -2002,MD,yes,0.159,8,, -2002,ME,yes,0.331,2,, -2002,MI,yes,-0.058,15,, -2002,MN,yes,-0.022,8,, -2002,MO,yes,0.031,9,, -2002,MS,yes,0.043,4,, -2002,MT,yes,-0.172,1,, -2002,NC,yes,-0.003,13,, -2002,ND,yes,0.452,1,, -2002,NE,yes,-0.061,3,, -2002,NH,yes,-0.317,2,, -2002,NJ,yes,0.026,13,, -2002,NM,yes,-0.204,3,, -2002,NV,yes,0.108,3,, -2002,NY,yes,0.078,29,, -2002,OH,yes,-0.048,18,, -2002,OK,yes,-0.231,5,, -2002,OR,yes,0.177,5,, -2002,PA,yes,-0.082,19,, -2002,RI,yes,0.104,2,, -2002,SC,yes,-0.002,6,, -2002,SD,yes,-0.421,1,, -2002,TN,yes,0.093,9,, -2002,TX,yes,0.118,32,, -2002,UT,yes,0.018,3,, -2002,VA,yes,-0.041,11,, -2002,VT,yes,0,1,, -2002,WA,yes,0.090,9,, -2002,WI,yes,0.027,8,, -2002,WV,yes,0.076,3,, -2002,WY,yes,-0.249,1,, -2004,AK,,0.021,1,, -2004,AL,,-0.067,7,, -2004,AR,,0.095,4,, -2004,AZ,,-0.089,8,, -2004,CA,,0.015,53,, -2004,CO,,-0.073,7,, -2004,CT,,-0.212,5,, -2004,DE,,-0.101,1,, -2004,FL,,-0.086,25,, -2004,GA,,0.073,13,, -2004,HI,,0.224,2,, -2004,IA,,-0.163,5,, -2004,ID,,-0.098,2,, -2004,IL,,-0.045,19,, -2004,IN,,-0.117,9,, -2004,KS,,-0.022,4,, -2004,KY,,-0.122,6,, -2004,LA,,0.053,7,, -2004,MA,,0.076,10,, -2004,MD,,0.062,8,, -2004,ME,,0.307,2,, -2004,MI,,-0.090,15,, -2004,MN,,-0.040,8,, -2004,MO,,0.035,9,, -2004,MS,,0.068,4,, -2004,MT,,-0.175,1,, -2004,NC,,-0.017,13,, -2004,ND,,0.309,1,, -2004,NE,,-0.119,3,, -2004,NH,,-0.262,2,, -2004,NJ,,-0.012,13,, -2004,NM,,-0.203,3,, -2004,NV,,-0.052,3,, -2004,NY,,-0.003,29,, -2004,OH,,-0.103,18,, -2004,OK,,-0.103,5,, -2004,OR,,0.189,5,, -2004,PA,,-0.117,19,, -2004,RI,,0.076,2,, -2004,SC,,-0.033,6,, -2004,SD,,0.425,1,, -2004,TN,,0.065,9,, -2004,TX,yes,-0.010,32,, -2004,UT,,0.013,3,, -2004,VA,,-0.090,11,, -2004,VT,,0,1,, -2004,WA,,-0.023,9,, -2004,WI,,0.068,8,, -2004,WV,,0.010,3,, -2004,WY,,-0.362,1,, -2006,AK,,-0.329,1,, -2006,AL,,-0.035,7,, -2006,AR,,0.053,4,, -2006,AZ,,0.023,8,, -2006,CA,,-0.013,53,, -2006,CO,,-0.012,7,, -2006,CT,,0.086,5,, -2006,DE,,-0.308,1,, -2006,FL,,-0.101,25,, -2006,GA,yes,0.080,13,, -2006,HI,,0.199,2,, -2006,IA,,0.129,5,, -2006,ID,,-0.334,2,, -2006,IL,,-0.108,19,, -2006,IN,,0.067,9,, -2006,KS,,0.126,4,, -2006,KY,,-0.061,6,, -2006,LA,,0.103,7,, -2006,MA,,0.003,10,, -2006,MD,,0.003,8,, -2006,ME,,0.135,2,, -2006,MI,,-0.145,15,, -2006,MN,,0.059,8,, -2006,MO,,-0.028,9,, -2006,MS,,-0.065,4,, -2006,MT,,-0.298,1,, -2006,NC,,-0.002,13,, -2006,ND,,0.186,1,, -2006,NE,,-0.379,3,, -2006,NH,,0.450,2,, -2006,NJ,,-0.069,13,, -2006,NM,,-0.283,3,, -2006,NV,,-0.217,3,, -2006,NY,,-0.017,29,, -2006,OH,,-0.165,18,, -2006,OK,,-0.137,5,, -2006,OR,,0.143,5,, -2006,PA,,-0.023,19,, -2006,RI,,-0.024,2,, -2006,SC,,-0.048,6,, -2006,SD,,0.096,1,, -2006,TN,,0.019,9,, -2006,TX,yes,-0.002,32,, -2006,UT,,-0.078,3,, -2006,VA,,-0.169,11,, -2006,VT,,0.411,1,, -2006,WA,,-0.052,9,, -2006,WI,,0.070,8,, -2006,WV,,0.006,3,, -2006,WY,,-0.495,1,, -2008,AK,,-0.446,1,, -2008,AL,,0.040,7,, -2008,AR,,0.105,4,, -2008,AZ,,0.109,8,, -2008,CA,,-0.084,53,, -2008,CO,,0.095,7,, -2008,CT,,0.175,5,, -2008,DE,,-0.267,1,, -2008,FL,,-0.069,25,, -2008,GA,,-0.005,13,, -2008,HI,,-0.090,2,, -2008,IA,,0.058,5,, -2008,ID,,0.185,2,, -2008,IL,,-0.071,19,, -2008,IN,,-0.001,9,, -2008,KS,,-0.045,4,, -2008,KY,,-0.111,6,, -2008,LA,,-0.177,7,, -2008,MA,,0.051,10,, -2008,MD,,0.000,8,, -2008,ME,,0.284,2,, -2008,MI,,-0.039,15,, -2008,MN,,-0.027,8,, -2008,MO,,-0.054,9,, -2008,MS,,0.088,4,, -2008,MT,,-0.172,1,, -2008,NC,,0.022,13,, -2008,ND,,0.261,1,, -2008,NE,,-0.183,3,, -2008,NH,,0.394,2,, -2008,NJ,,-0.007,13,, -2008,NM,,0.325,3,, -2008,NV,,0.079,3,, -2008,NY,,0.057,29,, -2008,OH,,0.006,18,, -2008,OK,,-0.071,5,, -2008,OR,,0.071,5,, -2008,PA,,0.030,19,, -2008,RI,,0.062,2,, -2008,SC,,-0.156,6,, -2008,SD,,0.149,1,, -2008,TN,,0.126,9,, -2008,TX,,-0.039,32,, -2008,UT,,-0.044,3,, -2008,VA,,0.045,11,, -2008,VT,,0.170,1,, -2008,WA,,-0.017,9,, -2008,WI,,0.051,8,, -2008,WV,,0.029,3,, -2008,WY,,-0.397,1,, -2010,AK,,-0.114,1,, -2010,AL,,-0.137,7,, -2010,AR,,-0.094,4,, -2010,AZ,,-0.008,8,, -2010,CA,,0.022,53,, -2010,CO,,-0.022,7,, -2010,CT,,0.313,5,, -2010,DE,,0.339,1,, -2010,FL,,-0.074,25,, -2010,GA,,0.029,13,, -2010,HI,,0.226,2,, -2010,IA,,0.209,5,, -2010,ID,,-0.228,2,, -2010,IL,,-0.122,19,, -2010,IN,,0.011,9,, -2010,KS,,-0.181,4,, -2010,KY,,0.084,6,, -2010,LA,,-0.027,7,, -2010,MA,,0.278,10,, -2010,MD,,0.008,8,, -2010,ME,,0.380,2,, -2010,MI,,-0.017,15,, -2010,MN,,0.026,8,, -2010,MO,,-0.011,9,, -2010,MS,,-0.151,4,, -2010,MT,,-0.218,1,, -2010,NC,,0.128,13,, -2010,ND,,-0.402,1,, -2010,NE,,-0.091,3,, -2010,NH,,-0.431,2,, -2010,NJ,,0.053,13,, -2010,NM,,0.135,3,, -2010,NV,,-0.108,3,, -2010,NY,,0.051,29,, -2010,OH,,-0.102,18,, -2010,OK,,0.035,5,, -2010,OR,,0.245,5,, -2010,PA,,-0.083,19,, -2010,RI,,0.312,2,, -2010,SC,,-0.174,6,, -2010,SD,,-0.476,1,, -2010,TN,,-0.001,9,, -2010,TX,,0.047,32,, -2010,UT,,0.117,3,, -2010,VA,,-0.133,11,, -2010,VT,,0.163,1,, -2010,WA,,0.026,9,, -2010,WI,,-0.017,8,, -2010,WV,,-0.059,3,, -2010,WY,,-0.016,1,, -2012,AK,yes,-0.118,1,, -2012,AL,yes,-0.148,7,, -2012,AR,yes,-0.261,4,, -2012,AZ,yes,0.147,9,, -2012,CA,yes,0.010,53,, -2012,CO,yes,-0.100,7,, -2012,CT,yes,0.180,5,, -2012,DE,yes,0.183,1,, -2012,FL,yes,-0.105,27,, -2012,GA,yes,-0.069,14,, -2012,HI,yes,0.151,2,, -2012,IA,yes,-0.031,4,, -2012,ID,yes,-0.177,2,, -2012,IL,yes,0.058,18,, -2012,IN,yes,-0.194,9,, -2012,KS,yes,-0.220,4,, -2012,KY,yes,-0.133,6,, -2012,LA,yes,-0.131,6,, -2012,MA,yes,0.135,9,, -2012,MD,yes,0.066,8,, -2012,ME,yes,0.267,2,, -2012,MI,yes,-0.197,14,, -2012,MN,yes,0.013,8,, -2012,MO,yes,-0.117,8,, -2012,MS,yes,-0.135,4,, -2012,MT,yes,-0.390,1,, -2012,NC,yes,-0.211,13,, -2012,ND,yes,-0.363,1,, -2012,NE,yes,-0.215,3,, -2012,NH,yes,0.455,2,, -2012,NJ,yes,-0.112,12,, -2012,NM,yes,0.064,3,, -2012,NV,yes,0.004,4,, -2012,NY,yes,-0.023,27,, -2012,OH,yes,-0.223,16,, -2012,OK,yes,-0.148,5,, -2012,OR,yes,0.151,5,, -2012,PA,yes,-0.237,18,, -2012,RI,yes,0.321,2,, -2012,SC,yes,-0.228,7,, -2012,SD,yes,-0.351,1,, -2012,TN,yes,-0.057,9,, -2012,TX,yes,-0.006,36,, -2012,UT,yes,0.083,4,, -2012,VA,yes,-0.208,11,, -2012,VT,yes,-0.011,1,, -2012,WA,yes,0.011,10,, -2012,WI,yes,-0.140,8,, -2012,WV,yes,0.032,3,, -2012,WY,yes,-0.014,1,, -2014,AK,,-0.391,1,, -2014,AL,,-0.091,7,, -2014,AR,,-0.272,4,, -2014,AZ,,0.075,9,, -2014,CA,,0.097,53,, -2014,CO,,-0.038,7,, -2014,CT,,0.281,5,, -2014,DE,,0.266,1,, -2014,FL,,-0.038,27,, -2014,GA,,-0.090,14,, -2014,HI,,0.176,2,, -2014,IA,,-0.172,4,, -2014,ID,,-0.236,2,, -2014,IL,,0.027,18,, -2014,IN,,-0.056,9,, -2014,KS,,-0.231,4,, -2014,KY,,-0.062,6,, -2014,LA,,-0.001,6,, -2014,MA,,0.203,9,, -2014,MD,,0.212,8,, -2014,ME,,-0.145,2,, -2014,MI,,-0.160,14,, -2014,MN,,0.114,8,, -2014,MO,,-0.010,8,, -2014,MS,,-0.051,4,, -2014,MT,,-0.343,1,, -2014,NC,,-0.196,13,, -2014,ND,,-0.319,1,, -2014,NE,,0.129,3,, -2014,NH,,-0.031,2,, -2014,NJ,,-0.026,12,, -2014,NM,,0.107,3,, -2014,NV,,-0.066,4,, -2014,NY,,0.039,27,, -2014,OH,,-0.082,16,, -2014,OK,,-0.057,5,, -2014,OR,,0.157,5,, -2014,PA,,-0.151,18,, -2014,RI,,0.278,2,, -2014,SC,,-0.173,7,, -2014,SD,,-0.169,1,, -2014,TN,,0.005,9,, -2014,TX,,0.056,36,, -2014,UT,,-0.187,4,, -2014,VA,,-0.129,11,, -2014,VT,,0.150,1,, -2014,WA,,0.015,10,, -2014,WI,,-0.069,8,, -2014,WV,,-0.358,3,, -2014,WY,,-0.001,1,, -2016,AK,,-0.334,1,, -2016,AL,,-0.097,7,, -2016,AR,,-0.140,4,, -2016,AZ,,0.029,9,, -2016,CA,,-0.012,53,, -2016,CO,,-0.062,7,, -2016,CT,,0.221,5,, -2016,DE,,0.349,1,, -2016,FL,yes,-0.029,27,, -2016,GA,,-0.100,14,, -2016,HI,,-0.074,2,, -2016,IA,,-0.191,4,, -2016,ID,,-0.137,2,, -2016,IL,,0.018,18,, -2016,IN,,-0.072,9,, -2016,KS,,-0.218,4,, -2016,KY,,-0.032,6,, -2016,LA,,0.031,6,, -2016,MA,,0.084,9,, -2016,MD,,0.116,8,, -2016,ME,,-0.039,2,, -2016,MI,,-0.132,14,, -2016,MN,,0.089,8,, -2016,MO,,-0.038,8,, -2016,MS,,-0.035,4,, -2016,MT,,-0.338,1,, -2016,NC,yes,-0.203,13,, -2016,ND,,-0.011,1,, -2016,NE,,-0.205,3,, -2016,NH,,0.469,2,, -2016,NJ,,0.001,12,, -2016,NM,,0.046,3,, -2016,NV,,0.240,4,, -2016,NY,,-0.063,27,, -2016,OH,,-0.087,16,, -2016,OK,,-0.079,5,, -2016,OR,,0.177,5,, -2016,PA,,-0.189,18,, -2016,RI,,0.198,2,, -2016,SC,,-0.154,7,, -2016,SD,,-0.218,1,, -2016,TN,,0.017,9,, -2016,TX,,-0.038,36,, -2016,UT,,-0.168,4,, -2016,VA,yes,-0.106,11,, -2016,VT,,0.058,1,, -2016,WA,,-0.013,10,, -2016,WI,,-0.057,8,, -2016,WV,,-0.171,3,, -2016,WY,,-0.152,1,, -2018,AK,,-0.434,1,, -2018,AL,,-0.155,7,, -2018,AR,,-0.220,4,, -2018,AZ,,0.048,9,, -2018,CA,,0.057,53,, -2018,CO,,-0.037,7,, -2018,CT,,0.253,5,, -2018,DE,,0.211,1,, -2018,FL,,-0.014,27,, -2018,GA,,-0.112,14,, -2018,HI,,-0.034,2,, -2018,IA,,0.209,4,, -2018,ID,,-0.221,2,, -2018,IL,,0.000,18,, -2018,IN,,-0.168,9,, -2018,KS,,-0.154,4,, -2018,KY,,-0.125,6,, -2018,LA,,-0.097,6,, -2018,MA,,0.114,9,, -2018,MD,,0.037,8,, -2018,ME,,0.348,2,, -2018,MI,,-0.074,14,, -2018,MN,,0.015,8,, -2018,MO,,-0.122,8,, -2018,MS,,-0.084,4,, -2018,MT,,-0.452,1,, -2018,NC,,-0.279,13,, -2018,ND,,-0.178,1,, -2018,NE,,-0.259,3,, -2018,NH,,0.389,2,, -2018,NJ,,0.201,12,, -2018,NM,,0.292,3,, -2018,NV,,0.195,4,, -2018,NY,,-0.036,27,, -2018,OH,,-0.202,16,, -2018,OK,,-0.039,5,, -2018,OR,,0.097,5,, -2018,PA,yes,-0.080,18,, -2018,RI,,0.197,2,, -2018,SC,,-0.114,7,, -2018,SD,,-0.248,1,, -2018,TN,,-0.074,9,, -2018,TX,,-0.080,36,, -2018,UT,,-0.005,4,, -2018,VA,,0.027,11,, -2018,VT,,0.045,1,, -2018,WA,,0.002,10,, -2018,WI,,-0.174,8,, -2018,WV,,-0.321,3,, -2018,WY,,-0.138,1,, -2020,AK,,-0.408,1,, -2020,AL,,-0.101,7,, -2020,AR,,-0.176,4,, -2020,AZ,,0.058,9,, -2020,CA,,0.018,53,, -2020,CO,,-0.027,7,, -2020,CT,,0.283,5,, -2020,DE,,0.322,1,, -2020,FL,,-0.050,27,, -2020,GA,,-0.052,14,, -2020,HI,,0.109,2,, -2020,IA,,-0.190,4,, -2020,ID,,-0.126,2,, -2020,IL,,0.083,18,, -2020,IN,,-0.092,9,, -2020,KS,,-0.086,4,, -2020,KY,,-0.034,6,, -2020,LA,,-0.071,6,, -2020,MA,,0.142,9,, -2020,MD,,0.074,8,, -2020,ME,,0.341,2,, -2020,MI,,-0.013,14,, -2020,MN,,-0.026,8,, -2020,MO,,-0.059,8,, -2020,MS,,-0.044,4,, -2020,MT,,-0.372,1,, -2020,NC,yes,-0.088,13,, -2020,ND,,-0.071,1,, -2020,NE,,-0.216,3,, -2020,NH,,0.422,2,, -2020,NJ,,0.174,12,, -2020,NM,,0.069,3,, -2020,NV,,0.226,4,, -2020,NY,,-0.042,27,, -2020,OH,,-0.110,16,, -2020,OK,,-0.126,5,, -2020,OR,,0.159,5,, -2020,PA,,0.013,18,, -2020,RI,,0.261,2,, -2020,SC,,-0.222,7,, -2020,SD,,-0.170,1,, -2020,TN,,-0.025,9,, -2020,TX,,-0.044,36,, -2020,UT,,-0.234,4,, -2020,VA,,0.060,11,, -2020,VT,,0.073,1,, -2020,WA,,0.059,10,, -2020,WI,,-0.096,8,, -2020,WV,,-0.149,3,, -2020,WY,,-0.028,1,, -2022,AK,yes,0.401,1,, -2022,AL,yes,-0.006,7,, -2022,AR,yes,-0.125,4,, -2022,AZ,yes,-0.088,9,, -2022,CA,yes,0.051,52,, -2022,CO,yes,-0.005,8,, -2022,CT,yes,0.344,5,, -2022,DE,yes,0.373,1,, -2022,FL,yes,-0.055,28,, -2022,GA,yes,-0.097,14,, -2022,HI,yes,0.127,2,, -2022,IA,yes,-0.374,4,, -2022,ID,yes,-0.128,2,, -2022,IL,yes,0.212,17,, -2022,IN,yes,-0.063,9,, -2022,KS,yes,-0.105,4,, -2022,KY,yes,-0.013,6,, -2022,LA,yes,-0.026,6,, -2022,MA,yes,0.168,9,, -2022,MD,yes,0.072,8,, -2022,ME,yes,0.334,2,, -2022,MI,yes,0.015,13,, -2022,MN,yes,-0.020,8,, -2022,MO,yes,-0.037,8,, -2022,MS,yes,0.038,4,, -2022,MT,yes,-0.286,2,, -2022,NC,yes,0.043,14,, -2022,ND,yes,-0.081,1,, -2022,NE,yes,-0.225,3,, -2022,NH,yes,0.401,2,, -2022,NJ,yes,0.153,12,, -2022,NM,yes,0.399,3,, -2022,NV,yes,0.285,4,, -2022,NY,yes,-0.032,26,, -2022,OH,yes,-0.037,15,, -2022,OK,yes,-0.139,5,, -2022,OR,yes,0.080,6,, -2022,PA,yes,0.049,17,, -2022,RI,yes,0.353,2,, -2022,SC,yes,-0.149,7,, -2022,SD,yes,-0.138,1,, -2022,TN,yes,-0.081,9,, -2022,TX,yes,-0.022,38,, -2022,UT,yes,-0.175,4,, -2022,VA,yes,0.009,11,, -2022,VT,yes,0.115,1,, -2022,WA,yes,0.138,10,, -2022,WI,yes,-0.228,8,, -2022,WV,yes,-0.148,2,, -2022,WY,yes,-0.027,1,, -2024,AK,,-0.476,1,, -2024,AL,yes,0.098,7,, -2024,AR,,-0.139,4,, -2024,AZ,,-0.127,9,, -2024,CA,,0.120,52,, -2024,CO,,-0.121,8,, -2024,CT,,0.314,5,, -2024,DE,,0.343,1,, -2024,FL,,-0.072,28,, -2024,GA,yes,-0.091,14,, -2024,HI,,0.095,2,, -2024,IA,,-0.370,4,, -2024,ID,,-0.093,2,, -2024,IL,,0.205,17,, -2024,IN,,-0.074,9,, -2024,KS,,-0.074,4,, -2024,KY,,0.008,6,, -2024,LA,,0.098,6,, -2024,MA,yes,0.175,9,, -2024,MD,,0.081,8,, -2024,ME,,0.380,2,, -2024,MI,,-0.026,13,, -2024,MN,,-0.009,8,, -2024,MO,,-0.044,8,, -2024,MS,,0.002,4,, -2024,MT,,-0.308,2,, -2024,NC,yes,-0.174,14,, -2024,ND,,-0.110,1,, -2024,NE,,-0.228,3,, -2024,NH,,0.430,2,, -2024,NJ,,0.177,12,, -2024,NM,,0.399,3,, -2024,NV,,0.261,4,, -2024,NY,yes,0.083,26,, -2024,OH,,-0.035,15,, -2024,OK,,-0.118,5,, -2024,OR,,0.217,6,, -2024,PA,,-0.054,17,, -2024,RI,,0.262,2,, -2024,SC,,-0.148,7,, -2024,SD,,-0.059,1,, -2024,TN,,-0.072,9,, -2024,TX,,-0.002,38,, -2024,UT,,-0.182,4,, -2024,VA,,0.007,11,, -2024,VT,,0.147,1,, -2024,WA,,0.133,10,, -2024,WI,,-0.220,8,, -2024,WV,,-0.076,2,, -2024,WY,,0.005,1,, -2026,AK,,-0.476,1,, -2026,AL,,0.098,7,, -2026,AR,,-0.139,4,, -2026,AZ,,-0.127,9,, -2026,CA,yes,0.136,52,https://planscore.org/plan.html?20251109T005753.161170853Z,"[[0.909,0.552,330569],[0.999,0.618,377001],[0.852,0.542,353947],[0.943,0.564,333683],[0.001,0.379,353485],[0.767,0.531,325393],[0.908,0.555,335783],[1.0,0.668,302537],[0.887,0.55,259943],[1.0,0.668,365086],[1.0,0.853,346331],[1.0,0.89,303004],[0.403,0.489,202292],[1.0,0.673,274182],[1.0,0.742,294820],[1.0,0.747,328010],[1.0,0.698,252833],[1.0,0.638,230009],[1.0,0.673,363205],[0.0,0.318,308245],[0.673,0.519,196372],[0.274,0.475,166568],[0.004,0.387,269436],[0.999,0.621,340520],[0.694,0.52,264046],[0.963,0.571,333582],[0.828,0.538,286981],[1.0,0.623,316016],[1.0,0.669,231623],[1.0,0.704,329716],[0.888,0.554,283088],[1.0,0.624,349405],[0.843,0.54,241058],[1.0,0.763,204823],[0.755,0.53,252500],[1.0,0.695,373019],[1.0,0.808,227897],[0.904,0.553,252922],[0.84,0.539,227908],[0.036,0.422,369563],[0.943,0.562,301451],[0.936,0.56,338649],[1.0,0.75,216225],[1.0,0.677,212795],[0.562,0.507,291837],[0.954,0.573,220370],[0.86,0.542,344461],[0.552,0.507,320207],[0.893,0.553,376006],[0.987,0.587,360452],[0.982,0.585,345233],[0.976,0.581,265500]]" -2026,CO,,-0.121,8,, -2026,CT,,0.314,5,, -2026,DE,,0.343,1,, -2026,FL,,-0.072,28,, -2026,GA,,-0.091,14,, -2026,HI,,0.095,2,, -2026,IA,,-0.370,4,, -2026,ID,,-0.093,2,, -2026,IL,,0.205,17,, -2026,IN,,-0.074,9,, -2026,KS,,-0.074,4,, -2026,KY,,0.008,6,, -2026,LA,,0.098,6,, -2026,MA,,0.175,9,, -2026,MD,,0.081,8,, -2026,ME,,0.380,2,, -2026,MI,,-0.026,13,, -2026,MN,,-0.009,8,, -2026,MO,yes,-0.161,8,https://planscore.org/plan.html?20251116T014919.269577678Z,"[[1.0,0.8,310718],[0.048,0.433,415798],[0.004,0.389,400723],[0.001,0.381,391097],[0.005,0.399,327699],[0.0,0.353,371821],[0.0,0.269,370939],[0.0,0.209,363791]]" -2026,MS,yes,0.007,4,https://planscore.org/plan.html?20251228T184417.650378800Z,"[[0.0,0.283,319751],[1.0,0.644,283691],[0.0,0.324,320273],[0.0,0.255,290696]]" -2026,MT,,-0.308,2,, -2026,NC,yes,-0.227,14,https://planscore.org/plan.html?20251220T215350.341663516Z,"[[0.244,0.477,412424],[1.0,0.685,403685],[0.012,0.423,342337],[1.0,0.737,427800],[0.003,0.406,403093],[0.008,0.408,385622],[0.009,0.424,437996],[0.001,0.397,404040],[0.005,0.412,377628],[0.004,0.405,410898],[0.051,0.443,433922],[1.0,0.741,346755],[0.007,0.409,419635],[0.01,0.416,403525]]" -2026,ND,,-0.110,1,, -2026,NE,,-0.228,3,, -2026,NH,,0.430,2,, -2026,NJ,,0.177,12,, -2026,NM,,0.399,3,, -2026,NV,,0.261,4,, -2026,NY,,0.083,26,, -2026,OH,yes,-0.15,15,https://planscore.org/plan.html?20251030T231915.464256903Z,"[[0.213,0.469,393485],[0.0,0.248,373151],[1.0,0.709,354655],[0.0,0.245,392876],[0.0,0.353,383974],[0.0,0.29,362582],[0.025,0.422,422478],[0.006,0.395,398786],[0.036,0.426,377567],[0.066,0.441,375479],[1.0,0.791,318228],[0.0,0.317,406615],[0.506,0.502,386792],[0.001,0.369,410013],[0.03,0.426,357133]]" -2026,OK,,-0.118,5,, -2026,OR,,0.217,6,, -2026,PA,,-0.054,17,, -2026,RI,,0.262,2,, -2026,SC,,-0.148,7,, -2026,SD,,-0.059,1,, -2026,TN,,-0.072,9,, -2026,TX,yes,-0.131,38,https://planscore.org/plan.html?20251219T184700.037794076Z,"[[0.0,0.231,322789],[0.0,0.374,324879],[0.0,0.363,360471],[0.0,0.358,359800],[0.0,0.376,289675],[0.0,0.367,305093],[1.0,0.647,243178],[0.0,0.371,307201],[0.009,0.423,206561],[0.0,0.385,348072],[0.0,0.308,288718],[0.0,0.363,310418],[0.0,0.245,300574],[0.0,0.339,319160],[0.001,0.395,225827],[0.999,0.603,228701],[0.0,0.377,315012],[1.0,0.8,256659],[0.0,0.234,279570],[1.0,0.667,223891],[0.002,0.389,409493],[0.001,0.395,335361],[0.005,0.408,312690],[0.003,0.404,366050],[0.0,0.363,305656],[0.0,0.363,382101],[0.001,0.375,319985],[0.157,0.465,197404],[1.0,0.679,177312],[1.0,0.75,240014],[0.0,0.37,346093],[0.007,0.412,316848],[1.0,0.69,204530],[0.153,0.466,238229],[0.057,0.447,298179],[0.0,0.313,297228],[1.0,0.813,320120],[0.001,0.395,344997]]" -2026,UT,yes,-0.022,4,https://planscore.org/plan.html?20260110T175512.890920068Z,"[[0.944,0.559,317805],[0.0,0.35,356976],[0.0,0.3,376228],[0.0,0.336,393802]]" -2026,VA,,0.007,11,, -2026,VT,,0.147,1,, -2026,WA,,0.133,10,, -2026,WI,,-0.220,8,, -2026,WV,,-0.076,2,, -2026,WY,,0.005,1,, -predict,AK,,0.0,1,, -predict,AL,,0.0,7,, -predict,AR,,0.0,4,, -predict,AZ,,0.0,9,, -predict,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z,"[[0.909,0.552,330569],[0.999,0.618,377001],[0.852,0.542,353947],[0.943,0.564,333683],[0.001,0.379,353485],[0.767,0.531,325393],[0.908,0.555,335783],[1.0,0.668,302537],[0.887,0.55,259943],[1.0,0.668,365086],[1.0,0.853,346331],[1.0,0.89,303004],[0.403,0.489,202292],[1.0,0.673,274182],[1.0,0.742,294820],[1.0,0.747,328010],[1.0,0.698,252833],[1.0,0.638,230009],[1.0,0.673,363205],[0.0,0.318,308245],[0.673,0.519,196372],[0.274,0.475,166568],[0.004,0.387,269436],[0.999,0.621,340520],[0.694,0.52,264046],[0.963,0.571,333582],[0.828,0.538,286981],[1.0,0.623,316016],[1.0,0.669,231623],[1.0,0.704,329716],[0.888,0.554,283088],[1.0,0.624,349405],[0.843,0.54,241058],[1.0,0.763,204823],[0.755,0.53,252500],[1.0,0.695,373019],[1.0,0.808,227897],[0.904,0.553,252922],[0.84,0.539,227908],[0.036,0.422,369563],[0.943,0.562,301451],[0.936,0.56,338649],[1.0,0.75,216225],[1.0,0.677,212795],[0.562,0.507,291837],[0.954,0.573,220370],[0.86,0.542,344461],[0.552,0.507,320207],[0.893,0.553,376006],[0.987,0.587,360452],[0.982,0.585,345233],[0.976,0.581,265500]]" -predict,CO,,0.0,8,, -predict,CT,,0.0,5,, -predict,DE,,0.0,1,, -predict,FL,,0.0,28,, -predict,GA,,0.0,14,, -predict,HI,,0.0,2,, -predict,IA,,0.0,4,, -predict,ID,,0.0,2,, -predict,IL,,0.0,17,, -predict,IN,,0.0,9,, -predict,KS,,0.0,4,, -predict,KY,,0.0,6,, -predict,LA,,0.0,6,, -predict,MA,,0.0,9,, -predict,MD,,0.0,8,, -predict,ME,,0.0,2,, -predict,MI,,0.0,13,, -predict,MN,,0.0,8,, -predict,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z,"[[1.0,0.8,310718],[0.048,0.433,415798],[0.004,0.389,400723],[0.001,0.381,391097],[0.005,0.399,327699],[0.0,0.353,371821],[0.0,0.269,370939],[0.0,0.209,363791]]" -predict,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z,"[[0.0,0.283,319751],[1.0,0.644,283691],[0.0,0.324,320273],[0.0,0.255,290696]]" -predict,MT,,0.0,2,, -predict,NC,yes,0.0,14,https://planscore.org/plan.html?20251220T215350.341663516Z,"[[0.244,0.477,412424],[1.0,0.685,403685],[0.012,0.423,342337],[1.0,0.737,427800],[0.003,0.406,403093],[0.008,0.408,385622],[0.009,0.424,437996],[0.001,0.397,404040],[0.005,0.412,377628],[0.004,0.405,410898],[0.051,0.443,433922],[1.0,0.741,346755],[0.007,0.409,419635],[0.01,0.416,403525]]" -predict,ND,,0.0,1,, -predict,NE,,0.0,3,, -predict,NH,,0.0,2,, -predict,NJ,,0.0,12,, -predict,NM,,0.0,3,, -predict,NV,,0.0,4,, -predict,NY,,0.0,26,, -predict,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z,"[[0.213,0.469,393485],[0.0,0.248,373151],[1.0,0.709,354655],[0.0,0.245,392876],[0.0,0.353,383974],[0.0,0.29,362582],[0.025,0.422,422478],[0.006,0.395,398786],[0.036,0.426,377567],[0.066,0.441,375479],[1.0,0.791,318228],[0.0,0.317,406615],[0.506,0.502,386792],[0.001,0.369,410013],[0.03,0.426,357133]]" -predict,OK,,0.0,5,, -predict,OR,,0.0,6,, -predict,PA,,0.0,17,, -predict,RI,,0.0,2,, -predict,SC,,0.0,7,, -predict,SD,,0.0,1,, -predict,TN,,0.0,9,, -predict,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z,"[[0.0,0.231,322789],[0.0,0.374,324879],[0.0,0.363,360471],[0.0,0.358,359800],[0.0,0.376,289675],[0.0,0.367,305093],[1.0,0.647,243178],[0.0,0.371,307201],[0.009,0.423,206561],[0.0,0.385,348072],[0.0,0.308,288718],[0.0,0.363,310418],[0.0,0.245,300574],[0.0,0.339,319160],[0.001,0.395,225827],[0.999,0.603,228701],[0.0,0.377,315012],[1.0,0.8,256659],[0.0,0.234,279570],[1.0,0.667,223891],[0.002,0.389,409493],[0.001,0.395,335361],[0.005,0.408,312690],[0.003,0.404,366050],[0.0,0.363,305656],[0.0,0.363,382101],[0.001,0.375,319985],[0.157,0.465,197404],[1.0,0.679,177312],[1.0,0.75,240014],[0.0,0.37,346093],[0.007,0.412,316848],[1.0,0.69,204530],[0.153,0.466,238229],[0.057,0.447,298179],[0.0,0.313,297228],[1.0,0.813,320120],[0.001,0.395,344997]]" -predict,UT,yes,0.0,4,https://planscore.org/plan.html?20260109T043743.846525206Z,"[[0.944,0.559,317805],[0.0,0.35,356976],[0.0,0.3,376228],[0.0,0.336,393802]]" -predict,VA,,0.0,11,, -predict,VT,,0.0,1,, -predict,WA,,0.0,10,, -predict,WI,,0.0,8,, -predict,WV,,0.0,2,, -predict,WY,,0.0,1,, +cycle,stateabrev,newplan,EG,seats,url +1972,AK,yes,-0.625,1, +1972,AL,yes,-0.030,7, +1972,AR,yes,0.235,4, +1972,AZ,yes,-0.207,4, +1972,CA,yes,-0.006,43, +1972,CO,yes,-0.043,5, +1972,CT,yes,0.025,6, +1972,DE,yes,-0.242,1, +1972,FL,yes,0.194,15, +1972,GA,yes,0.338,10, +1972,HI,yes,0.382,2, +1972,IA,yes,-0.033,6, +1972,ID,yes,-0.231,2, +1972,IL,yes,-0.065,24, +1972,IN,yes,-0.060,11, +1972,KS,yes,0.056,5, +1972,KY,yes,0.208,7, +1972,LA,yes,0.129,8, +1972,MA,yes,0.101,12, +1972,MD,yes,-0.040,8, +1972,ME,yes,-0.057,2, +1972,MI,yes,-0.025,19, +1972,MN,yes,-0.082,8, +1972,MO,yes,0.206,10, +1972,MS,yes,0.024,5, +1972,MT,yes,-0.210,2, +1972,NC,yes,0.114,11, +1972,ND,yes,-0.043,1, +1972,NE,yes,-0.181,3, +1972,NH,yes,-0.095,2, +1972,NJ,yes,0.042,15, +1972,NM,yes,-0.126,2, +1972,NV,yes,-0.457,1, +1972,NY,yes,0.053,39, +1972,OH,yes,-0.132,23, +1972,OK,yes,0.194,6, +1972,OR,yes,0.048,4, +1972,PA,yes,0.084,25, +1972,RI,yes,0.246,2, +1972,SC,yes,0.023,6, +1972,SD,yes,-0.062,2, +1972,TN,yes,-0.101,8, +1972,TX,yes,0.131,24, +1972,UT,yes,0.378,2, +1972,VA,yes,-0.113,10, +1972,VT,yes,-0.200,1, +1972,WA,yes,0.038,7, +1972,WI,yes,-0.082,9, +1972,WV,yes,0.318,4, +1972,WY,yes,0.466,1, +1974,AK,,-0.423,1, +1974,AL,,-0.047,7, +1974,AR,,-0.038,4, +1974,AZ,,-0.256,4, +1974,CA,yes,0.019,43, +1974,CO,,0.037,5, +1974,CT,,-0.003,6, +1974,DE,,-0.307,1, +1974,FL,,0.072,15, +1974,GA,,0.165,10, +1974,HI,,0.278,2, +1974,IA,,0.250,6, +1974,ID,,-0.360,2, +1974,IL,,-0.084,24, +1974,IN,,0.210,11, +1974,KS,,-0.175,5, +1974,KY,,-0.077,7, +1974,LA,,-0.011,8, +1974,MA,,0.077,12, +1974,MD,,-0.083,8, +1974,ME,,-0.298,2, +1974,MI,,-0.048,19, +1974,MN,,-0.053,8, +1974,MO,,0.058,10, +1974,MS,,0.077,5, +1974,MT,,0.328,2, +1974,NC,,0.091,11, +1974,ND,,-0.386,1, +1974,NE,,-0.445,3, +1974,NH,,0.118,2, +1974,NJ,,0.035,15, +1974,NM,,-0.041,2, +1974,NV,,0.290,1, +1974,NY,yes,0.046,39, +1974,OH,,-0.149,23, +1974,OK,,0.084,6, +1974,OR,,0.218,4, +1974,PA,,-0.082,25, +1974,RI,,-0.014,2, +1974,SC,,0.161,6, +1974,SD,,-0.274,2, +1974,TN,,0.094,8, +1974,TX,yes,0.050,24, +1974,UT,,0.329,2, +1974,VA,,-0.048,10, +1974,VT,,-0.337,1, +1974,WA,,0.179,7, +1974,WI,,0.084,9, +1974,WV,,0.176,4, +1974,WY,,0.406,1, +1976,AK,,-0.080,1, +1976,AL,,-0.126,7, +1976,AR,,-0.033,4, +1976,AZ,,-0.022,4, +1976,CA,,0.052,43, +1976,CO,,0.181,5, +1976,CT,,0.144,6, +1976,DE,,-0.461,1, +1976,FL,,0.037,15, +1976,GA,,0.150,10, +1976,HI,,0.093,2, +1976,IA,,0.019,6, +1976,ID,,-0.447,2, +1976,IL,,-0.031,24, +1976,IN,,0.146,11, +1976,KS,,0.120,5, +1976,KY,,0.038,7, +1976,LA,,0.006,8, +1976,MA,,0.079,12, +1976,MD,,-0.105,8, +1976,ME,,-0.149,2, +1976,MI,,-0.037,19, +1976,MN,,-0.111,8, +1976,MO,,0.158,10, +1976,MS,,-0.005,5, +1976,MT,,-0.125,2, +1976,NC,,0.098,11, +1976,ND,,-0.231,1, +1976,NE,,0.126,3, +1976,NH,,-0.076,2, +1976,NJ,,0.117,15, +1976,NM,,0.073,2, +1976,NV,,-0.229,1, +1976,NY,,0.034,39, +1976,OH,,-0.024,23, +1976,OK,,0.039,6, +1976,OR,,0.208,4, +1976,PA,,0.066,25, +1976,RI,,0.090,2, +1976,SC,,0.130,6, +1976,SD,,0.006,2, +1976,TN,yes,0.021,8, +1976,TX,,0.188,24, +1976,UT,,-0.029,2, +1976,VA,,-0.090,10, +1976,VT,,-0.129,1, +1976,WA,,0.049,7, +1976,WI,,0.109,9, +1976,WV,,0.152,4, +1976,WY,,0.371,1, +1978,AK,,-0.390,1, +1978,AL,,-0.115,7, +1978,AR,,0.018,4, +1978,AZ,,0.113,4, +1978,CA,,0.043,43, +1978,CO,,0.143,5, +1978,CT,,0.167,6, +1978,DE,,-0.329,1, +1978,FL,,0.128,15, +1978,GA,,-0.005,10, +1978,HI,,-0.169,2, +1978,IA,,0.004,6, +1978,ID,,-0.327,2, +1978,IL,,-0.065,24, +1978,IN,,0.087,11, +1978,KS,,-0.192,5, +1978,KY,,0.042,7, +1978,LA,,0.252,8, +1978,MA,,0.078,12, +1978,MD,,0.004,8, +1978,ME,,-0.306,2, +1978,MI,,0.042,19, +1978,MN,,0.016,8, +1978,MO,,0.046,10, +1978,MS,,-0.058,5, +1978,MT,,-0.013,2, +1978,NC,,0.152,11, +1978,ND,,-0.130,1, +1978,NE,,0.090,3, +1978,NH,,0.044,2, +1978,NJ,,0.057,15, +1978,NM,,0.027,2, +1978,NV,,0.002,1, +1978,NY,,0.059,39, +1978,OH,,0.001,23, +1978,OK,,0.143,6, +1978,OR,,0.203,4, +1978,PA,,0.073,25, +1978,RI,,0.368,2, +1978,SC,,0.005,6, +1978,SD,,0.059,2, +1978,TN,,0.117,8, +1978,TX,,0.179,24, +1978,UT,,0.118,2, +1978,VA,,0.031,10, +1978,VT,,0.092,1, +1978,WA,,0.298,7, +1978,WI,,0.105,9, +1978,WV,,0.262,4, +1978,WY,,-0.327,1, +1980,AK,,-0.018,1, +1980,AL,,-0.053,7, +1980,AR,,0.163,4, +1980,AZ,,0.048,4, +1980,CA,,0.077,43, +1980,CO,,0.201,5, +1980,CT,,0.125,6, +1980,DE,,-0.255,1, +1980,FL,,0.109,15, +1980,GA,,0.053,10, +1980,HI,,-0.241,2, +1980,IA,,-0.027,6, +1980,ID,,-0.377,2, +1980,IL,,-0.001,24, +1980,IN,,0.051,11, +1980,KS,,-0.170,5, +1980,KY,,0.030,7, +1980,LA,,0.331,8, +1980,MA,,0.134,12, +1980,MD,,0.141,8, +1980,ME,,-0.037,2, +1980,MI,,0.067,19, +1980,MN,,-0.082,8, +1980,MO,,0.017,10, +1980,MS,,0.200,5, +1980,MT,,-0.041,2, +1980,NC,,0.062,11, +1980,ND,,0.357,1, +1980,NE,,-0.041,3, +1980,NH,,0.026,2, +1980,NJ,,0.053,15, +1980,NM,,-0.468,2, +1980,NV,,0.053,1, +1980,NY,,0.076,39, +1980,OH,,0.058,23, +1980,OK,,0.212,6, +1980,OR,,0.051,4, +1980,PA,,-0.026,25, +1980,RI,,-0.106,2, +1980,SC,,-0.172,6, +1980,SD,,-0.085,2, +1980,TN,,0.023,8, +1980,TX,,0.224,24, +1980,UT,,-0.295,2, +1980,VA,,-0.147,10, +1980,VT,,-0.025,1, +1980,WA,,0.200,7, +1980,WI,,0.048,9, +1980,WV,,-0.140,4, +1980,WY,,-0.129,1, +1982,AK,yes,-0.077,1, +1982,AL,yes,-0.080,7, +1982,AR,yes,-0.047,4, +1982,AZ,yes,0.036,5, +1982,CA,yes,0.115,45, +1982,CO,yes,0.039,6, +1982,CT,yes,0.080,6, +1982,DE,yes,0.439,1, +1982,FL,yes,0.005,19, +1982,GA,yes,0.045,10, +1982,HI,yes,-0.034,2, +1982,IA,yes,-0.053,6, +1982,ID,yes,-0.440,2, +1982,IL,yes,-0.067,22, +1982,IN,yes,0.015,10, +1982,KS,yes,-0.026,5, +1982,KY,yes,-0.083,7, +1982,LA,yes,0.075,8, +1982,MA,yes,0.100,11, +1982,MD,yes,0.014,8, +1982,ME,yes,-0.335,2, +1982,MI,yes,0.026,18, +1982,MN,yes,0.022,8, +1982,MO,yes,0.024,9, +1982,MS,yes,0.042,5, +1982,MT,yes,-0.076,2, +1982,NC,yes,0.154,11, +1982,ND,yes,0.058,1, +1982,NE,yes,-0.140,3, +1982,NH,yes,0.148,2, +1982,NJ,yes,0.006,14, +1982,NM,yes,-0.194,3, +1982,NV,yes,0.007,2, +1982,NY,yes,-0.005,34, +1982,OH,yes,-0.090,21, +1982,OK,yes,0.064,6, +1982,OR,yes,-0.039,5, +1982,PA,yes,0.001,23, +1982,RI,yes,-0.050,2, +1982,SC,yes,-0.019,6, +1982,SD,yes,0.469,1, +1982,TN,yes,-0.055,9, +1982,TX,yes,0.110,27, +1982,UT,yes,-0.337,3, +1982,VA,yes,-0.063,10, +1982,VT,yes,-0.002,1, +1982,WA,yes,0.059,8, +1982,WI,yes,-0.047,9, +1982,WV,yes,0.242,4, +1982,WY,yes,-0.078,1, +1984,AK,,-0.362,1, +1984,AL,,0.015,7, +1984,AR,,0.284,4, +1984,AZ,,-0.011,5, +1984,CA,yes,0.097,45, +1984,CO,,0.034,6, +1984,CT,,0.066,6, +1984,DE,,0.329,1, +1984,FL,,0.148,19, +1984,GA,,0.036,10, +1984,HI,,-0.197,2, +1984,IA,,-0.105,6, +1984,ID,,0.186,2, +1984,IL,,0.062,22, +1984,IN,,0.058,10, +1984,KS,,0.009,5, +1984,KY,,0.027,7, +1984,LA,,0.236,8, +1984,MA,,0.145,11, +1984,MD,,-0.013,8, +1984,ME,,-0.104,2, +1984,MI,,0.071,18, +1984,MN,,0.044,8, +1984,MO,,0.117,9, +1984,MS,,0.107,5, +1984,MT,,-0.024,2, +1984,NC,,-0.003,11, +1984,ND,,-0.074,1, +1984,NE,,-0.016,3, +1984,NH,,-0.140,2, +1984,NJ,yes,0.059,14, +1984,NM,,0.021,3, +1984,NV,,0.173,2, +1984,NY,,0.025,34, +1984,OH,,0.085,21, +1984,OK,,0.163,6, +1984,OR,,0.011,5, +1984,PA,,0.002,23, +1984,RI,,0.000,2, +1984,SC,,0.044,6, +1984,SD,,0.353,1, +1984,TN,,0.096,9, +1984,TX,yes,0.150,27, +1984,UT,,-0.199,3, +1984,VA,,0.007,10, +1984,VT,,-0.079,1, +1984,WA,yes,0.015,8, +1984,WI,,0.104,9, +1984,WV,,0.281,4, +1984,WY,,0.002,1, +1986,AK,,-0.342,1, +1986,AL,,-0.070,7, +1986,AR,,0.069,4, +1986,AZ,,-0.046,5, +1986,CA,,0.049,45, +1986,CO,,0.115,6, +1986,CT,,-0.113,6, +1986,DE,,0.172,1, +1986,FL,,0.057,19, +1986,GA,,-0.004,10, +1986,HI,,-0.161,2, +1986,IA,,-0.129,6, +1986,ID,,0.122,2, +1986,IL,,-0.004,22, +1986,IN,,0.079,10, +1986,KS,,0.021,5, +1986,KY,,-0.062,7, +1986,LA,,-0.066,8, +1986,MA,,0.083,11, +1986,MD,,-0.008,8, +1986,ME,,0.202,2, +1986,MI,,-0.046,18, +1986,MN,,-0.072,8, +1986,MO,,-0.060,9, +1986,MS,,0.116,5, +1986,MT,,-0.083,2, +1986,NC,,0.095,11, +1986,ND,,-0.027,1, +1986,NE,,-0.209,3, +1986,NH,,-0.202,2, +1986,NJ,,0.036,14, +1986,NM,,-0.094,3, +1986,NV,,0.049,2, +1986,NY,,0.021,34, +1986,OH,yes,0.027,21, +1986,OK,,-0.046,6, +1986,OR,,-0.034,5, +1986,PA,,-0.019,23, +1986,RI,,0.151,2, +1986,SC,,-0.026,6, +1986,SD,,0.316,1, +1986,TN,,0.065,9, +1986,TX,,0.074,27, +1986,UT,,-0.089,3, +1986,VA,,0.009,10, +1986,VT,,-0.097,1, +1986,WA,,-0.061,8, +1986,WI,,0.077,9, +1986,WV,,0.126,4, +1986,WY,,-0.111,1, +1988,AK,,-0.247,1, +1988,AL,,0.017,7, +1988,AR,,-0.195,4, +1988,AZ,,-0.015,5, +1988,CA,,0.037,45, +1988,CO,,0.016,6, +1988,CT,,0.012,6, +1988,DE,,0.150,1, +1988,FL,,-0.059,19, +1988,GA,,0.120,10, +1988,HI,,-0.184,2, +1988,IA,,-0.144,6, +1988,ID,,0.013,2, +1988,IL,,0.075,22, +1988,IN,,0.165,10, +1988,KS,,0.029,5, +1988,KY,,0.110,7, +1988,LA,,0.081,8, +1988,MA,,0.079,11, +1988,MD,,0.063,8, +1988,ME,,0.004,2, +1988,MI,,0.048,18, +1988,MN,,-0.048,8, +1988,MO,,-0.060,9, +1988,MS,,0.173,5, +1988,MT,,-0.059,2, +1988,NC,,0.162,11, +1988,ND,,0.069,1, +1988,NE,,0.133,3, +1988,NH,,-0.324,2, +1988,NJ,,0.118,14, +1988,NM,,-0.222,3, +1988,NV,,-0.052,2, +1988,NY,,0.061,34, +1988,OH,,0.001,21, +1988,OK,,-0.041,6, +1988,OR,,-0.140,5, +1988,PA,,0.015,23, +1988,RI,,-0.218,2, +1988,SC,,0.055,6, +1988,SD,,0.065,1, +1988,TN,,0.111,9, +1988,TX,,0.153,27, +1988,UT,,-0.032,3, +1988,VA,,0.093,10, +1988,VT,,-0.128,1, +1988,WA,,0.039,8, +1988,WI,,0.084,9, +1988,WV,,0.116,4, +1988,WY,,-0.146,1, +1990,AK,,-0.462,1, +1990,AL,,-0.050,7, +1990,AR,,0.140,4, +1990,AZ,,-0.130,5, +1990,CA,,0.028,45, +1990,CO,,-0.016,6, +1990,CT,,0.055,6, +1990,DE,,0.166,1, +1990,FL,,-0.023,19, +1990,GA,,0.173,10, +1990,HI,,0.206,2, +1990,IA,,-0.094,6, +1990,ID,,0.336,2, +1990,IL,,0.042,22, +1990,IN,,0.202,10, +1990,KS,,-0.108,5, +1990,KY,,0.080,7, +1990,LA,,-0.040,8, +1990,MA,,0.280,11, +1990,MD,,0.080,8, +1990,ME,,-0.100,2, +1990,MI,,0.047,18, +1990,MN,,0.078,8, +1990,MO,,0.090,9, +1990,MS,,-0.045,5, +1990,MT,,0.010,2, +1990,NC,,0.066,11, +1990,ND,,0.196,1, +1990,NE,,-0.111,3, +1990,NH,,0.027,2, +1990,NJ,,0.175,14, +1990,NM,,-0.128,3, +1990,NV,,0.023,2, +1990,NY,,0.042,34, +1990,OH,,-0.020,21, +1990,OK,,-0.045,6, +1990,OR,,0.086,5, +1990,PA,,-0.072,23, +1990,RI,,-0.049,2, +1990,SC,,0.058,6, +1990,SD,,0.149,1, +1990,TN,,0.048,9, +1990,TX,,0.176,27, +1990,UT,,0.066,3, +1990,VA,,0.107,10, +1990,VT,,0,1, +1990,WA,,0.048,8, +1990,WI,,-0.096,9, +1990,WV,,0.258,4, +1990,WY,,-0.398,1, +1992,AK,yes,-0.456,1, +1992,AL,yes,-0.093,7, +1992,AR,yes,-0.191,4, +1992,AZ,yes,0.119,6, +1992,CA,yes,-0.011,52, +1992,CO,yes,-0.121,6, +1992,CT,yes,0.164,6, +1992,DE,yes,-0.368,1, +1992,FL,yes,-0.028,23, +1992,GA,yes,0.039,11, +1992,HI,yes,-0.023,2, +1992,IA,yes,-0.238,5, +1992,ID,yes,0.018,2, +1992,IL,yes,-0.022,20, +1992,IN,yes,0.106,10, +1992,KS,yes,0.096,4, +1992,KY,yes,0.106,6, +1992,LA,yes,0.027,7, +1992,MA,yes,0.052,10, +1992,MD,yes,-0.063,8, +1992,ME,yes,-0.133,2, +1992,MI,yes,0.075,16, +1992,MN,yes,0.133,8, +1992,MO,yes,0.066,9, +1992,MS,yes,0.080,5, +1992,MT,yes,0.464,1, +1992,NC,yes,0.135,12, +1992,ND,yes,0.319,1, +1992,NE,yes,0.036,3, +1992,NH,yes,-0.079,2, +1992,NJ,yes,0.091,13, +1992,NM,yes,-0.157,3, +1992,NV,yes,-0.069,2, +1992,NY,yes,0.043,31, +1992,OH,yes,0.011,19, +1992,OK,yes,-0.038,6, +1992,OR,yes,0.103,5, +1992,PA,yes,-0.010,21, +1992,RI,yes,-0.017,2, +1992,SC,yes,-0.039,6, +1992,SD,yes,0.060,1, +1992,TN,yes,0.137,9, +1992,TX,yes,0.186,30, +1992,UT,yes,0.211,3, +1992,VA,yes,0.075,11, +1992,VT,yes,0,1, +1992,WA,yes,0.238,9, +1992,WI,yes,-0.031,9, +1992,WV,yes,0.134,3, +1992,WY,yes,-0.309,1, +1994,AK,,-0.230,1, +1994,AL,,0.165,7, +1994,AR,,0.052,4, +1994,AZ,,-0.104,6, +1994,CA,,0.039,52, +1994,CO,,0.098,6, +1994,CT,,0.097,6, +1994,DE,,-0.046,1, +1994,FL,,0.013,23, +1994,GA,,-0.137,11, +1994,HI,,0.206,2, +1994,IA,,-0.342,5, +1994,ID,,-0.201,2, +1994,IL,,0.047,20, +1994,IN,,0.035,10, +1994,KS,,-0.230,4, +1994,KY,,0.009,6, +1994,LA,,0.010,7, +1994,MA,,0.060,10, +1994,MD,,0.015,8, +1994,ME,,-0.004,2, +1994,MI,,0.101,16, +1994,MN,yes,0.229,8, +1994,MO,,0.132,9, +1994,MS,,0.139,5, +1994,MT,,0.429,1, +1994,NC,,-0.038,12, +1994,ND,,0.425,1, +1994,NE,,-0.214,3, +1994,NH,,-0.286,2, +1994,NJ,,-0.005,13, +1994,NM,,0.002,3, +1994,NV,,-0.279,2, +1994,NY,,0.064,31, +1994,OH,,-0.052,19, +1994,OK,,-0.207,6, +1994,OR,,-0.029,5, +1994,PA,,0.036,21, +1994,RI,,0.275,2, +1994,SC,,0.016,6, +1994,SD,,0.259,1, +1994,TN,,0.014,9, +1994,TX,,0.184,30, +1994,UT,,-0.089,3, +1994,VA,yes,0.110,11, +1994,VT,,0,1, +1994,WA,,-0.262,9, +1994,WI,,-0.005,9, +1994,WV,,0.177,3, +1994,WY,,-0.374,1, +1996,AK,,-0.260,1, +1996,AL,,-0.124,7, +1996,AR,,0.084,4, +1996,AZ,,-0.118,6, +1996,CA,,0.018,52, +1996,CO,,-0.001,6, +1996,CT,,0.068,6, +1996,DE,,-0.066,1, +1996,FL,yes,-0.038,23, +1996,GA,yes,-0.145,11, +1996,HI,,0.319,2, +1996,IA,,-0.201,5, +1996,ID,,-0.300,2, +1996,IL,,-0.094,20, +1996,IN,,-0.013,10, +1996,KS,,-0.329,4, +1996,KY,,-0.200,6, +1996,LA,,-0.171,7, +1996,MA,,0.206,10, +1996,MD,,-0.070,8, +1996,ME,,0.215,2, +1996,MI,,0.051,16, +1996,MN,,0.132,8, +1996,MO,,-0.090,9, +1996,MS,,0.005,5, +1996,MT,,-0.403,1, +1996,NC,,0.082,12, +1996,ND,,0.380,1, +1996,NE,,-0.125,3, +1996,NH,,-0.445,2, +1996,NJ,,-0.021,13, +1996,NM,,-0.519,3, +1996,NV,,-0.320,2, +1996,NY,,-0.042,31, +1996,OH,,-0.014,19, +1996,OK,,-0.246,6, +1996,OR,,0.173,5, +1996,PA,,-0.014,21, +1996,RI,,0.118,2, +1996,SC,,-0.041,6, +1996,SD,,-0.282,1, +1996,TN,,-0.037,9, +1996,TX,yes,0.141,30, +1996,UT,,-0.313,3, +1996,VA,,0.041,11, +1996,VT,,0,1, +1996,WA,,-0.217,9, +1996,WI,,0.106,9, +1996,WV,,0.132,3, +1996,WY,,-0.350,1, +1998,AK,,-0.212,1, +1998,AL,,-0.118,7, +1998,AR,,-0.008,4, +1998,AZ,,-0.161,6, +1998,CA,,-0.057,52, +1998,CO,,-0.021,6, +1998,CT,,0.116,6, +1998,DE,,-0.148,1, +1998,FL,,-0.046,23, +1998,GA,,-0.081,11, +1998,HI,,0.128,2, +1998,IA,,-0.149,5, +1998,ID,,-0.406,2, +1998,IL,,-0.057,20, +1998,IN,,0.023,10, +1998,KS,,-0.004,4, +1998,KY,,-0.167,6, +1998,LA,,-0.143,7, +1998,MA,,0.103,10, +1998,MD,,-0.090,8, +1998,ME,,0.116,2, +1998,MI,,0.082,16, +1998,MN,,0.149,8, +1998,MO,,0.031,9, +1998,MS,,0.046,5, +1998,MT,,-0.403,1, +1998,NC,yes,-0.006,12, +1998,ND,,0.345,1, +1998,NE,,-0.018,3, +1998,NH,,-0.289,2, +1998,NJ,,0.013,13, +1998,NM,,-0.129,3, +1998,NV,,0.174,2, +1998,NY,yes,0.003,31, +1998,OH,,-0.032,19, +1998,OK,,-0.237,6, +1998,OR,,0.154,5, +1998,PA,,0.018,21, +1998,RI,,0.102,2, +1998,SC,,-0.115,6, +1998,SD,,0.002,1, +1998,TN,,-0.024,9, +1998,TX,,0.143,30, +1998,UT,,-0.287,3, +1998,VA,yes,0.081,11, +1998,VT,,0,1, +1998,WA,,-0.016,9, +1998,WI,,0.019,9, +1998,WV,,0.041,3, +1998,WY,,-0.302,1, +2000,AK,,0.116,1, +2000,AL,,-0.078,7, +2000,AR,,0.251,4, +2000,AZ,,-0.123,6, +2000,CA,,0.010,52, +2000,CO,,-0.038,6, +2000,CT,,-0.080,6, +2000,DE,,-0.126,1, +2000,FL,,-0.081,23, +2000,GA,,-0.027,11, +2000,HI,,0.168,2, +2000,IA,,-0.148,5, +2000,ID,,-0.094,2, +2000,IL,,-0.074,20, +2000,IN,,-0.011,10, +2000,KS,,-0.006,4, +2000,KY,,-0.125,6, +2000,LA,,0.004,7, +2000,MA,,0.011,10, +2000,MD,,-0.107,8, +2000,ME,,0.150,2, +2000,MI,,-0.034,16, +2000,MN,,0.053,8, +2000,MO,,-0.052,9, +2000,MS,,0.079,5, +2000,MT,,-0.447,1, +2000,NC,yes,-0.042,12, +2000,ND,,0.414,1, +2000,NE,,-0.036,3, +2000,NH,,-0.381,2, +2000,NJ,,-0.012,13, +2000,NM,,-0.212,3, +2000,NV,,0.191,2, +2000,NY,,0.004,31, +2000,OH,,-0.022,19, +2000,OK,,-0.079,6, +2000,OR,,0.169,5, +2000,PA,,-0.043,21, +2000,RI,,0.031,2, +2000,SC,,-0.077,6, +2000,SD,,-0.006,1, +2000,TN,,-0.043,9, +2000,TX,,0.134,30, +2000,UT,,0.000,3, +2000,VA,,-0.166,11, +2000,VT,,0,1, +2000,WA,,0.084,9, +2000,WI,,0.105,9, +2000,WV,,-0.020,3, +2000,WY,,-0.099,1, +2002,AK,yes,0.123,1, +2002,AL,yes,-0.104,7, +2002,AR,yes,0.126,4, +2002,AZ,yes,-0.068,8, +2002,CA,yes,0.056,53, +2002,CO,yes,-0.092,7, +2002,CT,yes,-0.144,5, +2002,DE,yes,-0.041,1, +2002,FL,yes,-0.104,25, +2002,GA,yes,0.061,13, +2002,HI,yes,0.169,2, +2002,IA,yes,-0.207,5, +2002,ID,yes,-0.200,2, +2002,IL,yes,-0.056,19, +2002,IN,yes,-0.032,9, +2002,KS,yes,-0.017,4, +2002,KY,yes,-0.084,6, +2002,LA,yes,0.109,7, +2002,MA,yes,0.135,10, +2002,MD,yes,0.159,8, +2002,ME,yes,0.331,2, +2002,MI,yes,-0.058,15, +2002,MN,yes,-0.022,8, +2002,MO,yes,0.031,9, +2002,MS,yes,0.043,4, +2002,MT,yes,-0.172,1, +2002,NC,yes,-0.003,13, +2002,ND,yes,0.452,1, +2002,NE,yes,-0.061,3, +2002,NH,yes,-0.317,2, +2002,NJ,yes,0.026,13, +2002,NM,yes,-0.204,3, +2002,NV,yes,0.108,3, +2002,NY,yes,0.078,29, +2002,OH,yes,-0.048,18, +2002,OK,yes,-0.231,5, +2002,OR,yes,0.177,5, +2002,PA,yes,-0.082,19, +2002,RI,yes,0.104,2, +2002,SC,yes,-0.002,6, +2002,SD,yes,-0.421,1, +2002,TN,yes,0.093,9, +2002,TX,yes,0.118,32, +2002,UT,yes,0.018,3, +2002,VA,yes,-0.041,11, +2002,VT,yes,0,1, +2002,WA,yes,0.090,9, +2002,WI,yes,0.027,8, +2002,WV,yes,0.076,3, +2002,WY,yes,-0.249,1, +2004,AK,,0.021,1, +2004,AL,,-0.067,7, +2004,AR,,0.095,4, +2004,AZ,,-0.089,8, +2004,CA,,0.015,53, +2004,CO,,-0.073,7, +2004,CT,,-0.212,5, +2004,DE,,-0.101,1, +2004,FL,,-0.086,25, +2004,GA,,0.073,13, +2004,HI,,0.224,2, +2004,IA,,-0.163,5, +2004,ID,,-0.098,2, +2004,IL,,-0.045,19, +2004,IN,,-0.117,9, +2004,KS,,-0.022,4, +2004,KY,,-0.122,6, +2004,LA,,0.053,7, +2004,MA,,0.076,10, +2004,MD,,0.062,8, +2004,ME,,0.307,2, +2004,MI,,-0.090,15, +2004,MN,,-0.040,8, +2004,MO,,0.035,9, +2004,MS,,0.068,4, +2004,MT,,-0.175,1, +2004,NC,,-0.017,13, +2004,ND,,0.309,1, +2004,NE,,-0.119,3, +2004,NH,,-0.262,2, +2004,NJ,,-0.012,13, +2004,NM,,-0.203,3, +2004,NV,,-0.052,3, +2004,NY,,-0.003,29, +2004,OH,,-0.103,18, +2004,OK,,-0.103,5, +2004,OR,,0.189,5, +2004,PA,,-0.117,19, +2004,RI,,0.076,2, +2004,SC,,-0.033,6, +2004,SD,,0.425,1, +2004,TN,,0.065,9, +2004,TX,yes,-0.010,32, +2004,UT,,0.013,3, +2004,VA,,-0.090,11, +2004,VT,,0,1, +2004,WA,,-0.023,9, +2004,WI,,0.068,8, +2004,WV,,0.010,3, +2004,WY,,-0.362,1, +2006,AK,,-0.329,1, +2006,AL,,-0.035,7, +2006,AR,,0.053,4, +2006,AZ,,0.023,8, +2006,CA,,-0.013,53, +2006,CO,,-0.012,7, +2006,CT,,0.086,5, +2006,DE,,-0.308,1, +2006,FL,,-0.101,25, +2006,GA,yes,0.080,13, +2006,HI,,0.199,2, +2006,IA,,0.129,5, +2006,ID,,-0.334,2, +2006,IL,,-0.108,19, +2006,IN,,0.067,9, +2006,KS,,0.126,4, +2006,KY,,-0.061,6, +2006,LA,,0.103,7, +2006,MA,,0.003,10, +2006,MD,,0.003,8, +2006,ME,,0.135,2, +2006,MI,,-0.145,15, +2006,MN,,0.059,8, +2006,MO,,-0.028,9, +2006,MS,,-0.065,4, +2006,MT,,-0.298,1, +2006,NC,,-0.002,13, +2006,ND,,0.186,1, +2006,NE,,-0.379,3, +2006,NH,,0.450,2, +2006,NJ,,-0.069,13, +2006,NM,,-0.283,3, +2006,NV,,-0.217,3, +2006,NY,,-0.017,29, +2006,OH,,-0.165,18, +2006,OK,,-0.137,5, +2006,OR,,0.143,5, +2006,PA,,-0.023,19, +2006,RI,,-0.024,2, +2006,SC,,-0.048,6, +2006,SD,,0.096,1, +2006,TN,,0.019,9, +2006,TX,yes,-0.002,32, +2006,UT,,-0.078,3, +2006,VA,,-0.169,11, +2006,VT,,0.411,1, +2006,WA,,-0.052,9, +2006,WI,,0.070,8, +2006,WV,,0.006,3, +2006,WY,,-0.495,1, +2008,AK,,-0.446,1, +2008,AL,,0.040,7, +2008,AR,,0.105,4, +2008,AZ,,0.109,8, +2008,CA,,-0.084,53, +2008,CO,,0.095,7, +2008,CT,,0.175,5, +2008,DE,,-0.267,1, +2008,FL,,-0.069,25, +2008,GA,,-0.005,13, +2008,HI,,-0.090,2, +2008,IA,,0.058,5, +2008,ID,,0.185,2, +2008,IL,,-0.071,19, +2008,IN,,-0.001,9, +2008,KS,,-0.045,4, +2008,KY,,-0.111,6, +2008,LA,,-0.177,7, +2008,MA,,0.051,10, +2008,MD,,0.000,8, +2008,ME,,0.284,2, +2008,MI,,-0.039,15, +2008,MN,,-0.027,8, +2008,MO,,-0.054,9, +2008,MS,,0.088,4, +2008,MT,,-0.172,1, +2008,NC,,0.022,13, +2008,ND,,0.261,1, +2008,NE,,-0.183,3, +2008,NH,,0.394,2, +2008,NJ,,-0.007,13, +2008,NM,,0.325,3, +2008,NV,,0.079,3, +2008,NY,,0.057,29, +2008,OH,,0.006,18, +2008,OK,,-0.071,5, +2008,OR,,0.071,5, +2008,PA,,0.030,19, +2008,RI,,0.062,2, +2008,SC,,-0.156,6, +2008,SD,,0.149,1, +2008,TN,,0.126,9, +2008,TX,,-0.039,32, +2008,UT,,-0.044,3, +2008,VA,,0.045,11, +2008,VT,,0.170,1, +2008,WA,,-0.017,9, +2008,WI,,0.051,8, +2008,WV,,0.029,3, +2008,WY,,-0.397,1, +2010,AK,,-0.114,1, +2010,AL,,-0.137,7, +2010,AR,,-0.094,4, +2010,AZ,,-0.008,8, +2010,CA,,0.022,53, +2010,CO,,-0.022,7, +2010,CT,,0.313,5, +2010,DE,,0.339,1, +2010,FL,,-0.074,25, +2010,GA,,0.029,13, +2010,HI,,0.226,2, +2010,IA,,0.209,5, +2010,ID,,-0.228,2, +2010,IL,,-0.122,19, +2010,IN,,0.011,9, +2010,KS,,-0.181,4, +2010,KY,,0.084,6, +2010,LA,,-0.027,7, +2010,MA,,0.278,10, +2010,MD,,0.008,8, +2010,ME,,0.380,2, +2010,MI,,-0.017,15, +2010,MN,,0.026,8, +2010,MO,,-0.011,9, +2010,MS,,-0.151,4, +2010,MT,,-0.218,1, +2010,NC,,0.128,13, +2010,ND,,-0.402,1, +2010,NE,,-0.091,3, +2010,NH,,-0.431,2, +2010,NJ,,0.053,13, +2010,NM,,0.135,3, +2010,NV,,-0.108,3, +2010,NY,,0.051,29, +2010,OH,,-0.102,18, +2010,OK,,0.035,5, +2010,OR,,0.245,5, +2010,PA,,-0.083,19, +2010,RI,,0.312,2, +2010,SC,,-0.174,6, +2010,SD,,-0.476,1, +2010,TN,,-0.001,9, +2010,TX,,0.047,32, +2010,UT,,0.117,3, +2010,VA,,-0.133,11, +2010,VT,,0.163,1, +2010,WA,,0.026,9, +2010,WI,,-0.017,8, +2010,WV,,-0.059,3, +2010,WY,,-0.016,1, +2012,AK,yes,-0.118,1, +2012,AL,yes,-0.148,7, +2012,AR,yes,-0.261,4, +2012,AZ,yes,0.147,9, +2012,CA,yes,0.010,53, +2012,CO,yes,-0.100,7, +2012,CT,yes,0.180,5, +2012,DE,yes,0.183,1, +2012,FL,yes,-0.105,27, +2012,GA,yes,-0.069,14, +2012,HI,yes,0.151,2, +2012,IA,yes,-0.031,4, +2012,ID,yes,-0.177,2, +2012,IL,yes,0.058,18, +2012,IN,yes,-0.194,9, +2012,KS,yes,-0.220,4, +2012,KY,yes,-0.133,6, +2012,LA,yes,-0.131,6, +2012,MA,yes,0.135,9, +2012,MD,yes,0.066,8, +2012,ME,yes,0.267,2, +2012,MI,yes,-0.197,14, +2012,MN,yes,0.013,8, +2012,MO,yes,-0.117,8, +2012,MS,yes,-0.135,4, +2012,MT,yes,-0.390,1, +2012,NC,yes,-0.211,13, +2012,ND,yes,-0.363,1, +2012,NE,yes,-0.215,3, +2012,NH,yes,0.455,2, +2012,NJ,yes,-0.112,12, +2012,NM,yes,0.064,3, +2012,NV,yes,0.004,4, +2012,NY,yes,-0.023,27, +2012,OH,yes,-0.223,16, +2012,OK,yes,-0.148,5, +2012,OR,yes,0.151,5, +2012,PA,yes,-0.237,18, +2012,RI,yes,0.321,2, +2012,SC,yes,-0.228,7, +2012,SD,yes,-0.351,1, +2012,TN,yes,-0.057,9, +2012,TX,yes,-0.006,36, +2012,UT,yes,0.083,4, +2012,VA,yes,-0.208,11, +2012,VT,yes,-0.011,1, +2012,WA,yes,0.011,10, +2012,WI,yes,-0.140,8, +2012,WV,yes,0.032,3, +2012,WY,yes,-0.014,1, +2014,AK,,-0.391,1, +2014,AL,,-0.091,7, +2014,AR,,-0.272,4, +2014,AZ,,0.075,9, +2014,CA,,0.097,53, +2014,CO,,-0.038,7, +2014,CT,,0.281,5, +2014,DE,,0.266,1, +2014,FL,,-0.038,27, +2014,GA,,-0.090,14, +2014,HI,,0.176,2, +2014,IA,,-0.172,4, +2014,ID,,-0.236,2, +2014,IL,,0.027,18, +2014,IN,,-0.056,9, +2014,KS,,-0.231,4, +2014,KY,,-0.062,6, +2014,LA,,-0.001,6, +2014,MA,,0.203,9, +2014,MD,,0.212,8, +2014,ME,,-0.145,2, +2014,MI,,-0.160,14, +2014,MN,,0.114,8, +2014,MO,,-0.010,8, +2014,MS,,-0.051,4, +2014,MT,,-0.343,1, +2014,NC,,-0.196,13, +2014,ND,,-0.319,1, +2014,NE,,0.129,3, +2014,NH,,-0.031,2, +2014,NJ,,-0.026,12, +2014,NM,,0.107,3, +2014,NV,,-0.066,4, +2014,NY,,0.039,27, +2014,OH,,-0.082,16, +2014,OK,,-0.057,5, +2014,OR,,0.157,5, +2014,PA,,-0.151,18, +2014,RI,,0.278,2, +2014,SC,,-0.173,7, +2014,SD,,-0.169,1, +2014,TN,,0.005,9, +2014,TX,,0.056,36, +2014,UT,,-0.187,4, +2014,VA,,-0.129,11, +2014,VT,,0.150,1, +2014,WA,,0.015,10, +2014,WI,,-0.069,8, +2014,WV,,-0.358,3, +2014,WY,,-0.001,1, +2016,AK,,-0.334,1, +2016,AL,,-0.097,7, +2016,AR,,-0.140,4, +2016,AZ,,0.029,9, +2016,CA,,-0.012,53, +2016,CO,,-0.062,7, +2016,CT,,0.221,5, +2016,DE,,0.349,1, +2016,FL,yes,-0.029,27, +2016,GA,,-0.100,14, +2016,HI,,-0.074,2, +2016,IA,,-0.191,4, +2016,ID,,-0.137,2, +2016,IL,,0.018,18, +2016,IN,,-0.072,9, +2016,KS,,-0.218,4, +2016,KY,,-0.032,6, +2016,LA,,0.031,6, +2016,MA,,0.084,9, +2016,MD,,0.116,8, +2016,ME,,-0.039,2, +2016,MI,,-0.132,14, +2016,MN,,0.089,8, +2016,MO,,-0.038,8, +2016,MS,,-0.035,4, +2016,MT,,-0.338,1, +2016,NC,yes,-0.203,13, +2016,ND,,-0.011,1, +2016,NE,,-0.205,3, +2016,NH,,0.469,2, +2016,NJ,,0.001,12, +2016,NM,,0.046,3, +2016,NV,,0.240,4, +2016,NY,,-0.063,27, +2016,OH,,-0.087,16, +2016,OK,,-0.079,5, +2016,OR,,0.177,5, +2016,PA,,-0.189,18, +2016,RI,,0.198,2, +2016,SC,,-0.154,7, +2016,SD,,-0.218,1, +2016,TN,,0.017,9, +2016,TX,,-0.038,36, +2016,UT,,-0.168,4, +2016,VA,yes,-0.106,11, +2016,VT,,0.058,1, +2016,WA,,-0.013,10, +2016,WI,,-0.057,8, +2016,WV,,-0.171,3, +2016,WY,,-0.152,1, +2018,AK,,-0.434,1, +2018,AL,,-0.155,7, +2018,AR,,-0.220,4, +2018,AZ,,0.048,9, +2018,CA,,0.057,53, +2018,CO,,-0.037,7, +2018,CT,,0.253,5, +2018,DE,,0.211,1, +2018,FL,,-0.014,27, +2018,GA,,-0.112,14, +2018,HI,,-0.034,2, +2018,IA,,0.209,4, +2018,ID,,-0.221,2, +2018,IL,,0.000,18, +2018,IN,,-0.168,9, +2018,KS,,-0.154,4, +2018,KY,,-0.125,6, +2018,LA,,-0.097,6, +2018,MA,,0.114,9, +2018,MD,,0.037,8, +2018,ME,,0.348,2, +2018,MI,,-0.074,14, +2018,MN,,0.015,8, +2018,MO,,-0.122,8, +2018,MS,,-0.084,4, +2018,MT,,-0.452,1, +2018,NC,,-0.279,13, +2018,ND,,-0.178,1, +2018,NE,,-0.259,3, +2018,NH,,0.389,2, +2018,NJ,,0.201,12, +2018,NM,,0.292,3, +2018,NV,,0.195,4, +2018,NY,,-0.036,27, +2018,OH,,-0.202,16, +2018,OK,,-0.039,5, +2018,OR,,0.097,5, +2018,PA,yes,-0.080,18, +2018,RI,,0.197,2, +2018,SC,,-0.114,7, +2018,SD,,-0.248,1, +2018,TN,,-0.074,9, +2018,TX,,-0.080,36, +2018,UT,,-0.005,4, +2018,VA,,0.027,11, +2018,VT,,0.045,1, +2018,WA,,0.002,10, +2018,WI,,-0.174,8, +2018,WV,,-0.321,3, +2018,WY,,-0.138,1, +2020,AK,,-0.408,1, +2020,AL,,-0.101,7, +2020,AR,,-0.176,4, +2020,AZ,,0.058,9, +2020,CA,,0.018,53, +2020,CO,,-0.027,7, +2020,CT,,0.283,5, +2020,DE,,0.322,1, +2020,FL,,-0.050,27, +2020,GA,,-0.052,14, +2020,HI,,0.109,2, +2020,IA,,-0.190,4, +2020,ID,,-0.126,2, +2020,IL,,0.083,18, +2020,IN,,-0.092,9, +2020,KS,,-0.086,4, +2020,KY,,-0.034,6, +2020,LA,,-0.071,6, +2020,MA,,0.142,9, +2020,MD,,0.074,8, +2020,ME,,0.341,2, +2020,MI,,-0.013,14, +2020,MN,,-0.026,8, +2020,MO,,-0.059,8, +2020,MS,,-0.044,4, +2020,MT,,-0.372,1, +2020,NC,yes,-0.088,13, +2020,ND,,-0.071,1, +2020,NE,,-0.216,3, +2020,NH,,0.422,2, +2020,NJ,,0.174,12, +2020,NM,,0.069,3, +2020,NV,,0.226,4, +2020,NY,,-0.042,27, +2020,OH,,-0.110,16, +2020,OK,,-0.126,5, +2020,OR,,0.159,5, +2020,PA,,0.013,18, +2020,RI,,0.261,2, +2020,SC,,-0.222,7, +2020,SD,,-0.170,1, +2020,TN,,-0.025,9, +2020,TX,,-0.044,36, +2020,UT,,-0.234,4, +2020,VA,,0.060,11, +2020,VT,,0.073,1, +2020,WA,,0.059,10, +2020,WI,,-0.096,8, +2020,WV,,-0.149,3, +2020,WY,,-0.028,1, +2022,AK,yes,0.401,1, +2022,AL,yes,-0.006,7, +2022,AR,yes,-0.125,4, +2022,AZ,yes,-0.088,9, +2022,CA,yes,0.051,52, +2022,CO,yes,-0.005,8, +2022,CT,yes,0.344,5, +2022,DE,yes,0.373,1, +2022,FL,yes,-0.055,28, +2022,GA,yes,-0.097,14, +2022,HI,yes,0.127,2, +2022,IA,yes,-0.374,4, +2022,ID,yes,-0.128,2, +2022,IL,yes,0.212,17, +2022,IN,yes,-0.063,9, +2022,KS,yes,-0.105,4, +2022,KY,yes,-0.013,6, +2022,LA,yes,-0.026,6, +2022,MA,yes,0.168,9, +2022,MD,yes,0.072,8, +2022,ME,yes,0.334,2, +2022,MI,yes,0.015,13, +2022,MN,yes,-0.020,8, +2022,MO,yes,-0.037,8, +2022,MS,yes,0.038,4, +2022,MT,yes,-0.286,2, +2022,NC,yes,0.043,14, +2022,ND,yes,-0.081,1, +2022,NE,yes,-0.225,3, +2022,NH,yes,0.401,2, +2022,NJ,yes,0.153,12, +2022,NM,yes,0.399,3, +2022,NV,yes,0.285,4, +2022,NY,yes,-0.032,26, +2022,OH,yes,-0.037,15, +2022,OK,yes,-0.139,5, +2022,OR,yes,0.080,6, +2022,PA,yes,0.049,17, +2022,RI,yes,0.353,2, +2022,SC,yes,-0.149,7, +2022,SD,yes,-0.138,1, +2022,TN,yes,-0.081,9, +2022,TX,yes,-0.022,38, +2022,UT,yes,-0.175,4, +2022,VA,yes,0.009,11, +2022,VT,yes,0.115,1, +2022,WA,yes,0.138,10, +2022,WI,yes,-0.228,8, +2022,WV,yes,-0.148,2, +2022,WY,yes,-0.027,1, +2024,AK,,-0.476,1, +2024,AL,yes,0.098,7, +2024,AR,,-0.139,4, +2024,AZ,,-0.127,9, +2024,CA,,0.120,52, +2024,CO,,-0.121,8, +2024,CT,,0.314,5, +2024,DE,,0.343,1, +2024,FL,,-0.072,28, +2024,GA,yes,-0.091,14, +2024,HI,,0.095,2, +2024,IA,,-0.370,4, +2024,ID,,-0.093,2, +2024,IL,,0.205,17, +2024,IN,,-0.074,9, +2024,KS,,-0.074,4, +2024,KY,,0.008,6, +2024,LA,,0.098,6, +2024,MA,yes,0.175,9, +2024,MD,,0.081,8, +2024,ME,,0.380,2, +2024,MI,,-0.026,13, +2024,MN,,-0.009,8, +2024,MO,,-0.044,8, +2024,MS,,0.002,4, +2024,MT,,-0.308,2, +2024,NC,yes,-0.174,14, +2024,ND,,-0.110,1, +2024,NE,,-0.228,3, +2024,NH,,0.430,2, +2024,NJ,,0.177,12, +2024,NM,,0.399,3, +2024,NV,,0.261,4, +2024,NY,yes,0.083,26, +2024,OH,,-0.035,15, +2024,OK,,-0.118,5, +2024,OR,,0.217,6, +2024,PA,,-0.054,17, +2024,RI,,0.262,2, +2024,SC,,-0.148,7, +2024,SD,,-0.059,1, +2024,TN,,-0.072,9, +2024,TX,,-0.002,38, +2024,UT,,-0.182,4, +2024,VA,,0.007,11, +2024,VT,,0.147,1, +2024,WA,,0.133,10, +2024,WI,,-0.220,8, +2024,WV,,-0.076,2, +2024,WY,,0.005,1, +2026,AK,,-0.476,1, +2026,AL,,0.098,7, +2026,AR,,-0.139,4, +2026,AZ,,-0.127,9, +2026,CA,yes,0.136,52,https://planscore.org/plan.html?20251109T005753.161170853Z +2026,CO,,-0.121,8, +2026,CT,,0.314,5, +2026,DE,,0.343,1, +2026,FL,,-0.072,28, +2026,GA,,-0.091,14, +2026,HI,,0.095,2, +2026,IA,,-0.370,4, +2026,ID,,-0.093,2, +2026,IL,,0.205,17, +2026,IN,,-0.074,9, +2026,KS,,-0.074,4, +2026,KY,,0.008,6, +2026,LA,,0.098,6, +2026,MA,,0.175,9, +2026,MD,,0.081,8, +2026,ME,,0.380,2, +2026,MI,,-0.026,13, +2026,MN,,-0.009,8, +2026,MO,yes,-0.161,8,https://planscore.org/plan.html?20251116T014919.269577678Z +2026,MS,yes,0.007,4,https://planscore.org/plan.html?20251228T184417.650378800Z +2026,MT,,-0.308,2, +2026,NC,yes,-0.227,14,https://planscore.org/plan.html?20251220T215350.341663516Z +2026,ND,,-0.110,1, +2026,NE,,-0.228,3, +2026,NH,,0.430,2, +2026,NJ,,0.177,12, +2026,NM,,0.399,3, +2026,NV,,0.261,4, +2026,NY,,0.083,26, +2026,OH,yes,-0.15,15,https://planscore.org/plan.html?20251030T231915.464256903Z +2026,OK,,-0.118,5, +2026,OR,,0.217,6, +2026,PA,,-0.054,17, +2026,RI,,0.262,2, +2026,SC,,-0.148,7, +2026,SD,,-0.059,1, +2026,TN,,-0.072,9, +2026,TX,yes,-0.131,38,https://planscore.org/plan.html?20251219T184700.037794076Z +2026,UT,yes,-0.022,4,https://planscore.org/plan.html?20260109T043743.846525206Z +2026,VA,,0.007,11, +2026,VT,,0.147,1, +2026,WA,,0.133,10, +2026,WI,,-0.220,8, +2026,WV,,-0.076,2, +2026,WY,,0.005,1, +predict,AK,,0.0,1, +predict,AL,,0.0,7, +predict,AR,,0.0,4, +predict,AZ,,0.0,9, +predict,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict,CO,,0.0,8, +predict,CT,,0.0,5, +predict,DE,,0.0,1, +predict,FL,,0.0,28, +predict,GA,,0.0,14, +predict,HI,,0.0,2, +predict,IA,,0.0,4, +predict,ID,,0.0,2, +predict,IL,,0.0,17, +predict,IN,,0.0,9, +predict,KS,,0.0,4, +predict,KY,,0.0,6, +predict,LA,,0.0,6, +predict,MA,,0.0,9, +predict,MD,,0.0,8, +predict,ME,,0.0,2, +predict,MI,,0.0,13, +predict,MN,,0.0,8, +predict,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict,MT,,0.0,2, +predict,NC,yes,0.0,14,https://planscore.org/plan.html?20251220T215350.341663516Z +predict,ND,,0.0,1, +predict,NE,,0.0,3, +predict,NH,,0.0,2, +predict,NJ,,0.0,12, +predict,NM,,0.0,3, +predict,NV,,0.0,4, +predict,NY,,0.0,26, +predict,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict,OK,,0.0,5, +predict,OR,,0.0,6, +predict,PA,,0.0,17, +predict,RI,,0.0,2, +predict,SC,,0.0,7, +predict,SD,,0.0,1, +predict,TN,,0.0,9, +predict,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict,UT,yes,0.0,4,https://planscore.org/plan.html?20260109T043743.846525206Z +predict,VA,,0.0,11, +predict,VT,,0.0,1, +predict,WA,,0.0,10, +predict,WI,,0.0,8, +predict,WV,,0.0,2, +predict,WY,,0.0,1, diff --git a/index.js6 b/index.js6 index 29953839..4ee9e4ae 100644 --- a/index.js6 +++ b/index.js6 @@ -555,7 +555,6 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { chartrow.seats = parseInt(datarow.seats); chartrow.percentrank = null; chartrow.url = datarow.url; - chartrow.districts = datarow.districts ? JSON.parse(datarow.districts) : undefined; chartrow.stateScale = datarow.stateScale; chartrow.midcyclePlan = midCycleplan; } else { diff --git a/update-ushouse-elections.py b/update-ushouse-elections.py index 1e33ac3b..64b5f4d3 100755 --- a/update-ushouse-elections.py +++ b/update-ushouse-elections.py @@ -30,7 +30,6 @@ class Election: EG: float seats: int url: str - districts: str @dataclasses.dataclass class District: @@ -489,7 +488,6 @@ def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: # vote share is turnout-weighted, seat share is not seat_share = sum(d.dem_wins * 1 / len(districts) for d in districts) vote_share = sum(d.dem_share * d.total_votes / state_votes for d in districts) - district_values = [(d.dem_wins, d.dem_share, round(d.total_votes)) for d in districts] efficiency_gap = (seat_share - .5) - 2 * (vote_share - .5) return Election( @@ -499,10 +497,6 @@ def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: round(efficiency_gap, 3), row.get("seats"), row.get("url"), - json.dumps( - [list(map(lambda n: round(n, 3), v)) for v in district_values], - separators=(',', ':'), - ), ) def main(api_key: str, credentials_file: str, filename: str): @@ -518,7 +512,7 @@ def main(api_key: str, credentials_file: str, filename: str): elections = [ Election(*(row.get(f) for f in ELECTION_FIELDS)) - for row in rows if row.get("cycle") != "2026" + for row in rows if row.get("cycle") not in ("2026", "predict") ] elections += [ @@ -526,6 +520,11 @@ def main(api_key: str, credentials_file: str, filename: str): for row in rows if row.get("cycle") == "2026" ] + elections += [ + Election(*(row.get(f) for f in ELECTION_FIELDS)) + for row in rows if row.get("cycle") == "predict" + ] + logging.info(f"{elections[:3]}, {elections[-3:]}") with open(filename, "w") as file2: From 2c277ccc459b7b698160fb6d5cf2b31da66fb811 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Fri, 16 Jan 2026 11:22:51 -0800 Subject: [PATCH 10/22] Added "vote swing" label --- index.scss | 30 +++++++++++++++++------------- index.src.html | 17 ++++++++++------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/index.scss b/index.scss index bf559d98..c5324489 100644 --- a/index.scss +++ b/index.scss @@ -333,28 +333,32 @@ body.ushouse-selected { fill: white; } a { - .background, #yearpicker-predict-slider, #yearpicker-predict-thumb { + .background, #yearpicker-predict-voteswing { visibility: hidden; } } a.active { - .background, #yearpicker-predict-slider, #yearpicker-predict-thumb { + .background, #yearpicker-predict-voteswing { visibility: visible; } } - #yearpicker-predict-slider { - fill: white; - cursor: pointer; - } - #yearpicker-predict-thumb { - cursor: pointer; - circle { - fill: black; - stroke: none; - } + #yearpicker-predict-voteswing { text { font-size: 10px; - text-anchor: middle; + } + #yearpicker-predict-slider { + fill: white; + cursor: pointer; + } + #yearpicker-predict-thumb { + cursor: pointer; + circle { + fill: black; + stroke: none; + } + text { + text-anchor: middle; + } } } } diff --git a/index.src.html b/index.src.html index 3de1d219..df806f20 100644 --- a/index.src.html +++ b/index.src.html @@ -502,15 +502,18 @@

Evaluate their fairness.

- - + + 2026 Predictions - - - - - Even + + Vote swing: + + + + + Even + From 5594a11b5cd82b4c0b1f14caeca2a0b5af5a4582 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Fri, 16 Jan 2026 11:58:28 -0800 Subject: [PATCH 11/22] Changed vote swing format to number-before-party for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updated prediction URL hashes from predictD12/predictR12 to predict12D/predict12R and visual labels from D+5/R+8 to +5D/+8R to standardize the format with numbers preceding party letters. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- index.js6 | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/index.js6 b/index.js6 index 4ee9e4ae..1b61f46b 100644 --- a/index.js6 +++ b/index.js6 @@ -231,7 +231,7 @@ window.initPredictionSlider = () => { // helper: format value as label text const formatLabel = (value) => { if (value === 0) return 'Even'; - return value > 0 ? `D+${value}` : `R+${Math.abs(value)}`; + return value > 0 ? `+${value}D` : `+${Math.abs(value)}R`; }; // helper: update thumb position and label using matrix transform @@ -341,8 +341,8 @@ window.initLoadStartingConditions = () => { let year = PLAN_YEARS[PLAN_YEARS.length - 1]; let type = 'ushouse'; - // Match: predict, predict0, predictD12, predictR12, or 4-digit years - const year_and_type = /^#!(predict(?:[DR]\d+|\d+)?|\d\d\d\d)\-(\w+)$/.exec(window.location.hash); + // Match: predict, predict0, predict12D, predict12R, or 4-digit years + const year_and_type = /^#!(predict(?:\d+[DR]|\d+)?|\d\d\d\d)\-(\w+)$/.exec(window.location.hash); if (year_and_type) { year = year_and_type[1]; type = year_and_type[2]; @@ -350,10 +350,10 @@ window.initLoadStartingConditions = () => { // If we have a prediction year from the URL, parse it and set the slider value if (isPredictionYear(year)) { - const match = year.match(/predict([DR])?(\d+)?/); + const match = year.match(/predict(\d+)?([DR])?/); if (match) { - const party = match[1]; // 'D', 'R', or undefined - const value = match[2] ? parseInt(match[2]) : 0; + const value = match[1] ? parseInt(match[1]) : 0; + const party = match[2]; // 'D', 'R', or undefined if (party === 'R') { PREDICTION_SLIDER.currentValue = -value; } else if (party === 'D') { @@ -386,15 +386,15 @@ window.handleResize = () => { // Helper: Convert prediction slider value to year string // value: -12 to +12 (negative = R, positive = D, 0 = Even) -// returns: "predict0", "predictD12", "predictR12", etc. +// returns: "predict0", "predict12D", "predict12R", etc. window.getPredictionYearString = (value) => { if (value === 0) return 'predict0'; - if (value > 0) return `predictD${value}`; - return `predictR${Math.abs(value)}`; + if (value > 0) return `predict${value}D`; + return `predict${Math.abs(value)}R`; }; // Helper: Check if a year string is a prediction year -// returns: true for "predict", "predict0", "predictD5", "predictR12", etc. +// returns: true for "predict", "predict0", "predict5D", "predict12R", etc. window.isPredictionYear = (year) => { return String(year).startsWith('predict'); }; From 3c15cd86c5905ff852d571bd35ac166dd959c1a8 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 17:35:13 -0800 Subject: [PATCH 12/22] Split update-ushouse-elections.py into two scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stage 1: Script Split Complete Successfully split update-ushouse-elections.py into two scripts with distinct responsibilities: New Architecture: 1. update-ushouse-elections.py (API/GDocs) - Args: api_key, credentials_file - Iterates over states in Google Sheets - Checks if plans need updating based on incumbents/deadlines - Uploads new plans to PlanScore and updates Google Sheets column M 2. update-ushouse-data-files.py (CSV generation) - Args: credentials_file, csv_filename - Reads CSV, checks Google Sheets for 2026 rows - If state has 2026 Redraw = Y: fetches URL from GDocs, recalculates EG from PlanScore - Otherwise: preserves row as-is - All other cycles unchanged Key Points: - Google Sheets is source of truth for plan URLs - Column G (2026 Redraw) controls which states get URLs in CSV - All data calculations unchanged from original Verified working: both scripts run in sequence with expected output (only Utah URL updated). User prompts: "We are going to split update-ushouse-elections.py into two files: one that just interacts with the PlanScore API and updates GDocs (the original), and a new one update-ushouse-data-files.py that reads from GDocs and writes to a local CSV file. See update-ushouse-data-files.sh and update-ushouse-elections.sh for calling signatures. We should proceed in two stages: first migrate the CSV writing functionality to the new script without changing anything about the data in GDocs, the interactions with PlanScore, or the contents of the CSV. In the second stage we will modify the CSV ouput. Tell me your stage one plan." "Try running the two shell scripts in sequence to verify that they work" "Let's do this: use column G (Has Redraw) to decide which ones get URLs." "Summarize your work on this stage for me" "Shorten your summary to 2/3 of its length" "Save this summary in a git commit" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../data/bias_ushouse-elections.csv | 2 +- update-ushouse-data-files.py | 178 ++++++++++++++++++ update-ushouse-elections.py | 131 ++----------- 3 files changed, 195 insertions(+), 116 deletions(-) create mode 100755 update-ushouse-data-files.py diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index a6e31ed1..2deb6472 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1392,7 +1392,7 @@ cycle,stateabrev,newplan,EG,seats,url 2026,SD,,-0.059,1, 2026,TN,,-0.072,9, 2026,TX,yes,-0.131,38,https://planscore.org/plan.html?20251219T184700.037794076Z -2026,UT,yes,-0.022,4,https://planscore.org/plan.html?20260109T043743.846525206Z +2026,UT,yes,-0.022,4,https://planscore.org/plan.html?20260110T175512.890920068Z 2026,VA,,0.007,11, 2026,VT,,0.147,1, 2026,WA,,0.133,10, diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py new file mode 100755 index 00000000..30f5b900 --- /dev/null +++ b/update-ushouse-data-files.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python3 +import argparse +import csv +import dataclasses +import json +import logging +import operator +import re +import sys +import typing +import urllib.request + +import oauth2client.service_account +import googleapiclient.discovery + +@dataclasses.dataclass +class Election: + cycle: str + stateabrev: str + newplan: str + EG: float + seats: int + url: str + +@dataclasses.dataclass +class District: + dem_wins: float + dem_share: float + total_votes: int + +@dataclasses.dataclass +class GdocsStates: + states: dict + service: typing.Any + +PLAN_URL_PAT = re.compile(r"^https://(?Pdev.)?planscore.org/plan.html\?(?P[\.\w]+)$") +INDEX_URL_FMT = "https://{bucket}.s3.amazonaws.com/uploads/{id}/index.json" +STACK_BUCKETS = {None: "planscore", "dev.": "planscore--dev"} +ELECTION_FIELDS = tuple(f.name for f in dataclasses.fields(Election)) + +SPREADSHEET_ID = '1rcYOxrr_bqkQWggCeP8W6eYkofl9_Zk0deHv62ilE8Y' + +STATE_ABBREVS = { + 'Alabama': 'AL', 'Alaska': 'AK', 'Arizona': 'AZ', 'Arkansas': 'AR', 'California': 'CA', + 'Colorado': 'CO', 'Connecticut': 'CT', 'Delaware': 'DE', 'Florida': 'FL', 'Georgia': 'GA', + 'Hawaii': 'HI', 'Idaho': 'ID', 'Illinois': 'IL', 'Indiana': 'IN', 'Iowa': 'IA', + 'Kansas': 'KS', 'Kentucky': 'KY', 'Louisiana': 'LA', 'Maine': 'ME', 'Maryland': 'MD', + 'Massachusetts': 'MA', 'Michigan': 'MI', 'Minnesota': 'MN', 'Mississippi': 'MS', + 'Missouri': 'MO', 'Montana': 'MT', 'Nebraska': 'NE', 'Nevada': 'NV', 'New Hampshire': 'NH', + 'New Jersey': 'NJ', 'New Mexico': 'NM', 'New York': 'NY', 'North Carolina': 'NC', + 'North Dakota': 'ND', 'Ohio': 'OH', 'Oklahoma': 'OK', 'Oregon': 'OR', 'Pennsylvania': 'PA', + 'Rhode Island': 'RI', 'South Carolina': 'SC', 'South Dakota': 'SD', 'Tennessee': 'TN', + 'Texas': 'TX', 'Utah': 'UT', 'Vermont': 'VT', 'Virginia': 'VA', 'Washington': 'WA', + 'West Virginia': 'WV', 'Wisconsin': 'WI', 'Wyoming': 'WY' +} + +logging.basicConfig(level=logging.DEBUG, stream=sys.stderr) + +def load_google_states(credentials_file: str) -> GdocsStates: + """Load states data from Google Sheets""" + scope = ['https://www.googleapis.com/auth/spreadsheets'] + credentials = oauth2client.service_account.ServiceAccountCredentials.from_json_keyfile_name( + credentials_file, scope + ) + service = googleapiclient.discovery.build('sheets', 'v4', credentials=credentials) + + result = service.spreadsheets().values().get( + spreadsheetId=SPREADSHEET_ID, + range='States!A:M' + ).execute() + + values = result.get('values', []) + headers = values[0] + + states = {} + for row_idx, row in enumerate(values[1:], start=2): # start=2 because row 1 is headers + row_padded = row + [''] * (len(headers) - len(row)) + state_data = dict(zip(headers, row_padded)) + state_name = state_data['State Name'] + # Store by abbreviation for easy lookup, also store row index for updates + abbrev = STATE_ABBREVS.get(state_name) + if abbrev: + state_data['_row_index'] = row_idx + states[abbrev] = state_data + + return GdocsStates(states, service) + +def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: + """Process an existing plan URL to calculate election data""" + if not (plan_match := PLAN_URL_PAT.match(plan_url)): + raise ValueError(plan_url) + + logging.debug(f"Processing plan: {plan_url}") + plan_bucket = STACK_BUCKETS[plan_match.group("stack")] + index_url = INDEX_URL_FMT.format(bucket=plan_bucket, id=plan_match.group("id")) + index_data = json.load(urllib.request.urlopen(index_url)) + + districts = [ + District( + t["Democratic Wins"], + t["Democratic Votes"] / (t["Democratic Votes"] + t["Republican Votes"]), + t.get("US President 2024 - DEM", t["US President 2020 - DEM"]) + t.get("US President 2024 - REP", t["US President 2020 - REP"]), + ) + for t in map(operator.itemgetter("totals"), index_data["districts"]) + ] + state_votes = sum(d.total_votes for d in districts) + + # vote share is turnout-weighted, seat share is not + seat_share = sum(d.dem_wins * 1 / len(districts) for d in districts) + vote_share = sum(d.dem_share * d.total_votes / state_votes for d in districts) + efficiency_gap = (seat_share - .5) - 2 * (vote_share - .5) + + return Election( + row.get("cycle"), + row.get("stateabrev"), + row.get("newplan"), + round(efficiency_gap, 3), + row.get("seats"), + row.get("url"), + ) + +def main(credentials_file: str, filename: str): + # Load Google Sheets states data + logging.debug("Loading Google Sheets states data...") + gdocs = load_google_states(credentials_file) + logging.debug(f"Loaded {len(gdocs.states)} states from Google Sheets") + + with open(filename, "r") as file1: + rows = list(csv.DictReader(file1)) + + logging.info(f"{rows[:3]}, {rows[-3:]}") + + elections = [] + + # Process all rows + for row in rows: + cycle = row.get("cycle") + + if cycle == "2026": + # For 2026 rows, check if state has a redraw (column G) + stateabrev = row.get("stateabrev") + google_state = gdocs.states.get(stateabrev) + + if google_state: + has_redraw = google_state.get('2026 Redraw', '').strip().upper() == 'Y' + plan_url = google_state.get('PlanScore URL', '').strip() + + if has_redraw and plan_url: + # State has a redraw and URL in Google Sheets, process the plan + row = dict(row) + row['url'] = plan_url + election = planscore2election(plan_url, row) + elections.append(election) + else: + # No redraw or no URL, keep row as-is without URL + elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) + else: + # No Google Sheets data for this state, keep row as-is + elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) + else: + # Not a 2026 cycle, keep row as-is + elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) + + logging.info(f"{elections[:3]}, {elections[-3:]}") + + with open(filename, "w") as file2: + out = csv.DictWriter(file2, ELECTION_FIELDS) + out.writeheader() + for election in elections: + out.writerow(dataclasses.asdict(election)) + +parser = argparse.ArgumentParser() +parser.add_argument("credentials_file") +parser.add_argument("filename") + +if __name__ == "__main__": + args = parser.parse_args() + exit(main(args.credentials_file, args.filename)) diff --git a/update-ushouse-elections.py b/update-ushouse-elections.py index 64b5f4d3..1771da3d 100755 --- a/update-ushouse-elections.py +++ b/update-ushouse-elections.py @@ -1,12 +1,9 @@ #!/usr/bin/env python3 import argparse -import csv -import dataclasses import datetime import http.client import json import logging -import operator import os import re import shutil @@ -22,32 +19,16 @@ import oauth2client.service_account import googleapiclient.discovery -@dataclasses.dataclass -class Election: - cycle: str - stateabrev: str - newplan: str - EG: float - seats: int - url: str - -@dataclasses.dataclass -class District: - dem_wins: float - dem_share: float - total_votes: int - -@dataclasses.dataclass class GdocsStates: - states: dict - service: typing.Any + def __init__(self, states: dict, service: typing.Any): + self.states = states + self.service = service UA = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15' PLAN_URL_PAT = re.compile(r"^https://(?Pdev.)?planscore.org/plan.html\?(?P[\.\w]+)$") INDEX_URL_FMT = "https://{bucket}.s3.amazonaws.com/uploads/{id}/index.json" STACK_BUCKETS = {None: "planscore", "dev.": "planscore--dev"} -ELECTION_FIELDS = tuple(f.name for f in dataclasses.fields(Election)) SPREADSHEET_ID = '1rcYOxrr_bqkQWggCeP8W6eYkofl9_Zk0deHv62ilE8Y' @@ -390,25 +371,17 @@ def upload_new_plan(api_key, plan_name, auth_url, shapefile_url, incumbents): finally: os.unlink(local_shapefile) -def row2election(api_key: str, gdocs: GdocsStates, row: dict) -> typing.Optional[Election]: +def process_state(api_key: str, gdocs: GdocsStates, stateabrev: str, google_state: dict) -> None: """ - Process a 2026 election row, checking if it needs to be updated based on Google Sheet data. + Process a state from Google Sheets, checking if it needs to be updated. + If plan needs updating, uploads new plan and updates Google Sheets. """ - stateabrev = row.get("stateabrev") - plan_url = row.get("url") - - # Look up the state in Google Sheets by abbreviation - google_state = gdocs.states.get(stateabrev) - - if not google_state: - logging.debug(f"No Google state found for {stateabrev}, returning as-is") - return planscore2election(plan_url, row) if plan_url else None - # Check if we should skip this state has_redraw = google_state.get('2026 Redraw', '').strip().upper() == 'Y' filing_deadline_str = google_state.get('Filing Deadline', '').strip() filing_deadline_passed = False + filing_deadline = None if filing_deadline_str: try: filing_deadline = datetime.datetime.strptime(filing_deadline_str, '%Y-%m-%d').date() @@ -417,15 +390,6 @@ def row2election(api_key: str, gdocs: GdocsStates, row: dict) -> typing.Optional except ValueError: logging.debug(f"Could not parse filing deadline: {filing_deadline_str}") - # Decision logic - - # if not has_redraw: - # logging.debug(f"{google_state['State Name']} - no redraw and we don't care about filing deadline, skipping") - # return planscore2election(plan_url, row) if plan_url else None - # if not has_redraw and not filing_deadline_passed: - # logging.debug(f"{google_state['State Name']} - no redraw and filing deadline not passed, skipping") - # return planscore2election(plan_url, row) if plan_url else None - # Check if incumbents have changed current_incumbents, score_date = get_plan_details(google_state.get('PlanScore URL', '')) new_incumbents = google_state.get('Incumbents', '').strip() @@ -435,12 +399,12 @@ def row2election(api_key: str, gdocs: GdocsStates, row: dict) -> typing.Optional logging.debug(f" Current: {current_incumbents}") logging.debug(f" New: {new_incumbents}") - if current_incumbents == new_incumbents and score_date > filing_deadline: + if current_incumbents == new_incumbents and filing_deadline and score_date and score_date > filing_deadline: logging.debug(f"{google_state['State Name']} - incumbents unchanged and {score_date} new enough, skipping") - return planscore2election(plan_url, row) if plan_url else None + return elif current_incumbents == new_incumbents and not filing_deadline_passed: logging.debug(f"{google_state['State Name']} - incumbents unchanged and {score_date} filing deadline not passed, skipping") - return planscore2election(plan_url, row) if plan_url else None + return # Incumbents have changed, need to upload new plan logging.debug(f"{google_state['State Name']} - incumbents changed or {score_date} too old, uploading new plan") @@ -458,86 +422,23 @@ def row2election(api_key: str, gdocs: GdocsStates, row: dict) -> typing.Optional # Update Google Sheet with the new plan URL update_google_sheet_plan_url(gdocs, stateabrev, google_state, new_plan_url) - # Update the row dict to use the new URL - row = dict(row) - row['url'] = new_plan_url - # Process the new plan to get election data - return planscore2election(new_plan_url, row) - -def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: - """Process an existing plan URL to calculate election data""" - if not (plan_match := PLAN_URL_PAT.match(plan_url)): - raise ValueError(plan_url) - - logging.debug(f"Processing plan: {plan_url}") - plan_bucket = STACK_BUCKETS[plan_match.group("stack")] - index_url = INDEX_URL_FMT.format(bucket=plan_bucket, id=plan_match.group("id")) - index_data = json.load(urllib.request.urlopen(index_url)) - - districts = [ - District( - t["Democratic Wins"], - t["Democratic Votes"] / (t["Democratic Votes"] + t["Republican Votes"]), - t.get("US President 2024 - DEM", t["US President 2020 - DEM"]) + t.get("US President 2024 - REP", t["US President 2020 - REP"]), - ) - for t in map(operator.itemgetter("totals"), index_data["districts"]) - ] - state_votes = sum(d.total_votes for d in districts) - - # vote share is turnout-weighted, seat share is not - seat_share = sum(d.dem_wins * 1 / len(districts) for d in districts) - vote_share = sum(d.dem_share * d.total_votes / state_votes for d in districts) - efficiency_gap = (seat_share - .5) - 2 * (vote_share - .5) - - return Election( - row.get("cycle"), - row.get("stateabrev"), - row.get("newplan"), - round(efficiency_gap, 3), - row.get("seats"), - row.get("url"), - ) - -def main(api_key: str, credentials_file: str, filename: str): +def main(api_key: str, credentials_file: str): # Load Google Sheets states data logging.debug("Loading Google Sheets states data...") gdocs = load_google_states(credentials_file) logging.debug(f"Loaded {len(gdocs.states)} states from Google Sheets") - with open(filename, "r") as file1: - rows = list(csv.DictReader(file1)) - - logging.info(f"{rows[:3]}, {rows[-3:]}") - - elections = [ - Election(*(row.get(f) for f in ELECTION_FIELDS)) - for row in rows if row.get("cycle") not in ("2026", "predict") - ] - - elections += [ - row2election(api_key, gdocs, row) or Election(*(row.get(f) for f in ELECTION_FIELDS)) - for row in rows if row.get("cycle") == "2026" - ] - - elections += [ - Election(*(row.get(f) for f in ELECTION_FIELDS)) - for row in rows if row.get("cycle") == "predict" - ] - - logging.info(f"{elections[:3]}, {elections[-3:]}") + # Iterate over all states in Google Sheets and process each one + for stateabrev, google_state in gdocs.states.items(): + process_state(api_key, gdocs, stateabrev, google_state) - with open(filename, "w") as file2: - out = csv.DictWriter(file2, ELECTION_FIELDS) - out.writeheader() - for election in elections: - out.writerow(dataclasses.asdict(election)) + logging.info("All states processed.") parser = argparse.ArgumentParser() parser.add_argument("api_key") parser.add_argument("credentials_file") -parser.add_argument("filename") if __name__ == "__main__": args = parser.parse_args() - exit(main(args.api_key, args.credentials_file, args.filename)) \ No newline at end of file + exit(main(args.api_key, args.credentials_file)) \ No newline at end of file From 9b23b6b67ecec393284e9f60ffebcad6f15af952 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 17:48:01 -0800 Subject: [PATCH 13/22] Modify update-ushouse-data-files.py to populate "predict" rows from State Swings worksheet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added load_google_state_swings() function that finds the most recent "State Swings YYYY-MM-DD" worksheet and reads Column O "Zero Shift PlanScore URL". Modified main() to process "predict" cycle rows by looking up states in State Swings data and calling planscore2election() to calculate actual efficiency gap scores. Results: 4 predict rows updated (IL, NC, UT, VA) with non-zero EG values and Zero Shift URLs. All other predict rows remain unchanged. User prompts: - "We now need to modify update-ushouse-data-files.py so that it writes the \"predict\" rows just as it writes the \"2026\" rows, including the planscore URLs and efficiency gap score via planscore2election(). After running update-ushouse-data-files.sh we should see the \"predict\" rows of the local CSV updated with new numbers and links in them. Tell me your plan." - "A piece of information I forgot: the \"predict\" rows should come from the most recent \"State Swings YYYY-MM-DD\" worksheet in GDocs, that's what makes them different from the \"2026\" rows. We'll use the plans in the Zero Shift column (O). Revise your plan." - "Shorten this summary by half and write to git" 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../data/bias_ushouse-elections.csv | 8 +- update-ushouse-data-files.py | 73 ++++++++++++++++++- 2 files changed, 76 insertions(+), 5 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 2deb6472..9b9bdf5b 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1412,7 +1412,7 @@ predict,GA,,0.0,14, predict,HI,,0.0,2, predict,IA,,0.0,4, predict,ID,,0.0,2, -predict,IL,,0.0,17, +predict,IL,,0.173,17,https://planscore.org/plan.html?20260118T001631.622137249Z predict,IN,,0.0,9, predict,KS,,0.0,4, predict,KY,,0.0,6, @@ -1425,7 +1425,7 @@ predict,MN,,0.0,8, predict,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z predict,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z predict,MT,,0.0,2, -predict,NC,yes,0.0,14,https://planscore.org/plan.html?20251220T215350.341663516Z +predict,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T001631.540221736Z predict,ND,,0.0,1, predict,NE,,0.0,3, predict,NH,,0.0,2, @@ -1442,8 +1442,8 @@ predict,SC,,0.0,7, predict,SD,,0.0,1, predict,TN,,0.0,9, predict,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z -predict,UT,yes,0.0,4,https://planscore.org/plan.html?20260109T043743.846525206Z -predict,VA,,0.0,11, +predict,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T001634.186677257Z +predict,VA,,0.003,11,https://planscore.org/plan.html?20260118T001636.365843215Z predict,VT,,0.0,1, predict,WA,,0.0,10, predict,WI,,0.0,8, diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py index 30f5b900..bcf298f7 100755 --- a/update-ushouse-data-files.py +++ b/update-ushouse-data-files.py @@ -85,6 +85,58 @@ def load_google_states(credentials_file: str) -> GdocsStates: return GdocsStates(states, service) +def load_google_state_swings(service: typing.Any) -> dict: + """Load most recent State Swings worksheet data""" + # Get all sheets in the spreadsheet + spreadsheet = service.spreadsheets().get(spreadsheetId=SPREADSHEET_ID).execute() + sheets = spreadsheet.get('sheets', []) + + # Find all State Swings worksheets + swings_sheets = [] + for sheet in sheets: + title = sheet['properties']['title'] + if title.startswith('State Swings '): + # Extract date from title like "State Swings 2026-01-17" + date_str = title.replace('State Swings ', '') + swings_sheets.append((date_str, title)) + + if not swings_sheets: + logging.debug("No State Swings worksheets found") + return {} + + # Sort by date and get the most recent + swings_sheets.sort(reverse=True) + most_recent_date, most_recent_title = swings_sheets[0] + logging.debug(f"Using State Swings worksheet: {most_recent_title}") + + # Load data from the most recent sheet + result = service.spreadsheets().values().get( + spreadsheetId=SPREADSHEET_ID, + range=f"'{most_recent_title}'!A:O" + ).execute() + + values = result.get('values', []) + if not values: + return {} + + headers = values[0] + + # Build dict mapping state abbreviation -> Zero Shift URL + state_swings = {} + for row in values[1:]: + row_padded = row + [''] * (len(headers) - len(row)) + state_data = dict(zip(headers, row_padded)) + state_name = state_data.get('State Name', '') + zero_shift_url = state_data.get('Zero Shift PlanScore URL', '').strip() + + # Convert state name to abbreviation + abbrev = STATE_ABBREVS.get(state_name) + if abbrev and zero_shift_url: + state_swings[abbrev] = zero_shift_url + logging.debug(f" {abbrev}: {zero_shift_url}") + + return state_swings + def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: """Process an existing plan URL to calculate election data""" if not (plan_match := PLAN_URL_PAT.match(plan_url)): @@ -125,6 +177,11 @@ def main(credentials_file: str, filename: str): gdocs = load_google_states(credentials_file) logging.debug(f"Loaded {len(gdocs.states)} states from Google Sheets") + # Load State Swings data + logging.debug("Loading State Swings data...") + state_swings = load_google_state_swings(gdocs.service) + logging.debug(f"Loaded {len(state_swings)} states from State Swings") + with open(filename, "r") as file1: rows = list(csv.DictReader(file1)) @@ -157,8 +214,22 @@ def main(credentials_file: str, filename: str): else: # No Google Sheets data for this state, keep row as-is elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) + elif cycle == "predict": + # For predict rows, check State Swings worksheet + stateabrev = row.get("stateabrev") + zero_shift_url = state_swings.get(stateabrev) + + if zero_shift_url: + # State has a Zero Shift URL in State Swings, process the plan + row = dict(row) + row['url'] = zero_shift_url + election = planscore2election(zero_shift_url, row) + elections.append(election) + else: + # No Zero Shift URL, keep row as-is + elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) else: - # Not a 2026 cycle, keep row as-is + # Not a 2026 or predict cycle, keep row as-is elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) logging.info(f"{elections[:3]}, {elections[-3:]}") From 1cf17b15cd6ba13f7a1a70d740c9997c18421af4 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 18:07:21 -0800 Subject: [PATCH 14/22] Extended predict cycle processing to handle all vote swings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User's request: "I just staged some changes to WEBSITE_OUTPUT/data/bias_ushouse-elections.csv, now we need update-ushouse-data-files.py to reflect those changes. Right now we include just the 'Zero Shift' column from the State Swings sheet, but we will need to also factor in the other columns that go from D+12 through R+12 vote swings, mapping them to the 'predict12D', 'predict12R', and similarly named rows. The zero shift ones will still map to the 'predict' rows. Tell me your plan for making this change and testing it." Changes: - Modified load_google_state_swings() to extract all 25 vote swing columns (D+1 through D+12, Zero Shift, R+1 through R+12) from State Swings worksheet - Added get_state_swings_column_name() helper to map cycle names (predict, predict1D-12D, predict1R-12R) to State Swings column names - Updated main processing logic to handle all predict* cycles using column mapping - Tested successfully: 1,250 total predict rows (25 cycles × 50 states), with 100 rows populated with actual EG values for IL, NC, UT, VA --- .../data/bias_ushouse-elections.csv | 1200 +++++++++++++++++ update-ushouse-data-files.py | 75 +- 2 files changed, 1257 insertions(+), 18 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 9b9bdf5b..32f8ff4b 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1399,6 +1399,606 @@ cycle,stateabrev,newplan,EG,seats,url 2026,WI,,-0.220,8, 2026,WV,,-0.076,2, 2026,WY,,0.005,1, +predict12D,AK,,0.0,1, +predict12D,AL,,0.0,7, +predict12D,AR,,0.0,4, +predict12D,AZ,,0.0,9, +predict12D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict12D,CO,,0.0,8, +predict12D,CT,,0.0,5, +predict12D,DE,,0.0,1, +predict12D,FL,,0.0,28, +predict12D,GA,,0.0,14, +predict12D,HI,,0.0,2, +predict12D,IA,,0.0,4, +predict12D,ID,,0.0,2, +predict12D,IL,,-0.004,17,https://planscore.org/plan.html?20260118T000603.675349725Z +predict12D,IN,,0.0,9, +predict12D,KS,,0.0,4, +predict12D,KY,,0.0,6, +predict12D,LA,,0.0,6, +predict12D,MA,,0.0,9, +predict12D,MD,,0.0,8, +predict12D,ME,,0.0,2, +predict12D,MI,,0.0,13, +predict12D,MN,,0.0,8, +predict12D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict12D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict12D,MT,,0.0,2, +predict12D,NC,yes,0.214,14,https://planscore.org/plan.html?20260118T000604.431947701Z +predict12D,ND,,0.0,1, +predict12D,NE,,0.0,3, +predict12D,NH,,0.0,2, +predict12D,NJ,,0.0,12, +predict12D,NM,,0.0,3, +predict12D,NV,,0.0,4, +predict12D,NY,,0.0,26, +predict12D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict12D,OK,,0.0,5, +predict12D,OR,,0.0,6, +predict12D,PA,,0.0,17, +predict12D,RI,,0.0,2, +predict12D,SC,,0.0,7, +predict12D,SD,,0.0,1, +predict12D,TN,,0.0,9, +predict12D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict12D,UT,yes,-0.148,4,https://planscore.org/plan.html?20260118T000610.397049254Z +predict12D,VA,,0.07,11,https://planscore.org/plan.html?20260118T000608.068337205Z +predict12D,VT,,0.0,1, +predict12D,WA,,0.0,10, +predict12D,WI,,0.0,8, +predict12D,WV,,0.0,2, +predict12D,WY,,0.0,1, +predict11D,AK,,0.0,1, +predict11D,AL,,0.0,7, +predict11D,AR,,0.0,4, +predict11D,AZ,,0.0,9, +predict11D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict11D,CO,,0.0,8, +predict11D,CT,,0.0,5, +predict11D,DE,,0.0,1, +predict11D,FL,,0.0,28, +predict11D,GA,,0.0,14, +predict11D,HI,,0.0,2, +predict11D,IA,,0.0,4, +predict11D,ID,,0.0,2, +predict11D,IL,,0.008,17,https://planscore.org/plan.html?20260117T234131.204003450Z +predict11D,IN,,0.0,9, +predict11D,KS,,0.0,4, +predict11D,KY,,0.0,6, +predict11D,LA,,0.0,6, +predict11D,MA,,0.0,9, +predict11D,MD,,0.0,8, +predict11D,ME,,0.0,2, +predict11D,MI,,0.0,13, +predict11D,MN,,0.0,8, +predict11D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict11D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict11D,MT,,0.0,2, +predict11D,NC,yes,0.191,14,https://planscore.org/plan.html?20260117T234221.573532111Z +predict11D,ND,,0.0,1, +predict11D,NE,,0.0,3, +predict11D,NH,,0.0,2, +predict11D,NJ,,0.0,12, +predict11D,NM,,0.0,3, +predict11D,NV,,0.0,4, +predict11D,NY,,0.0,26, +predict11D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict11D,OK,,0.0,5, +predict11D,OR,,0.0,6, +predict11D,PA,,0.0,17, +predict11D,RI,,0.0,2, +predict11D,SC,,0.0,7, +predict11D,SD,,0.0,1, +predict11D,TN,,0.0,9, +predict11D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict11D,UT,yes,-0.175,4,https://planscore.org/plan.html?20260117T234258.083201955Z +predict11D,VA,,0.074,11,https://planscore.org/plan.html?20260117T234336.944596105Z +predict11D,VT,,0.0,1, +predict11D,WA,,0.0,10, +predict11D,WI,,0.0,8, +predict11D,WV,,0.0,2, +predict11D,WY,,0.0,1, +predict10D,AK,,0.0,1, +predict10D,AL,,0.0,7, +predict10D,AR,,0.0,4, +predict10D,AZ,,0.0,9, +predict10D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict10D,CO,,0.0,8, +predict10D,CT,,0.0,5, +predict10D,DE,,0.0,1, +predict10D,FL,,0.0,28, +predict10D,GA,,0.0,14, +predict10D,HI,,0.0,2, +predict10D,IA,,0.0,4, +predict10D,ID,,0.0,2, +predict10D,IL,,0.022,17,https://planscore.org/plan.html?20260117T234131.269500782Z +predict10D,IN,,0.0,9, +predict10D,KS,,0.0,4, +predict10D,KY,,0.0,6, +predict10D,LA,,0.0,6, +predict10D,MA,,0.0,9, +predict10D,MD,,0.0,8, +predict10D,ME,,0.0,2, +predict10D,MI,,0.0,13, +predict10D,MN,,0.0,8, +predict10D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict10D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict10D,MT,,0.0,2, +predict10D,NC,yes,0.152,14,https://planscore.org/plan.html?20260117T234221.054080815Z +predict10D,ND,,0.0,1, +predict10D,NE,,0.0,3, +predict10D,NH,,0.0,2, +predict10D,NJ,,0.0,12, +predict10D,NM,,0.0,3, +predict10D,NV,,0.0,4, +predict10D,NY,,0.0,26, +predict10D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict10D,OK,,0.0,5, +predict10D,OR,,0.0,6, +predict10D,PA,,0.0,17, +predict10D,RI,,0.0,2, +predict10D,SC,,0.0,7, +predict10D,SD,,0.0,1, +predict10D,TN,,0.0,9, +predict10D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict10D,UT,yes,-0.183,4,https://planscore.org/plan.html?20260117T234258.555518952Z +predict10D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.675178157Z +predict10D,VT,,0.0,1, +predict10D,WA,,0.0,10, +predict10D,WI,,0.0,8, +predict10D,WV,,0.0,2, +predict10D,WY,,0.0,1, +predict9D,AK,,0.0,1, +predict9D,AL,,0.0,7, +predict9D,AR,,0.0,4, +predict9D,AZ,,0.0,9, +predict9D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict9D,CO,,0.0,8, +predict9D,CT,,0.0,5, +predict9D,DE,,0.0,1, +predict9D,FL,,0.0,28, +predict9D,GA,,0.0,14, +predict9D,HI,,0.0,2, +predict9D,IA,,0.0,4, +predict9D,ID,,0.0,2, +predict9D,IL,,0.037,17,https://planscore.org/plan.html?20260117T234131.957084806Z +predict9D,IN,,0.0,9, +predict9D,KS,,0.0,4, +predict9D,KY,,0.0,6, +predict9D,LA,,0.0,6, +predict9D,MA,,0.0,9, +predict9D,MD,,0.0,8, +predict9D,ME,,0.0,2, +predict9D,MI,,0.0,13, +predict9D,MN,,0.0,8, +predict9D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict9D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict9D,MT,,0.0,2, +predict9D,NC,yes,0.096,14,https://planscore.org/plan.html?20260117T234221.458859302Z +predict9D,ND,,0.0,1, +predict9D,NE,,0.0,3, +predict9D,NH,,0.0,2, +predict9D,NJ,,0.0,12, +predict9D,NM,,0.0,3, +predict9D,NV,,0.0,4, +predict9D,NY,,0.0,26, +predict9D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict9D,OK,,0.0,5, +predict9D,OR,,0.0,6, +predict9D,PA,,0.0,17, +predict9D,RI,,0.0,2, +predict9D,SC,,0.0,7, +predict9D,SD,,0.0,1, +predict9D,TN,,0.0,9, +predict9D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict9D,UT,yes,-0.179,4,https://planscore.org/plan.html?20260117T234258.688560986Z +predict9D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.451498751Z +predict9D,VT,,0.0,1, +predict9D,WA,,0.0,10, +predict9D,WI,,0.0,8, +predict9D,WV,,0.0,2, +predict9D,WY,,0.0,1, +predict8D,AK,,0.0,1, +predict8D,AL,,0.0,7, +predict8D,AR,,0.0,4, +predict8D,AZ,,0.0,9, +predict8D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict8D,CO,,0.0,8, +predict8D,CT,,0.0,5, +predict8D,DE,,0.0,1, +predict8D,FL,,0.0,28, +predict8D,GA,,0.0,14, +predict8D,HI,,0.0,2, +predict8D,IA,,0.0,4, +predict8D,ID,,0.0,2, +predict8D,IL,,0.054,17,https://planscore.org/plan.html?20260117T234131.991427553Z +predict8D,IN,,0.0,9, +predict8D,KS,,0.0,4, +predict8D,KY,,0.0,6, +predict8D,LA,,0.0,6, +predict8D,MA,,0.0,9, +predict8D,MD,,0.0,8, +predict8D,ME,,0.0,2, +predict8D,MI,,0.0,13, +predict8D,MN,,0.0,8, +predict8D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict8D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict8D,MT,,0.0,2, +predict8D,NC,yes,0.029,14,https://planscore.org/plan.html?20260117T234221.368325905Z +predict8D,ND,,0.0,1, +predict8D,NE,,0.0,3, +predict8D,NH,,0.0,2, +predict8D,NJ,,0.0,12, +predict8D,NM,,0.0,3, +predict8D,NV,,0.0,4, +predict8D,NY,,0.0,26, +predict8D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict8D,OK,,0.0,5, +predict8D,OR,,0.0,6, +predict8D,PA,,0.0,17, +predict8D,RI,,0.0,2, +predict8D,SC,,0.0,7, +predict8D,SD,,0.0,1, +predict8D,TN,,0.0,9, +predict8D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict8D,UT,yes,-0.167,4,https://planscore.org/plan.html?20260117T234258.064963898Z +predict8D,VA,,0.069,11,https://planscore.org/plan.html?20260117T234336.199011895Z +predict8D,VT,,0.0,1, +predict8D,WA,,0.0,10, +predict8D,WI,,0.0,8, +predict8D,WV,,0.0,2, +predict8D,WY,,0.0,1, +predict7D,AK,,0.0,1, +predict7D,AL,,0.0,7, +predict7D,AR,,0.0,4, +predict7D,AZ,,0.0,9, +predict7D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict7D,CO,,0.0,8, +predict7D,CT,,0.0,5, +predict7D,DE,,0.0,1, +predict7D,FL,,0.0,28, +predict7D,GA,,0.0,14, +predict7D,HI,,0.0,2, +predict7D,IA,,0.0,4, +predict7D,ID,,0.0,2, +predict7D,IL,,0.072,17,https://planscore.org/plan.html?20260117T234131.979215892Z +predict7D,IN,,0.0,9, +predict7D,KS,,0.0,4, +predict7D,KY,,0.0,6, +predict7D,LA,,0.0,6, +predict7D,MA,,0.0,9, +predict7D,MD,,0.0,8, +predict7D,ME,,0.0,2, +predict7D,MI,,0.0,13, +predict7D,MN,,0.0,8, +predict7D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict7D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict7D,MT,,0.0,2, +predict7D,NC,yes,-0.043,14,https://planscore.org/plan.html?20260117T234221.270985772Z +predict7D,ND,,0.0,1, +predict7D,NE,,0.0,3, +predict7D,NH,,0.0,2, +predict7D,NJ,,0.0,12, +predict7D,NM,,0.0,3, +predict7D,NV,,0.0,4, +predict7D,NY,,0.0,26, +predict7D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict7D,OK,,0.0,5, +predict7D,OR,,0.0,6, +predict7D,PA,,0.0,17, +predict7D,RI,,0.0,2, +predict7D,SC,,0.0,7, +predict7D,SD,,0.0,1, +predict7D,TN,,0.0,9, +predict7D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict7D,UT,yes,-0.15,4,https://planscore.org/plan.html?20260117T234258.384641936Z +predict7D,VA,,0.068,11,https://planscore.org/plan.html?20260117T234336.060619480Z +predict7D,VT,,0.0,1, +predict7D,WA,,0.0,10, +predict7D,WI,,0.0,8, +predict7D,WV,,0.0,2, +predict7D,WY,,0.0,1, +predict6D,AK,,0.0,1, +predict6D,AL,,0.0,7, +predict6D,AR,,0.0,4, +predict6D,AZ,,0.0,9, +predict6D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict6D,CO,,0.0,8, +predict6D,CT,,0.0,5, +predict6D,DE,,0.0,1, +predict6D,FL,,0.0,28, +predict6D,GA,,0.0,14, +predict6D,HI,,0.0,2, +predict6D,IA,,0.0,4, +predict6D,ID,,0.0,2, +predict6D,IL,,0.09,17,https://planscore.org/plan.html?20260117T234131.574728812Z +predict6D,IN,,0.0,9, +predict6D,KS,,0.0,4, +predict6D,KY,,0.0,6, +predict6D,LA,,0.0,6, +predict6D,MA,,0.0,9, +predict6D,MD,,0.0,8, +predict6D,ME,,0.0,2, +predict6D,MI,,0.0,13, +predict6D,MN,,0.0,8, +predict6D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict6D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict6D,MT,,0.0,2, +predict6D,NC,yes,-0.106,14,https://planscore.org/plan.html?20260117T234221.612505460Z +predict6D,ND,,0.0,1, +predict6D,NE,,0.0,3, +predict6D,NH,,0.0,2, +predict6D,NJ,,0.0,12, +predict6D,NM,,0.0,3, +predict6D,NV,,0.0,4, +predict6D,NY,,0.0,26, +predict6D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict6D,OK,,0.0,5, +predict6D,OR,,0.0,6, +predict6D,PA,,0.0,17, +predict6D,RI,,0.0,2, +predict6D,SC,,0.0,7, +predict6D,SD,,0.0,1, +predict6D,TN,,0.0,9, +predict6D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict6D,UT,yes,-0.131,4,https://planscore.org/plan.html?20260117T234258.469650078Z +predict6D,VA,,0.061,11,https://planscore.org/plan.html?20260117T234336.957781207Z +predict6D,VT,,0.0,1, +predict6D,WA,,0.0,10, +predict6D,WI,,0.0,8, +predict6D,WV,,0.0,2, +predict6D,WY,,0.0,1, +predict5D,AK,,0.0,1, +predict5D,AL,,0.0,7, +predict5D,AR,,0.0,4, +predict5D,AZ,,0.0,9, +predict5D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict5D,CO,,0.0,8, +predict5D,CT,,0.0,5, +predict5D,DE,,0.0,1, +predict5D,FL,,0.0,28, +predict5D,GA,,0.0,14, +predict5D,HI,,0.0,2, +predict5D,IA,,0.0,4, +predict5D,ID,,0.0,2, +predict5D,IL,,0.109,17,https://planscore.org/plan.html?20260117T234131.749168443Z +predict5D,IN,,0.0,9, +predict5D,KS,,0.0,4, +predict5D,KY,,0.0,6, +predict5D,LA,,0.0,6, +predict5D,MA,,0.0,9, +predict5D,MD,,0.0,8, +predict5D,ME,,0.0,2, +predict5D,MI,,0.0,13, +predict5D,MN,,0.0,8, +predict5D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict5D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict5D,MT,,0.0,2, +predict5D,NC,yes,-0.158,14,https://planscore.org/plan.html?20260117T234221.600050008Z +predict5D,ND,,0.0,1, +predict5D,NE,,0.0,3, +predict5D,NH,,0.0,2, +predict5D,NJ,,0.0,12, +predict5D,NM,,0.0,3, +predict5D,NV,,0.0,4, +predict5D,NY,,0.0,26, +predict5D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict5D,OK,,0.0,5, +predict5D,OR,,0.0,6, +predict5D,PA,,0.0,17, +predict5D,RI,,0.0,2, +predict5D,SC,,0.0,7, +predict5D,SD,,0.0,1, +predict5D,TN,,0.0,9, +predict5D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict5D,UT,yes,-0.111,4,https://planscore.org/plan.html?20260117T234258.320182311Z +predict5D,VA,,0.052,11,https://planscore.org/plan.html?20260117T234336.698952557Z +predict5D,VT,,0.0,1, +predict5D,WA,,0.0,10, +predict5D,WI,,0.0,8, +predict5D,WV,,0.0,2, +predict5D,WY,,0.0,1, +predict4D,AK,,0.0,1, +predict4D,AL,,0.0,7, +predict4D,AR,,0.0,4, +predict4D,AZ,,0.0,9, +predict4D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict4D,CO,,0.0,8, +predict4D,CT,,0.0,5, +predict4D,DE,,0.0,1, +predict4D,FL,,0.0,28, +predict4D,GA,,0.0,14, +predict4D,HI,,0.0,2, +predict4D,IA,,0.0,4, +predict4D,ID,,0.0,2, +predict4D,IL,,0.127,17,https://planscore.org/plan.html?20260117T234131.266270167Z +predict4D,IN,,0.0,9, +predict4D,KS,,0.0,4, +predict4D,KY,,0.0,6, +predict4D,LA,,0.0,6, +predict4D,MA,,0.0,9, +predict4D,MD,,0.0,8, +predict4D,ME,,0.0,2, +predict4D,MI,,0.0,13, +predict4D,MN,,0.0,8, +predict4D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict4D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict4D,MT,,0.0,2, +predict4D,NC,yes,-0.194,14,https://planscore.org/plan.html?20260117T234221.969053780Z +predict4D,ND,,0.0,1, +predict4D,NE,,0.0,3, +predict4D,NH,,0.0,2, +predict4D,NJ,,0.0,12, +predict4D,NM,,0.0,3, +predict4D,NV,,0.0,4, +predict4D,NY,,0.0,26, +predict4D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict4D,OK,,0.0,5, +predict4D,OR,,0.0,6, +predict4D,PA,,0.0,17, +predict4D,RI,,0.0,2, +predict4D,SC,,0.0,7, +predict4D,SD,,0.0,1, +predict4D,TN,,0.0,9, +predict4D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict4D,UT,yes,-0.091,4,https://planscore.org/plan.html?20260117T234258.272329018Z +predict4D,VA,,0.042,11,https://planscore.org/plan.html?20260117T234336.305127911Z +predict4D,VT,,0.0,1, +predict4D,WA,,0.0,10, +predict4D,WI,,0.0,8, +predict4D,WV,,0.0,2, +predict4D,WY,,0.0,1, +predict3D,AK,,0.0,1, +predict3D,AL,,0.0,7, +predict3D,AR,,0.0,4, +predict3D,AZ,,0.0,9, +predict3D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict3D,CO,,0.0,8, +predict3D,CT,,0.0,5, +predict3D,DE,,0.0,1, +predict3D,FL,,0.0,28, +predict3D,GA,,0.0,14, +predict3D,HI,,0.0,2, +predict3D,IA,,0.0,4, +predict3D,ID,,0.0,2, +predict3D,IL,,0.144,17,https://planscore.org/plan.html?20260117T234131.152414708Z +predict3D,IN,,0.0,9, +predict3D,KS,,0.0,4, +predict3D,KY,,0.0,6, +predict3D,LA,,0.0,6, +predict3D,MA,,0.0,9, +predict3D,MD,,0.0,8, +predict3D,ME,,0.0,2, +predict3D,MI,,0.0,13, +predict3D,MN,,0.0,8, +predict3D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict3D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict3D,MT,,0.0,2, +predict3D,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234221.796939814Z +predict3D,ND,,0.0,1, +predict3D,NE,,0.0,3, +predict3D,NH,,0.0,2, +predict3D,NJ,,0.0,12, +predict3D,NM,,0.0,3, +predict3D,NV,,0.0,4, +predict3D,NY,,0.0,26, +predict3D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict3D,OK,,0.0,5, +predict3D,OR,,0.0,6, +predict3D,PA,,0.0,17, +predict3D,RI,,0.0,2, +predict3D,SC,,0.0,7, +predict3D,SD,,0.0,1, +predict3D,TN,,0.0,9, +predict3D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict3D,UT,yes,-0.071,4,https://planscore.org/plan.html?20260117T234258.031041000Z +predict3D,VA,,0.031,11,https://planscore.org/plan.html?20260117T234336.515941951Z +predict3D,VT,,0.0,1, +predict3D,WA,,0.0,10, +predict3D,WI,,0.0,8, +predict3D,WV,,0.0,2, +predict3D,WY,,0.0,1, +predict2D,AK,,0.0,1, +predict2D,AL,,0.0,7, +predict2D,AR,,0.0,4, +predict2D,AZ,,0.0,9, +predict2D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict2D,CO,,0.0,8, +predict2D,CT,,0.0,5, +predict2D,DE,,0.0,1, +predict2D,FL,,0.0,28, +predict2D,GA,,0.0,14, +predict2D,HI,,0.0,2, +predict2D,IA,,0.0,4, +predict2D,ID,,0.0,2, +predict2D,IL,,0.158,17,https://planscore.org/plan.html?20260117T234131.958212498Z +predict2D,IN,,0.0,9, +predict2D,KS,,0.0,4, +predict2D,KY,,0.0,6, +predict2D,LA,,0.0,6, +predict2D,MA,,0.0,9, +predict2D,MD,,0.0,8, +predict2D,ME,,0.0,2, +predict2D,MI,,0.0,13, +predict2D,MN,,0.0,8, +predict2D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict2D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict2D,MT,,0.0,2, +predict2D,NC,yes,-0.23,14,https://planscore.org/plan.html?20260117T234221.568537282Z +predict2D,ND,,0.0,1, +predict2D,NE,,0.0,3, +predict2D,NH,,0.0,2, +predict2D,NJ,,0.0,12, +predict2D,NM,,0.0,3, +predict2D,NV,,0.0,4, +predict2D,NY,,0.0,26, +predict2D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict2D,OK,,0.0,5, +predict2D,OR,,0.0,6, +predict2D,PA,,0.0,17, +predict2D,RI,,0.0,2, +predict2D,SC,,0.0,7, +predict2D,SD,,0.0,1, +predict2D,TN,,0.0,9, +predict2D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict2D,UT,yes,-0.052,4,https://planscore.org/plan.html?20260117T234258.723719788Z +predict2D,VA,,0.022,11,https://planscore.org/plan.html?20260117T234336.770882824Z +predict2D,VT,,0.0,1, +predict2D,WA,,0.0,10, +predict2D,WI,,0.0,8, +predict2D,WV,,0.0,2, +predict2D,WY,,0.0,1, +predict1D,AK,,0.0,1, +predict1D,AL,,0.0,7, +predict1D,AR,,0.0,4, +predict1D,AZ,,0.0,9, +predict1D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict1D,CO,,0.0,8, +predict1D,CT,,0.0,5, +predict1D,DE,,0.0,1, +predict1D,FL,,0.0,28, +predict1D,GA,,0.0,14, +predict1D,HI,,0.0,2, +predict1D,IA,,0.0,4, +predict1D,ID,,0.0,2, +predict1D,IL,,0.169,17,https://planscore.org/plan.html?20260117T234131.133385493Z +predict1D,IN,,0.0,9, +predict1D,KS,,0.0,4, +predict1D,KY,,0.0,6, +predict1D,LA,,0.0,6, +predict1D,MA,,0.0,9, +predict1D,MD,,0.0,8, +predict1D,ME,,0.0,2, +predict1D,MI,,0.0,13, +predict1D,MN,,0.0,8, +predict1D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict1D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict1D,MT,,0.0,2, +predict1D,NC,yes,-0.233,14,https://planscore.org/plan.html?20260117T234221.056068356Z +predict1D,ND,,0.0,1, +predict1D,NE,,0.0,3, +predict1D,NH,,0.0,2, +predict1D,NJ,,0.0,12, +predict1D,NM,,0.0,3, +predict1D,NV,,0.0,4, +predict1D,NY,,0.0,26, +predict1D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict1D,OK,,0.0,5, +predict1D,OR,,0.0,6, +predict1D,PA,,0.0,17, +predict1D,RI,,0.0,2, +predict1D,SC,,0.0,7, +predict1D,SD,,0.0,1, +predict1D,TN,,0.0,9, +predict1D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict1D,UT,yes,-0.035,4,https://planscore.org/plan.html?20260117T234258.229422821Z +predict1D,VA,,0.011,11,https://planscore.org/plan.html?20260117T234336.509215875Z +predict1D,VT,,0.0,1, +predict1D,WA,,0.0,10, +predict1D,WI,,0.0,8, +predict1D,WV,,0.0,2, +predict1D,WY,,0.0,1, predict,AK,,0.0,1, predict,AL,,0.0,7, predict,AR,,0.0,4, @@ -1449,3 +2049,603 @@ predict,WA,,0.0,10, predict,WI,,0.0,8, predict,WV,,0.0,2, predict,WY,,0.0,1, +predict1R,AK,,0.0,1, +predict1R,AL,,0.0,7, +predict1R,AR,,0.0,4, +predict1R,AZ,,0.0,9, +predict1R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict1R,CO,,0.0,8, +predict1R,CT,,0.0,5, +predict1R,DE,,0.0,1, +predict1R,FL,,0.0,28, +predict1R,GA,,0.0,14, +predict1R,HI,,0.0,2, +predict1R,IA,,0.0,4, +predict1R,ID,,0.0,2, +predict1R,IL,,0.174,17,https://planscore.org/plan.html?20260117T234106.297170815Z +predict1R,IN,,0.0,9, +predict1R,KS,,0.0,4, +predict1R,KY,,0.0,6, +predict1R,LA,,0.0,6, +predict1R,MA,,0.0,9, +predict1R,MD,,0.0,8, +predict1R,ME,,0.0,2, +predict1R,MI,,0.0,13, +predict1R,MN,,0.0,8, +predict1R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict1R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict1R,MT,,0.0,2, +predict1R,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234156.465130495Z +predict1R,ND,,0.0,1, +predict1R,NE,,0.0,3, +predict1R,NH,,0.0,2, +predict1R,NJ,,0.0,12, +predict1R,NM,,0.0,3, +predict1R,NV,,0.0,4, +predict1R,NY,,0.0,26, +predict1R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict1R,OK,,0.0,5, +predict1R,OR,,0.0,6, +predict1R,PA,,0.0,17, +predict1R,RI,,0.0,2, +predict1R,SC,,0.0,7, +predict1R,SD,,0.0,1, +predict1R,TN,,0.0,9, +predict1R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict1R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.143444456Z +predict1R,VA,,-0.005,11,https://planscore.org/plan.html?20260117T234312.712481701Z +predict1R,VT,,0.0,1, +predict1R,WA,,0.0,10, +predict1R,WI,,0.0,8, +predict1R,WV,,0.0,2, +predict1R,WY,,0.0,1, +predict2R,AK,,0.0,1, +predict2R,AL,,0.0,7, +predict2R,AR,,0.0,4, +predict2R,AZ,,0.0,9, +predict2R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict2R,CO,,0.0,8, +predict2R,CT,,0.0,5, +predict2R,DE,,0.0,1, +predict2R,FL,,0.0,28, +predict2R,GA,,0.0,14, +predict2R,HI,,0.0,2, +predict2R,IA,,0.0,4, +predict2R,ID,,0.0,2, +predict2R,IL,,0.167,17,https://planscore.org/plan.html?20260117T234106.683582401Z +predict2R,IN,,0.0,9, +predict2R,KS,,0.0,4, +predict2R,KY,,0.0,6, +predict2R,LA,,0.0,6, +predict2R,MA,,0.0,9, +predict2R,MD,,0.0,8, +predict2R,ME,,0.0,2, +predict2R,MI,,0.0,13, +predict2R,MN,,0.0,8, +predict2R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict2R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict2R,MT,,0.0,2, +predict2R,NC,yes,-0.202,14,https://planscore.org/plan.html?20260117T234156.905654195Z +predict2R,ND,,0.0,1, +predict2R,NE,,0.0,3, +predict2R,NH,,0.0,2, +predict2R,NJ,,0.0,12, +predict2R,NM,,0.0,3, +predict2R,NV,,0.0,4, +predict2R,NY,,0.0,26, +predict2R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict2R,OK,,0.0,5, +predict2R,OR,,0.0,6, +predict2R,PA,,0.0,17, +predict2R,RI,,0.0,2, +predict2R,SC,,0.0,7, +predict2R,SD,,0.0,1, +predict2R,TN,,0.0,9, +predict2R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict2R,UT,yes,-0.008,4,https://planscore.org/plan.html?20260117T234246.646987203Z +predict2R,VA,,-0.008,11,https://planscore.org/plan.html?20260117T234311.468266651Z +predict2R,VT,,0.0,1, +predict2R,WA,,0.0,10, +predict2R,WI,,0.0,8, +predict2R,WV,,0.0,2, +predict2R,WY,,0.0,1, +predict3R,AK,,0.0,1, +predict3R,AL,,0.0,7, +predict3R,AR,,0.0,4, +predict3R,AZ,,0.0,9, +predict3R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict3R,CO,,0.0,8, +predict3R,CT,,0.0,5, +predict3R,DE,,0.0,1, +predict3R,FL,,0.0,28, +predict3R,GA,,0.0,14, +predict3R,HI,,0.0,2, +predict3R,IA,,0.0,4, +predict3R,ID,,0.0,2, +predict3R,IL,,0.152,17,https://planscore.org/plan.html?20260117T234106.039750425Z +predict3R,IN,,0.0,9, +predict3R,KS,,0.0,4, +predict3R,KY,,0.0,6, +predict3R,LA,,0.0,6, +predict3R,MA,,0.0,9, +predict3R,MD,,0.0,8, +predict3R,ME,,0.0,2, +predict3R,MI,,0.0,13, +predict3R,MN,,0.0,8, +predict3R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict3R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict3R,MT,,0.0,2, +predict3R,NC,yes,-0.185,14,https://planscore.org/plan.html?20260117T234156.638310881Z +predict3R,ND,,0.0,1, +predict3R,NE,,0.0,3, +predict3R,NH,,0.0,2, +predict3R,NJ,,0.0,12, +predict3R,NM,,0.0,3, +predict3R,NV,,0.0,4, +predict3R,NY,,0.0,26, +predict3R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict3R,OK,,0.0,5, +predict3R,OR,,0.0,6, +predict3R,PA,,0.0,17, +predict3R,RI,,0.0,2, +predict3R,SC,,0.0,7, +predict3R,SD,,0.0,1, +predict3R,TN,,0.0,9, +predict3R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict3R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.579626535Z +predict3R,VA,,-0.014,11,https://planscore.org/plan.html?20260117T234311.159862084Z +predict3R,VT,,0.0,1, +predict3R,WA,,0.0,10, +predict3R,WI,,0.0,8, +predict3R,WV,,0.0,2, +predict3R,WY,,0.0,1, +predict4R,AK,,0.0,1, +predict4R,AL,,0.0,7, +predict4R,AR,,0.0,4, +predict4R,AZ,,0.0,9, +predict4R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict4R,CO,,0.0,8, +predict4R,CT,,0.0,5, +predict4R,DE,,0.0,1, +predict4R,FL,,0.0,28, +predict4R,GA,,0.0,14, +predict4R,HI,,0.0,2, +predict4R,IA,,0.0,4, +predict4R,ID,,0.0,2, +predict4R,IL,,0.131,17,https://planscore.org/plan.html?20260117T234106.736714772Z +predict4R,IN,,0.0,9, +predict4R,KS,,0.0,4, +predict4R,KY,,0.0,6, +predict4R,LA,,0.0,6, +predict4R,MA,,0.0,9, +predict4R,MD,,0.0,8, +predict4R,ME,,0.0,2, +predict4R,MI,,0.0,13, +predict4R,MN,,0.0,8, +predict4R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict4R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict4R,MT,,0.0,2, +predict4R,NC,yes,-0.167,14,https://planscore.org/plan.html?20260117T234156.580785945Z +predict4R,ND,,0.0,1, +predict4R,NE,,0.0,3, +predict4R,NH,,0.0,2, +predict4R,NJ,,0.0,12, +predict4R,NM,,0.0,3, +predict4R,NV,,0.0,4, +predict4R,NY,,0.0,26, +predict4R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict4R,OK,,0.0,5, +predict4R,OR,,0.0,6, +predict4R,PA,,0.0,17, +predict4R,RI,,0.0,2, +predict4R,SC,,0.0,7, +predict4R,SD,,0.0,1, +predict4R,TN,,0.0,9, +predict4R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict4R,UT,yes,-0.014,4,https://planscore.org/plan.html?20260117T234245.192003314Z +predict4R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.769107907Z +predict4R,VT,,0.0,1, +predict4R,WA,,0.0,10, +predict4R,WI,,0.0,8, +predict4R,WV,,0.0,2, +predict4R,WY,,0.0,1, +predict5R,AK,,0.0,1, +predict5R,AL,,0.0,7, +predict5R,AR,,0.0,4, +predict5R,AZ,,0.0,9, +predict5R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict5R,CO,,0.0,8, +predict5R,CT,,0.0,5, +predict5R,DE,,0.0,1, +predict5R,FL,,0.0,28, +predict5R,GA,,0.0,14, +predict5R,HI,,0.0,2, +predict5R,IA,,0.0,4, +predict5R,ID,,0.0,2, +predict5R,IL,,0.11,17,https://planscore.org/plan.html?20260117T234106.366567166Z +predict5R,IN,,0.0,9, +predict5R,KS,,0.0,4, +predict5R,KY,,0.0,6, +predict5R,LA,,0.0,6, +predict5R,MA,,0.0,9, +predict5R,MD,,0.0,8, +predict5R,ME,,0.0,2, +predict5R,MI,,0.0,13, +predict5R,MN,,0.0,8, +predict5R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict5R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict5R,MT,,0.0,2, +predict5R,NC,yes,-0.147,14,https://planscore.org/plan.html?20260117T234156.668749961Z +predict5R,ND,,0.0,1, +predict5R,NE,,0.0,3, +predict5R,NH,,0.0,2, +predict5R,NJ,,0.0,12, +predict5R,NM,,0.0,3, +predict5R,NV,,0.0,4, +predict5R,NY,,0.0,26, +predict5R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict5R,OK,,0.0,5, +predict5R,OR,,0.0,6, +predict5R,PA,,0.0,17, +predict5R,RI,,0.0,2, +predict5R,SC,,0.0,7, +predict5R,SD,,0.0,1, +predict5R,TN,,0.0,9, +predict5R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict5R,UT,yes,-0.026,4,https://planscore.org/plan.html?20260117T234245.146139982Z +predict5R,VA,,-0.021,11,https://planscore.org/plan.html?20260117T234311.299631581Z +predict5R,VT,,0.0,1, +predict5R,WA,,0.0,10, +predict5R,WI,,0.0,8, +predict5R,WV,,0.0,2, +predict5R,WY,,0.0,1, +predict6R,AK,,0.0,1, +predict6R,AL,,0.0,7, +predict6R,AR,,0.0,4, +predict6R,AZ,,0.0,9, +predict6R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict6R,CO,,0.0,8, +predict6R,CT,,0.0,5, +predict6R,DE,,0.0,1, +predict6R,FL,,0.0,28, +predict6R,GA,,0.0,14, +predict6R,HI,,0.0,2, +predict6R,IA,,0.0,4, +predict6R,ID,,0.0,2, +predict6R,IL,,0.091,17,https://planscore.org/plan.html?20260117T234106.149190231Z +predict6R,IN,,0.0,9, +predict6R,KS,,0.0,4, +predict6R,KY,,0.0,6, +predict6R,LA,,0.0,6, +predict6R,MA,,0.0,9, +predict6R,MD,,0.0,8, +predict6R,ME,,0.0,2, +predict6R,MI,,0.0,13, +predict6R,MN,,0.0,8, +predict6R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict6R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict6R,MT,,0.0,2, +predict6R,NC,yes,-0.127,14,https://planscore.org/plan.html?20260117T234156.081909068Z +predict6R,ND,,0.0,1, +predict6R,NE,,0.0,3, +predict6R,NH,,0.0,2, +predict6R,NJ,,0.0,12, +predict6R,NM,,0.0,3, +predict6R,NV,,0.0,4, +predict6R,NY,,0.0,26, +predict6R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict6R,OK,,0.0,5, +predict6R,OR,,0.0,6, +predict6R,PA,,0.0,17, +predict6R,RI,,0.0,2, +predict6R,SC,,0.0,7, +predict6R,SD,,0.0,1, +predict6R,TN,,0.0,9, +predict6R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict6R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.168662904Z +predict6R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.884055474Z +predict6R,VT,,0.0,1, +predict6R,WA,,0.0,10, +predict6R,WI,,0.0,8, +predict6R,WV,,0.0,2, +predict6R,WY,,0.0,1, +predict7R,AK,,0.0,1, +predict7R,AL,,0.0,7, +predict7R,AR,,0.0,4, +predict7R,AZ,,0.0,9, +predict7R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict7R,CO,,0.0,8, +predict7R,CT,,0.0,5, +predict7R,DE,,0.0,1, +predict7R,FL,,0.0,28, +predict7R,GA,,0.0,14, +predict7R,HI,,0.0,2, +predict7R,IA,,0.0,4, +predict7R,ID,,0.0,2, +predict7R,IL,,0.07,17,https://planscore.org/plan.html?20260117T234106.081409659Z +predict7R,IN,,0.0,9, +predict7R,KS,,0.0,4, +predict7R,KY,,0.0,6, +predict7R,LA,,0.0,6, +predict7R,MA,,0.0,9, +predict7R,MD,,0.0,8, +predict7R,ME,,0.0,2, +predict7R,MI,,0.0,13, +predict7R,MN,,0.0,8, +predict7R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict7R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict7R,MT,,0.0,2, +predict7R,NC,yes,-0.107,14,https://planscore.org/plan.html?20260117T234156.925860594Z +predict7R,ND,,0.0,1, +predict7R,NE,,0.0,3, +predict7R,NH,,0.0,2, +predict7R,NJ,,0.0,12, +predict7R,NM,,0.0,3, +predict7R,NV,,0.0,4, +predict7R,NY,,0.0,26, +predict7R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict7R,OK,,0.0,5, +predict7R,OR,,0.0,6, +predict7R,PA,,0.0,17, +predict7R,RI,,0.0,2, +predict7R,SC,,0.0,7, +predict7R,SD,,0.0,1, +predict7R,TN,,0.0,9, +predict7R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict7R,UT,yes,-0.046,4,https://planscore.org/plan.html?20260117T234245.180439542Z +predict7R,VA,,-0.011,11,https://planscore.org/plan.html?20260117T234311.596057619Z +predict7R,VT,,0.0,1, +predict7R,WA,,0.0,10, +predict7R,WI,,0.0,8, +predict7R,WV,,0.0,2, +predict7R,WY,,0.0,1, +predict8R,AK,,0.0,1, +predict8R,AL,,0.0,7, +predict8R,AR,,0.0,4, +predict8R,AZ,,0.0,9, +predict8R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict8R,CO,,0.0,8, +predict8R,CT,,0.0,5, +predict8R,DE,,0.0,1, +predict8R,FL,,0.0,28, +predict8R,GA,,0.0,14, +predict8R,HI,,0.0,2, +predict8R,IA,,0.0,4, +predict8R,ID,,0.0,2, +predict8R,IL,,0.06,17,https://planscore.org/plan.html?20260117T234106.392712154Z +predict8R,IN,,0.0,9, +predict8R,KS,,0.0,4, +predict8R,KY,,0.0,6, +predict8R,LA,,0.0,6, +predict8R,MA,,0.0,9, +predict8R,MD,,0.0,8, +predict8R,ME,,0.0,2, +predict8R,MI,,0.0,13, +predict8R,MN,,0.0,8, +predict8R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict8R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict8R,MT,,0.0,2, +predict8R,NC,yes,-0.086,14,https://planscore.org/plan.html?20260117T234156.896993265Z +predict8R,ND,,0.0,1, +predict8R,NE,,0.0,3, +predict8R,NH,,0.0,2, +predict8R,NJ,,0.0,12, +predict8R,NM,,0.0,3, +predict8R,NV,,0.0,4, +predict8R,NY,,0.0,26, +predict8R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict8R,OK,,0.0,5, +predict8R,OR,,0.0,6, +predict8R,PA,,0.0,17, +predict8R,RI,,0.0,2, +predict8R,SC,,0.0,7, +predict8R,SD,,0.0,1, +predict8R,TN,,0.0,9, +predict8R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict8R,UT,yes,-0.05,4,https://planscore.org/plan.html?20260117T234245.448786761Z +predict8R,VA,,-0.001,11,https://planscore.org/plan.html?20260117T234311.377663437Z +predict8R,VT,,0.0,1, +predict8R,WA,,0.0,10, +predict8R,WI,,0.0,8, +predict8R,WV,,0.0,2, +predict8R,WY,,0.0,1, +predict9R,AK,,0.0,1, +predict9R,AL,,0.0,7, +predict9R,AR,,0.0,4, +predict9R,AZ,,0.0,9, +predict9R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict9R,CO,,0.0,8, +predict9R,CT,,0.0,5, +predict9R,DE,,0.0,1, +predict9R,FL,,0.0,28, +predict9R,GA,,0.0,14, +predict9R,HI,,0.0,2, +predict9R,IA,,0.0,4, +predict9R,ID,,0.0,2, +predict9R,IL,,0.055,17,https://planscore.org/plan.html?20260117T234106.654436222Z +predict9R,IN,,0.0,9, +predict9R,KS,,0.0,4, +predict9R,KY,,0.0,6, +predict9R,LA,,0.0,6, +predict9R,MA,,0.0,9, +predict9R,MD,,0.0,8, +predict9R,ME,,0.0,2, +predict9R,MI,,0.0,13, +predict9R,MN,,0.0,8, +predict9R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict9R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict9R,MT,,0.0,2, +predict9R,NC,yes,-0.065,14,https://planscore.org/plan.html?20260117T234156.678236264Z +predict9R,ND,,0.0,1, +predict9R,NE,,0.0,3, +predict9R,NH,,0.0,2, +predict9R,NJ,,0.0,12, +predict9R,NM,,0.0,3, +predict9R,NV,,0.0,4, +predict9R,NY,,0.0,26, +predict9R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict9R,OK,,0.0,5, +predict9R,OR,,0.0,6, +predict9R,PA,,0.0,17, +predict9R,RI,,0.0,2, +predict9R,SC,,0.0,7, +predict9R,SD,,0.0,1, +predict9R,TN,,0.0,9, +predict9R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict9R,UT,yes,-0.053,4,https://planscore.org/plan.html?20260117T234245.311067908Z +predict9R,VA,,0.012,11,https://planscore.org/plan.html?20260117T234311.571250395Z +predict9R,VT,,0.0,1, +predict9R,WA,,0.0,10, +predict9R,WI,,0.0,8, +predict9R,WV,,0.0,2, +predict9R,WY,,0.0,1, +predict10R,AK,,0.0,1, +predict10R,AL,,0.0,7, +predict10R,AR,,0.0,4, +predict10R,AZ,,0.0,9, +predict10R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict10R,CO,,0.0,8, +predict10R,CT,,0.0,5, +predict10R,DE,,0.0,1, +predict10R,FL,,0.0,28, +predict10R,GA,,0.0,14, +predict10R,HI,,0.0,2, +predict10R,IA,,0.0,4, +predict10R,ID,,0.0,2, +predict10R,IL,,0.051,17,https://planscore.org/plan.html?20260117T234106.273986862Z +predict10R,IN,,0.0,9, +predict10R,KS,,0.0,4, +predict10R,KY,,0.0,6, +predict10R,LA,,0.0,6, +predict10R,MA,,0.0,9, +predict10R,MD,,0.0,8, +predict10R,ME,,0.0,2, +predict10R,MI,,0.0,13, +predict10R,MN,,0.0,8, +predict10R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict10R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict10R,MT,,0.0,2, +predict10R,NC,yes,-0.045,14,https://planscore.org/plan.html?20260117T234156.233074361Z +predict10R,ND,,0.0,1, +predict10R,NE,,0.0,3, +predict10R,NH,,0.0,2, +predict10R,NJ,,0.0,12, +predict10R,NM,,0.0,3, +predict10R,NV,,0.0,4, +predict10R,NY,,0.0,26, +predict10R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict10R,OK,,0.0,5, +predict10R,OR,,0.0,6, +predict10R,PA,,0.0,17, +predict10R,RI,,0.0,2, +predict10R,SC,,0.0,7, +predict10R,SD,,0.0,1, +predict10R,TN,,0.0,9, +predict10R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict10R,UT,yes,-0.049,4,https://planscore.org/plan.html?20260117T234245.625717273Z +predict10R,VA,,0.025,11,https://planscore.org/plan.html?20260117T234311.368273783Z +predict10R,VT,,0.0,1, +predict10R,WA,,0.0,10, +predict10R,WI,,0.0,8, +predict10R,WV,,0.0,2, +predict10R,WY,,0.0,1, +predict11R,AK,,0.0,1, +predict11R,AL,,0.0,7, +predict11R,AR,,0.0,4, +predict11R,AZ,,0.0,9, +predict11R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict11R,CO,,0.0,8, +predict11R,CT,,0.0,5, +predict11R,DE,,0.0,1, +predict11R,FL,,0.0,28, +predict11R,GA,,0.0,14, +predict11R,HI,,0.0,2, +predict11R,IA,,0.0,4, +predict11R,ID,,0.0,2, +predict11R,IL,,0.046,17,https://planscore.org/plan.html?20260117T234106.131667790Z +predict11R,IN,,0.0,9, +predict11R,KS,,0.0,4, +predict11R,KY,,0.0,6, +predict11R,LA,,0.0,6, +predict11R,MA,,0.0,9, +predict11R,MD,,0.0,8, +predict11R,ME,,0.0,2, +predict11R,MI,,0.0,13, +predict11R,MN,,0.0,8, +predict11R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict11R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict11R,MT,,0.0,2, +predict11R,NC,yes,-0.026,14,https://planscore.org/plan.html?20260117T234155.737098406Z +predict11R,ND,,0.0,1, +predict11R,NE,,0.0,3, +predict11R,NH,,0.0,2, +predict11R,NJ,,0.0,12, +predict11R,NM,,0.0,3, +predict11R,NV,,0.0,4, +predict11R,NY,,0.0,26, +predict11R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict11R,OK,,0.0,5, +predict11R,OR,,0.0,6, +predict11R,PA,,0.0,17, +predict11R,RI,,0.0,2, +predict11R,SC,,0.0,7, +predict11R,SD,,0.0,1, +predict11R,TN,,0.0,9, +predict11R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict11R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.926777968Z +predict11R,VA,,0.035,11,https://planscore.org/plan.html?20260117T234311.872389943Z +predict11R,VT,,0.0,1, +predict11R,WA,,0.0,10, +predict11R,WI,,0.0,8, +predict11R,WV,,0.0,2, +predict11R,WY,,0.0,1, +predict12R,AK,,0.0,1, +predict12R,AL,,0.0,7, +predict12R,AR,,0.0,4, +predict12R,AZ,,0.0,9, +predict12R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict12R,CO,,0.0,8, +predict12R,CT,,0.0,5, +predict12R,DE,,0.0,1, +predict12R,FL,,0.0,28, +predict12R,GA,,0.0,14, +predict12R,HI,,0.0,2, +predict12R,IA,,0.0,4, +predict12R,ID,,0.0,2, +predict12R,IL,,0.039,17,https://planscore.org/plan.html?20260117T234106.397562328Z +predict12R,IN,,0.0,9, +predict12R,KS,,0.0,4, +predict12R,KY,,0.0,6, +predict12R,LA,,0.0,6, +predict12R,MA,,0.0,9, +predict12R,MD,,0.0,8, +predict12R,ME,,0.0,2, +predict12R,MI,,0.0,13, +predict12R,MN,,0.0,8, +predict12R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict12R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict12R,MT,,0.0,2, +predict12R,NC,yes,-0.007,14,https://planscore.org/plan.html?20260117T234155.082537795Z +predict12R,ND,,0.0,1, +predict12R,NE,,0.0,3, +predict12R,NH,,0.0,2, +predict12R,NJ,,0.0,12, +predict12R,NM,,0.0,3, +predict12R,NV,,0.0,4, +predict12R,NY,,0.0,26, +predict12R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict12R,OK,,0.0,5, +predict12R,OR,,0.0,6, +predict12R,PA,,0.0,17, +predict12R,RI,,0.0,2, +predict12R,SC,,0.0,7, +predict12R,SD,,0.0,1, +predict12R,TN,,0.0,9, +predict12R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict12R,UT,yes,-0.024,4,https://planscore.org/plan.html?20260117T234245.745755577Z +predict12R,VA,,0.039,11,https://planscore.org/plan.html?20260117T234311.522115761Z +predict12R,VT,,0.0,1, +predict12R,WA,,0.0,10, +predict12R,WI,,0.0,8, +predict12R,WV,,0.0,2, +predict12R,WY,,0.0,1, diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py index bcf298f7..9fd89dea 100755 --- a/update-ushouse-data-files.py +++ b/update-ushouse-data-files.py @@ -109,10 +109,10 @@ def load_google_state_swings(service: typing.Any) -> dict: most_recent_date, most_recent_title = swings_sheets[0] logging.debug(f"Using State Swings worksheet: {most_recent_title}") - # Load data from the most recent sheet + # Load data from the most recent sheet - read wide range to get all columns result = service.spreadsheets().values().get( spreadsheetId=SPREADSHEET_ID, - range=f"'{most_recent_title}'!A:O" + range=f"'{most_recent_title}'!A:AZ" ).execute() values = result.get('values', []) @@ -121,22 +121,54 @@ def load_google_state_swings(service: typing.Any) -> dict: headers = values[0] - # Build dict mapping state abbreviation -> Zero Shift URL + # Build dict mapping state abbreviation -> dict of column names to URLs + # Structure: {state_abbrev: {column_name: url}} state_swings = {} for row in values[1:]: row_padded = row + [''] * (len(headers) - len(row)) state_data = dict(zip(headers, row_padded)) state_name = state_data.get('State Name', '') - zero_shift_url = state_data.get('Zero Shift PlanScore URL', '').strip() # Convert state name to abbreviation abbrev = STATE_ABBREVS.get(state_name) - if abbrev and zero_shift_url: - state_swings[abbrev] = zero_shift_url - logging.debug(f" {abbrev}: {zero_shift_url}") + if not abbrev: + continue + + # Extract all PlanScore URL columns + state_urls = {} + for header, value in state_data.items(): + if 'PlanScore URL' in header and value and value.strip(): + state_urls[header] = value.strip() + + if state_urls: + state_swings[abbrev] = state_urls + logging.debug(f" {abbrev}: {len(state_urls)} URLs found") return state_swings +def get_state_swings_column_name(cycle: str) -> typing.Optional[str]: + """Convert cycle name to State Swings worksheet column name + + Examples: + predict -> Zero Shift PlanScore URL + predict1D -> D+1 PlanScore URL + predict12D -> D+12 PlanScore URL + predict1R -> R+1 PlanScore URL + predict12R -> R+12 PlanScore URL + """ + if cycle == "predict": + return "Zero Shift PlanScore URL" + + # Parse predictXD or predictXR format + match = re.match(r'^predict(\d+)([DR])$', cycle) + if not match: + return None + + number = match.group(1) + party = match.group(2) + + return f"{party}+{number} PlanScore URL" + def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: """Process an existing plan URL to calculate election data""" if not (plan_match := PLAN_URL_PAT.match(plan_url)): @@ -214,19 +246,26 @@ def main(credentials_file: str, filename: str): else: # No Google Sheets data for this state, keep row as-is elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) - elif cycle == "predict": - # For predict rows, check State Swings worksheet + elif cycle and cycle.startswith("predict"): + # For predict* rows, check State Swings worksheet stateabrev = row.get("stateabrev") - zero_shift_url = state_swings.get(stateabrev) - - if zero_shift_url: - # State has a Zero Shift URL in State Swings, process the plan - row = dict(row) - row['url'] = zero_shift_url - election = planscore2election(zero_shift_url, row) - elections.append(election) + column_name = get_state_swings_column_name(cycle) + + if column_name and stateabrev in state_swings: + # Get the URL for this specific column/cycle + plan_url = state_swings[stateabrev].get(column_name, '').strip() + + if plan_url: + # State has a URL for this cycle in State Swings, process the plan + row = dict(row) + row['url'] = plan_url + election = planscore2election(plan_url, row) + elections.append(election) + else: + # No URL for this cycle, keep row as-is + elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) else: - # No Zero Shift URL, keep row as-is + # State not in State Swings or invalid cycle name, keep row as-is elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) else: # Not a 2026 or predict cycle, keep row as-is From 238e8854116c52be850421b3147723e84d50a8d0 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 18:28:27 -0800 Subject: [PATCH 15/22] Rename "predict" to "predict0" and enable full 25-scenario vote swing support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User prompts (verbatim): 1. "Right now update-ushouse-data-files.py and index.js6 both use "predict" as a string constant to reference rows in ~/Sites/PlanScore-FrontPage/ WEBSITE_OUTPUT/data/bias_ushouse-elections.csv. I've modified the CSV and now we need to make some associated changes: the Zero Shift rows will be known as "predict0" instead of "predict", and the front end code should use the full range of values like "predict12D", "predict0", "predict12R" etc. so that the filtering in window.selectYear() can show different vote swing scenarios in the frontend driven from the 25 different scenarios in the CSV. Tell me your plan." 2. "We do not need to handle legacy URLs. It might make sense for window.getBaseYear() to be removed, we can short-circuit the connection since we'll be using strings like "predict0" and "predict12D" throughout with no need to map to a special signal value. Update your plan." 3. "Almost! The frontend slider does not appear to trigger the update behavior that changes the map. I can see that it has the correct effect when reloading the page, it just needs to have its change events connected. Do that." This change allows the prediction slider to display unique efficiency gap data for all 25 vote swing scenarios (D+12 through R+12 plus zero shift). Python changes (update-ushouse-data-files.py): - Updated get_state_swings_column_name() to map "predict0" instead of "predict" to "Zero Shift PlanScore URL" for consistency with numbered format Frontend changes (index.js6): - Removed getBaseYear() helper function - no longer needed since we use full cycle names (predict0, predict5D, predict12R) directly throughout - Updated year-fudging logic: when viewing predictions in US House and switching to other boundary types (State Senate, etc.), automatically defaults to 2026 since other boundaries don't have prediction scenarios - Updated CSV filtering: use CURRENT_VIEW.year directly instead of converting all predict variants to a single base value - this allows each scenario (predict0, predict1D, predict12R) to match its unique CSV row - Connected slider drag events to trigger loadDataForSelectedBoundaryAndYear() so map updates in real-time as user moves slider CSV data (bias_ushouse-elections.csv): - Regenerated with new naming scheme: predict0 (zero shift), predict1D-12D (Democratic vote swings), predict1R-12R (Republican vote swings) - All 25 scenarios × 50 states = 1,250 prediction rows - States with scenario data (IL, NC, UT, VA) now show varying EG values across all 25 cycles The prediction slider now dynamically loads and displays different electoral outcomes as users explore vote swing scenarios. --- .../data/bias_ushouse-elections.csv | 100 +++++++++--------- index.js6 | 21 ++-- update-ushouse-data-files.py | 4 +- 3 files changed, 61 insertions(+), 64 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 32f8ff4b..2737e301 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1999,56 +1999,56 @@ predict1D,WA,,0.0,10, predict1D,WI,,0.0,8, predict1D,WV,,0.0,2, predict1D,WY,,0.0,1, -predict,AK,,0.0,1, -predict,AL,,0.0,7, -predict,AR,,0.0,4, -predict,AZ,,0.0,9, -predict,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z -predict,CO,,0.0,8, -predict,CT,,0.0,5, -predict,DE,,0.0,1, -predict,FL,,0.0,28, -predict,GA,,0.0,14, -predict,HI,,0.0,2, -predict,IA,,0.0,4, -predict,ID,,0.0,2, -predict,IL,,0.173,17,https://planscore.org/plan.html?20260118T001631.622137249Z -predict,IN,,0.0,9, -predict,KS,,0.0,4, -predict,KY,,0.0,6, -predict,LA,,0.0,6, -predict,MA,,0.0,9, -predict,MD,,0.0,8, -predict,ME,,0.0,2, -predict,MI,,0.0,13, -predict,MN,,0.0,8, -predict,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z -predict,MT,,0.0,2, -predict,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T001631.540221736Z -predict,ND,,0.0,1, -predict,NE,,0.0,3, -predict,NH,,0.0,2, -predict,NJ,,0.0,12, -predict,NM,,0.0,3, -predict,NV,,0.0,4, -predict,NY,,0.0,26, -predict,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z -predict,OK,,0.0,5, -predict,OR,,0.0,6, -predict,PA,,0.0,17, -predict,RI,,0.0,2, -predict,SC,,0.0,7, -predict,SD,,0.0,1, -predict,TN,,0.0,9, -predict,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z -predict,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T001634.186677257Z -predict,VA,,0.003,11,https://planscore.org/plan.html?20260118T001636.365843215Z -predict,VT,,0.0,1, -predict,WA,,0.0,10, -predict,WI,,0.0,8, -predict,WV,,0.0,2, -predict,WY,,0.0,1, +predict0,AK,,0.0,1, +predict0,AL,,0.0,7, +predict0,AR,,0.0,4, +predict0,AZ,,0.0,9, +predict0,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict0,CO,,0.0,8, +predict0,CT,,0.0,5, +predict0,DE,,0.0,1, +predict0,FL,,0.0,28, +predict0,GA,,0.0,14, +predict0,HI,,0.0,2, +predict0,IA,,0.0,4, +predict0,ID,,0.0,2, +predict0,IL,,0.173,17,https://planscore.org/plan.html?20260118T001631.622137249Z +predict0,IN,,0.0,9, +predict0,KS,,0.0,4, +predict0,KY,,0.0,6, +predict0,LA,,0.0,6, +predict0,MA,,0.0,9, +predict0,MD,,0.0,8, +predict0,ME,,0.0,2, +predict0,MI,,0.0,13, +predict0,MN,,0.0,8, +predict0,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z +predict0,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict0,MT,,0.0,2, +predict0,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T001631.540221736Z +predict0,ND,,0.0,1, +predict0,NE,,0.0,3, +predict0,NH,,0.0,2, +predict0,NJ,,0.0,12, +predict0,NM,,0.0,3, +predict0,NV,,0.0,4, +predict0,NY,,0.0,26, +predict0,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict0,OK,,0.0,5, +predict0,OR,,0.0,6, +predict0,PA,,0.0,17, +predict0,RI,,0.0,2, +predict0,SC,,0.0,7, +predict0,SD,,0.0,1, +predict0,TN,,0.0,9, +predict0,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict0,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T001634.186677257Z +predict0,VA,,0.003,11,https://planscore.org/plan.html?20260118T001636.365843215Z +predict0,VT,,0.0,1, +predict0,WA,,0.0,10, +predict0,WI,,0.0,8, +predict0,WV,,0.0,2, +predict0,WY,,0.0,1, predict1R,AK,,0.0,1, predict1R,AL,,0.0,7, predict1R,AR,,0.0,4, diff --git a/index.js6 b/index.js6 index 1b61f46b..67911bcc 100644 --- a/index.js6 +++ b/index.js6 @@ -255,10 +255,11 @@ window.initPredictionSlider = () => { // update the year state to match slider position if (!skipYearUpdate) { const predictionYear = getPredictionYearString(value); - // Only update the year and hash, don't reload data or trigger full selectYear + // Update the year, hash, and reload data to show the new prediction scenario if (CURRENT_VIEW.year !== predictionYear) { CURRENT_VIEW.year = predictionYear; updateAddressHash(); + loadDataForSelectedBoundaryAndYear(); } } }; @@ -399,12 +400,6 @@ window.isPredictionYear = (year) => { return String(year).startsWith('predict'); }; -// Helper: Extract base year from prediction string for CSV lookup -// returns: "predict" for all prediction variants, or the original year for others -window.getBaseYear = (year) => { - return isPredictionYear(year) ? 'predict' : year; -}; - window.loadDataForSelectedBoundaryAndYear = (options={}) => { if (! CURRENT_VIEW.year || ! CURRENT_VIEW.boundtype) return; // need both; during startup one will be blank, so avoid an error @@ -436,8 +431,11 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { // primarily used when switching district types, as not all district types have the same coverage for every year (e.g. State House 2016) if (options.fudgeYearIfNoData) { const yearColumn = CURRENT_VIEW.boundtype === 'ushouse' ? 'cycle' : 'year'; - const baseYear = getBaseYear(CURRENT_VIEW.year); - const hasdata = results.data.filter((datarow) => { return datarow[yearColumn] == baseYear; }).length; + // For predict years in non-ushouse boundaries, default to 2026 since predictions are ushouse-only + const yearToCheck = (isPredictionYear(CURRENT_VIEW.year) && CURRENT_VIEW.boundtype !== 'ushouse') + ? 2026 + : CURRENT_VIEW.year; + const hasdata = results.data.filter((datarow) => { return datarow[yearColumn] == yearToCheck; }).length; if (! hasdata) { const wehavetheseyears = results.data.map((datarow) => { return datarow[yearColumn] ? parseInt(datarow[yearColumn]) : 0; // workaround for 176, iOS 11 including blank rows so year=NaN @@ -540,7 +538,6 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { // filter by the year (geography is implicit by which CSV was fetched) // and for each row assign the bias score to the state's row in the above // this is loop-within-loop as we match arrays to arrays, but P=50 and Q=20ish so it's affordable - const baseYear = getBaseYear(CURRENT_VIEW.year); results.data.forEach(function (datarow) { // Boolean flag for mid-cycle redistricting on this plan const numericYear = isPredictionYear(CURRENT_VIEW.year) ? 2026 : CURRENT_VIEW.year; @@ -548,7 +545,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { // For ushouse, use different column names if (CURRENT_VIEW.boundtype === 'ushouse') { - if (datarow.cycle != baseYear) return; // wrong year; next + if (datarow.cycle != CURRENT_VIEW.year) return; // wrong year; next const chartrow = chartdata.filter((filteringthisonerow) => { return filteringthisonerow.abbr == datarow.stateabrev; })[0]; if (!chartrow) return; // state not found, skip chartrow.value = parseFloat(datarow.EG); @@ -558,7 +555,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { chartrow.stateScale = datarow.stateScale; chartrow.midcyclePlan = midCycleplan; } else { - if (datarow.year != baseYear) return; // wrong year; next + if (datarow.year != CURRENT_VIEW.year) return; // wrong year; next const chartrow = chartdata.filter((filteringthisonerow) => { return filteringthisonerow.abbr == datarow.state; })[0]; if (!chartrow) return; // state not found, skip chartrow.value = parseFloat(datarow.eg_adj_avg); diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py index 9fd89dea..bed05971 100755 --- a/update-ushouse-data-files.py +++ b/update-ushouse-data-files.py @@ -150,13 +150,13 @@ def get_state_swings_column_name(cycle: str) -> typing.Optional[str]: """Convert cycle name to State Swings worksheet column name Examples: - predict -> Zero Shift PlanScore URL + predict0 -> Zero Shift PlanScore URL predict1D -> D+1 PlanScore URL predict12D -> D+12 PlanScore URL predict1R -> R+1 PlanScore URL predict12R -> R+12 PlanScore URL """ - if cycle == "predict": + if cycle == "predict0": return "Zero Shift PlanScore URL" # Parse predictXD or predictXR format From e3f0da393b8de4f0ecf444564fab3dc48db1bbf2 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 18:38:28 -0800 Subject: [PATCH 16/22] Parallelize update-ushouse-data-files.py with 10-worker ThreadPoolExecutor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refactored main() to use concurrent.futures.ThreadPoolExecutor for processing CSV rows in parallel. Extracted row processing logic into process_row() function that returns (index, Election) tuples. Results are sorted by index to preserve output ordering. User prompt: "update-ushouse-data-files.py is slow because rows are iterated in main(). Propose your plan for using 10x parallelism in this, while retaining consistent ordering in the output. Test by running update-ushouse-data-files.sh and expect no changes to the CSV file." 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- update-ushouse-data-files.py | 120 ++++++++++++++++++++--------------- 1 file changed, 69 insertions(+), 51 deletions(-) diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py index bed05971..8feffaf1 100755 --- a/update-ushouse-data-files.py +++ b/update-ushouse-data-files.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import argparse +import concurrent.futures import csv import dataclasses import json @@ -203,6 +204,56 @@ def planscore2election(plan_url: str, row: dict) -> typing.Optional[Election]: row.get("url"), ) +def process_row(index: int, row: dict, gdocs: GdocsStates, state_swings: dict) -> tuple[int, Election]: + """Process a single row and return (index, Election) tuple""" + cycle = row.get("cycle") + + if cycle == "2026": + # For 2026 rows, check if state has a redraw (column G) + stateabrev = row.get("stateabrev") + google_state = gdocs.states.get(stateabrev) + + if google_state: + has_redraw = google_state.get('2026 Redraw', '').strip().upper() == 'Y' + plan_url = google_state.get('PlanScore URL', '').strip() + + if has_redraw and plan_url: + # State has a redraw and URL in Google Sheets, process the plan + row = dict(row) + row['url'] = plan_url + election = planscore2election(plan_url, row) + return (index, election) + else: + # No redraw or no URL, keep row as-is without URL + return (index, Election(*(row.get(f) for f in ELECTION_FIELDS))) + else: + # No Google Sheets data for this state, keep row as-is + return (index, Election(*(row.get(f) for f in ELECTION_FIELDS))) + elif cycle and cycle.startswith("predict"): + # For predict* rows, check State Swings worksheet + stateabrev = row.get("stateabrev") + column_name = get_state_swings_column_name(cycle) + + if column_name and stateabrev in state_swings: + # Get the URL for this specific column/cycle + plan_url = state_swings[stateabrev].get(column_name, '').strip() + + if plan_url: + # State has a URL for this cycle in State Swings, process the plan + row = dict(row) + row['url'] = plan_url + election = planscore2election(plan_url, row) + return (index, election) + else: + # No URL for this cycle, keep row as-is + return (index, Election(*(row.get(f) for f in ELECTION_FIELDS))) + else: + # State not in State Swings or invalid cycle name, keep row as-is + return (index, Election(*(row.get(f) for f in ELECTION_FIELDS))) + else: + # Not a 2026 or predict cycle, keep row as-is + return (index, Election(*(row.get(f) for f in ELECTION_FIELDS))) + def main(credentials_file: str, filename: str): # Load Google Sheets states data logging.debug("Loading Google Sheets states data...") @@ -219,57 +270,24 @@ def main(credentials_file: str, filename: str): logging.info(f"{rows[:3]}, {rows[-3:]}") - elections = [] - - # Process all rows - for row in rows: - cycle = row.get("cycle") - - if cycle == "2026": - # For 2026 rows, check if state has a redraw (column G) - stateabrev = row.get("stateabrev") - google_state = gdocs.states.get(stateabrev) - - if google_state: - has_redraw = google_state.get('2026 Redraw', '').strip().upper() == 'Y' - plan_url = google_state.get('PlanScore URL', '').strip() - - if has_redraw and plan_url: - # State has a redraw and URL in Google Sheets, process the plan - row = dict(row) - row['url'] = plan_url - election = planscore2election(plan_url, row) - elections.append(election) - else: - # No redraw or no URL, keep row as-is without URL - elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) - else: - # No Google Sheets data for this state, keep row as-is - elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) - elif cycle and cycle.startswith("predict"): - # For predict* rows, check State Swings worksheet - stateabrev = row.get("stateabrev") - column_name = get_state_swings_column_name(cycle) - - if column_name and stateabrev in state_swings: - # Get the URL for this specific column/cycle - plan_url = state_swings[stateabrev].get(column_name, '').strip() - - if plan_url: - # State has a URL for this cycle in State Swings, process the plan - row = dict(row) - row['url'] = plan_url - election = planscore2election(plan_url, row) - elections.append(election) - else: - # No URL for this cycle, keep row as-is - elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) - else: - # State not in State Swings or invalid cycle name, keep row as-is - elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) - else: - # Not a 2026 or predict cycle, keep row as-is - elections.append(Election(*(row.get(f) for f in ELECTION_FIELDS))) + # Process all rows in parallel using ThreadPoolExecutor with 10 workers + with concurrent.futures.ThreadPoolExecutor(max_workers=10) as executor: + # Submit all rows with their indices + futures = [ + executor.submit(process_row, index, row, gdocs, state_swings) + for index, row in enumerate(rows) + ] + + # Collect results as they complete + results = [] + for future in concurrent.futures.as_completed(futures): + results.append(future.result()) + + # Sort results by original index to maintain ordering + results.sort(key=lambda x: x[0]) + + # Extract just the Election objects + elections = [election for index, election in results] logging.info(f"{elections[:3]}, {elections[-3:]}") From 96a459ee2872f1edeca99ceed3cdb05d8034cd84 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 19:01:04 -0800 Subject: [PATCH 17/22] Fixed scales to only realistic numbers --- index.js6 | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/index.js6 b/index.js6 index 67911bcc..429dc101 100644 --- a/index.js6 +++ b/index.js6 @@ -478,6 +478,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const seatBiases = {}; const stateAreas = {}; const rawScales = {}; + const realScales = {}; results.data.forEach(function (datarow) { const value = parseFloat(datarow.EG); const seats = parseInt(datarow.seats); @@ -491,12 +492,16 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const $shape = $(`#state-shape-${datarow.stateabrev}`); const stateArea = parseFloat($shape.attr('data-area')) || 1; - // Dimensionless raw scale that we'll adjust later - rawScales[`${datarow.stateabrev}-${datarow.cycle}`] = Math.sqrt(seatBias * 1e11 / stateArea); + // Dimensionless raw scales that we'll adjust later + var rawScale = Math.sqrt(seatBias * 1e11 / stateArea); + rawScales[`${datarow.stateabrev}-${datarow.cycle}`] = rawScale; + if (datarow.cycle.match(/^(19|20)\d\d$/)) { + realScales[`${datarow.stateabrev}-${datarow.cycle}`] = rawScale; + } }); - // Find the P10 and P90 raw scales to guide visual range - const scalesList = Object.values(rawScales).sort(function (a, b) { return a - b }); + // Find the P10 and P90 real scales to guide visual range + const scalesList = Object.values(realScales).sort(function (a, b) { return a - b }); const p90RawScale = scalesList[Math.round(scalesList.length * 0.9)]; const p10RawScale = scalesList[Math.round(scalesList.length * 0.1)]; console.log(`p10RawScale ${p10RawScale.toFixed(2)}, p90RawScale ${p90RawScale.toFixed(2)}`); From ab37f420535c2aca5d53b88055aa66e932ea82d4 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 19:10:21 -0800 Subject: [PATCH 18/22] Expanded predicted states to cover all redraws --- .../data/bias_ushouse-elections.csv | 250 +++++++++--------- update-ushouse-vote-swings.py | 5 +- 2 files changed, 128 insertions(+), 127 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 2737e301..f0516104 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1403,7 +1403,7 @@ predict12D,AK,,0.0,1, predict12D,AL,,0.0,7, predict12D,AR,,0.0,4, predict12D,AZ,,0.0,9, -predict12D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict12D,CA,yes,0.044,52,https://planscore.org/plan.html?20260118T030331.145136330Z predict12D,CO,,0.0,8, predict12D,CT,,0.0,5, predict12D,DE,,0.0,1, @@ -1422,8 +1422,8 @@ predict12D,MD,,0.0,8, predict12D,ME,,0.0,2, predict12D,MI,,0.0,13, predict12D,MN,,0.0,8, -predict12D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict12D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict12D,MO,yes,0.02,8,https://planscore.org/plan.html?20260118T030631.805452611Z +predict12D,MS,yes,-0.212,4,https://planscore.org/plan.html?20260118T030806.674600353Z predict12D,MT,,0.0,2, predict12D,NC,yes,0.214,14,https://planscore.org/plan.html?20260118T000604.431947701Z predict12D,ND,,0.0,1, @@ -1433,7 +1433,7 @@ predict12D,NJ,,0.0,12, predict12D,NM,,0.0,3, predict12D,NV,,0.0,4, predict12D,NY,,0.0,26, -predict12D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict12D,OH,yes,0.039,15,https://planscore.org/plan.html?20260118T030728.905441817Z predict12D,OK,,0.0,5, predict12D,OR,,0.0,6, predict12D,PA,,0.0,17, @@ -1441,7 +1441,7 @@ predict12D,RI,,0.0,2, predict12D,SC,,0.0,7, predict12D,SD,,0.0,1, predict12D,TN,,0.0,9, -predict12D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict12D,TX,yes,0.055,38,https://planscore.org/plan.html?20260118T030519.951608056Z predict12D,UT,yes,-0.148,4,https://planscore.org/plan.html?20260118T000610.397049254Z predict12D,VA,,0.07,11,https://planscore.org/plan.html?20260118T000608.068337205Z predict12D,VT,,0.0,1, @@ -1453,7 +1453,7 @@ predict11D,AK,,0.0,1, predict11D,AL,,0.0,7, predict11D,AR,,0.0,4, predict11D,AZ,,0.0,9, -predict11D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict11D,CA,yes,0.057,52,https://planscore.org/plan.html?20260118T030331.608965682Z predict11D,CO,,0.0,8, predict11D,CT,,0.0,5, predict11D,DE,,0.0,1, @@ -1472,8 +1472,8 @@ predict11D,MD,,0.0,8, predict11D,ME,,0.0,2, predict11D,MI,,0.0,13, predict11D,MN,,0.0,8, -predict11D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict11D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict11D,MO,yes,-0.014,8,https://planscore.org/plan.html?20260118T030627.741274374Z +predict11D,MS,yes,-0.201,4,https://planscore.org/plan.html?20260118T030806.802386516Z predict11D,MT,,0.0,2, predict11D,NC,yes,0.191,14,https://planscore.org/plan.html?20260117T234221.573532111Z predict11D,ND,,0.0,1, @@ -1483,7 +1483,7 @@ predict11D,NJ,,0.0,12, predict11D,NM,,0.0,3, predict11D,NV,,0.0,4, predict11D,NY,,0.0,26, -predict11D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict11D,OH,yes,0.026,15,https://planscore.org/plan.html?20260118T030727.518908525Z predict11D,OK,,0.0,5, predict11D,OR,,0.0,6, predict11D,PA,,0.0,17, @@ -1491,7 +1491,7 @@ predict11D,RI,,0.0,2, predict11D,SC,,0.0,7, predict11D,SD,,0.0,1, predict11D,TN,,0.0,9, -predict11D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict11D,TX,yes,0.006,38,https://planscore.org/plan.html?20260118T030519.531690543Z predict11D,UT,yes,-0.175,4,https://planscore.org/plan.html?20260117T234258.083201955Z predict11D,VA,,0.074,11,https://planscore.org/plan.html?20260117T234336.944596105Z predict11D,VT,,0.0,1, @@ -1503,7 +1503,7 @@ predict10D,AK,,0.0,1, predict10D,AL,,0.0,7, predict10D,AR,,0.0,4, predict10D,AZ,,0.0,9, -predict10D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict10D,CA,yes,0.069,52,https://planscore.org/plan.html?20260118T030331.157345468Z predict10D,CO,,0.0,8, predict10D,CT,,0.0,5, predict10D,DE,,0.0,1, @@ -1522,8 +1522,8 @@ predict10D,MD,,0.0,8, predict10D,ME,,0.0,2, predict10D,MI,,0.0,13, predict10D,MN,,0.0,8, -predict10D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict10D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict10D,MO,yes,-0.051,8,https://planscore.org/plan.html?20260118T030626.964598966Z +predict10D,MS,yes,-0.185,4,https://planscore.org/plan.html?20260118T030806.666278529Z predict10D,MT,,0.0,2, predict10D,NC,yes,0.152,14,https://planscore.org/plan.html?20260117T234221.054080815Z predict10D,ND,,0.0,1, @@ -1533,7 +1533,7 @@ predict10D,NJ,,0.0,12, predict10D,NM,,0.0,3, predict10D,NV,,0.0,4, predict10D,NY,,0.0,26, -predict10D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict10D,OH,yes,0.009,15,https://planscore.org/plan.html?20260118T030725.282097399Z predict10D,OK,,0.0,5, predict10D,OR,,0.0,6, predict10D,PA,,0.0,17, @@ -1541,7 +1541,7 @@ predict10D,RI,,0.0,2, predict10D,SC,,0.0,7, predict10D,SD,,0.0,1, predict10D,TN,,0.0,9, -predict10D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict10D,TX,yes,-0.041,38,https://planscore.org/plan.html?20260118T030512.233686082Z predict10D,UT,yes,-0.183,4,https://planscore.org/plan.html?20260117T234258.555518952Z predict10D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.675178157Z predict10D,VT,,0.0,1, @@ -1553,7 +1553,7 @@ predict9D,AK,,0.0,1, predict9D,AL,,0.0,7, predict9D,AR,,0.0,4, predict9D,AZ,,0.0,9, -predict9D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict9D,CA,yes,0.081,52,https://planscore.org/plan.html?20260118T030331.043046348Z predict9D,CO,,0.0,8, predict9D,CT,,0.0,5, predict9D,DE,,0.0,1, @@ -1572,8 +1572,8 @@ predict9D,MD,,0.0,8, predict9D,ME,,0.0,2, predict9D,MI,,0.0,13, predict9D,MN,,0.0,8, -predict9D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict9D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict9D,MO,yes,-0.086,8,https://planscore.org/plan.html?20260118T030626.530607494Z +predict9D,MS,yes,-0.168,4,https://planscore.org/plan.html?20260118T030806.388982732Z predict9D,MT,,0.0,2, predict9D,NC,yes,0.096,14,https://planscore.org/plan.html?20260117T234221.458859302Z predict9D,ND,,0.0,1, @@ -1583,7 +1583,7 @@ predict9D,NJ,,0.0,12, predict9D,NM,,0.0,3, predict9D,NV,,0.0,4, predict9D,NY,,0.0,26, -predict9D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict9D,OH,yes,-0.007,15,https://planscore.org/plan.html?20260118T030725.812163091Z predict9D,OK,,0.0,5, predict9D,OR,,0.0,6, predict9D,PA,,0.0,17, @@ -1591,7 +1591,7 @@ predict9D,RI,,0.0,2, predict9D,SC,,0.0,7, predict9D,SD,,0.0,1, predict9D,TN,,0.0,9, -predict9D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict9D,TX,yes,-0.082,38,https://planscore.org/plan.html?20260118T030511.831201923Z predict9D,UT,yes,-0.179,4,https://planscore.org/plan.html?20260117T234258.688560986Z predict9D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.451498751Z predict9D,VT,,0.0,1, @@ -1603,7 +1603,7 @@ predict8D,AK,,0.0,1, predict8D,AL,,0.0,7, predict8D,AR,,0.0,4, predict8D,AZ,,0.0,9, -predict8D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict8D,CA,yes,0.093,52,https://planscore.org/plan.html?20260118T030330.025827987Z predict8D,CO,,0.0,8, predict8D,CT,,0.0,5, predict8D,DE,,0.0,1, @@ -1622,8 +1622,8 @@ predict8D,MD,,0.0,8, predict8D,ME,,0.0,2, predict8D,MI,,0.0,13, predict8D,MN,,0.0,8, -predict8D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict8D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict8D,MO,yes,-0.121,8,https://planscore.org/plan.html?20260118T030623.873968463Z +predict8D,MS,yes,-0.148,4,https://planscore.org/plan.html?20260118T030806.343174183Z predict8D,MT,,0.0,2, predict8D,NC,yes,0.029,14,https://planscore.org/plan.html?20260117T234221.368325905Z predict8D,ND,,0.0,1, @@ -1633,7 +1633,7 @@ predict8D,NJ,,0.0,12, predict8D,NM,,0.0,3, predict8D,NV,,0.0,4, predict8D,NY,,0.0,26, -predict8D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict8D,OH,yes,-0.028,15,https://planscore.org/plan.html?20260118T030720.270066051Z predict8D,OK,,0.0,5, predict8D,OR,,0.0,6, predict8D,PA,,0.0,17, @@ -1641,7 +1641,7 @@ predict8D,RI,,0.0,2, predict8D,SC,,0.0,7, predict8D,SD,,0.0,1, predict8D,TN,,0.0,9, -predict8D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict8D,TX,yes,-0.114,38,https://planscore.org/plan.html?20260118T030511.634280701Z predict8D,UT,yes,-0.167,4,https://planscore.org/plan.html?20260117T234258.064963898Z predict8D,VA,,0.069,11,https://planscore.org/plan.html?20260117T234336.199011895Z predict8D,VT,,0.0,1, @@ -1653,7 +1653,7 @@ predict7D,AK,,0.0,1, predict7D,AL,,0.0,7, predict7D,AR,,0.0,4, predict7D,AZ,,0.0,9, -predict7D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict7D,CA,yes,0.104,52,https://planscore.org/plan.html?20260118T030252.997967710Z predict7D,CO,,0.0,8, predict7D,CT,,0.0,5, predict7D,DE,,0.0,1, @@ -1672,8 +1672,8 @@ predict7D,MD,,0.0,8, predict7D,ME,,0.0,2, predict7D,MI,,0.0,13, predict7D,MN,,0.0,8, -predict7D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict7D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict7D,MO,yes,-0.15,8,https://planscore.org/plan.html?20260118T030623.022534564Z +predict7D,MS,yes,-0.129,4,https://planscore.org/plan.html?20260118T030804.719413815Z predict7D,MT,,0.0,2, predict7D,NC,yes,-0.043,14,https://planscore.org/plan.html?20260117T234221.270985772Z predict7D,ND,,0.0,1, @@ -1683,7 +1683,7 @@ predict7D,NJ,,0.0,12, predict7D,NM,,0.0,3, predict7D,NV,,0.0,4, predict7D,NY,,0.0,26, -predict7D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict7D,OH,yes,-0.051,15,https://planscore.org/plan.html?20260118T030716.163628881Z predict7D,OK,,0.0,5, predict7D,OR,,0.0,6, predict7D,PA,,0.0,17, @@ -1691,7 +1691,7 @@ predict7D,RI,,0.0,2, predict7D,SC,,0.0,7, predict7D,SD,,0.0,1, predict7D,TN,,0.0,9, -predict7D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict7D,TX,yes,-0.138,38,https://planscore.org/plan.html?20260118T030511.787812485Z predict7D,UT,yes,-0.15,4,https://planscore.org/plan.html?20260117T234258.384641936Z predict7D,VA,,0.068,11,https://planscore.org/plan.html?20260117T234336.060619480Z predict7D,VT,,0.0,1, @@ -1703,7 +1703,7 @@ predict6D,AK,,0.0,1, predict6D,AL,,0.0,7, predict6D,AR,,0.0,4, predict6D,AZ,,0.0,9, -predict6D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict6D,CA,yes,0.116,52,https://planscore.org/plan.html?20260118T030252.845197453Z predict6D,CO,,0.0,8, predict6D,CT,,0.0,5, predict6D,DE,,0.0,1, @@ -1722,8 +1722,8 @@ predict6D,MD,,0.0,8, predict6D,ME,,0.0,2, predict6D,MI,,0.0,13, predict6D,MN,,0.0,8, -predict6D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict6D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict6D,MO,yes,-0.169,8,https://planscore.org/plan.html?20260118T030623.088954904Z +predict6D,MS,yes,-0.109,4,https://planscore.org/plan.html?20260118T030803.981888327Z predict6D,MT,,0.0,2, predict6D,NC,yes,-0.106,14,https://planscore.org/plan.html?20260117T234221.612505460Z predict6D,ND,,0.0,1, @@ -1733,7 +1733,7 @@ predict6D,NJ,,0.0,12, predict6D,NM,,0.0,3, predict6D,NV,,0.0,4, predict6D,NY,,0.0,26, -predict6D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict6D,OH,yes,-0.075,15,https://planscore.org/plan.html?20260118T030715.994016276Z predict6D,OK,,0.0,5, predict6D,OR,,0.0,6, predict6D,PA,,0.0,17, @@ -1741,7 +1741,7 @@ predict6D,RI,,0.0,2, predict6D,SC,,0.0,7, predict6D,SD,,0.0,1, predict6D,TN,,0.0,9, -predict6D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict6D,TX,yes,-0.155,38,https://planscore.org/plan.html?20260118T030511.148301073Z predict6D,UT,yes,-0.131,4,https://planscore.org/plan.html?20260117T234258.469650078Z predict6D,VA,,0.061,11,https://planscore.org/plan.html?20260117T234336.957781207Z predict6D,VT,,0.0,1, @@ -1753,7 +1753,7 @@ predict5D,AK,,0.0,1, predict5D,AL,,0.0,7, predict5D,AR,,0.0,4, predict5D,AZ,,0.0,9, -predict5D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict5D,CA,yes,0.127,52,https://planscore.org/plan.html?20260118T030252.737563658Z predict5D,CO,,0.0,8, predict5D,CT,,0.0,5, predict5D,DE,,0.0,1, @@ -1772,8 +1772,8 @@ predict5D,MD,,0.0,8, predict5D,ME,,0.0,2, predict5D,MI,,0.0,13, predict5D,MN,,0.0,8, -predict5D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict5D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict5D,MO,yes,-0.182,8,https://planscore.org/plan.html?20260118T030621.229449404Z +predict5D,MS,yes,-0.089,4,https://planscore.org/plan.html?20260118T030757.525458940Z predict5D,MT,,0.0,2, predict5D,NC,yes,-0.158,14,https://planscore.org/plan.html?20260117T234221.600050008Z predict5D,ND,,0.0,1, @@ -1783,7 +1783,7 @@ predict5D,NJ,,0.0,12, predict5D,NM,,0.0,3, predict5D,NV,,0.0,4, predict5D,NY,,0.0,26, -predict5D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict5D,OH,yes,-0.097,15,https://planscore.org/plan.html?20260118T030714.775910865Z predict5D,OK,,0.0,5, predict5D,OR,,0.0,6, predict5D,PA,,0.0,17, @@ -1791,7 +1791,7 @@ predict5D,RI,,0.0,2, predict5D,SC,,0.0,7, predict5D,SD,,0.0,1, predict5D,TN,,0.0,9, -predict5D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict5D,TX,yes,-0.162,38,https://planscore.org/plan.html?20260118T030509.566342901Z predict5D,UT,yes,-0.111,4,https://planscore.org/plan.html?20260117T234258.320182311Z predict5D,VA,,0.052,11,https://planscore.org/plan.html?20260117T234336.698952557Z predict5D,VT,,0.0,1, @@ -1803,7 +1803,7 @@ predict4D,AK,,0.0,1, predict4D,AL,,0.0,7, predict4D,AR,,0.0,4, predict4D,AZ,,0.0,9, -predict4D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict4D,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T030252.618859988Z predict4D,CO,,0.0,8, predict4D,CT,,0.0,5, predict4D,DE,,0.0,1, @@ -1822,8 +1822,8 @@ predict4D,MD,,0.0,8, predict4D,ME,,0.0,2, predict4D,MI,,0.0,13, predict4D,MN,,0.0,8, -predict4D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict4D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict4D,MO,yes,-0.19,8,https://planscore.org/plan.html?20260118T030615.143398440Z +predict4D,MS,yes,-0.07,4,https://planscore.org/plan.html?20260118T030754.409657846Z predict4D,MT,,0.0,2, predict4D,NC,yes,-0.194,14,https://planscore.org/plan.html?20260117T234221.969053780Z predict4D,ND,,0.0,1, @@ -1833,7 +1833,7 @@ predict4D,NJ,,0.0,12, predict4D,NM,,0.0,3, predict4D,NV,,0.0,4, predict4D,NY,,0.0,26, -predict4D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict4D,OH,yes,-0.116,15,https://planscore.org/plan.html?20260118T030709.606806539Z predict4D,OK,,0.0,5, predict4D,OR,,0.0,6, predict4D,PA,,0.0,17, @@ -1841,7 +1841,7 @@ predict4D,RI,,0.0,2, predict4D,SC,,0.0,7, predict4D,SD,,0.0,1, predict4D,TN,,0.0,9, -predict4D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict4D,TX,yes,-0.163,38,https://planscore.org/plan.html?20260118T030459.372275955Z predict4D,UT,yes,-0.091,4,https://planscore.org/plan.html?20260117T234258.272329018Z predict4D,VA,,0.042,11,https://planscore.org/plan.html?20260117T234336.305127911Z predict4D,VT,,0.0,1, @@ -1853,7 +1853,7 @@ predict3D,AK,,0.0,1, predict3D,AL,,0.0,7, predict3D,AR,,0.0,4, predict3D,AZ,,0.0,9, -predict3D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict3D,CA,yes,0.141,52,https://planscore.org/plan.html?20260118T030252.629929107Z predict3D,CO,,0.0,8, predict3D,CT,,0.0,5, predict3D,DE,,0.0,1, @@ -1872,8 +1872,8 @@ predict3D,MD,,0.0,8, predict3D,ME,,0.0,2, predict3D,MI,,0.0,13, predict3D,MN,,0.0,8, -predict3D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict3D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict3D,MO,yes,-0.189,8,https://planscore.org/plan.html?20260118T030615.773859372Z +predict3D,MS,yes,-0.05,4,https://planscore.org/plan.html?20260118T030753.930697431Z predict3D,MT,,0.0,2, predict3D,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234221.796939814Z predict3D,ND,,0.0,1, @@ -1883,7 +1883,7 @@ predict3D,NJ,,0.0,12, predict3D,NM,,0.0,3, predict3D,NV,,0.0,4, predict3D,NY,,0.0,26, -predict3D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict3D,OH,yes,-0.13,15,https://planscore.org/plan.html?20260118T030704.350502137Z predict3D,OK,,0.0,5, predict3D,OR,,0.0,6, predict3D,PA,,0.0,17, @@ -1891,7 +1891,7 @@ predict3D,RI,,0.0,2, predict3D,SC,,0.0,7, predict3D,SD,,0.0,1, predict3D,TN,,0.0,9, -predict3D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict3D,TX,yes,-0.159,38,https://planscore.org/plan.html?20260118T030458.068499828Z predict3D,UT,yes,-0.071,4,https://planscore.org/plan.html?20260117T234258.031041000Z predict3D,VA,,0.031,11,https://planscore.org/plan.html?20260117T234336.515941951Z predict3D,VT,,0.0,1, @@ -1903,7 +1903,7 @@ predict2D,AK,,0.0,1, predict2D,AL,,0.0,7, predict2D,AR,,0.0,4, predict2D,AZ,,0.0,9, -predict2D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict2D,CA,yes,0.144,52,https://planscore.org/plan.html?20260118T030252.922766740Z predict2D,CO,,0.0,8, predict2D,CT,,0.0,5, predict2D,DE,,0.0,1, @@ -1922,8 +1922,8 @@ predict2D,MD,,0.0,8, predict2D,ME,,0.0,2, predict2D,MI,,0.0,13, predict2D,MN,,0.0,8, -predict2D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict2D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict2D,MO,yes,-0.185,8,https://planscore.org/plan.html?20260118T030613.202395703Z +predict2D,MS,yes,-0.031,4,https://planscore.org/plan.html?20260118T030753.491983875Z predict2D,MT,,0.0,2, predict2D,NC,yes,-0.23,14,https://planscore.org/plan.html?20260117T234221.568537282Z predict2D,ND,,0.0,1, @@ -1933,7 +1933,7 @@ predict2D,NJ,,0.0,12, predict2D,NM,,0.0,3, predict2D,NV,,0.0,4, predict2D,NY,,0.0,26, -predict2D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict2D,OH,yes,-0.141,15,https://planscore.org/plan.html?20260118T030704.788946696Z predict2D,OK,,0.0,5, predict2D,OR,,0.0,6, predict2D,PA,,0.0,17, @@ -1941,7 +1941,7 @@ predict2D,RI,,0.0,2, predict2D,SC,,0.0,7, predict2D,SD,,0.0,1, predict2D,TN,,0.0,9, -predict2D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict2D,TX,yes,-0.153,38,https://planscore.org/plan.html?20260118T030431.293353925Z predict2D,UT,yes,-0.052,4,https://planscore.org/plan.html?20260117T234258.723719788Z predict2D,VA,,0.022,11,https://planscore.org/plan.html?20260117T234336.770882824Z predict2D,VT,,0.0,1, @@ -1953,7 +1953,7 @@ predict1D,AK,,0.0,1, predict1D,AL,,0.0,7, predict1D,AR,,0.0,4, predict1D,AZ,,0.0,9, -predict1D,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict1D,CA,yes,0.144,52,https://planscore.org/plan.html?20260118T030252.196522373Z predict1D,CO,,0.0,8, predict1D,CT,,0.0,5, predict1D,DE,,0.0,1, @@ -1972,8 +1972,8 @@ predict1D,MD,,0.0,8, predict1D,ME,,0.0,2, predict1D,MI,,0.0,13, predict1D,MN,,0.0,8, -predict1D,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict1D,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict1D,MO,yes,-0.174,8,https://planscore.org/plan.html?20260118T030613.658819192Z +predict1D,MS,yes,-0.012,4,https://planscore.org/plan.html?20260118T030753.385083278Z predict1D,MT,,0.0,2, predict1D,NC,yes,-0.233,14,https://planscore.org/plan.html?20260117T234221.056068356Z predict1D,ND,,0.0,1, @@ -1983,7 +1983,7 @@ predict1D,NJ,,0.0,12, predict1D,NM,,0.0,3, predict1D,NV,,0.0,4, predict1D,NY,,0.0,26, -predict1D,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict1D,OH,yes,-0.148,15,https://planscore.org/plan.html?20260118T030703.469110947Z predict1D,OK,,0.0,5, predict1D,OR,,0.0,6, predict1D,PA,,0.0,17, @@ -1991,7 +1991,7 @@ predict1D,RI,,0.0,2, predict1D,SC,,0.0,7, predict1D,SD,,0.0,1, predict1D,TN,,0.0,9, -predict1D,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict1D,TX,yes,-0.144,38,https://planscore.org/plan.html?20260118T030431.400900689Z predict1D,UT,yes,-0.035,4,https://planscore.org/plan.html?20260117T234258.229422821Z predict1D,VA,,0.011,11,https://planscore.org/plan.html?20260117T234336.509215875Z predict1D,VT,,0.0,1, @@ -2003,7 +2003,7 @@ predict0,AK,,0.0,1, predict0,AL,,0.0,7, predict0,AR,,0.0,4, predict0,AZ,,0.0,9, -predict0,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict0,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T030252.652919306Z predict0,CO,,0.0,8, predict0,CT,,0.0,5, predict0,DE,,0.0,1, @@ -2022,8 +2022,8 @@ predict0,MD,,0.0,8, predict0,ME,,0.0,2, predict0,MI,,0.0,13, predict0,MN,,0.0,8, -predict0,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict0,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict0,MO,yes,-0.161,8,https://planscore.org/plan.html?20260118T030613.245734369Z +predict0,MS,yes,0.007,4,https://planscore.org/plan.html?20260118T030753.052954058Z predict0,MT,,0.0,2, predict0,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T001631.540221736Z predict0,ND,,0.0,1, @@ -2033,7 +2033,7 @@ predict0,NJ,,0.0,12, predict0,NM,,0.0,3, predict0,NV,,0.0,4, predict0,NY,,0.0,26, -predict0,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict0,OH,yes,-0.15,15,https://planscore.org/plan.html?20260118T030701.322881787Z predict0,OK,,0.0,5, predict0,OR,,0.0,6, predict0,PA,,0.0,17, @@ -2041,7 +2041,7 @@ predict0,RI,,0.0,2, predict0,SC,,0.0,7, predict0,SD,,0.0,1, predict0,TN,,0.0,9, -predict0,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict0,TX,yes,-0.131,38,https://planscore.org/plan.html?20260118T030423.156140601Z predict0,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T001634.186677257Z predict0,VA,,0.003,11,https://planscore.org/plan.html?20260118T001636.365843215Z predict0,VT,,0.0,1, @@ -2053,7 +2053,7 @@ predict1R,AK,,0.0,1, predict1R,AL,,0.0,7, predict1R,AR,,0.0,4, predict1R,AZ,,0.0,9, -predict1R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict1R,CA,yes,0.124,52,https://planscore.org/plan.html?20260118T030252.680510220Z predict1R,CO,,0.0,8, predict1R,CT,,0.0,5, predict1R,DE,,0.0,1, @@ -2072,8 +2072,8 @@ predict1R,MD,,0.0,8, predict1R,ME,,0.0,2, predict1R,MI,,0.0,13, predict1R,MN,,0.0,8, -predict1R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict1R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict1R,MO,yes,-0.144,8,https://planscore.org/plan.html?20260118T030607.209410478Z +predict1R,MS,yes,0.025,4,https://planscore.org/plan.html?20260118T030753.807201969Z predict1R,MT,,0.0,2, predict1R,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234156.465130495Z predict1R,ND,,0.0,1, @@ -2083,7 +2083,7 @@ predict1R,NJ,,0.0,12, predict1R,NM,,0.0,3, predict1R,NV,,0.0,4, predict1R,NY,,0.0,26, -predict1R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict1R,OH,yes,-0.146,15,https://planscore.org/plan.html?20260118T030701.146353065Z predict1R,OK,,0.0,5, predict1R,OR,,0.0,6, predict1R,PA,,0.0,17, @@ -2091,7 +2091,7 @@ predict1R,RI,,0.0,2, predict1R,SC,,0.0,7, predict1R,SD,,0.0,1, predict1R,TN,,0.0,9, -predict1R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict1R,TX,yes,-0.115,38,https://planscore.org/plan.html?20260118T030423.823475436Z predict1R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.143444456Z predict1R,VA,,-0.005,11,https://planscore.org/plan.html?20260117T234312.712481701Z predict1R,VT,,0.0,1, @@ -2103,7 +2103,7 @@ predict2R,AK,,0.0,1, predict2R,AL,,0.0,7, predict2R,AR,,0.0,4, predict2R,AZ,,0.0,9, -predict2R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict2R,CA,yes,0.104,52,https://planscore.org/plan.html?20260118T030252.937441472Z predict2R,CO,,0.0,8, predict2R,CT,,0.0,5, predict2R,DE,,0.0,1, @@ -2122,8 +2122,8 @@ predict2R,MD,,0.0,8, predict2R,ME,,0.0,2, predict2R,MI,,0.0,13, predict2R,MN,,0.0,8, -predict2R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict2R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict2R,MO,yes,-0.128,8,https://planscore.org/plan.html?20260118T030607.194953407Z +predict2R,MS,yes,0.044,4,https://planscore.org/plan.html?20260118T030753.424673613Z predict2R,MT,,0.0,2, predict2R,NC,yes,-0.202,14,https://planscore.org/plan.html?20260117T234156.905654195Z predict2R,ND,,0.0,1, @@ -2133,7 +2133,7 @@ predict2R,NJ,,0.0,12, predict2R,NM,,0.0,3, predict2R,NV,,0.0,4, predict2R,NY,,0.0,26, -predict2R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict2R,OH,yes,-0.138,15,https://planscore.org/plan.html?20260118T030701.440396556Z predict2R,OK,,0.0,5, predict2R,OR,,0.0,6, predict2R,PA,,0.0,17, @@ -2141,7 +2141,7 @@ predict2R,RI,,0.0,2, predict2R,SC,,0.0,7, predict2R,SD,,0.0,1, predict2R,TN,,0.0,9, -predict2R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict2R,TX,yes,-0.098,38,https://planscore.org/plan.html?20260118T030423.855729685Z predict2R,UT,yes,-0.008,4,https://planscore.org/plan.html?20260117T234246.646987203Z predict2R,VA,,-0.008,11,https://planscore.org/plan.html?20260117T234311.468266651Z predict2R,VT,,0.0,1, @@ -2153,7 +2153,7 @@ predict3R,AK,,0.0,1, predict3R,AL,,0.0,7, predict3R,AR,,0.0,4, predict3R,AZ,,0.0,9, -predict3R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict3R,CA,yes,0.081,52,https://planscore.org/plan.html?20260118T030200.028924269Z predict3R,CO,,0.0,8, predict3R,CT,,0.0,5, predict3R,DE,,0.0,1, @@ -2172,8 +2172,8 @@ predict3R,MD,,0.0,8, predict3R,ME,,0.0,2, predict3R,MI,,0.0,13, predict3R,MN,,0.0,8, -predict3R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict3R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict3R,MO,yes,-0.11,8,https://planscore.org/plan.html?20260118T030601.745884321Z +predict3R,MS,yes,0.062,4,https://planscore.org/plan.html?20260118T030752.293566925Z predict3R,MT,,0.0,2, predict3R,NC,yes,-0.185,14,https://planscore.org/plan.html?20260117T234156.638310881Z predict3R,ND,,0.0,1, @@ -2183,7 +2183,7 @@ predict3R,NJ,,0.0,12, predict3R,NM,,0.0,3, predict3R,NV,,0.0,4, predict3R,NY,,0.0,26, -predict3R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict3R,OH,yes,-0.128,15,https://planscore.org/plan.html?20260118T030655.519157246Z predict3R,OK,,0.0,5, predict3R,OR,,0.0,6, predict3R,PA,,0.0,17, @@ -2191,7 +2191,7 @@ predict3R,RI,,0.0,2, predict3R,SC,,0.0,7, predict3R,SD,,0.0,1, predict3R,TN,,0.0,9, -predict3R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict3R,TX,yes,-0.081,38,https://planscore.org/plan.html?20260118T030422.141945889Z predict3R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.579626535Z predict3R,VA,,-0.014,11,https://planscore.org/plan.html?20260117T234311.159862084Z predict3R,VT,,0.0,1, @@ -2203,7 +2203,7 @@ predict4R,AK,,0.0,1, predict4R,AL,,0.0,7, predict4R,AR,,0.0,4, predict4R,AZ,,0.0,9, -predict4R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict4R,CA,yes,0.054,52,https://planscore.org/plan.html?20260118T030159.186150510Z predict4R,CO,,0.0,8, predict4R,CT,,0.0,5, predict4R,DE,,0.0,1, @@ -2222,8 +2222,8 @@ predict4R,MD,,0.0,8, predict4R,ME,,0.0,2, predict4R,MI,,0.0,13, predict4R,MN,,0.0,8, -predict4R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict4R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict4R,MO,yes,-0.092,8,https://planscore.org/plan.html?20260118T030601.827495017Z +predict4R,MS,yes,0.08,4,https://planscore.org/plan.html?20260118T030751.713665634Z predict4R,MT,,0.0,2, predict4R,NC,yes,-0.167,14,https://planscore.org/plan.html?20260117T234156.580785945Z predict4R,ND,,0.0,1, @@ -2233,7 +2233,7 @@ predict4R,NJ,,0.0,12, predict4R,NM,,0.0,3, predict4R,NV,,0.0,4, predict4R,NY,,0.0,26, -predict4R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict4R,OH,yes,-0.116,15,https://planscore.org/plan.html?20260118T030651.798636513Z predict4R,OK,,0.0,5, predict4R,OR,,0.0,6, predict4R,PA,,0.0,17, @@ -2241,7 +2241,7 @@ predict4R,RI,,0.0,2, predict4R,SC,,0.0,7, predict4R,SD,,0.0,1, predict4R,TN,,0.0,9, -predict4R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict4R,TX,yes,-0.063,38,https://planscore.org/plan.html?20260118T030422.962937815Z predict4R,UT,yes,-0.014,4,https://planscore.org/plan.html?20260117T234245.192003314Z predict4R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.769107907Z predict4R,VT,,0.0,1, @@ -2253,7 +2253,7 @@ predict5R,AK,,0.0,1, predict5R,AL,,0.0,7, predict5R,AR,,0.0,4, predict5R,AZ,,0.0,9, -predict5R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict5R,CA,yes,0.025,52,https://planscore.org/plan.html?20260118T030200.441188330Z predict5R,CO,,0.0,8, predict5R,CT,,0.0,5, predict5R,DE,,0.0,1, @@ -2272,8 +2272,8 @@ predict5R,MD,,0.0,8, predict5R,ME,,0.0,2, predict5R,MI,,0.0,13, predict5R,MN,,0.0,8, -predict5R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict5R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict5R,MO,yes,-0.074,8,https://planscore.org/plan.html?20260118T030600.406733173Z +predict5R,MS,yes,0.098,4,https://planscore.org/plan.html?20260118T030744.175590594Z predict5R,MT,,0.0,2, predict5R,NC,yes,-0.147,14,https://planscore.org/plan.html?20260117T234156.668749961Z predict5R,ND,,0.0,1, @@ -2283,7 +2283,7 @@ predict5R,NJ,,0.0,12, predict5R,NM,,0.0,3, predict5R,NV,,0.0,4, predict5R,NY,,0.0,26, -predict5R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict5R,OH,yes,-0.102,15,https://planscore.org/plan.html?20260118T030650.614484834Z predict5R,OK,,0.0,5, predict5R,OR,,0.0,6, predict5R,PA,,0.0,17, @@ -2291,7 +2291,7 @@ predict5R,RI,,0.0,2, predict5R,SC,,0.0,7, predict5R,SD,,0.0,1, predict5R,TN,,0.0,9, -predict5R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict5R,TX,yes,-0.045,38,https://planscore.org/plan.html?20260118T030421.251128331Z predict5R,UT,yes,-0.026,4,https://planscore.org/plan.html?20260117T234245.146139982Z predict5R,VA,,-0.021,11,https://planscore.org/plan.html?20260117T234311.299631581Z predict5R,VT,,0.0,1, @@ -2303,7 +2303,7 @@ predict6R,AK,,0.0,1, predict6R,AL,,0.0,7, predict6R,AR,,0.0,4, predict6R,AZ,,0.0,9, -predict6R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict6R,CA,yes,-0.001,52,https://planscore.org/plan.html?20260118T030200.575696615Z predict6R,CO,,0.0,8, predict6R,CT,,0.0,5, predict6R,DE,,0.0,1, @@ -2322,8 +2322,8 @@ predict6R,MD,,0.0,8, predict6R,ME,,0.0,2, predict6R,MI,,0.0,13, predict6R,MN,,0.0,8, -predict6R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict6R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict6R,MO,yes,-0.056,8,https://planscore.org/plan.html?20260118T030600.823604117Z +predict6R,MS,yes,0.114,4,https://planscore.org/plan.html?20260118T030740.827585341Z predict6R,MT,,0.0,2, predict6R,NC,yes,-0.127,14,https://planscore.org/plan.html?20260117T234156.081909068Z predict6R,ND,,0.0,1, @@ -2333,7 +2333,7 @@ predict6R,NJ,,0.0,12, predict6R,NM,,0.0,3, predict6R,NV,,0.0,4, predict6R,NY,,0.0,26, -predict6R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict6R,OH,yes,-0.087,15,https://planscore.org/plan.html?20260118T030650.226337072Z predict6R,OK,,0.0,5, predict6R,OR,,0.0,6, predict6R,PA,,0.0,17, @@ -2341,7 +2341,7 @@ predict6R,RI,,0.0,2, predict6R,SC,,0.0,7, predict6R,SD,,0.0,1, predict6R,TN,,0.0,9, -predict6R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict6R,TX,yes,-0.027,38,https://planscore.org/plan.html?20260118T030410.854775160Z predict6R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.168662904Z predict6R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.884055474Z predict6R,VT,,0.0,1, @@ -2353,7 +2353,7 @@ predict7R,AK,,0.0,1, predict7R,AL,,0.0,7, predict7R,AR,,0.0,4, predict7R,AZ,,0.0,9, -predict7R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict7R,CA,yes,-0.026,52,https://planscore.org/plan.html?20260118T030200.555679511Z predict7R,CO,,0.0,8, predict7R,CT,,0.0,5, predict7R,DE,,0.0,1, @@ -2372,8 +2372,8 @@ predict7R,MD,,0.0,8, predict7R,ME,,0.0,2, predict7R,MI,,0.0,13, predict7R,MN,,0.0,8, -predict7R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict7R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict7R,MO,yes,-0.038,8,https://planscore.org/plan.html?20260118T030559.466329935Z +predict7R,MS,yes,0.129,4,https://planscore.org/plan.html?20260118T030740.509966820Z predict7R,MT,,0.0,2, predict7R,NC,yes,-0.107,14,https://planscore.org/plan.html?20260117T234156.925860594Z predict7R,ND,,0.0,1, @@ -2383,7 +2383,7 @@ predict7R,NJ,,0.0,12, predict7R,NM,,0.0,3, predict7R,NV,,0.0,4, predict7R,NY,,0.0,26, -predict7R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict7R,OH,yes,-0.07,15,https://planscore.org/plan.html?20260118T030645.078326657Z predict7R,OK,,0.0,5, predict7R,OR,,0.0,6, predict7R,PA,,0.0,17, @@ -2391,7 +2391,7 @@ predict7R,RI,,0.0,2, predict7R,SC,,0.0,7, predict7R,SD,,0.0,1, predict7R,TN,,0.0,9, -predict7R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict7R,TX,yes,-0.011,38,https://planscore.org/plan.html?20260118T030410.386120565Z predict7R,UT,yes,-0.046,4,https://planscore.org/plan.html?20260117T234245.180439542Z predict7R,VA,,-0.011,11,https://planscore.org/plan.html?20260117T234311.596057619Z predict7R,VT,,0.0,1, @@ -2403,7 +2403,7 @@ predict8R,AK,,0.0,1, predict8R,AL,,0.0,7, predict8R,AR,,0.0,4, predict8R,AZ,,0.0,9, -predict8R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict8R,CA,yes,-0.048,52,https://planscore.org/plan.html?20260118T030200.606257536Z predict8R,CO,,0.0,8, predict8R,CT,,0.0,5, predict8R,DE,,0.0,1, @@ -2422,8 +2422,8 @@ predict8R,MD,,0.0,8, predict8R,ME,,0.0,2, predict8R,MI,,0.0,13, predict8R,MN,,0.0,8, -predict8R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict8R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict8R,MO,yes,-0.02,8,https://planscore.org/plan.html?20260118T030559.394077513Z +predict8R,MS,yes,0.14,4,https://planscore.org/plan.html?20260118T030740.247265100Z predict8R,MT,,0.0,2, predict8R,NC,yes,-0.086,14,https://planscore.org/plan.html?20260117T234156.896993265Z predict8R,ND,,0.0,1, @@ -2433,7 +2433,7 @@ predict8R,NJ,,0.0,12, predict8R,NM,,0.0,3, predict8R,NV,,0.0,4, predict8R,NY,,0.0,26, -predict8R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict8R,OH,yes,-0.052,15,https://planscore.org/plan.html?20260118T030639.569202862Z predict8R,OK,,0.0,5, predict8R,OR,,0.0,6, predict8R,PA,,0.0,17, @@ -2441,7 +2441,7 @@ predict8R,RI,,0.0,2, predict8R,SC,,0.0,7, predict8R,SD,,0.0,1, predict8R,TN,,0.0,9, -predict8R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict8R,TX,yes,0.004,38,https://planscore.org/plan.html?20260118T030342.710244620Z predict8R,UT,yes,-0.05,4,https://planscore.org/plan.html?20260117T234245.448786761Z predict8R,VA,,-0.001,11,https://planscore.org/plan.html?20260117T234311.377663437Z predict8R,VT,,0.0,1, @@ -2453,7 +2453,7 @@ predict9R,AK,,0.0,1, predict9R,AL,,0.0,7, predict9R,AR,,0.0,4, predict9R,AZ,,0.0,9, -predict9R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict9R,CA,yes,-0.066,52,https://planscore.org/plan.html?20260118T030200.506995214Z predict9R,CO,,0.0,8, predict9R,CT,,0.0,5, predict9R,DE,,0.0,1, @@ -2472,8 +2472,8 @@ predict9R,MD,,0.0,8, predict9R,ME,,0.0,2, predict9R,MI,,0.0,13, predict9R,MN,,0.0,8, -predict9R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict9R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict9R,MO,yes,-0.002,8,https://planscore.org/plan.html?20260118T030559.837394085Z +predict9R,MS,yes,0.148,4,https://planscore.org/plan.html?20260118T030740.368231961Z predict9R,MT,,0.0,2, predict9R,NC,yes,-0.065,14,https://planscore.org/plan.html?20260117T234156.678236264Z predict9R,ND,,0.0,1, @@ -2483,7 +2483,7 @@ predict9R,NJ,,0.0,12, predict9R,NM,,0.0,3, predict9R,NV,,0.0,4, predict9R,NY,,0.0,26, -predict9R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict9R,OH,yes,-0.034,15,https://planscore.org/plan.html?20260118T030639.644875372Z predict9R,OK,,0.0,5, predict9R,OR,,0.0,6, predict9R,PA,,0.0,17, @@ -2491,7 +2491,7 @@ predict9R,RI,,0.0,2, predict9R,SC,,0.0,7, predict9R,SD,,0.0,1, predict9R,TN,,0.0,9, -predict9R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict9R,TX,yes,0.019,38,https://planscore.org/plan.html?20260118T030341.391447285Z predict9R,UT,yes,-0.053,4,https://planscore.org/plan.html?20260117T234245.311067908Z predict9R,VA,,0.012,11,https://planscore.org/plan.html?20260117T234311.571250395Z predict9R,VT,,0.0,1, @@ -2503,7 +2503,7 @@ predict10R,AK,,0.0,1, predict10R,AL,,0.0,7, predict10R,AR,,0.0,4, predict10R,AZ,,0.0,9, -predict10R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict10R,CA,yes,-0.078,52,https://planscore.org/plan.html?20260118T030200.397641197Z predict10R,CO,,0.0,8, predict10R,CT,,0.0,5, predict10R,DE,,0.0,1, @@ -2522,8 +2522,8 @@ predict10R,MD,,0.0,8, predict10R,ME,,0.0,2, predict10R,MI,,0.0,13, predict10R,MN,,0.0,8, -predict10R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict10R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict10R,MO,yes,0.016,8,https://planscore.org/plan.html?20260118T030558.187773184Z +predict10R,MS,yes,0.149,4,https://planscore.org/plan.html?20260118T030740.632554971Z predict10R,MT,,0.0,2, predict10R,NC,yes,-0.045,14,https://planscore.org/plan.html?20260117T234156.233074361Z predict10R,ND,,0.0,1, @@ -2533,7 +2533,7 @@ predict10R,NJ,,0.0,12, predict10R,NM,,0.0,3, predict10R,NV,,0.0,4, predict10R,NY,,0.0,26, -predict10R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict10R,OH,yes,-0.015,15,https://planscore.org/plan.html?20260118T030637.852038087Z predict10R,OK,,0.0,5, predict10R,OR,,0.0,6, predict10R,PA,,0.0,17, @@ -2541,7 +2541,7 @@ predict10R,RI,,0.0,2, predict10R,SC,,0.0,7, predict10R,SD,,0.0,1, predict10R,TN,,0.0,9, -predict10R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict10R,TX,yes,0.032,38,https://planscore.org/plan.html?20260118T030332.019915266Z predict10R,UT,yes,-0.049,4,https://planscore.org/plan.html?20260117T234245.625717273Z predict10R,VA,,0.025,11,https://planscore.org/plan.html?20260117T234311.368273783Z predict10R,VT,,0.0,1, @@ -2553,7 +2553,7 @@ predict11R,AK,,0.0,1, predict11R,AL,,0.0,7, predict11R,AR,,0.0,4, predict11R,AZ,,0.0,9, -predict11R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict11R,CA,yes,-0.087,52,https://planscore.org/plan.html?20260118T030200.141128823Z predict11R,CO,,0.0,8, predict11R,CT,,0.0,5, predict11R,DE,,0.0,1, @@ -2572,8 +2572,8 @@ predict11R,MD,,0.0,8, predict11R,ME,,0.0,2, predict11R,MI,,0.0,13, predict11R,MN,,0.0,8, -predict11R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict11R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict11R,MO,yes,0.033,8,https://planscore.org/plan.html?20260118T030547.581530491Z +predict11R,MS,yes,0.14,4,https://planscore.org/plan.html?20260118T030740.517657323Z predict11R,MT,,0.0,2, predict11R,NC,yes,-0.026,14,https://planscore.org/plan.html?20260117T234155.737098406Z predict11R,ND,,0.0,1, @@ -2583,7 +2583,7 @@ predict11R,NJ,,0.0,12, predict11R,NM,,0.0,3, predict11R,NV,,0.0,4, predict11R,NY,,0.0,26, -predict11R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict11R,OH,yes,0.003,15,https://planscore.org/plan.html?20260118T030637.728645134Z predict11R,OK,,0.0,5, predict11R,OR,,0.0,6, predict11R,PA,,0.0,17, @@ -2591,7 +2591,7 @@ predict11R,RI,,0.0,2, predict11R,SC,,0.0,7, predict11R,SD,,0.0,1, predict11R,TN,,0.0,9, -predict11R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict11R,TX,yes,0.044,38,https://planscore.org/plan.html?20260118T030331.738486725Z predict11R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.926777968Z predict11R,VA,,0.035,11,https://planscore.org/plan.html?20260117T234311.872389943Z predict11R,VT,,0.0,1, @@ -2603,7 +2603,7 @@ predict12R,AK,,0.0,1, predict12R,AL,,0.0,7, predict12R,AR,,0.0,4, predict12R,AZ,,0.0,9, -predict12R,CA,yes,0.0,52,https://planscore.org/plan.html?20251109T005753.161170853Z +predict12R,CA,yes,-0.094,52,https://planscore.org/plan.html?20260118T030200.294312663Z predict12R,CO,,0.0,8, predict12R,CT,,0.0,5, predict12R,DE,,0.0,1, @@ -2622,8 +2622,8 @@ predict12R,MD,,0.0,8, predict12R,ME,,0.0,2, predict12R,MI,,0.0,13, predict12R,MN,,0.0,8, -predict12R,MO,yes,0.0,8,https://planscore.org/plan.html?20251116T014919.269577678Z -predict12R,MS,yes,0.0,4,https://planscore.org/plan.html?20251228T184417.650378800Z +predict12R,MO,yes,0.051,8,https://planscore.org/plan.html?20260118T030547.292371665Z +predict12R,MS,yes,0.127,4,https://planscore.org/plan.html?20260118T030740.058286956Z predict12R,MT,,0.0,2, predict12R,NC,yes,-0.007,14,https://planscore.org/plan.html?20260117T234155.082537795Z predict12R,ND,,0.0,1, @@ -2633,7 +2633,7 @@ predict12R,NJ,,0.0,12, predict12R,NM,,0.0,3, predict12R,NV,,0.0,4, predict12R,NY,,0.0,26, -predict12R,OH,yes,0.0,15,https://planscore.org/plan.html?20251030T231915.464256903Z +predict12R,OH,yes,0.021,15,https://planscore.org/plan.html?20260118T030637.946673077Z predict12R,OK,,0.0,5, predict12R,OR,,0.0,6, predict12R,PA,,0.0,17, @@ -2641,7 +2641,7 @@ predict12R,RI,,0.0,2, predict12R,SC,,0.0,7, predict12R,SD,,0.0,1, predict12R,TN,,0.0,9, -predict12R,TX,yes,0.0,38,https://planscore.org/plan.html?20251219T184700.037794076Z +predict12R,TX,yes,0.054,38,https://planscore.org/plan.html?20260118T030331.720171855Z predict12R,UT,yes,-0.024,4,https://planscore.org/plan.html?20260117T234245.745755577Z predict12R,VA,,0.039,11,https://planscore.org/plan.html?20260117T234311.522115761Z predict12R,VT,,0.0,1, diff --git a/update-ushouse-vote-swings.py b/update-ushouse-vote-swings.py index d361139a..003fdadd 100755 --- a/update-ushouse-vote-swings.py +++ b/update-ushouse-vote-swings.py @@ -693,8 +693,9 @@ def build_state_swings(service, states: dict, district_swings: dict, api_key: st clone_tasks = [] state_rows = [] - # TEMPORARY: Hardcode Illinois, North Carolina, Utah, and Virginia for Stage 3 testing - state_abbrevs = ["IL", "NC", "UT", "VA"] # Will expand to sorted(states.keys()) in later stages + # TEMPORARY: Hardcode Illinois, Virginia, and redrawn states + # TODO: expand to sorted(states.keys()) in later stages + state_abbrevs = ["IL", "VA", "CA", "TX", "MO", "OH", "NC", "UT", "MS"] for abbrev in state_abbrevs: state_data = states[abbrev] From 8b16b79805736f66c22bd7c674a43abb710b707f Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 19:39:40 -0800 Subject: [PATCH 19/22] Updated labelling throughout process to "No-Swing" and "+NND" --- index.js6 | 58 +++++++++++++++++++---------------- update-ushouse-vote-swings.py | 4 +-- 2 files changed, 33 insertions(+), 29 deletions(-) diff --git a/index.js6 b/index.js6 index 429dc101..ec1b0d86 100644 --- a/index.js6 +++ b/index.js6 @@ -39,7 +39,7 @@ const PREDICTION_SLIDER = { centerY: null, // set during initialization from DOM minValue: -12, // R+12 (right side) maxValue: 12, // D+12 (left side) - currentValue: 0, // default: Even (center) + currentValue: 0, // default: no-swing (center) }; // the map uses a choropleth constructed from BELLCURVE_SPREAD @@ -228,12 +228,6 @@ window.initPredictionSlider = () => { return PREDICTION_SLIDER.minX + fraction * (PREDICTION_SLIDER.maxX - PREDICTION_SLIDER.minX); }; - // helper: format value as label text - const formatLabel = (value) => { - if (value === 0) return 'Even'; - return value > 0 ? `+${value}D` : `+${Math.abs(value)}R`; - }; - // helper: update thumb position and label using matrix transform const updateThumb = (x, skipYearUpdate = false) => { // constrain x to slider bounds @@ -250,7 +244,7 @@ window.initPredictionSlider = () => { $thumb.attr('transform', `translate(${translateX}, 0)`); // update label text - $label.text(formatLabel(value)); + $label.text(formatSwingValue(value)); // update the year state to match slider position if (!skipYearUpdate) { @@ -351,18 +345,7 @@ window.initLoadStartingConditions = () => { // If we have a prediction year from the URL, parse it and set the slider value if (isPredictionYear(year)) { - const match = year.match(/predict(\d+)?([DR])?/); - if (match) { - const value = match[1] ? parseInt(match[1]) : 0; - const party = match[2]; // 'D', 'R', or undefined - if (party === 'R') { - PREDICTION_SLIDER.currentValue = -value; - } else if (party === 'D') { - PREDICTION_SLIDER.currentValue = value; - } else { - PREDICTION_SLIDER.currentValue = 0; - } - } + PREDICTION_SLIDER.currentValue = parseSwingSlug(year); } // ready, set, go @@ -370,6 +353,28 @@ window.initLoadStartingConditions = () => { selectBoundaryType(type); }; +window.parseSwingSlug = (slug) => { + const match = slug.match(/predict(\d+)?([DR])?/); + if (match) { + const value = match[1] ? parseInt(match[1]) : 0; + const party = match[2]; // 'D', 'R', or undefined + if (party === 'R') { + return -value; + } else if (party === 'D') { + return value; + } else { + return 0; + } + } + + return undefined; +}; + +window.formatSwingValue = (value) => { + if (value === 0) return 'No-Swing'; + return value > 0 ? `+${value}D` : `+${Math.abs(value)}R`; +}; + window.handleResize = () => { // various things that don't gracefully handle being resized, so we need to help them out @@ -386,7 +391,7 @@ window.handleResize = () => { // // Helper: Convert prediction slider value to year string -// value: -12 to +12 (negative = R, positive = D, 0 = Even) +// value: -12 to +12 (negative = R, positive = D, 0 = No swing) // returns: "predict0", "predict12D", "predict12R", etc. window.getPredictionYearString = (value) => { if (value === 0) return 'predict0'; @@ -605,15 +610,14 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { const stateslug = stateInfo.name.toLowerCase().replace(/\W/g, '_'); const currview = CURRENT_VIEW.boundtype; const moreinfourl = stateInfo.url ? stateInfo.url : `/${stateslug}/#!${CURRENT_VIEW.year}-${plan_or_election}-${currview}`; - var labelPrefix = CURRENT_VIEW.year; + var linkHtml = `${CURRENT_VIEW.year} Plan`; if (isPredictionYear(CURRENT_VIEW.year)) { - labelPrefix = 'Predicted'; + linkHtml = `${formatSwingValue(parseSwingSlug(CURRENT_VIEW.year))} Prediction`; } else if (isPrediction) { - labelPrefix = '2024+Remaps*'; + linkHtml = '2024+Remaps* Plan'; } else if (CURRENT_VIEW.year == 2026) { - labelPrefix = 2024; + linkHtml = '2024 Plan'; } - const linkHtml = `(${labelPrefix} Plan)`; $('#state-tooltip .link').attr('href', moreinfourl).html(linkHtml); // Show/hide link based on data and seat count @@ -654,7 +658,7 @@ window.loadDataForSelectedBoundaryAndYear = (options={}) => { var currYear = CURRENT_VIEW.year; var turnoutNote = ''; if (isPredictionYear(CURRENT_VIEW.year)) { - currYear = '2026 Predictions'; + currYear = `${formatSwingValue(parseSwingSlug(CURRENT_VIEW.year))} Predictions`; turnoutNote = ''; } else if(CURRENT_VIEW.year == 2026) { currYear = '2024+Remaps*'; diff --git a/update-ushouse-vote-swings.py b/update-ushouse-vote-swings.py index 003fdadd..1626ebe0 100755 --- a/update-ushouse-vote-swings.py +++ b/update-ushouse-vote-swings.py @@ -37,7 +37,7 @@ } # Shift headers (25 scenarios) -ZERO_HEADER = 'Zero Shift' +ZERO_HEADER = 'No-Swing' SHIFT_HEADERS = ['R+12', 'R+11', 'R+10', 'R+9', 'R+8', 'R+7', 'R+6', 'R+5', 'R+4', 'R+3', 'R+2', 'R+1', ZERO_HEADER, 'D+1', 'D+2', 'D+3', 'D+4', 'D+5', 'D+6', 'D+7', 'D+8', 'D+9', 'D+10', 'D+11', 'D+12'] @@ -313,7 +313,7 @@ def clone_plan_with_swings(api_key: str, plan_id: str, description: str, vote_sw payload = { "id": plan_id, "description": description, - "vote_swings": vote_swings, + "vote_swings": [round(s, 3) for s in vote_swings], "library_metadata": library_metadata, } From 97c6c3e4bc680e6cf255be73a3072173bbad0fc1 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 19:46:41 -0800 Subject: [PATCH 20/22] Fix column name mismatch preventing predict0 URLs from syncing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User prompt: "The plan https://planscore.org/plan.html?20260118T033401.290781868Z should be present in ~/Sites/PlanScore-FrontPage/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv after running ~/Sites/PlanScore-FrontPage/update-ushouse-data-files.sh but it is not. I think our script is confused about the planscore URLs in the local CSV vs. the ones in GDocs. The GDocs ones should override the local ones when a plan URL is called-for, figure out why that's not happening and verify that my Illinois plan URL above is included." Changed get_state_swings_column_name() to return "No-Swing PlanScore URL" instead of "Zero Shift PlanScore URL" to match the actual column name in Google Sheets. This allows predict0 cycle rows to correctly fetch and process plan URLs from the State Swings worksheet. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- WEBSITE_OUTPUT/data/bias_ushouse-elections.csv | 18 +++++++++--------- update-ushouse-data-files.py | 4 ++-- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index f0516104..5bd7c7f7 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -2003,7 +2003,7 @@ predict0,AK,,0.0,1, predict0,AL,,0.0,7, predict0,AR,,0.0,4, predict0,AZ,,0.0,9, -predict0,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T030252.652919306Z +predict0,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T033406.367827092Z predict0,CO,,0.0,8, predict0,CT,,0.0,5, predict0,DE,,0.0,1, @@ -2012,7 +2012,7 @@ predict0,GA,,0.0,14, predict0,HI,,0.0,2, predict0,IA,,0.0,4, predict0,ID,,0.0,2, -predict0,IL,,0.173,17,https://planscore.org/plan.html?20260118T001631.622137249Z +predict0,IL,,0.173,17,https://planscore.org/plan.html?20260118T033401.290781868Z predict0,IN,,0.0,9, predict0,KS,,0.0,4, predict0,KY,,0.0,6, @@ -2022,10 +2022,10 @@ predict0,MD,,0.0,8, predict0,ME,,0.0,2, predict0,MI,,0.0,13, predict0,MN,,0.0,8, -predict0,MO,yes,-0.161,8,https://planscore.org/plan.html?20260118T030613.245734369Z -predict0,MS,yes,0.007,4,https://planscore.org/plan.html?20260118T030753.052954058Z +predict0,MO,yes,-0.161,8,https://planscore.org/plan.html?20260118T033412.268848738Z +predict0,MS,yes,0.007,4,https://planscore.org/plan.html?20260118T033429.149694731Z predict0,MT,,0.0,2, -predict0,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T001631.540221736Z +predict0,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T033421.754867062Z predict0,ND,,0.0,1, predict0,NE,,0.0,3, predict0,NH,,0.0,2, @@ -2033,7 +2033,7 @@ predict0,NJ,,0.0,12, predict0,NM,,0.0,3, predict0,NV,,0.0,4, predict0,NY,,0.0,26, -predict0,OH,yes,-0.15,15,https://planscore.org/plan.html?20260118T030701.322881787Z +predict0,OH,yes,-0.15,15,https://planscore.org/plan.html?20260118T033416.214891996Z predict0,OK,,0.0,5, predict0,OR,,0.0,6, predict0,PA,,0.0,17, @@ -2041,9 +2041,9 @@ predict0,RI,,0.0,2, predict0,SC,,0.0,7, predict0,SD,,0.0,1, predict0,TN,,0.0,9, -predict0,TX,yes,-0.131,38,https://planscore.org/plan.html?20260118T030423.156140601Z -predict0,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T001634.186677257Z -predict0,VA,,0.003,11,https://planscore.org/plan.html?20260118T001636.365843215Z +predict0,TX,yes,-0.131,38,https://planscore.org/plan.html?20260118T033409.784544558Z +predict0,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T033426.757338337Z +predict0,VA,,0.003,11,https://planscore.org/plan.html?20260118T033402.058551298Z predict0,VT,,0.0,1, predict0,WA,,0.0,10, predict0,WI,,0.0,8, diff --git a/update-ushouse-data-files.py b/update-ushouse-data-files.py index 8feffaf1..fdccb501 100755 --- a/update-ushouse-data-files.py +++ b/update-ushouse-data-files.py @@ -151,14 +151,14 @@ def get_state_swings_column_name(cycle: str) -> typing.Optional[str]: """Convert cycle name to State Swings worksheet column name Examples: - predict0 -> Zero Shift PlanScore URL + predict0 -> No-Swing PlanScore URL predict1D -> D+1 PlanScore URL predict12D -> D+12 PlanScore URL predict1R -> R+1 PlanScore URL predict12R -> R+12 PlanScore URL """ if cycle == "predict0": - return "Zero Shift PlanScore URL" + return "No-Swing PlanScore URL" # Parse predictXD or predictXR format match = re.match(r'^predict(\d+)([DR])$', cycle) From d87593939d12f92f3ed6a56dad83f8d7a3367790 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sat, 17 Jan 2026 20:28:30 -0800 Subject: [PATCH 21/22] Ran all the states --- .../data/bias_ushouse-elections.csv | 2050 ++++++++--------- update-ushouse-vote-swings.py | 6 +- 2 files changed, 1026 insertions(+), 1030 deletions(-) diff --git a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv index 5bd7c7f7..c6cd40ac 100644 --- a/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv +++ b/WEBSITE_OUTPUT/data/bias_ushouse-elections.csv @@ -1399,1253 +1399,1253 @@ cycle,stateabrev,newplan,EG,seats,url 2026,WI,,-0.220,8, 2026,WV,,-0.076,2, 2026,WY,,0.005,1, -predict12D,AK,,0.0,1, -predict12D,AL,,0.0,7, -predict12D,AR,,0.0,4, -predict12D,AZ,,0.0,9, +predict12D,AK,,0.332,1,https://planscore.org/plan.html?20260118T040044.026474429Z +predict12D,AL,,-0.113,7,https://planscore.org/plan.html?20260118T040123.040082499Z +predict12D,AR,,-0.107,4,https://planscore.org/plan.html?20260118T040158.623274757Z +predict12D,AZ,,0.146,9,https://planscore.org/plan.html?20260118T040238.716763088Z predict12D,CA,yes,0.044,52,https://planscore.org/plan.html?20260118T030331.145136330Z -predict12D,CO,,0.0,8, -predict12D,CT,,0.0,5, -predict12D,DE,,0.0,1, -predict12D,FL,,0.0,28, -predict12D,GA,,0.0,14, -predict12D,HI,,0.0,2, -predict12D,IA,,0.0,4, -predict12D,ID,,0.0,2, +predict12D,CO,,0.13,8,https://planscore.org/plan.html?20260118T040313.061583312Z +predict12D,CT,,0.054,5,https://planscore.org/plan.html?20260118T040344.069098033Z +predict12D,DE,,0.059,1,https://planscore.org/plan.html?20260118T040416.344099942Z +predict12D,FL,,0.059,28,https://planscore.org/plan.html?20260118T040513.245051624Z +predict12D,GA,,-0.096,14,https://planscore.org/plan.html?20260118T040611.622320268Z +predict12D,HI,,-0.054,2,https://planscore.org/plan.html?20260118T040654.260027230Z +predict12D,IA,,0.207,4,https://planscore.org/plan.html?20260118T040727.392649361Z +predict12D,ID,,-0.191,2,https://planscore.org/plan.html?20260118T040757.782845431Z predict12D,IL,,-0.004,17,https://planscore.org/plan.html?20260118T000603.675349725Z -predict12D,IN,,0.0,9, -predict12D,KS,,0.0,4, -predict12D,KY,,0.0,6, -predict12D,LA,,0.0,6, -predict12D,MA,,0.0,9, -predict12D,MD,,0.0,8, -predict12D,ME,,0.0,2, -predict12D,MI,,0.0,13, -predict12D,MN,,0.0,8, +predict12D,IN,,-0.121,9,https://planscore.org/plan.html?20260118T040835.886055994Z +predict12D,KS,,0.042,4,https://planscore.org/plan.html?20260118T040912.430163028Z +predict12D,KY,,-0.092,6,https://planscore.org/plan.html?20260118T040942.004634272Z +predict12D,LA,,-0.117,6,https://planscore.org/plan.html?20260118T041029.281123699Z +predict12D,MA,,-0.046,9,https://planscore.org/plan.html?20260118T041058.779783828Z +predict12D,MD,,-0.032,8,https://planscore.org/plan.html?20260118T041136.768247882Z +predict12D,ME,,0.124,2,https://planscore.org/plan.html?20260118T041205.233415973Z +predict12D,MI,,0.01,13,https://planscore.org/plan.html?20260118T041242.648814736Z +predict12D,MN,,0.069,8,https://planscore.org/plan.html?20260118T041320.918455808Z predict12D,MO,yes,0.02,8,https://planscore.org/plan.html?20260118T030631.805452611Z predict12D,MS,yes,-0.212,4,https://planscore.org/plan.html?20260118T030806.674600353Z -predict12D,MT,,0.0,2, +predict12D,MT,,0.068,2,https://planscore.org/plan.html?20260118T041354.193518760Z predict12D,NC,yes,0.214,14,https://planscore.org/plan.html?20260118T000604.431947701Z -predict12D,ND,,0.0,1, -predict12D,NE,,0.0,3, -predict12D,NH,,0.0,2, -predict12D,NJ,,0.0,12, -predict12D,NM,,0.0,3, -predict12D,NV,,0.0,4, -predict12D,NY,,0.0,26, +predict12D,ND,,-0.326,1,https://planscore.org/plan.html?20260118T041431.780205233Z +predict12D,NE,,0.139,3,https://planscore.org/plan.html?20260118T041457.373315949Z +predict12D,NH,,0.178,2,https://planscore.org/plan.html?20260118T041534.073398425Z +predict12D,NJ,,0.072,12,https://planscore.org/plan.html?20260118T041609.697382931Z +predict12D,NM,,0.134,3,https://planscore.org/plan.html?20260118T041643.375103960Z +predict12D,NV,,0.225,4,https://planscore.org/plan.html?20260118T041716.174734673Z +predict12D,NY,,0.031,26,https://planscore.org/plan.html?20260118T041812.652741745Z predict12D,OH,yes,0.039,15,https://planscore.org/plan.html?20260118T030728.905441817Z -predict12D,OK,,0.0,5, -predict12D,OR,,0.0,6, -predict12D,PA,,0.0,17, -predict12D,RI,,0.0,2, -predict12D,SC,,0.0,7, -predict12D,SD,,0.0,1, -predict12D,TN,,0.0,9, +predict12D,OK,,-0.16,5,https://planscore.org/plan.html?20260118T041850.379233484Z +predict12D,OR,,-0.026,6,https://planscore.org/plan.html?20260118T041925.994806748Z +predict12D,PA,,-0.006,17,https://planscore.org/plan.html?20260118T042019.029357244Z +predict12D,RI,,0.075,2,https://planscore.org/plan.html?20260118T042056.698130862Z +predict12D,SC,,0.05,7,https://planscore.org/plan.html?20260118T042143.582056661Z +predict12D,SD,,-0.279,1,https://planscore.org/plan.html?20260118T042211.184187872Z +predict12D,TN,,-0.144,9,https://planscore.org/plan.html?20260118T042250.723686561Z predict12D,TX,yes,0.055,38,https://planscore.org/plan.html?20260118T030519.951608056Z predict12D,UT,yes,-0.148,4,https://planscore.org/plan.html?20260118T000610.397049254Z predict12D,VA,,0.07,11,https://planscore.org/plan.html?20260118T000608.068337205Z -predict12D,VT,,0.0,1, -predict12D,WA,,0.0,10, -predict12D,WI,,0.0,8, -predict12D,WV,,0.0,2, -predict12D,WY,,0.0,1, -predict11D,AK,,0.0,1, -predict11D,AL,,0.0,7, -predict11D,AR,,0.0,4, -predict11D,AZ,,0.0,9, +predict12D,VT,,-0.081,1,https://planscore.org/plan.html?20260118T042329.418165655Z +predict12D,WA,,0.02,10,https://planscore.org/plan.html?20260118T042408.678726421Z +predict12D,WI,,0.099,8,https://planscore.org/plan.html?20260118T042440.184559937Z +predict12D,WV,,-0.332,2,https://planscore.org/plan.html?20260118T042514.372924284Z +predict12D,WY,,-0.252,1,https://planscore.org/plan.html?20260118T042543.018818838Z +predict11D,AK,,0.316,1,https://planscore.org/plan.html?20260118T040044.977808118Z +predict11D,AL,,-0.104,7,https://planscore.org/plan.html?20260118T040122.507090994Z +predict11D,AR,,-0.14,4,https://planscore.org/plan.html?20260118T040151.165662486Z +predict11D,AZ,,0.131,9,https://planscore.org/plan.html?20260118T040234.104773438Z predict11D,CA,yes,0.057,52,https://planscore.org/plan.html?20260118T030331.608965682Z -predict11D,CO,,0.0,8, -predict11D,CT,,0.0,5, -predict11D,DE,,0.0,1, -predict11D,FL,,0.0,28, -predict11D,GA,,0.0,14, -predict11D,HI,,0.0,2, -predict11D,IA,,0.0,4, -predict11D,ID,,0.0,2, +predict11D,CO,,0.132,8,https://planscore.org/plan.html?20260118T040312.603932681Z +predict11D,CT,,0.072,5,https://planscore.org/plan.html?20260118T040342.345135597Z +predict11D,DE,,0.079,1,https://planscore.org/plan.html?20260118T040416.229241255Z +predict11D,FL,,0.025,28,https://planscore.org/plan.html?20260118T040512.675554011Z +predict11D,GA,,-0.124,14,https://planscore.org/plan.html?20260118T040610.813523992Z +predict11D,HI,,-0.038,2,https://planscore.org/plan.html?20260118T040653.705496601Z +predict11D,IA,,0.198,4,https://planscore.org/plan.html?20260118T040725.301038127Z +predict11D,ID,,-0.231,2,https://planscore.org/plan.html?20260118T040757.471077262Z predict11D,IL,,0.008,17,https://planscore.org/plan.html?20260117T234131.204003450Z -predict11D,IN,,0.0,9, -predict11D,KS,,0.0,4, -predict11D,KY,,0.0,6, -predict11D,LA,,0.0,6, -predict11D,MA,,0.0,9, -predict11D,MD,,0.0,8, -predict11D,ME,,0.0,2, -predict11D,MI,,0.0,13, -predict11D,MN,,0.0,8, +predict11D,IN,,-0.152,9,https://planscore.org/plan.html?20260118T040835.757465302Z +predict11D,KS,,-0.017,4,https://planscore.org/plan.html?20260118T040912.163460931Z +predict11D,KY,,-0.078,6,https://planscore.org/plan.html?20260118T040941.606299155Z +predict11D,LA,,-0.098,6,https://planscore.org/plan.html?20260118T041020.383929374Z +predict11D,MA,,-0.029,9,https://planscore.org/plan.html?20260118T041058.419679719Z +predict11D,MD,,-0.028,8,https://planscore.org/plan.html?20260118T041136.094924004Z +predict11D,ME,,0.144,2,https://planscore.org/plan.html?20260118T041204.867999734Z +predict11D,MI,,0.009,13,https://planscore.org/plan.html?20260118T041242.947402336Z +predict11D,MN,,0.058,8,https://planscore.org/plan.html?20260118T041320.036878340Z predict11D,MO,yes,-0.014,8,https://planscore.org/plan.html?20260118T030627.741274374Z predict11D,MS,yes,-0.201,4,https://planscore.org/plan.html?20260118T030806.802386516Z -predict11D,MT,,0.0,2, +predict11D,MT,,0.026,2,https://planscore.org/plan.html?20260118T041354.295018895Z predict11D,NC,yes,0.191,14,https://planscore.org/plan.html?20260117T234221.573532111Z -predict11D,ND,,0.0,1, -predict11D,NE,,0.0,3, -predict11D,NH,,0.0,2, -predict11D,NJ,,0.0,12, -predict11D,NM,,0.0,3, -predict11D,NV,,0.0,4, -predict11D,NY,,0.0,26, +predict11D,ND,,-0.307,1,https://planscore.org/plan.html?20260118T041426.399783601Z +predict11D,NE,,0.138,3,https://planscore.org/plan.html?20260118T041456.058710139Z +predict11D,NH,,0.198,2,https://planscore.org/plan.html?20260118T041530.221315020Z +predict11D,NJ,,0.083,12,https://planscore.org/plan.html?20260118T041609.088436990Z +predict11D,NM,,0.155,3,https://planscore.org/plan.html?20260118T041642.112592453Z +predict11D,NV,,0.226,4,https://planscore.org/plan.html?20260118T041714.445686336Z +predict11D,NY,,0.025,26,https://planscore.org/plan.html?20260118T041811.712838580Z predict11D,OH,yes,0.026,15,https://planscore.org/plan.html?20260118T030727.518908525Z -predict11D,OK,,0.0,5, -predict11D,OR,,0.0,6, -predict11D,PA,,0.0,17, -predict11D,RI,,0.0,2, -predict11D,SC,,0.0,7, -predict11D,SD,,0.0,1, -predict11D,TN,,0.0,9, +predict11D,OK,,-0.193,5,https://planscore.org/plan.html?20260118T041849.301080386Z +predict11D,OR,,-0.013,6,https://planscore.org/plan.html?20260118T041925.809275993Z +predict11D,PA,,-0.005,17,https://planscore.org/plan.html?20260118T042017.124063390Z +predict11D,RI,,0.094,2,https://planscore.org/plan.html?20260118T042054.513981260Z +predict11D,SC,,0.006,7,https://planscore.org/plan.html?20260118T042136.072933907Z +predict11D,SD,,-0.313,1,https://planscore.org/plan.html?20260118T042211.545409590Z +predict11D,TN,,-0.155,9,https://planscore.org/plan.html?20260118T042249.867371146Z predict11D,TX,yes,0.006,38,https://planscore.org/plan.html?20260118T030519.531690543Z predict11D,UT,yes,-0.175,4,https://planscore.org/plan.html?20260117T234258.083201955Z predict11D,VA,,0.074,11,https://planscore.org/plan.html?20260117T234336.944596105Z -predict11D,VT,,0.0,1, -predict11D,WA,,0.0,10, -predict11D,WI,,0.0,8, -predict11D,WV,,0.0,2, -predict11D,WY,,0.0,1, -predict10D,AK,,0.0,1, -predict10D,AL,,0.0,7, -predict10D,AR,,0.0,4, -predict10D,AZ,,0.0,9, +predict11D,VT,,-0.065,1,https://planscore.org/plan.html?20260118T042329.233089611Z +predict11D,WA,,0.017,10,https://planscore.org/plan.html?20260118T042408.528394223Z +predict11D,WI,,0.06,8,https://planscore.org/plan.html?20260118T042438.215924944Z +predict11D,WV,,-0.336,2,https://planscore.org/plan.html?20260118T042513.708845505Z +predict11D,WY,,-0.231,1,https://planscore.org/plan.html?20260118T042541.561734837Z +predict10D,AK,,0.273,1,https://planscore.org/plan.html?20260118T040044.088716290Z +predict10D,AL,,-0.09,7,https://planscore.org/plan.html?20260118T040122.521379492Z +predict10D,AR,,-0.169,4,https://planscore.org/plan.html?20260118T040151.739893585Z +predict10D,AZ,,0.108,9,https://planscore.org/plan.html?20260118T040231.934629001Z predict10D,CA,yes,0.069,52,https://planscore.org/plan.html?20260118T030331.157345468Z -predict10D,CO,,0.0,8, -predict10D,CT,,0.0,5, -predict10D,DE,,0.0,1, -predict10D,FL,,0.0,28, -predict10D,GA,,0.0,14, -predict10D,HI,,0.0,2, -predict10D,IA,,0.0,4, -predict10D,ID,,0.0,2, +predict10D,CO,,0.128,8,https://planscore.org/plan.html?20260118T040312.186932370Z +predict10D,CT,,0.091,5,https://planscore.org/plan.html?20260118T040342.129488749Z +predict10D,DE,,0.097,1,https://planscore.org/plan.html?20260118T040416.204505904Z +predict10D,FL,,-0.01,28,https://planscore.org/plan.html?20260118T040511.596302208Z +predict10D,GA,,-0.148,14,https://planscore.org/plan.html?20260118T040610.124598277Z +predict10D,HI,,-0.021,2,https://planscore.org/plan.html?20260118T040652.415058043Z +predict10D,IA,,0.184,4,https://planscore.org/plan.html?20260118T040725.984970513Z +predict10D,ID,,-0.263,2,https://planscore.org/plan.html?20260118T040756.423544157Z predict10D,IL,,0.022,17,https://planscore.org/plan.html?20260117T234131.269500782Z -predict10D,IN,,0.0,9, -predict10D,KS,,0.0,4, -predict10D,KY,,0.0,6, -predict10D,LA,,0.0,6, -predict10D,MA,,0.0,9, -predict10D,MD,,0.0,8, -predict10D,ME,,0.0,2, -predict10D,MI,,0.0,13, -predict10D,MN,,0.0,8, +predict10D,IN,,-0.176,9,https://planscore.org/plan.html?20260118T040835.548388351Z +predict10D,KS,,-0.067,4,https://planscore.org/plan.html?20260118T040903.086326878Z +predict10D,KY,,-0.066,6,https://planscore.org/plan.html?20260118T040941.737757760Z +predict10D,LA,,-0.078,6,https://planscore.org/plan.html?20260118T041020.468020180Z +predict10D,MA,,-0.012,9,https://planscore.org/plan.html?20260118T041058.971789644Z +predict10D,MD,,-0.026,8,https://planscore.org/plan.html?20260118T041135.541136699Z +predict10D,ME,,0.164,2,https://planscore.org/plan.html?20260118T041203.479549899Z +predict10D,MI,,0.009,13,https://planscore.org/plan.html?20260118T041241.177740009Z +predict10D,MN,,0.041,8,https://planscore.org/plan.html?20260118T041315.656335234Z predict10D,MO,yes,-0.051,8,https://planscore.org/plan.html?20260118T030626.964598966Z predict10D,MS,yes,-0.185,4,https://planscore.org/plan.html?20260118T030806.666278529Z -predict10D,MT,,0.0,2, +predict10D,MT,,-0.01,2,https://planscore.org/plan.html?20260118T041353.034040050Z predict10D,NC,yes,0.152,14,https://planscore.org/plan.html?20260117T234221.054080815Z -predict10D,ND,,0.0,1, -predict10D,NE,,0.0,3, -predict10D,NH,,0.0,2, -predict10D,NJ,,0.0,12, -predict10D,NM,,0.0,3, -predict10D,NV,,0.0,4, -predict10D,NY,,0.0,26, +predict10D,ND,,-0.288,1,https://planscore.org/plan.html?20260118T041426.247921597Z +predict10D,NE,,0.13,3,https://planscore.org/plan.html?20260118T041457.681122227Z +predict10D,NH,,0.219,2,https://planscore.org/plan.html?20260118T041529.203696965Z +predict10D,NJ,,0.092,12,https://planscore.org/plan.html?20260118T041609.801161018Z +predict10D,NM,,0.175,3,https://planscore.org/plan.html?20260118T041639.756869109Z +predict10D,NV,,0.218,4,https://planscore.org/plan.html?20260118T041713.013171661Z +predict10D,NY,,0.019,26,https://planscore.org/plan.html?20260118T041809.548820032Z predict10D,OH,yes,0.009,15,https://planscore.org/plan.html?20260118T030725.282097399Z -predict10D,OK,,0.0,5, -predict10D,OR,,0.0,6, -predict10D,PA,,0.0,17, -predict10D,RI,,0.0,2, -predict10D,SC,,0.0,7, -predict10D,SD,,0.0,1, -predict10D,TN,,0.0,9, +predict10D,OK,,-0.217,5,https://planscore.org/plan.html?20260118T041847.414099723Z +predict10D,OR,,0.004,6,https://planscore.org/plan.html?20260118T041925.467718276Z +predict10D,PA,,-0.007,17,https://planscore.org/plan.html?20260118T042017.275203535Z +predict10D,RI,,0.113,2,https://planscore.org/plan.html?20260118T042054.616851189Z +predict10D,SC,,-0.043,7,https://planscore.org/plan.html?20260118T042135.645970259Z +predict10D,SD,,-0.335,1,https://planscore.org/plan.html?20260118T042210.557167901Z +predict10D,TN,,-0.163,9,https://planscore.org/plan.html?20260118T042247.694780905Z predict10D,TX,yes,-0.041,38,https://planscore.org/plan.html?20260118T030512.233686082Z predict10D,UT,yes,-0.183,4,https://planscore.org/plan.html?20260117T234258.555518952Z predict10D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.675178157Z -predict10D,VT,,0.0,1, -predict10D,WA,,0.0,10, -predict10D,WI,,0.0,8, -predict10D,WV,,0.0,2, -predict10D,WY,,0.0,1, -predict9D,AK,,0.0,1, -predict9D,AL,,0.0,7, -predict9D,AR,,0.0,4, -predict9D,AZ,,0.0,9, +predict10D,VT,,-0.049,1,https://planscore.org/plan.html?20260118T042329.427502061Z +predict10D,WA,,0.014,10,https://planscore.org/plan.html?20260118T042400.486451110Z +predict10D,WI,,0.012,8,https://planscore.org/plan.html?20260118T042436.220867518Z +predict10D,WV,,-0.336,2,https://planscore.org/plan.html?20260118T042510.553148483Z +predict10D,WY,,-0.209,1,https://planscore.org/plan.html?20260118T042541.022849455Z +predict9D,AK,,0.195,1,https://planscore.org/plan.html?20260118T040044.749139705Z +predict9D,AL,,-0.078,7,https://planscore.org/plan.html?20260118T040121.685873757Z +predict9D,AR,,-0.192,4,https://planscore.org/plan.html?20260118T040150.529115674Z +predict9D,AZ,,0.085,9,https://planscore.org/plan.html?20260118T040231.497712028Z predict9D,CA,yes,0.081,52,https://planscore.org/plan.html?20260118T030331.043046348Z -predict9D,CO,,0.0,8, -predict9D,CT,,0.0,5, -predict9D,DE,,0.0,1, -predict9D,FL,,0.0,28, -predict9D,GA,,0.0,14, -predict9D,HI,,0.0,2, -predict9D,IA,,0.0,4, -predict9D,ID,,0.0,2, +predict9D,CO,,0.118,8,https://planscore.org/plan.html?20260118T040312.294377468Z +predict9D,CT,,0.11,5,https://planscore.org/plan.html?20260118T040339.797979906Z +predict9D,DE,,0.117,1,https://planscore.org/plan.html?20260118T040416.391326869Z +predict9D,FL,,-0.044,28,https://planscore.org/plan.html?20260118T040510.602579846Z +predict9D,GA,,-0.17,14,https://planscore.org/plan.html?20260118T040610.784861074Z +predict9D,HI,,-0.004,2,https://planscore.org/plan.html?20260118T040651.363571853Z +predict9D,IA,,0.174,4,https://planscore.org/plan.html?20260118T040726.185840946Z +predict9D,ID,,-0.285,2,https://planscore.org/plan.html?20260118T040755.932627452Z predict9D,IL,,0.037,17,https://planscore.org/plan.html?20260117T234131.957084806Z -predict9D,IN,,0.0,9, -predict9D,KS,,0.0,4, -predict9D,KY,,0.0,6, -predict9D,LA,,0.0,6, -predict9D,MA,,0.0,9, -predict9D,MD,,0.0,8, -predict9D,ME,,0.0,2, -predict9D,MI,,0.0,13, -predict9D,MN,,0.0,8, +predict9D,IN,,-0.184,9,https://planscore.org/plan.html?20260118T040835.517950769Z +predict9D,KS,,-0.113,4,https://planscore.org/plan.html?20260118T040902.876683240Z +predict9D,KY,,-0.057,6,https://planscore.org/plan.html?20260118T040940.610268876Z +predict9D,LA,,-0.059,6,https://planscore.org/plan.html?20260118T041019.267578240Z +predict9D,MA,,0.004,9,https://planscore.org/plan.html?20260118T041057.746330190Z +predict9D,MD,,-0.027,8,https://planscore.org/plan.html?20260118T041127.423584951Z +predict9D,ME,,0.182,2,https://planscore.org/plan.html?20260118T041202.103895473Z +predict9D,MI,,0.012,13,https://planscore.org/plan.html?20260118T041241.453075299Z +predict9D,MN,,0.017,8,https://planscore.org/plan.html?20260118T041311.098146832Z predict9D,MO,yes,-0.086,8,https://planscore.org/plan.html?20260118T030626.530607494Z predict9D,MS,yes,-0.168,4,https://planscore.org/plan.html?20260118T030806.388982732Z -predict9D,MT,,0.0,2, +predict9D,MT,,-0.048,2,https://planscore.org/plan.html?20260118T041353.754645627Z predict9D,NC,yes,0.096,14,https://planscore.org/plan.html?20260117T234221.458859302Z -predict9D,ND,,0.0,1, -predict9D,NE,,0.0,3, -predict9D,NH,,0.0,2, -predict9D,NJ,,0.0,12, -predict9D,NM,,0.0,3, -predict9D,NV,,0.0,4, -predict9D,NY,,0.0,26, +predict9D,ND,,-0.268,1,https://planscore.org/plan.html?20260118T041426.661093619Z +predict9D,NE,,0.113,3,https://planscore.org/plan.html?20260118T041456.658127103Z +predict9D,NH,,0.24,2,https://planscore.org/plan.html?20260118T041529.197492056Z +predict9D,NJ,,0.101,12,https://planscore.org/plan.html?20260118T041606.506324786Z +predict9D,NM,,0.196,3,https://planscore.org/plan.html?20260118T041639.931732376Z +predict9D,NV,,0.209,4,https://planscore.org/plan.html?20260118T041713.549333286Z +predict9D,NY,,0.017,26,https://planscore.org/plan.html?20260118T041809.855804315Z predict9D,OH,yes,-0.007,15,https://planscore.org/plan.html?20260118T030725.812163091Z -predict9D,OK,,0.0,5, -predict9D,OR,,0.0,6, -predict9D,PA,,0.0,17, -predict9D,RI,,0.0,2, -predict9D,SC,,0.0,7, -predict9D,SD,,0.0,1, -predict9D,TN,,0.0,9, +predict9D,OK,,-0.233,5,https://planscore.org/plan.html?20260118T041847.292952359Z +predict9D,OR,,0.022,6,https://planscore.org/plan.html?20260118T041925.830603813Z +predict9D,PA,,-0.004,17,https://planscore.org/plan.html?20260118T042017.830994465Z +predict9D,RI,,0.133,2,https://planscore.org/plan.html?20260118T042054.670961740Z +predict9D,SC,,-0.089,7,https://planscore.org/plan.html?20260118T042133.855942034Z +predict9D,SD,,-0.336,1,https://planscore.org/plan.html?20260118T042209.055996138Z +predict9D,TN,,-0.169,9,https://planscore.org/plan.html?20260118T042247.860794931Z predict9D,TX,yes,-0.082,38,https://planscore.org/plan.html?20260118T030511.831201923Z predict9D,UT,yes,-0.179,4,https://planscore.org/plan.html?20260117T234258.688560986Z predict9D,VA,,0.073,11,https://planscore.org/plan.html?20260117T234336.451498751Z -predict9D,VT,,0.0,1, -predict9D,WA,,0.0,10, -predict9D,WI,,0.0,8, -predict9D,WV,,0.0,2, -predict9D,WY,,0.0,1, -predict8D,AK,,0.0,1, -predict8D,AL,,0.0,7, -predict8D,AR,,0.0,4, -predict8D,AZ,,0.0,9, +predict9D,VT,,-0.033,1,https://planscore.org/plan.html?20260118T042329.831834932Z +predict9D,WA,,0.013,10,https://planscore.org/plan.html?20260118T042400.410979340Z +predict9D,WI,,-0.04,8,https://planscore.org/plan.html?20260118T042437.906345483Z +predict9D,WV,,-0.321,2,https://planscore.org/plan.html?20260118T042510.154032241Z +predict9D,WY,,-0.189,1,https://planscore.org/plan.html?20260118T042540.497579914Z +predict8D,AK,,0.11,1,https://planscore.org/plan.html?20260118T040044.319887500Z +predict8D,AL,,-0.061,7,https://planscore.org/plan.html?20260118T040120.743694532Z +predict8D,AR,,-0.214,4,https://planscore.org/plan.html?20260118T040150.317265333Z +predict8D,AZ,,0.061,9,https://planscore.org/plan.html?20260118T040230.285891140Z predict8D,CA,yes,0.093,52,https://planscore.org/plan.html?20260118T030330.025827987Z -predict8D,CO,,0.0,8, -predict8D,CT,,0.0,5, -predict8D,DE,,0.0,1, -predict8D,FL,,0.0,28, -predict8D,GA,,0.0,14, -predict8D,HI,,0.0,2, -predict8D,IA,,0.0,4, -predict8D,ID,,0.0,2, +predict8D,CO,,0.099,8,https://planscore.org/plan.html?20260118T040312.995696624Z +predict8D,CT,,0.129,5,https://planscore.org/plan.html?20260118T040339.391566336Z +predict8D,DE,,0.137,1,https://planscore.org/plan.html?20260118T040416.597616527Z +predict8D,FL,,-0.074,28,https://planscore.org/plan.html?20260118T040510.722951243Z +predict8D,GA,,-0.184,14,https://planscore.org/plan.html?20260118T040610.129985406Z +predict8D,HI,,0.013,2,https://planscore.org/plan.html?20260118T040650.876832335Z +predict8D,IA,,0.154,4,https://planscore.org/plan.html?20260118T040725.081324785Z +predict8D,ID,,-0.281,2,https://planscore.org/plan.html?20260118T040753.899453641Z predict8D,IL,,0.054,17,https://planscore.org/plan.html?20260117T234131.991427553Z -predict8D,IN,,0.0,9, -predict8D,KS,,0.0,4, -predict8D,KY,,0.0,6, -predict8D,LA,,0.0,6, -predict8D,MA,,0.0,9, -predict8D,MD,,0.0,8, -predict8D,ME,,0.0,2, -predict8D,MI,,0.0,13, -predict8D,MN,,0.0,8, +predict8D,IN,,-0.185,9,https://planscore.org/plan.html?20260118T040835.320874854Z +predict8D,KS,,-0.147,4,https://planscore.org/plan.html?20260118T040902.779235830Z +predict8D,KY,,-0.05,6,https://planscore.org/plan.html?20260118T040940.209520268Z +predict8D,LA,,-0.041,6,https://planscore.org/plan.html?20260118T041018.592762602Z +predict8D,MA,,0.021,9,https://planscore.org/plan.html?20260118T041056.964005431Z +predict8D,MD,,-0.025,8,https://planscore.org/plan.html?20260118T041127.415916052Z +predict8D,ME,,0.2,2,https://planscore.org/plan.html?20260118T041202.567124305Z +predict8D,MI,,0.013,13,https://planscore.org/plan.html?20260118T041234.298254759Z +predict8D,MN,,-0.003,8,https://planscore.org/plan.html?20260118T041311.892574851Z predict8D,MO,yes,-0.121,8,https://planscore.org/plan.html?20260118T030623.873968463Z predict8D,MS,yes,-0.148,4,https://planscore.org/plan.html?20260118T030806.343174183Z -predict8D,MT,,0.0,2, +predict8D,MT,,-0.076,2,https://planscore.org/plan.html?20260118T041353.879157395Z predict8D,NC,yes,0.029,14,https://planscore.org/plan.html?20260117T234221.368325905Z -predict8D,ND,,0.0,1, -predict8D,NE,,0.0,3, -predict8D,NH,,0.0,2, -predict8D,NJ,,0.0,12, -predict8D,NM,,0.0,3, -predict8D,NV,,0.0,4, -predict8D,NY,,0.0,26, +predict8D,ND,,-0.249,1,https://planscore.org/plan.html?20260118T041426.481941401Z +predict8D,NE,,0.091,3,https://planscore.org/plan.html?20260118T041456.753752981Z +predict8D,NH,,0.261,2,https://planscore.org/plan.html?20260118T041529.788214602Z +predict8D,NJ,,0.107,12,https://planscore.org/plan.html?20260118T041604.624675749Z +predict8D,NM,,0.217,3,https://planscore.org/plan.html?20260118T041638.001307171Z +predict8D,NV,,0.196,4,https://planscore.org/plan.html?20260118T041710.989880801Z +predict8D,NY,,0.02,26,https://planscore.org/plan.html?20260118T041808.500548113Z predict8D,OH,yes,-0.028,15,https://planscore.org/plan.html?20260118T030720.270066051Z -predict8D,OK,,0.0,5, -predict8D,OR,,0.0,6, -predict8D,PA,,0.0,17, -predict8D,RI,,0.0,2, -predict8D,SC,,0.0,7, -predict8D,SD,,0.0,1, -predict8D,TN,,0.0,9, +predict8D,OK,,-0.236,5,https://planscore.org/plan.html?20260118T041846.724484940Z +predict8D,OR,,0.04,6,https://planscore.org/plan.html?20260118T041925.021590993Z +predict8D,PA,,-0.005,17,https://planscore.org/plan.html?20260118T042016.779778646Z +predict8D,RI,,0.153,2,https://planscore.org/plan.html?20260118T042053.092467992Z +predict8D,SC,,-0.122,7,https://planscore.org/plan.html?20260118T042132.440018481Z +predict8D,SD,,-0.325,1,https://planscore.org/plan.html?20260118T042209.887679141Z +predict8D,TN,,-0.172,9,https://planscore.org/plan.html?20260118T042246.378809196Z predict8D,TX,yes,-0.114,38,https://planscore.org/plan.html?20260118T030511.634280701Z predict8D,UT,yes,-0.167,4,https://planscore.org/plan.html?20260117T234258.064963898Z predict8D,VA,,0.069,11,https://planscore.org/plan.html?20260117T234336.199011895Z -predict8D,VT,,0.0,1, -predict8D,WA,,0.0,10, -predict8D,WI,,0.0,8, -predict8D,WV,,0.0,2, -predict8D,WY,,0.0,1, -predict7D,AK,,0.0,1, -predict7D,AL,,0.0,7, -predict7D,AR,,0.0,4, -predict7D,AZ,,0.0,9, +predict8D,VT,,-0.017,1,https://planscore.org/plan.html?20260118T042329.704822181Z +predict8D,WA,,0.014,10,https://planscore.org/plan.html?20260118T042358.043870787Z +predict8D,WI,,-0.085,8,https://planscore.org/plan.html?20260118T042436.453131150Z +predict8D,WV,,-0.304,2,https://planscore.org/plan.html?20260118T042506.671912209Z +predict8D,WY,,-0.169,1,https://planscore.org/plan.html?20260118T042539.011990356Z +predict7D,AK,,-0.002,1,https://planscore.org/plan.html?20260118T040032.474720571Z +predict7D,AL,,-0.043,7,https://planscore.org/plan.html?20260118T040112.345846478Z +predict7D,AR,,-0.227,4,https://planscore.org/plan.html?20260118T040149.915346298Z +predict7D,AZ,,0.038,9,https://planscore.org/plan.html?20260118T040228.288081664Z predict7D,CA,yes,0.104,52,https://planscore.org/plan.html?20260118T030252.997967710Z -predict7D,CO,,0.0,8, -predict7D,CT,,0.0,5, -predict7D,DE,,0.0,1, -predict7D,FL,,0.0,28, -predict7D,GA,,0.0,14, -predict7D,HI,,0.0,2, -predict7D,IA,,0.0,4, -predict7D,ID,,0.0,2, +predict7D,CO,,0.077,8,https://planscore.org/plan.html?20260118T040305.101191066Z +predict7D,CT,,0.15,5,https://planscore.org/plan.html?20260118T040339.923771310Z +predict7D,DE,,0.157,1,https://planscore.org/plan.html?20260118T040409.909002448Z +predict7D,FL,,-0.096,28,https://planscore.org/plan.html?20260118T040455.905470427Z +predict7D,GA,,-0.186,14,https://planscore.org/plan.html?20260118T040603.099224769Z +predict7D,HI,,0.031,2,https://planscore.org/plan.html?20260118T040648.825300202Z +predict7D,IA,,0.128,4,https://planscore.org/plan.html?20260118T040719.240988804Z +predict7D,ID,,-0.272,2,https://planscore.org/plan.html?20260118T040753.528479783Z predict7D,IL,,0.072,17,https://planscore.org/plan.html?20260117T234131.979215892Z -predict7D,IN,,0.0,9, -predict7D,KS,,0.0,4, -predict7D,KY,,0.0,6, -predict7D,LA,,0.0,6, -predict7D,MA,,0.0,9, -predict7D,MD,,0.0,8, -predict7D,ME,,0.0,2, -predict7D,MI,,0.0,13, -predict7D,MN,,0.0,8, +predict7D,IN,,-0.184,9,https://planscore.org/plan.html?20260118T040823.812386485Z +predict7D,KS,,-0.173,4,https://planscore.org/plan.html?20260118T040901.184129625Z +predict7D,KY,,-0.048,6,https://planscore.org/plan.html?20260118T040938.739696153Z +predict7D,LA,,-0.023,6,https://planscore.org/plan.html?20260118T041018.832170642Z +predict7D,MA,,0.039,9,https://planscore.org/plan.html?20260118T041056.619646095Z +predict7D,MD,,-0.023,8,https://planscore.org/plan.html?20260118T041125.289684020Z +predict7D,ME,,0.213,2,https://planscore.org/plan.html?20260118T041202.828160542Z +predict7D,MI,,0.015,13,https://planscore.org/plan.html?20260118T041234.823586930Z +predict7D,MN,,-0.028,8,https://planscore.org/plan.html?20260118T041311.429598884Z predict7D,MO,yes,-0.15,8,https://planscore.org/plan.html?20260118T030623.022534564Z predict7D,MS,yes,-0.129,4,https://planscore.org/plan.html?20260118T030804.719413815Z -predict7D,MT,,0.0,2, +predict7D,MT,,-0.115,2,https://planscore.org/plan.html?20260118T041353.852901442Z predict7D,NC,yes,-0.043,14,https://planscore.org/plan.html?20260117T234221.270985772Z -predict7D,ND,,0.0,1, -predict7D,NE,,0.0,3, -predict7D,NH,,0.0,2, -predict7D,NJ,,0.0,12, -predict7D,NM,,0.0,3, -predict7D,NV,,0.0,4, -predict7D,NY,,0.0,26, +predict7D,ND,,-0.227,1,https://planscore.org/plan.html?20260118T041419.309732341Z +predict7D,NE,,0.066,3,https://planscore.org/plan.html?20260118T041456.233986838Z +predict7D,NH,,0.283,2,https://planscore.org/plan.html?20260118T041523.650715019Z +predict7D,NJ,,0.112,12,https://planscore.org/plan.html?20260118T041603.358217437Z +predict7D,NM,,0.238,3,https://planscore.org/plan.html?20260118T041638.337115338Z +predict7D,NV,,0.185,4,https://planscore.org/plan.html?20260118T041708.960809286Z +predict7D,NY,,0.022,26,https://planscore.org/plan.html?20260118T041755.970674104Z predict7D,OH,yes,-0.051,15,https://planscore.org/plan.html?20260118T030716.163628881Z -predict7D,OK,,0.0,5, -predict7D,OR,,0.0,6, -predict7D,PA,,0.0,17, -predict7D,RI,,0.0,2, -predict7D,SC,,0.0,7, -predict7D,SD,,0.0,1, -predict7D,TN,,0.0,9, +predict7D,OK,,-0.226,5,https://planscore.org/plan.html?20260118T041846.155445933Z +predict7D,OR,,0.06,6,https://planscore.org/plan.html?20260118T041916.769666464Z +predict7D,PA,,-0.005,17,https://planscore.org/plan.html?20260118T042003.450722173Z +predict7D,RI,,0.173,2,https://planscore.org/plan.html?20260118T042053.368626550Z +predict7D,SC,,-0.155,7,https://planscore.org/plan.html?20260118T042130.295530747Z +predict7D,SD,,-0.311,1,https://planscore.org/plan.html?20260118T042208.398724240Z +predict7D,TN,,-0.17,9,https://planscore.org/plan.html?20260118T042245.285675155Z predict7D,TX,yes,-0.138,38,https://planscore.org/plan.html?20260118T030511.787812485Z predict7D,UT,yes,-0.15,4,https://planscore.org/plan.html?20260117T234258.384641936Z predict7D,VA,,0.068,11,https://planscore.org/plan.html?20260117T234336.060619480Z -predict7D,VT,,0.0,1, -predict7D,WA,,0.0,10, -predict7D,WI,,0.0,8, -predict7D,WV,,0.0,2, -predict7D,WY,,0.0,1, -predict6D,AK,,0.0,1, -predict6D,AL,,0.0,7, -predict6D,AR,,0.0,4, -predict6D,AZ,,0.0,9, +predict7D,VT,,0.001,1,https://planscore.org/plan.html?20260118T042321.298820038Z +predict7D,WA,,0.016,10,https://planscore.org/plan.html?20260118T042356.150501697Z +predict7D,WI,,-0.122,8,https://planscore.org/plan.html?20260118T042436.759827909Z +predict7D,WV,,-0.287,2,https://planscore.org/plan.html?20260118T042506.848819295Z +predict7D,WY,,-0.149,1,https://planscore.org/plan.html?20260118T042539.708112408Z +predict6D,AK,,-0.107,1,https://planscore.org/plan.html?20260118T040032.561871219Z +predict6D,AL,,-0.024,7,https://planscore.org/plan.html?20260118T040111.929948282Z +predict6D,AR,,-0.235,4,https://planscore.org/plan.html?20260118T040149.380726088Z +predict6D,AZ,,0.019,9,https://planscore.org/plan.html?20260118T040226.831064780Z predict6D,CA,yes,0.116,52,https://planscore.org/plan.html?20260118T030252.845197453Z -predict6D,CO,,0.0,8, -predict6D,CT,,0.0,5, -predict6D,DE,,0.0,1, -predict6D,FL,,0.0,28, -predict6D,GA,,0.0,14, -predict6D,HI,,0.0,2, -predict6D,IA,,0.0,4, -predict6D,ID,,0.0,2, +predict6D,CO,,0.051,8,https://planscore.org/plan.html?20260118T040303.930603663Z +predict6D,CT,,0.169,5,https://planscore.org/plan.html?20260118T040338.123924280Z +predict6D,DE,,0.177,1,https://planscore.org/plan.html?20260118T040408.438789398Z +predict6D,FL,,-0.11,28,https://planscore.org/plan.html?20260118T040454.892222965Z +predict6D,GA,,-0.187,14,https://planscore.org/plan.html?20260118T040603.266056305Z +predict6D,HI,,0.048,2,https://planscore.org/plan.html?20260118T040647.228156284Z +predict6D,IA,,0.082,4,https://planscore.org/plan.html?20260118T040718.245085865Z +predict6D,ID,,-0.262,2,https://planscore.org/plan.html?20260118T040751.671898147Z predict6D,IL,,0.09,17,https://planscore.org/plan.html?20260117T234131.574728812Z -predict6D,IN,,0.0,9, -predict6D,KS,,0.0,4, -predict6D,KY,,0.0,6, -predict6D,LA,,0.0,6, -predict6D,MA,,0.0,9, -predict6D,MD,,0.0,8, -predict6D,ME,,0.0,2, -predict6D,MI,,0.0,13, -predict6D,MN,,0.0,8, +predict6D,IN,,-0.176,9,https://planscore.org/plan.html?20260118T040823.594233883Z +predict6D,KS,,-0.184,4,https://planscore.org/plan.html?20260118T040901.002824645Z +predict6D,KY,,-0.051,6,https://planscore.org/plan.html?20260118T040938.220998039Z +predict6D,LA,,-0.004,6,https://planscore.org/plan.html?20260118T041018.338023950Z +predict6D,MA,,0.056,9,https://planscore.org/plan.html?20260118T041055.749711688Z +predict6D,MD,,-0.016,8,https://planscore.org/plan.html?20260118T041124.194993710Z +predict6D,ME,,0.222,2,https://planscore.org/plan.html?20260118T041202.639216464Z +predict6D,MI,,0.012,13,https://planscore.org/plan.html?20260118T041231.614913297Z +predict6D,MN,,-0.053,8,https://planscore.org/plan.html?20260118T041309.070573447Z predict6D,MO,yes,-0.169,8,https://planscore.org/plan.html?20260118T030623.088954904Z predict6D,MS,yes,-0.109,4,https://planscore.org/plan.html?20260118T030803.981888327Z -predict6D,MT,,0.0,2, +predict6D,MT,,-0.155,2,https://planscore.org/plan.html?20260118T041346.012766452Z predict6D,NC,yes,-0.106,14,https://planscore.org/plan.html?20260117T234221.612505460Z -predict6D,ND,,0.0,1, -predict6D,NE,,0.0,3, -predict6D,NH,,0.0,2, -predict6D,NJ,,0.0,12, -predict6D,NM,,0.0,3, -predict6D,NV,,0.0,4, -predict6D,NY,,0.0,26, +predict6D,ND,,-0.209,1,https://planscore.org/plan.html?20260118T041419.767580240Z +predict6D,NE,,0.046,3,https://planscore.org/plan.html?20260118T041451.175261779Z +predict6D,NH,,0.301,2,https://planscore.org/plan.html?20260118T041522.702660406Z +predict6D,NJ,,0.117,12,https://planscore.org/plan.html?20260118T041600.832821123Z +predict6D,NM,,0.257,3,https://planscore.org/plan.html?20260118T041635.457951320Z +predict6D,NV,,0.178,4,https://planscore.org/plan.html?20260118T041707.075561122Z +predict6D,NY,,0.026,26,https://planscore.org/plan.html?20260118T041751.168498476Z predict6D,OH,yes,-0.075,15,https://planscore.org/plan.html?20260118T030715.994016276Z -predict6D,OK,,0.0,5, -predict6D,OR,,0.0,6, -predict6D,PA,,0.0,17, -predict6D,RI,,0.0,2, -predict6D,SC,,0.0,7, -predict6D,SD,,0.0,1, -predict6D,TN,,0.0,9, +predict6D,OK,,-0.214,5,https://planscore.org/plan.html?20260118T041846.282479389Z +predict6D,OR,,0.079,6,https://planscore.org/plan.html?20260118T041914.799046915Z +predict6D,PA,,-0.005,17,https://planscore.org/plan.html?20260118T042003.815074232Z +predict6D,RI,,0.193,2,https://planscore.org/plan.html?20260118T042053.859483974Z +predict6D,SC,,-0.18,7,https://planscore.org/plan.html?20260118T042130.373090715Z +predict6D,SD,,-0.291,1,https://planscore.org/plan.html?20260118T042208.918285577Z +predict6D,TN,,-0.161,9,https://planscore.org/plan.html?20260118T042244.114721307Z predict6D,TX,yes,-0.155,38,https://planscore.org/plan.html?20260118T030511.148301073Z predict6D,UT,yes,-0.131,4,https://planscore.org/plan.html?20260117T234258.469650078Z predict6D,VA,,0.061,11,https://planscore.org/plan.html?20260117T234336.957781207Z -predict6D,VT,,0.0,1, -predict6D,WA,,0.0,10, -predict6D,WI,,0.0,8, -predict6D,WV,,0.0,2, -predict6D,WY,,0.0,1, -predict5D,AK,,0.0,1, -predict5D,AL,,0.0,7, -predict5D,AR,,0.0,4, -predict5D,AZ,,0.0,9, +predict6D,VT,,0.017,1,https://planscore.org/plan.html?20260118T042321.288832564Z +predict6D,WA,,0.02,10,https://planscore.org/plan.html?20260118T042355.723398751Z +predict6D,WI,,-0.152,8,https://planscore.org/plan.html?20260118T042435.279572338Z +predict6D,WV,,-0.265,2,https://planscore.org/plan.html?20260118T042504.306611981Z +predict6D,WY,,-0.129,1,https://planscore.org/plan.html?20260118T042538.159282253Z +predict5D,AK,,-0.184,1,https://planscore.org/plan.html?20260118T040032.506990688Z +predict5D,AL,,-0.006,7,https://planscore.org/plan.html?20260118T040110.495161030Z +predict5D,AR,,-0.233,4,https://planscore.org/plan.html?20260118T040148.179247849Z +predict5D,AZ,,0.002,9,https://planscore.org/plan.html?20260118T040225.143134066Z predict5D,CA,yes,0.127,52,https://planscore.org/plan.html?20260118T030252.737563658Z -predict5D,CO,,0.0,8, -predict5D,CT,,0.0,5, -predict5D,DE,,0.0,1, -predict5D,FL,,0.0,28, -predict5D,GA,,0.0,14, -predict5D,HI,,0.0,2, -predict5D,IA,,0.0,4, -predict5D,ID,,0.0,2, +predict5D,CO,,0.025,8,https://planscore.org/plan.html?20260118T040303.709105686Z +predict5D,CT,,0.189,5,https://planscore.org/plan.html?20260118T040338.507460225Z +predict5D,DE,,0.197,1,https://planscore.org/plan.html?20260118T040407.240727583Z +predict5D,FL,,-0.116,28,https://planscore.org/plan.html?20260118T040454.014298362Z +predict5D,GA,,-0.178,14,https://planscore.org/plan.html?20260118T040602.926245018Z +predict5D,HI,,0.066,2,https://planscore.org/plan.html?20260118T040647.017387397Z +predict5D,IA,,0.032,4,https://planscore.org/plan.html?20260118T040718.164128825Z +predict5D,ID,,-0.245,2,https://planscore.org/plan.html?20260118T040751.567629204Z predict5D,IL,,0.109,17,https://planscore.org/plan.html?20260117T234131.749168443Z -predict5D,IN,,0.0,9, -predict5D,KS,,0.0,4, -predict5D,KY,,0.0,6, -predict5D,LA,,0.0,6, -predict5D,MA,,0.0,9, -predict5D,MD,,0.0,8, -predict5D,ME,,0.0,2, -predict5D,MI,,0.0,13, -predict5D,MN,,0.0,8, +predict5D,IN,,-0.167,9,https://planscore.org/plan.html?20260118T040823.493430141Z +predict5D,KS,,-0.182,4,https://planscore.org/plan.html?20260118T040901.757061963Z +predict5D,KY,,-0.056,6,https://planscore.org/plan.html?20260118T040938.855561856Z +predict5D,LA,,0.014,6,https://planscore.org/plan.html?20260118T041015.509558840Z +predict5D,MA,,0.074,9,https://planscore.org/plan.html?20260118T041055.222162980Z +predict5D,MD,,-0.007,8,https://planscore.org/plan.html?20260118T041124.137194959Z +predict5D,ME,,0.224,2,https://planscore.org/plan.html?20260118T041202.050781859Z +predict5D,MI,,0.005,13,https://planscore.org/plan.html?20260118T041230.655230487Z +predict5D,MN,,-0.069,8,https://planscore.org/plan.html?20260118T041309.901172196Z predict5D,MO,yes,-0.182,8,https://planscore.org/plan.html?20260118T030621.229449404Z predict5D,MS,yes,-0.089,4,https://planscore.org/plan.html?20260118T030757.525458940Z -predict5D,MT,,0.0,2, +predict5D,MT,,-0.209,2,https://planscore.org/plan.html?20260118T041344.943999321Z predict5D,NC,yes,-0.158,14,https://planscore.org/plan.html?20260117T234221.600050008Z -predict5D,ND,,0.0,1, -predict5D,NE,,0.0,3, -predict5D,NH,,0.0,2, -predict5D,NJ,,0.0,12, -predict5D,NM,,0.0,3, -predict5D,NV,,0.0,4, -predict5D,NY,,0.0,26, +predict5D,ND,,-0.189,1,https://planscore.org/plan.html?20260118T041419.719152841Z +predict5D,NE,,0.032,3,https://planscore.org/plan.html?20260118T041451.040035890Z +predict5D,NH,,0.319,2,https://planscore.org/plan.html?20260118T041522.495416173Z +predict5D,NJ,,0.12,12,https://planscore.org/plan.html?20260118T041559.890250705Z +predict5D,NM,,0.276,3,https://planscore.org/plan.html?20260118T041635.605097277Z +predict5D,NV,,0.173,4,https://planscore.org/plan.html?20260118T041705.637850761Z +predict5D,NY,,0.033,26,https://planscore.org/plan.html?20260118T041751.314240526Z predict5D,OH,yes,-0.097,15,https://planscore.org/plan.html?20260118T030714.775910865Z -predict5D,OK,,0.0,5, -predict5D,OR,,0.0,6, -predict5D,PA,,0.0,17, -predict5D,RI,,0.0,2, -predict5D,SC,,0.0,7, -predict5D,SD,,0.0,1, -predict5D,TN,,0.0,9, +predict5D,OK,,-0.198,5,https://planscore.org/plan.html?20260118T041847.690979839Z +predict5D,OR,,0.098,6,https://planscore.org/plan.html?20260118T041913.559580541Z +predict5D,PA,,-0.013,17,https://planscore.org/plan.html?20260118T042003.207174670Z +predict5D,RI,,0.213,2,https://planscore.org/plan.html?20260118T042053.000140456Z +predict5D,SC,,-0.197,7,https://planscore.org/plan.html?20260118T042129.997300683Z +predict5D,SD,,-0.269,1,https://planscore.org/plan.html?20260118T042206.603395389Z +predict5D,TN,,-0.148,9,https://planscore.org/plan.html?20260118T042240.919269601Z predict5D,TX,yes,-0.162,38,https://planscore.org/plan.html?20260118T030509.566342901Z predict5D,UT,yes,-0.111,4,https://planscore.org/plan.html?20260117T234258.320182311Z predict5D,VA,,0.052,11,https://planscore.org/plan.html?20260117T234336.698952557Z -predict5D,VT,,0.0,1, -predict5D,WA,,0.0,10, -predict5D,WI,,0.0,8, -predict5D,WV,,0.0,2, -predict5D,WY,,0.0,1, -predict4D,AK,,0.0,1, -predict4D,AL,,0.0,7, -predict4D,AR,,0.0,4, -predict4D,AZ,,0.0,9, +predict5D,VT,,0.035,1,https://planscore.org/plan.html?20260118T042317.299105881Z +predict5D,WA,,0.026,10,https://planscore.org/plan.html?20260118T042355.221844258Z +predict5D,WI,,-0.178,8,https://planscore.org/plan.html?20260118T042432.738702756Z +predict5D,WV,,-0.245,2,https://planscore.org/plan.html?20260118T042503.822916862Z +predict5D,WY,,-0.109,1,https://planscore.org/plan.html?20260118T042535.170632959Z +predict4D,AK,,-0.253,1,https://planscore.org/plan.html?20260118T040032.186109204Z +predict4D,AL,,0.014,7,https://planscore.org/plan.html?20260118T040110.070626308Z +predict4D,AR,,-0.224,4,https://planscore.org/plan.html?20260118T040147.587470793Z +predict4D,AZ,,-0.01,9,https://planscore.org/plan.html?20260118T040225.381282788Z predict4D,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T030252.618859988Z -predict4D,CO,,0.0,8, -predict4D,CT,,0.0,5, -predict4D,DE,,0.0,1, -predict4D,FL,,0.0,28, -predict4D,GA,,0.0,14, -predict4D,HI,,0.0,2, -predict4D,IA,,0.0,4, -predict4D,ID,,0.0,2, +predict4D,CO,,-0.009,8,https://planscore.org/plan.html?20260118T040300.891493752Z +predict4D,CT,,0.209,5,https://planscore.org/plan.html?20260118T040338.344009794Z +predict4D,DE,,0.217,1,https://planscore.org/plan.html?20260118T040405.798713737Z +predict4D,FL,,-0.115,28,https://planscore.org/plan.html?20260118T040454.505966284Z +predict4D,GA,,-0.164,14,https://planscore.org/plan.html?20260118T040602.373170229Z +predict4D,HI,,0.084,2,https://planscore.org/plan.html?20260118T040647.138467253Z +predict4D,IA,,-0.03,4,https://planscore.org/plan.html?20260118T040717.798332084Z +predict4D,ID,,-0.227,2,https://planscore.org/plan.html?20260118T040751.772184029Z predict4D,IL,,0.127,17,https://planscore.org/plan.html?20260117T234131.266270167Z -predict4D,IN,,0.0,9, -predict4D,KS,,0.0,4, -predict4D,KY,,0.0,6, -predict4D,LA,,0.0,6, -predict4D,MA,,0.0,9, -predict4D,MD,,0.0,8, -predict4D,ME,,0.0,2, -predict4D,MI,,0.0,13, -predict4D,MN,,0.0,8, +predict4D,IN,,-0.154,9,https://planscore.org/plan.html?20260118T040822.492742442Z +predict4D,KS,,-0.173,4,https://planscore.org/plan.html?20260118T040901.973232108Z +predict4D,KY,,-0.058,6,https://planscore.org/plan.html?20260118T040938.288990201Z +predict4D,LA,,0.032,6,https://planscore.org/plan.html?20260118T041015.154356553Z +predict4D,MA,,0.092,9,https://planscore.org/plan.html?20260118T041046.091932716Z +predict4D,MD,,0.003,8,https://planscore.org/plan.html?20260118T041124.508061772Z +predict4D,ME,,0.211,2,https://planscore.org/plan.html?20260118T041154.280552482Z +predict4D,MI,,-0.006,13,https://planscore.org/plan.html?20260118T041229.352103449Z +predict4D,MN,,-0.077,8,https://planscore.org/plan.html?20260118T041308.940159264Z predict4D,MO,yes,-0.19,8,https://planscore.org/plan.html?20260118T030615.143398440Z predict4D,MS,yes,-0.07,4,https://planscore.org/plan.html?20260118T030754.409657846Z -predict4D,MT,,0.0,2, +predict4D,MT,,-0.238,2,https://planscore.org/plan.html?20260118T041341.958348363Z predict4D,NC,yes,-0.194,14,https://planscore.org/plan.html?20260117T234221.969053780Z -predict4D,ND,,0.0,1, -predict4D,NE,,0.0,3, -predict4D,NH,,0.0,2, -predict4D,NJ,,0.0,12, -predict4D,NM,,0.0,3, -predict4D,NV,,0.0,4, -predict4D,NY,,0.0,26, +predict4D,ND,,-0.167,1,https://planscore.org/plan.html?20260118T041418.021622536Z +predict4D,NE,,0.016,3,https://planscore.org/plan.html?20260118T041451.934027441Z +predict4D,NH,,0.335,2,https://planscore.org/plan.html?20260118T041522.897367980Z +predict4D,NJ,,0.121,12,https://planscore.org/plan.html?20260118T041559.168584894Z +predict4D,NM,,0.291,3,https://planscore.org/plan.html?20260118T041635.231006314Z +predict4D,NV,,0.173,4,https://planscore.org/plan.html?20260118T041704.715856156Z +predict4D,NY,,0.04,26,https://planscore.org/plan.html?20260118T041751.928125774Z predict4D,OH,yes,-0.116,15,https://planscore.org/plan.html?20260118T030709.606806539Z -predict4D,OK,,0.0,5, -predict4D,OR,,0.0,6, -predict4D,PA,,0.0,17, -predict4D,RI,,0.0,2, -predict4D,SC,,0.0,7, -predict4D,SD,,0.0,1, -predict4D,TN,,0.0,9, +predict4D,OK,,-0.181,5,https://planscore.org/plan.html?20260118T041846.010620078Z +predict4D,OR,,0.116,6,https://planscore.org/plan.html?20260118T041913.814791030Z +predict4D,PA,,-0.021,17,https://planscore.org/plan.html?20260118T042003.125207192Z +predict4D,RI,,0.234,2,https://planscore.org/plan.html?20260118T042052.097187460Z +predict4D,SC,,-0.203,7,https://planscore.org/plan.html?20260118T042129.774515502Z +predict4D,SD,,-0.25,1,https://planscore.org/plan.html?20260118T042205.598314092Z +predict4D,TN,,-0.133,9,https://planscore.org/plan.html?20260118T042237.433787301Z predict4D,TX,yes,-0.163,38,https://planscore.org/plan.html?20260118T030459.372275955Z predict4D,UT,yes,-0.091,4,https://planscore.org/plan.html?20260117T234258.272329018Z predict4D,VA,,0.042,11,https://planscore.org/plan.html?20260117T234336.305127911Z -predict4D,VT,,0.0,1, -predict4D,WA,,0.0,10, -predict4D,WI,,0.0,8, -predict4D,WV,,0.0,2, -predict4D,WY,,0.0,1, -predict3D,AK,,0.0,1, -predict3D,AL,,0.0,7, -predict3D,AR,,0.0,4, -predict3D,AZ,,0.0,9, +predict4D,VT,,0.053,1,https://planscore.org/plan.html?20260118T042317.841154958Z +predict4D,WA,,0.034,10,https://planscore.org/plan.html?20260118T042355.662578838Z +predict4D,WI,,-0.198,8,https://planscore.org/plan.html?20260118T042427.516281228Z +predict4D,WV,,-0.225,2,https://planscore.org/plan.html?20260118T042503.839106514Z +predict4D,WY,,-0.091,1,https://planscore.org/plan.html?20260118T042535.248963593Z +predict3D,AK,,-0.3,1,https://planscore.org/plan.html?20260118T040032.991947553Z +predict3D,AL,,0.032,7,https://planscore.org/plan.html?20260118T040110.450688937Z +predict3D,AR,,-0.209,4,https://planscore.org/plan.html?20260118T040146.085252641Z +predict3D,AZ,,-0.024,9,https://planscore.org/plan.html?20260118T040225.113605515Z predict3D,CA,yes,0.141,52,https://planscore.org/plan.html?20260118T030252.629929107Z -predict3D,CO,,0.0,8, -predict3D,CT,,0.0,5, -predict3D,DE,,0.0,1, -predict3D,FL,,0.0,28, -predict3D,GA,,0.0,14, -predict3D,HI,,0.0,2, -predict3D,IA,,0.0,4, -predict3D,ID,,0.0,2, +predict3D,CO,,-0.032,8,https://planscore.org/plan.html?20260118T040259.705004040Z +predict3D,CT,,0.23,5,https://planscore.org/plan.html?20260118T040338.123853189Z +predict3D,DE,,0.236,1,https://planscore.org/plan.html?20260118T040404.157085822Z +predict3D,FL,,-0.109,28,https://planscore.org/plan.html?20260118T040454.049810669Z +predict3D,GA,,-0.149,14,https://planscore.org/plan.html?20260118T040600.468387090Z +predict3D,HI,,0.103,2,https://planscore.org/plan.html?20260118T040647.515088365Z +predict3D,IA,,-0.108,4,https://planscore.org/plan.html?20260118T040715.412958829Z +predict3D,ID,,-0.207,2,https://planscore.org/plan.html?20260118T040751.835810031Z predict3D,IL,,0.144,17,https://planscore.org/plan.html?20260117T234131.152414708Z -predict3D,IN,,0.0,9, -predict3D,KS,,0.0,4, -predict3D,KY,,0.0,6, -predict3D,LA,,0.0,6, -predict3D,MA,,0.0,9, -predict3D,MD,,0.0,8, -predict3D,ME,,0.0,2, -predict3D,MI,,0.0,13, -predict3D,MN,,0.0,8, +predict3D,IN,,-0.143,9,https://planscore.org/plan.html?20260118T040822.684994527Z +predict3D,KS,,-0.159,4,https://planscore.org/plan.html?20260118T040901.842145195Z +predict3D,KY,,-0.055,6,https://planscore.org/plan.html?20260118T040929.867018074Z +predict3D,LA,,0.05,6,https://planscore.org/plan.html?20260118T041015.034706742Z +predict3D,MA,,0.111,9,https://planscore.org/plan.html?20260118T041045.075379760Z +predict3D,MD,,0.016,8,https://planscore.org/plan.html?20260118T041123.009888703Z +predict3D,ME,,0.18,2,https://planscore.org/plan.html?20260118T041153.125539262Z +predict3D,MI,,-0.017,13,https://planscore.org/plan.html?20260118T041229.115721355Z +predict3D,MN,,-0.077,8,https://planscore.org/plan.html?20260118T041308.446899008Z predict3D,MO,yes,-0.189,8,https://planscore.org/plan.html?20260118T030615.773859372Z predict3D,MS,yes,-0.05,4,https://planscore.org/plan.html?20260118T030753.930697431Z -predict3D,MT,,0.0,2, +predict3D,MT,,-0.259,2,https://planscore.org/plan.html?20260118T041341.755724399Z predict3D,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234221.796939814Z -predict3D,ND,,0.0,1, -predict3D,NE,,0.0,3, -predict3D,NH,,0.0,2, -predict3D,NJ,,0.0,12, -predict3D,NM,,0.0,3, -predict3D,NV,,0.0,4, -predict3D,NY,,0.0,26, +predict3D,ND,,-0.149,1,https://planscore.org/plan.html?20260118T041418.073276081Z +predict3D,NE,,0.001,3,https://planscore.org/plan.html?20260118T041451.555826033Z +predict3D,NH,,0.344,2,https://planscore.org/plan.html?20260118T041521.312764490Z +predict3D,NJ,,0.124,12,https://planscore.org/plan.html?20260118T041555.910344677Z +predict3D,NM,,0.302,3,https://planscore.org/plan.html?20260118T041631.524839296Z +predict3D,NV,,0.17,4,https://planscore.org/plan.html?20260118T041704.722584364Z +predict3D,NY,,0.047,26,https://planscore.org/plan.html?20260118T041748.376259273Z predict3D,OH,yes,-0.13,15,https://planscore.org/plan.html?20260118T030704.350502137Z -predict3D,OK,,0.0,5, -predict3D,OR,,0.0,6, -predict3D,PA,,0.0,17, -predict3D,RI,,0.0,2, -predict3D,SC,,0.0,7, -predict3D,SD,,0.0,1, -predict3D,TN,,0.0,9, +predict3D,OK,,-0.161,5,https://planscore.org/plan.html?20260118T041846.494140735Z +predict3D,OR,,0.133,6,https://planscore.org/plan.html?20260118T041912.004528564Z +predict3D,PA,,-0.029,17,https://planscore.org/plan.html?20260118T042003.436254207Z +predict3D,RI,,0.254,2,https://planscore.org/plan.html?20260118T042052.519846549Z +predict3D,SC,,-0.2,7,https://planscore.org/plan.html?20260118T042123.825542317Z +predict3D,SD,,-0.229,1,https://planscore.org/plan.html?20260118T042202.915857423Z +predict3D,TN,,-0.116,9,https://planscore.org/plan.html?20260118T042237.272611333Z predict3D,TX,yes,-0.159,38,https://planscore.org/plan.html?20260118T030458.068499828Z predict3D,UT,yes,-0.071,4,https://planscore.org/plan.html?20260117T234258.031041000Z predict3D,VA,,0.031,11,https://planscore.org/plan.html?20260117T234336.515941951Z -predict3D,VT,,0.0,1, -predict3D,WA,,0.0,10, -predict3D,WI,,0.0,8, -predict3D,WV,,0.0,2, -predict3D,WY,,0.0,1, -predict2D,AK,,0.0,1, -predict2D,AL,,0.0,7, -predict2D,AR,,0.0,4, -predict2D,AZ,,0.0,9, +predict3D,VT,,0.071,1,https://planscore.org/plan.html?20260118T042317.937394483Z +predict3D,WA,,0.04,10,https://planscore.org/plan.html?20260118T042355.270599476Z +predict3D,WI,,-0.208,8,https://planscore.org/plan.html?20260118T042427.884383469Z +predict3D,WV,,-0.203,2,https://planscore.org/plan.html?20260118T042501.802244986Z +predict3D,WY,,-0.073,1,https://planscore.org/plan.html?20260118T042532.986120941Z +predict2D,AK,,-0.33,1,https://planscore.org/plan.html?20260118T040032.324240421Z +predict2D,AL,,0.05,7,https://planscore.org/plan.html?20260118T040108.931712955Z +predict2D,AR,,-0.192,4,https://planscore.org/plan.html?20260118T040145.799421108Z +predict2D,AZ,,-0.036,9,https://planscore.org/plan.html?20260118T040217.822904851Z predict2D,CA,yes,0.144,52,https://planscore.org/plan.html?20260118T030252.922766740Z -predict2D,CO,,0.0,8, -predict2D,CT,,0.0,5, -predict2D,DE,,0.0,1, -predict2D,FL,,0.0,28, -predict2D,GA,,0.0,14, -predict2D,HI,,0.0,2, -predict2D,IA,,0.0,4, -predict2D,ID,,0.0,2, +predict2D,CO,,-0.049,8,https://planscore.org/plan.html?20260118T040259.117636144Z +predict2D,CT,,0.25,5,https://planscore.org/plan.html?20260118T040331.660190212Z +predict2D,DE,,0.258,1,https://planscore.org/plan.html?20260118T040404.342600731Z +predict2D,FL,,-0.1,28,https://planscore.org/plan.html?20260118T040447.148905035Z +predict2D,GA,,-0.132,14,https://planscore.org/plan.html?20260118T040546.662565733Z +predict2D,HI,,0.122,2,https://planscore.org/plan.html?20260118T040641.525179807Z +predict2D,IA,,-0.181,4,https://planscore.org/plan.html?20260118T040714.311165015Z +predict2D,ID,,-0.189,2,https://planscore.org/plan.html?20260118T040745.880010696Z predict2D,IL,,0.158,17,https://planscore.org/plan.html?20260117T234131.958212498Z -predict2D,IN,,0.0,9, -predict2D,KS,,0.0,4, -predict2D,KY,,0.0,6, -predict2D,LA,,0.0,6, -predict2D,MA,,0.0,9, -predict2D,MD,,0.0,8, -predict2D,ME,,0.0,2, -predict2D,MI,,0.0,13, -predict2D,MN,,0.0,8, +predict2D,IN,,-0.131,9,https://planscore.org/plan.html?20260118T040822.648340200Z +predict2D,KS,,-0.142,4,https://planscore.org/plan.html?20260118T040900.143580624Z +predict2D,KY,,-0.047,6,https://planscore.org/plan.html?20260118T040929.590109677Z +predict2D,LA,,0.068,6,https://planscore.org/plan.html?20260118T041007.931388382Z +predict2D,MA,,0.129,9,https://planscore.org/plan.html?20260118T041045.175290962Z +predict2D,MD,,0.03,8,https://planscore.org/plan.html?20260118T041123.295570537Z +predict2D,ME,,0.148,2,https://planscore.org/plan.html?20260118T041152.595432061Z +predict2D,MI,,-0.025,13,https://planscore.org/plan.html?20260118T041229.716615088Z +predict2D,MN,,-0.069,8,https://planscore.org/plan.html?20260118T041307.155712116Z predict2D,MO,yes,-0.185,8,https://planscore.org/plan.html?20260118T030613.202395703Z predict2D,MS,yes,-0.031,4,https://planscore.org/plan.html?20260118T030753.491983875Z -predict2D,MT,,0.0,2, +predict2D,MT,,-0.278,2,https://planscore.org/plan.html?20260118T041341.228713608Z predict2D,NC,yes,-0.23,14,https://planscore.org/plan.html?20260117T234221.568537282Z -predict2D,ND,,0.0,1, -predict2D,NE,,0.0,3, -predict2D,NH,,0.0,2, -predict2D,NJ,,0.0,12, -predict2D,NM,,0.0,3, -predict2D,NV,,0.0,4, -predict2D,NY,,0.0,26, +predict2D,ND,,-0.129,1,https://planscore.org/plan.html?20260118T041418.205662044Z +predict2D,NE,,-0.019,3,https://planscore.org/plan.html?20260118T041445.972654421Z +predict2D,NH,,0.333,2,https://planscore.org/plan.html?20260118T041521.608157476Z +predict2D,NJ,,0.129,12,https://planscore.org/plan.html?20260118T041555.756829865Z +predict2D,NM,,0.303,3,https://planscore.org/plan.html?20260118T041630.707821741Z +predict2D,NV,,0.152,4,https://planscore.org/plan.html?20260118T041704.677003327Z +predict2D,NY,,0.053,26,https://planscore.org/plan.html?20260118T041746.613657205Z predict2D,OH,yes,-0.141,15,https://planscore.org/plan.html?20260118T030704.788946696Z -predict2D,OK,,0.0,5, -predict2D,OR,,0.0,6, -predict2D,PA,,0.0,17, -predict2D,RI,,0.0,2, -predict2D,SC,,0.0,7, -predict2D,SD,,0.0,1, -predict2D,TN,,0.0,9, +predict2D,OK,,-0.143,5,https://planscore.org/plan.html?20260118T041837.746052152Z +predict2D,OR,,0.147,6,https://planscore.org/plan.html?20260118T041912.680487037Z +predict2D,PA,,-0.036,17,https://planscore.org/plan.html?20260118T041954.395378243Z +predict2D,RI,,0.274,2,https://planscore.org/plan.html?20260118T042044.083353919Z +predict2D,SC,,-0.189,7,https://planscore.org/plan.html?20260118T042122.822954893Z +predict2D,SD,,-0.209,1,https://planscore.org/plan.html?20260118T042159.656143931Z +predict2D,TN,,-0.098,9,https://planscore.org/plan.html?20260118T042236.995437052Z predict2D,TX,yes,-0.153,38,https://planscore.org/plan.html?20260118T030431.293353925Z predict2D,UT,yes,-0.052,4,https://planscore.org/plan.html?20260117T234258.723719788Z predict2D,VA,,0.022,11,https://planscore.org/plan.html?20260117T234336.770882824Z -predict2D,VT,,0.0,1, -predict2D,WA,,0.0,10, -predict2D,WI,,0.0,8, -predict2D,WV,,0.0,2, -predict2D,WY,,0.0,1, -predict1D,AK,,0.0,1, -predict1D,AL,,0.0,7, -predict1D,AR,,0.0,4, -predict1D,AZ,,0.0,9, +predict2D,VT,,0.089,1,https://planscore.org/plan.html?20260118T042318.080738363Z +predict2D,WA,,0.045,10,https://planscore.org/plan.html?20260118T042354.933387956Z +predict2D,WI,,-0.209,8,https://planscore.org/plan.html?20260118T042424.663349626Z +predict2D,WV,,-0.183,2,https://planscore.org/plan.html?20260118T042501.978071573Z +predict2D,WY,,-0.055,1,https://planscore.org/plan.html?20260118T042531.465958119Z +predict1D,AK,,-0.335,1,https://planscore.org/plan.html?20260118T040032.448539629Z +predict1D,AL,,0.068,7,https://planscore.org/plan.html?20260118T040058.721822317Z +predict1D,AR,,-0.174,4,https://planscore.org/plan.html?20260118T040138.819606787Z +predict1D,AZ,,-0.047,9,https://planscore.org/plan.html?20260118T040217.375489829Z predict1D,CA,yes,0.144,52,https://planscore.org/plan.html?20260118T030252.196522373Z -predict1D,CO,,0.0,8, -predict1D,CT,,0.0,5, -predict1D,DE,,0.0,1, -predict1D,FL,,0.0,28, -predict1D,GA,,0.0,14, -predict1D,HI,,0.0,2, -predict1D,IA,,0.0,4, -predict1D,ID,,0.0,2, +predict1D,CO,,-0.058,8,https://planscore.org/plan.html?20260118T040259.211430423Z +predict1D,CT,,0.269,5,https://planscore.org/plan.html?20260118T040329.737511357Z +predict1D,DE,,0.277,1,https://planscore.org/plan.html?20260118T040403.497092521Z +predict1D,FL,,-0.089,28,https://planscore.org/plan.html?20260118T040446.804089322Z +predict1D,GA,,-0.114,14,https://planscore.org/plan.html?20260118T040545.436078321Z +predict1D,HI,,0.141,2,https://planscore.org/plan.html?20260118T040640.789098442Z +predict1D,IA,,-0.233,4,https://planscore.org/plan.html?20260118T040712.996694667Z +predict1D,ID,,-0.168,2,https://planscore.org/plan.html?20260118T040745.103160678Z predict1D,IL,,0.169,17,https://planscore.org/plan.html?20260117T234131.133385493Z -predict1D,IN,,0.0,9, -predict1D,KS,,0.0,4, -predict1D,KY,,0.0,6, -predict1D,LA,,0.0,6, -predict1D,MA,,0.0,9, -predict1D,MD,,0.0,8, -predict1D,ME,,0.0,2, -predict1D,MI,,0.0,13, -predict1D,MN,,0.0,8, +predict1D,IN,,-0.121,9,https://planscore.org/plan.html?20260118T040822.076498145Z +predict1D,KS,,-0.13,4,https://planscore.org/plan.html?20260118T040859.810520593Z +predict1D,KY,,-0.036,6,https://planscore.org/plan.html?20260118T040928.667342180Z +predict1D,LA,,0.085,6,https://planscore.org/plan.html?20260118T041007.450431558Z +predict1D,MA,,0.148,9,https://planscore.org/plan.html?20260118T041044.811978253Z +predict1D,MD,,0.043,8,https://planscore.org/plan.html?20260118T041123.131751867Z +predict1D,ME,,0.1,2,https://planscore.org/plan.html?20260118T041151.212794273Z +predict1D,MI,,-0.03,13,https://planscore.org/plan.html?20260118T041228.936036324Z +predict1D,MN,,-0.057,8,https://planscore.org/plan.html?20260118T041307.121644700Z predict1D,MO,yes,-0.174,8,https://planscore.org/plan.html?20260118T030613.658819192Z predict1D,MS,yes,-0.012,4,https://planscore.org/plan.html?20260118T030753.385083278Z -predict1D,MT,,0.0,2, +predict1D,MT,,-0.276,2,https://planscore.org/plan.html?20260118T041341.010571046Z predict1D,NC,yes,-0.233,14,https://planscore.org/plan.html?20260117T234221.056068356Z -predict1D,ND,,0.0,1, -predict1D,NE,,0.0,3, -predict1D,NH,,0.0,2, -predict1D,NJ,,0.0,12, -predict1D,NM,,0.0,3, -predict1D,NV,,0.0,4, -predict1D,NY,,0.0,26, +predict1D,ND,,-0.109,1,https://planscore.org/plan.html?20260118T041413.957494424Z +predict1D,NE,,-0.042,3,https://planscore.org/plan.html?20260118T041444.393005493Z +predict1D,NH,,0.303,2,https://planscore.org/plan.html?20260118T041516.233067434Z +predict1D,NJ,,0.136,12,https://planscore.org/plan.html?20260118T041555.105922623Z +predict1D,NM,,0.295,3,https://planscore.org/plan.html?20260118T041629.933895052Z +predict1D,NV,,0.122,4,https://planscore.org/plan.html?20260118T041701.481794368Z +predict1D,NY,,0.057,26,https://planscore.org/plan.html?20260118T041746.702632868Z predict1D,OH,yes,-0.148,15,https://planscore.org/plan.html?20260118T030703.469110947Z -predict1D,OK,,0.0,5, -predict1D,OR,,0.0,6, -predict1D,PA,,0.0,17, -predict1D,RI,,0.0,2, -predict1D,SC,,0.0,7, -predict1D,SD,,0.0,1, -predict1D,TN,,0.0,9, +predict1D,OK,,-0.124,5,https://planscore.org/plan.html?20260118T041836.435921422Z +predict1D,OR,,0.157,6,https://planscore.org/plan.html?20260118T041912.625648745Z +predict1D,PA,,-0.039,17,https://planscore.org/plan.html?20260118T041953.478320180Z +predict1D,RI,,0.291,2,https://planscore.org/plan.html?20260118T042042.319115941Z +predict1D,SC,,-0.173,7,https://planscore.org/plan.html?20260118T042120.991474320Z +predict1D,SD,,-0.189,1,https://planscore.org/plan.html?20260118T042158.310346912Z +predict1D,TN,,-0.08,9,https://planscore.org/plan.html?20260118T042235.566474186Z predict1D,TX,yes,-0.144,38,https://planscore.org/plan.html?20260118T030431.400900689Z predict1D,UT,yes,-0.035,4,https://planscore.org/plan.html?20260117T234258.229422821Z predict1D,VA,,0.011,11,https://planscore.org/plan.html?20260117T234336.509215875Z -predict1D,VT,,0.0,1, -predict1D,WA,,0.0,10, -predict1D,WI,,0.0,8, -predict1D,WV,,0.0,2, -predict1D,WY,,0.0,1, -predict0,AK,,0.0,1, -predict0,AL,,0.0,7, -predict0,AR,,0.0,4, -predict0,AZ,,0.0,9, +predict1D,VT,,0.107,1,https://planscore.org/plan.html?20260118T042317.039960627Z +predict1D,WA,,0.047,10,https://planscore.org/plan.html?20260118T042347.487002936Z +predict1D,WI,,-0.206,8,https://planscore.org/plan.html?20260118T042423.633720588Z +predict1D,WV,,-0.164,2,https://planscore.org/plan.html?20260118T042500.174541726Z +predict1D,WY,,-0.037,1,https://planscore.org/plan.html?20260118T042529.971329594Z +predict0,AK,,-0.329,1,https://planscore.org/plan.html?20260118T040032.672311470Z +predict0,AL,,0.085,7,https://planscore.org/plan.html?20260118T040058.876344442Z +predict0,AR,,-0.156,4,https://planscore.org/plan.html?20260118T040138.163951245Z +predict0,AZ,,-0.051,9,https://planscore.org/plan.html?20260118T040216.173185977Z predict0,CA,yes,0.136,52,https://planscore.org/plan.html?20260118T033406.367827092Z -predict0,CO,,0.0,8, -predict0,CT,,0.0,5, -predict0,DE,,0.0,1, -predict0,FL,,0.0,28, -predict0,GA,,0.0,14, -predict0,HI,,0.0,2, -predict0,IA,,0.0,4, -predict0,ID,,0.0,2, +predict0,CO,,-0.064,8,https://planscore.org/plan.html?20260118T040259.737737369Z +predict0,CT,,0.284,5,https://planscore.org/plan.html?20260118T040329.408441809Z +predict0,DE,,0.297,1,https://planscore.org/plan.html?20260118T040404.433195596Z +predict0,FL,,-0.08,28,https://planscore.org/plan.html?20260118T040446.323540889Z +predict0,GA,,-0.096,14,https://planscore.org/plan.html?20260118T040545.045934714Z +predict0,HI,,0.161,2,https://planscore.org/plan.html?20260118T040639.783167816Z +predict0,IA,,-0.274,4,https://planscore.org/plan.html?20260118T040712.907869431Z +predict0,ID,,-0.149,2,https://planscore.org/plan.html?20260118T040744.944547139Z predict0,IL,,0.173,17,https://planscore.org/plan.html?20260118T033401.290781868Z -predict0,IN,,0.0,9, -predict0,KS,,0.0,4, -predict0,KY,,0.0,6, -predict0,LA,,0.0,6, -predict0,MA,,0.0,9, -predict0,MD,,0.0,8, -predict0,ME,,0.0,2, -predict0,MI,,0.0,13, -predict0,MN,,0.0,8, +predict0,IN,,-0.112,9,https://planscore.org/plan.html?20260118T040822.751092516Z +predict0,KS,,-0.121,4,https://planscore.org/plan.html?20260118T040850.800557371Z +predict0,KY,,-0.022,6,https://planscore.org/plan.html?20260118T040927.986499677Z +predict0,LA,,0.102,6,https://planscore.org/plan.html?20260118T041006.641588484Z +predict0,MA,,0.167,9,https://planscore.org/plan.html?20260118T041044.578152735Z +predict0,MD,,0.054,8,https://planscore.org/plan.html?20260118T041122.138077783Z +predict0,ME,,0.071,2,https://planscore.org/plan.html?20260118T041150.548134866Z +predict0,MI,,-0.034,13,https://planscore.org/plan.html?20260118T041228.465580525Z +predict0,MN,,-0.043,8,https://planscore.org/plan.html?20260118T041301.475354088Z predict0,MO,yes,-0.161,8,https://planscore.org/plan.html?20260118T033412.268848738Z predict0,MS,yes,0.007,4,https://planscore.org/plan.html?20260118T033429.149694731Z -predict0,MT,,0.0,2, +predict0,MT,,-0.27,2,https://planscore.org/plan.html?20260118T041341.976489323Z predict0,NC,yes,-0.227,14,https://planscore.org/plan.html?20260118T033421.754867062Z -predict0,ND,,0.0,1, -predict0,NE,,0.0,3, -predict0,NH,,0.0,2, -predict0,NJ,,0.0,12, -predict0,NM,,0.0,3, -predict0,NV,,0.0,4, -predict0,NY,,0.0,26, +predict0,ND,,-0.091,1,https://planscore.org/plan.html?20260118T041413.902199926Z +predict0,NE,,-0.07,3,https://planscore.org/plan.html?20260118T041444.817642722Z +predict0,NH,,0.251,2,https://planscore.org/plan.html?20260118T041516.301222077Z +predict0,NJ,,0.141,12,https://planscore.org/plan.html?20260118T041550.894294945Z +predict0,NM,,0.264,3,https://planscore.org/plan.html?20260118T041627.686656488Z +predict0,NV,,0.078,4,https://planscore.org/plan.html?20260118T041701.348336695Z +predict0,NY,,0.057,26,https://planscore.org/plan.html?20260118T041744.054705171Z predict0,OH,yes,-0.15,15,https://planscore.org/plan.html?20260118T033416.214891996Z -predict0,OK,,0.0,5, -predict0,OR,,0.0,6, -predict0,PA,,0.0,17, -predict0,RI,,0.0,2, -predict0,SC,,0.0,7, -predict0,SD,,0.0,1, -predict0,TN,,0.0,9, +predict0,OK,,-0.105,5,https://planscore.org/plan.html?20260118T041834.302122267Z +predict0,OR,,0.16,6,https://planscore.org/plan.html?20260118T041912.298461367Z +predict0,PA,,-0.041,17,https://planscore.org/plan.html?20260118T041952.837929351Z +predict0,RI,,0.306,2,https://planscore.org/plan.html?20260118T042041.177042316Z +predict0,SC,,-0.155,7,https://planscore.org/plan.html?20260118T042120.801311987Z +predict0,SD,,-0.169,1,https://planscore.org/plan.html?20260118T042158.635718933Z +predict0,TN,,-0.062,9,https://planscore.org/plan.html?20260118T042234.601506644Z predict0,TX,yes,-0.131,38,https://planscore.org/plan.html?20260118T033409.784544558Z predict0,UT,yes,-0.022,4,https://planscore.org/plan.html?20260118T033426.757338337Z predict0,VA,,0.003,11,https://planscore.org/plan.html?20260118T033402.058551298Z -predict0,VT,,0.0,1, -predict0,WA,,0.0,10, -predict0,WI,,0.0,8, -predict0,WV,,0.0,2, -predict0,WY,,0.0,1, -predict1R,AK,,0.0,1, -predict1R,AL,,0.0,7, -predict1R,AR,,0.0,4, -predict1R,AZ,,0.0,9, +predict0,VT,,0.127,1,https://planscore.org/plan.html?20260118T042317.142406188Z +predict0,WA,,0.046,10,https://planscore.org/plan.html?20260118T042346.009700387Z +predict0,WI,,-0.196,8,https://planscore.org/plan.html?20260118T042422.846222256Z +predict0,WV,,-0.144,2,https://planscore.org/plan.html?20260118T042458.955302239Z +predict0,WY,,-0.019,1,https://planscore.org/plan.html?20260118T042528.544599149Z +predict1R,AK,,-0.315,1,https://planscore.org/plan.html?20260118T040032.724562105Z +predict1R,AL,,0.098,7,https://planscore.org/plan.html?20260118T040058.279079185Z +predict1R,AR,,-0.136,4,https://planscore.org/plan.html?20260118T040137.875472554Z +predict1R,AZ,,-0.055,9,https://planscore.org/plan.html?20260118T040216.465643494Z predict1R,CA,yes,0.124,52,https://planscore.org/plan.html?20260118T030252.680510220Z -predict1R,CO,,0.0,8, -predict1R,CT,,0.0,5, -predict1R,DE,,0.0,1, -predict1R,FL,,0.0,28, -predict1R,GA,,0.0,14, -predict1R,HI,,0.0,2, -predict1R,IA,,0.0,4, -predict1R,ID,,0.0,2, +predict1R,CO,,-0.061,8,https://planscore.org/plan.html?20260118T040259.889594689Z +predict1R,CT,,0.294,5,https://planscore.org/plan.html?20260118T040327.643228446Z +predict1R,DE,,0.315,1,https://planscore.org/plan.html?20260118T040403.793401812Z +predict1R,FL,,-0.074,28,https://planscore.org/plan.html?20260118T040444.338001260Z +predict1R,GA,,-0.08,14,https://planscore.org/plan.html?20260118T040545.316606545Z +predict1R,HI,,0.181,2,https://planscore.org/plan.html?20260118T040639.769035999Z +predict1R,IA,,-0.297,4,https://planscore.org/plan.html?20260118T040712.250105883Z +predict1R,ID,,-0.13,2,https://planscore.org/plan.html?20260118T040742.308958193Z predict1R,IL,,0.174,17,https://planscore.org/plan.html?20260117T234106.297170815Z -predict1R,IN,,0.0,9, -predict1R,KS,,0.0,4, -predict1R,KY,,0.0,6, -predict1R,LA,,0.0,6, -predict1R,MA,,0.0,9, -predict1R,MD,,0.0,8, -predict1R,ME,,0.0,2, -predict1R,MI,,0.0,13, -predict1R,MN,,0.0,8, +predict1R,IN,,-0.105,9,https://planscore.org/plan.html?20260118T040822.777651688Z +predict1R,KS,,-0.118,4,https://planscore.org/plan.html?20260118T040849.284186699Z +predict1R,KY,,-0.006,6,https://planscore.org/plan.html?20260118T040928.874894608Z +predict1R,LA,,0.12,6,https://planscore.org/plan.html?20260118T041005.441922122Z +predict1R,MA,,0.185,9,https://planscore.org/plan.html?20260118T041044.547492781Z +predict1R,MD,,0.063,8,https://planscore.org/plan.html?20260118T041114.414672501Z +predict1R,ME,,0.028,2,https://planscore.org/plan.html?20260118T041150.816486121Z +predict1R,MI,,-0.035,13,https://planscore.org/plan.html?20260118T041220.052476771Z +predict1R,MN,,-0.028,8,https://planscore.org/plan.html?20260118T041258.652705185Z predict1R,MO,yes,-0.144,8,https://planscore.org/plan.html?20260118T030607.209410478Z predict1R,MS,yes,0.025,4,https://planscore.org/plan.html?20260118T030753.807201969Z -predict1R,MT,,0.0,2, +predict1R,MT,,-0.259,2,https://planscore.org/plan.html?20260118T041341.138957804Z predict1R,NC,yes,-0.216,14,https://planscore.org/plan.html?20260117T234156.465130495Z -predict1R,ND,,0.0,1, -predict1R,NE,,0.0,3, -predict1R,NH,,0.0,2, -predict1R,NJ,,0.0,12, -predict1R,NM,,0.0,3, -predict1R,NV,,0.0,4, -predict1R,NY,,0.0,26, +predict1R,ND,,-0.073,1,https://planscore.org/plan.html?20260118T041413.072410385Z +predict1R,NE,,-0.097,3,https://planscore.org/plan.html?20260118T041444.028443769Z +predict1R,NH,,0.179,2,https://planscore.org/plan.html?20260118T041516.472495680Z +predict1R,NJ,,0.145,12,https://planscore.org/plan.html?20260118T041549.723270345Z +predict1R,NM,,0.228,3,https://planscore.org/plan.html?20260118T041626.746529254Z +predict1R,NV,,0.018,4,https://planscore.org/plan.html?20260118T041701.530593094Z +predict1R,NY,,0.053,26,https://planscore.org/plan.html?20260118T041743.083633190Z predict1R,OH,yes,-0.146,15,https://planscore.org/plan.html?20260118T030701.146353065Z -predict1R,OK,,0.0,5, -predict1R,OR,,0.0,6, -predict1R,PA,,0.0,17, -predict1R,RI,,0.0,2, -predict1R,SC,,0.0,7, -predict1R,SD,,0.0,1, -predict1R,TN,,0.0,9, +predict1R,OK,,-0.087,5,https://planscore.org/plan.html?20260118T041834.975973306Z +predict1R,OR,,0.155,6,https://planscore.org/plan.html?20260118T041912.818890113Z +predict1R,PA,,-0.037,17,https://planscore.org/plan.html?20260118T041952.349765694Z +predict1R,RI,,0.316,2,https://planscore.org/plan.html?20260118T042041.144023896Z +predict1R,SC,,-0.137,7,https://planscore.org/plan.html?20260118T042119.795229247Z +predict1R,SD,,-0.149,1,https://planscore.org/plan.html?20260118T042157.327291482Z +predict1R,TN,,-0.043,9,https://planscore.org/plan.html?20260118T042232.932418807Z predict1R,TX,yes,-0.115,38,https://planscore.org/plan.html?20260118T030423.823475436Z predict1R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.143444456Z predict1R,VA,,-0.005,11,https://planscore.org/plan.html?20260117T234312.712481701Z -predict1R,VT,,0.0,1, -predict1R,WA,,0.0,10, -predict1R,WI,,0.0,8, -predict1R,WV,,0.0,2, -predict1R,WY,,0.0,1, -predict2R,AK,,0.0,1, -predict2R,AL,,0.0,7, -predict2R,AR,,0.0,4, -predict2R,AZ,,0.0,9, +predict1R,VT,,0.147,1,https://planscore.org/plan.html?20260118T042317.807966168Z +predict1R,WA,,0.044,10,https://planscore.org/plan.html?20260118T042344.332719261Z +predict1R,WI,,-0.182,8,https://planscore.org/plan.html?20260118T042422.659529450Z +predict1R,WV,,-0.124,2,https://planscore.org/plan.html?20260118T042457.001859342Z +predict1R,WY,,-0.003,1,https://planscore.org/plan.html?20260118T042528.583747195Z +predict2R,AK,,-0.297,1,https://planscore.org/plan.html?20260118T040032.461647126Z +predict2R,AL,,0.111,7,https://planscore.org/plan.html?20260118T040058.534986156Z +predict2R,AR,,-0.118,4,https://planscore.org/plan.html?20260118T040137.476374185Z +predict2R,AZ,,-0.059,9,https://planscore.org/plan.html?20260118T040214.874930292Z predict2R,CA,yes,0.104,52,https://planscore.org/plan.html?20260118T030252.937441472Z -predict2R,CO,,0.0,8, -predict2R,CT,,0.0,5, -predict2R,DE,,0.0,1, -predict2R,FL,,0.0,28, -predict2R,GA,,0.0,14, -predict2R,HI,,0.0,2, -predict2R,IA,,0.0,4, -predict2R,ID,,0.0,2, +predict2R,CO,,-0.054,8,https://planscore.org/plan.html?20260118T040300.202776909Z +predict2R,CT,,0.297,5,https://planscore.org/plan.html?20260118T040326.114928522Z +predict2R,DE,,0.328,1,https://planscore.org/plan.html?20260118T040403.191307715Z +predict2R,FL,,-0.07,28,https://planscore.org/plan.html?20260118T040444.739195050Z +predict2R,GA,,-0.064,14,https://planscore.org/plan.html?20260118T040545.147551348Z +predict2R,HI,,0.201,2,https://planscore.org/plan.html?20260118T040637.786458133Z +predict2R,IA,,-0.301,4,https://planscore.org/plan.html?20260118T040712.865144687Z +predict2R,ID,,-0.111,2,https://planscore.org/plan.html?20260118T040741.160865011Z predict2R,IL,,0.167,17,https://planscore.org/plan.html?20260117T234106.683582401Z -predict2R,IN,,0.0,9, -predict2R,KS,,0.0,4, -predict2R,KY,,0.0,6, -predict2R,LA,,0.0,6, -predict2R,MA,,0.0,9, -predict2R,MD,,0.0,8, -predict2R,ME,,0.0,2, -predict2R,MI,,0.0,13, -predict2R,MN,,0.0,8, +predict2R,IN,,-0.099,9,https://planscore.org/plan.html?20260118T040822.257547590Z +predict2R,KS,,-0.12,4,https://planscore.org/plan.html?20260118T040849.757170050Z +predict2R,KY,,0.012,6,https://planscore.org/plan.html?20260118T040927.962659453Z +predict2R,LA,,0.136,6,https://planscore.org/plan.html?20260118T041005.162191686Z +predict2R,MA,,0.204,9,https://planscore.org/plan.html?20260118T041043.346755349Z +predict2R,MD,,0.068,8,https://planscore.org/plan.html?20260118T041113.519868627Z +predict2R,ME,,-0.002,2,https://planscore.org/plan.html?20260118T041150.617350534Z +predict2R,MI,,-0.034,13,https://planscore.org/plan.html?20260118T041220.859864330Z +predict2R,MN,,-0.019,8,https://planscore.org/plan.html?20260118T041257.542947472Z predict2R,MO,yes,-0.128,8,https://planscore.org/plan.html?20260118T030607.194953407Z predict2R,MS,yes,0.044,4,https://planscore.org/plan.html?20260118T030753.424673613Z -predict2R,MT,,0.0,2, +predict2R,MT,,-0.242,2,https://planscore.org/plan.html?20260118T041341.887006670Z predict2R,NC,yes,-0.202,14,https://planscore.org/plan.html?20260117T234156.905654195Z -predict2R,ND,,0.0,1, -predict2R,NE,,0.0,3, -predict2R,NH,,0.0,2, -predict2R,NJ,,0.0,12, -predict2R,NM,,0.0,3, -predict2R,NV,,0.0,4, -predict2R,NY,,0.0,26, +predict2R,ND,,-0.055,1,https://planscore.org/plan.html?20260118T041413.941389213Z +predict2R,NE,,-0.12,3,https://planscore.org/plan.html?20260118T041444.990144356Z +predict2R,NH,,0.093,2,https://planscore.org/plan.html?20260118T041516.573959641Z +predict2R,NJ,,0.144,12,https://planscore.org/plan.html?20260118T041549.330759387Z +predict2R,NM,,0.171,3,https://planscore.org/plan.html?20260118T041626.545719871Z +predict2R,NV,,-0.052,4,https://planscore.org/plan.html?20260118T041657.873997239Z +predict2R,NY,,0.048,26,https://planscore.org/plan.html?20260118T041743.816902367Z predict2R,OH,yes,-0.138,15,https://planscore.org/plan.html?20260118T030701.440396556Z -predict2R,OK,,0.0,5, -predict2R,OR,,0.0,6, -predict2R,PA,,0.0,17, -predict2R,RI,,0.0,2, -predict2R,SC,,0.0,7, -predict2R,SD,,0.0,1, -predict2R,TN,,0.0,9, +predict2R,OK,,-0.069,5,https://planscore.org/plan.html?20260118T041834.985966685Z +predict2R,OR,,0.141,6,https://planscore.org/plan.html?20260118T041912.028840093Z +predict2R,PA,,-0.031,17,https://planscore.org/plan.html?20260118T041952.565944858Z +predict2R,RI,,0.312,2,https://planscore.org/plan.html?20260118T042041.272010528Z +predict2R,SC,,-0.116,7,https://planscore.org/plan.html?20260118T042119.952503795Z +predict2R,SD,,-0.129,1,https://planscore.org/plan.html?20260118T042156.432984301Z +predict2R,TN,,-0.025,9,https://planscore.org/plan.html?20260118T042231.989303771Z predict2R,TX,yes,-0.098,38,https://planscore.org/plan.html?20260118T030423.855729685Z predict2R,UT,yes,-0.008,4,https://planscore.org/plan.html?20260117T234246.646987203Z predict2R,VA,,-0.008,11,https://planscore.org/plan.html?20260117T234311.468266651Z -predict2R,VT,,0.0,1, -predict2R,WA,,0.0,10, -predict2R,WI,,0.0,8, -predict2R,WV,,0.0,2, -predict2R,WY,,0.0,1, -predict3R,AK,,0.0,1, -predict3R,AL,,0.0,7, -predict3R,AR,,0.0,4, -predict3R,AZ,,0.0,9, +predict2R,VT,,0.167,1,https://planscore.org/plan.html?20260118T042317.955106684Z +predict2R,WA,,0.042,10,https://planscore.org/plan.html?20260118T042344.831441898Z +predict2R,WI,,-0.164,8,https://planscore.org/plan.html?20260118T042423.982877395Z +predict2R,WV,,-0.106,2,https://planscore.org/plan.html?20260118T042453.146575983Z +predict2R,WY,,0.015,1,https://planscore.org/plan.html?20260118T042527.071196377Z +predict3R,AK,,-0.28,1,https://planscore.org/plan.html?20260118T040019.740385099Z +predict3R,AL,,0.121,7,https://planscore.org/plan.html?20260118T040057.697597827Z +predict3R,AR,,-0.099,4,https://planscore.org/plan.html?20260118T040136.664471324Z +predict3R,AZ,,-0.057,9,https://planscore.org/plan.html?20260118T040211.868152802Z predict3R,CA,yes,0.081,52,https://planscore.org/plan.html?20260118T030200.028924269Z -predict3R,CO,,0.0,8, -predict3R,CT,,0.0,5, -predict3R,DE,,0.0,1, -predict3R,FL,,0.0,28, -predict3R,GA,,0.0,14, -predict3R,HI,,0.0,2, -predict3R,IA,,0.0,4, -predict3R,ID,,0.0,2, +predict3R,CO,,-0.044,8,https://planscore.org/plan.html?20260118T040251.834561495Z +predict3R,CT,,0.288,5,https://planscore.org/plan.html?20260118T040326.709335494Z +predict3R,DE,,0.332,1,https://planscore.org/plan.html?20260118T040357.968218310Z +predict3R,FL,,-0.072,28,https://planscore.org/plan.html?20260118T040429.810352318Z +predict3R,GA,,-0.051,14,https://planscore.org/plan.html?20260118T040538.900923901Z +predict3R,HI,,0.222,2,https://planscore.org/plan.html?20260118T040636.749507670Z +predict3R,IA,,-0.292,4,https://planscore.org/plan.html?20260118T040706.462014587Z +predict3R,ID,,-0.092,2,https://planscore.org/plan.html?20260118T040740.047661469Z predict3R,IL,,0.152,17,https://planscore.org/plan.html?20260117T234106.039750425Z -predict3R,IN,,0.0,9, -predict3R,KS,,0.0,4, -predict3R,KY,,0.0,6, -predict3R,LA,,0.0,6, -predict3R,MA,,0.0,9, -predict3R,MD,,0.0,8, -predict3R,ME,,0.0,2, -predict3R,MI,,0.0,13, -predict3R,MN,,0.0,8, +predict3R,IN,,-0.094,9,https://planscore.org/plan.html?20260118T040810.643389163Z +predict3R,KS,,-0.125,4,https://planscore.org/plan.html?20260118T040848.422302577Z +predict3R,KY,,0.028,6,https://planscore.org/plan.html?20260118T040925.259553848Z +predict3R,LA,,0.151,6,https://planscore.org/plan.html?20260118T040955.650507028Z +predict3R,MA,,0.221,9,https://planscore.org/plan.html?20260118T041042.280293903Z +predict3R,MD,,0.07,8,https://planscore.org/plan.html?20260118T041112.321006576Z +predict3R,ME,,-0.022,2,https://planscore.org/plan.html?20260118T041150.807002019Z +predict3R,MI,,-0.035,13,https://planscore.org/plan.html?20260118T041217.211211858Z +predict3R,MN,,-0.01,8,https://planscore.org/plan.html?20260118T041256.033320436Z predict3R,MO,yes,-0.11,8,https://planscore.org/plan.html?20260118T030601.745884321Z predict3R,MS,yes,0.062,4,https://planscore.org/plan.html?20260118T030752.293566925Z -predict3R,MT,,0.0,2, +predict3R,MT,,-0.222,2,https://planscore.org/plan.html?20260118T041341.251833426Z predict3R,NC,yes,-0.185,14,https://planscore.org/plan.html?20260117T234156.638310881Z -predict3R,ND,,0.0,1, -predict3R,NE,,0.0,3, -predict3R,NH,,0.0,2, -predict3R,NJ,,0.0,12, -predict3R,NM,,0.0,3, -predict3R,NV,,0.0,4, -predict3R,NY,,0.0,26, +predict3R,ND,,-0.037,1,https://planscore.org/plan.html?20260118T041406.962223880Z +predict3R,NE,,-0.137,3,https://planscore.org/plan.html?20260118T041443.500181798Z +predict3R,NH,,-0.015,2,https://planscore.org/plan.html?20260118T041511.814891560Z +predict3R,NJ,,0.134,12,https://planscore.org/plan.html?20260118T041546.561590036Z +predict3R,NM,,0.117,3,https://planscore.org/plan.html?20260118T041625.870978852Z +predict3R,NV,,-0.127,4,https://planscore.org/plan.html?20260118T041655.488245374Z +predict3R,NY,,0.041,26,https://planscore.org/plan.html?20260118T041730.674089181Z predict3R,OH,yes,-0.128,15,https://planscore.org/plan.html?20260118T030655.519157246Z -predict3R,OK,,0.0,5, -predict3R,OR,,0.0,6, -predict3R,PA,,0.0,17, -predict3R,RI,,0.0,2, -predict3R,SC,,0.0,7, -predict3R,SD,,0.0,1, -predict3R,TN,,0.0,9, +predict3R,OK,,-0.051,5,https://planscore.org/plan.html?20260118T041833.372276375Z +predict3R,OR,,0.113,6,https://planscore.org/plan.html?20260118T041903.587557635Z +predict3R,PA,,-0.026,17,https://planscore.org/plan.html?20260118T041939.259984818Z +predict3R,RI,,0.296,2,https://planscore.org/plan.html?20260118T042041.672173654Z +predict3R,SC,,-0.097,7,https://planscore.org/plan.html?20260118T042108.642209453Z +predict3R,SD,,-0.111,1,https://planscore.org/plan.html?20260118T042156.478290125Z +predict3R,TN,,-0.007,9,https://planscore.org/plan.html?20260118T042223.049385018Z predict3R,TX,yes,-0.081,38,https://planscore.org/plan.html?20260118T030422.141945889Z predict3R,UT,yes,-0.011,4,https://planscore.org/plan.html?20260117T234245.579626535Z predict3R,VA,,-0.014,11,https://planscore.org/plan.html?20260117T234311.159862084Z -predict3R,VT,,0.0,1, -predict3R,WA,,0.0,10, -predict3R,WI,,0.0,8, -predict3R,WV,,0.0,2, -predict3R,WY,,0.0,1, -predict4R,AK,,0.0,1, -predict4R,AL,,0.0,7, -predict4R,AR,,0.0,4, -predict4R,AZ,,0.0,9, +predict3R,VT,,0.187,1,https://planscore.org/plan.html?20260118T042309.292270184Z +predict3R,WA,,0.039,10,https://planscore.org/plan.html?20260118T042342.642100769Z +predict3R,WI,,-0.146,8,https://planscore.org/plan.html?20260118T042421.035836137Z +predict3R,WV,,-0.087,2,https://planscore.org/plan.html?20260118T042453.579843296Z +predict3R,WY,,0.031,1,https://planscore.org/plan.html?20260118T042526.966459108Z +predict4R,AK,,-0.259,1,https://planscore.org/plan.html?20260118T040019.421477233Z +predict4R,AL,,0.124,7,https://planscore.org/plan.html?20260118T040057.312540842Z +predict4R,AR,,-0.081,4,https://planscore.org/plan.html?20260118T040135.091076364Z +predict4R,AZ,,-0.055,9,https://planscore.org/plan.html?20260118T040204.221375377Z predict4R,CA,yes,0.054,52,https://planscore.org/plan.html?20260118T030159.186150510Z -predict4R,CO,,0.0,8, -predict4R,CT,,0.0,5, -predict4R,DE,,0.0,1, -predict4R,FL,,0.0,28, -predict4R,GA,,0.0,14, -predict4R,HI,,0.0,2, -predict4R,IA,,0.0,4, -predict4R,ID,,0.0,2, +predict4R,CO,,-0.035,8,https://planscore.org/plan.html?20260118T040250.014093367Z +predict4R,CT,,0.267,5,https://planscore.org/plan.html?20260118T040325.722075632Z +predict4R,DE,,0.331,1,https://planscore.org/plan.html?20260118T040355.265424982Z +predict4R,FL,,-0.076,28,https://planscore.org/plan.html?20260118T040429.977466455Z +predict4R,GA,,-0.039,14,https://planscore.org/plan.html?20260118T040537.555270248Z +predict4R,HI,,0.242,2,https://planscore.org/plan.html?20260118T040635.068152034Z +predict4R,IA,,-0.28,4,https://planscore.org/plan.html?20260118T040705.897454047Z +predict4R,ID,,-0.074,2,https://planscore.org/plan.html?20260118T040738.771756261Z predict4R,IL,,0.131,17,https://planscore.org/plan.html?20260117T234106.736714772Z -predict4R,IN,,0.0,9, -predict4R,KS,,0.0,4, -predict4R,KY,,0.0,6, -predict4R,LA,,0.0,6, -predict4R,MA,,0.0,9, -predict4R,MD,,0.0,8, -predict4R,ME,,0.0,2, -predict4R,MI,,0.0,13, -predict4R,MN,,0.0,8, +predict4R,IN,,-0.085,9,https://planscore.org/plan.html?20260118T040810.790205747Z +predict4R,KS,,-0.136,4,https://planscore.org/plan.html?20260118T040848.101056951Z +predict4R,KY,,0.045,6,https://planscore.org/plan.html?20260118T040925.952259582Z +predict4R,LA,,0.166,6,https://planscore.org/plan.html?20260118T040954.810302512Z +predict4R,MA,,0.235,9,https://planscore.org/plan.html?20260118T041042.015889761Z +predict4R,MD,,0.069,8,https://planscore.org/plan.html?20260118T041111.915731015Z +predict4R,ME,,-0.02,2,https://planscore.org/plan.html?20260118T041149.407410235Z +predict4R,MI,,-0.037,13,https://planscore.org/plan.html?20260118T041217.156472280Z +predict4R,MN,,-0.007,8,https://planscore.org/plan.html?20260118T041255.725038779Z predict4R,MO,yes,-0.092,8,https://planscore.org/plan.html?20260118T030601.827495017Z predict4R,MS,yes,0.08,4,https://planscore.org/plan.html?20260118T030751.713665634Z -predict4R,MT,,0.0,2, +predict4R,MT,,-0.205,2,https://planscore.org/plan.html?20260118T041334.239819858Z predict4R,NC,yes,-0.167,14,https://planscore.org/plan.html?20260117T234156.580785945Z -predict4R,ND,,0.0,1, -predict4R,NE,,0.0,3, -predict4R,NH,,0.0,2, -predict4R,NJ,,0.0,12, -predict4R,NM,,0.0,3, -predict4R,NV,,0.0,4, -predict4R,NY,,0.0,26, +predict4R,ND,,-0.019,1,https://planscore.org/plan.html?20260118T041406.335506020Z +predict4R,NE,,-0.139,3,https://planscore.org/plan.html?20260118T041438.681751882Z +predict4R,NH,,-0.114,2,https://planscore.org/plan.html?20260118T041510.867885388Z +predict4R,NJ,,0.113,12,https://planscore.org/plan.html?20260118T041542.407976438Z +predict4R,NM,,0.048,3,https://planscore.org/plan.html?20260118T041623.536304150Z +predict4R,NV,,-0.183,4,https://planscore.org/plan.html?20260118T041655.590604208Z +predict4R,NY,,0.036,26,https://planscore.org/plan.html?20260118T041726.925296597Z predict4R,OH,yes,-0.116,15,https://planscore.org/plan.html?20260118T030651.798636513Z -predict4R,OK,,0.0,5, -predict4R,OR,,0.0,6, -predict4R,PA,,0.0,17, -predict4R,RI,,0.0,2, -predict4R,SC,,0.0,7, -predict4R,SD,,0.0,1, -predict4R,TN,,0.0,9, +predict4R,OK,,-0.034,5,https://planscore.org/plan.html?20260118T041833.793797177Z +predict4R,OR,,0.08,6,https://planscore.org/plan.html?20260118T041901.301152746Z +predict4R,PA,,-0.02,17,https://planscore.org/plan.html?20260118T041939.381974619Z +predict4R,RI,,0.266,2,https://planscore.org/plan.html?20260118T042040.609139005Z +predict4R,SC,,-0.077,7,https://planscore.org/plan.html?20260118T042110.719569323Z +predict4R,SD,,-0.091,1,https://planscore.org/plan.html?20260118T042156.622013407Z +predict4R,TN,,0.009,9,https://planscore.org/plan.html?20260118T042223.102056252Z predict4R,TX,yes,-0.063,38,https://planscore.org/plan.html?20260118T030422.962937815Z predict4R,UT,yes,-0.014,4,https://planscore.org/plan.html?20260117T234245.192003314Z predict4R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.769107907Z -predict4R,VT,,0.0,1, -predict4R,WA,,0.0,10, -predict4R,WI,,0.0,8, -predict4R,WV,,0.0,2, -predict4R,WY,,0.0,1, -predict5R,AK,,0.0,1, -predict5R,AL,,0.0,7, -predict5R,AR,,0.0,4, -predict5R,AZ,,0.0,9, +predict4R,VT,,0.207,1,https://planscore.org/plan.html?20260118T042308.125744971Z +predict4R,WA,,0.035,10,https://planscore.org/plan.html?20260118T042342.067894529Z +predict4R,WI,,-0.126,8,https://planscore.org/plan.html?20260118T042421.371804299Z +predict4R,WV,,-0.069,2,https://planscore.org/plan.html?20260118T042451.693393344Z +predict4R,WY,,0.047,1,https://planscore.org/plan.html?20260118T042526.636786555Z +predict5R,AK,,-0.238,1,https://planscore.org/plan.html?20260118T040019.947104774Z +predict5R,AL,,0.122,7,https://planscore.org/plan.html?20260118T040057.662496494Z +predict5R,AR,,-0.062,4,https://planscore.org/plan.html?20260118T040135.002385212Z +predict5R,AZ,,-0.049,9,https://planscore.org/plan.html?20260118T040204.431869168Z predict5R,CA,yes,0.025,52,https://planscore.org/plan.html?20260118T030200.441188330Z -predict5R,CO,,0.0,8, -predict5R,CT,,0.0,5, -predict5R,DE,,0.0,1, -predict5R,FL,,0.0,28, -predict5R,GA,,0.0,14, -predict5R,HI,,0.0,2, -predict5R,IA,,0.0,4, -predict5R,ID,,0.0,2, +predict5R,CO,,-0.031,8,https://planscore.org/plan.html?20260118T040249.079776676Z +predict5R,CT,,0.229,5,https://planscore.org/plan.html?20260118T040326.903530514Z +predict5R,DE,,0.303,1,https://planscore.org/plan.html?20260118T040355.472459486Z +predict5R,FL,,-0.077,28,https://planscore.org/plan.html?20260118T040428.984802641Z +predict5R,GA,,-0.03,14,https://planscore.org/plan.html?20260118T040537.964406789Z +predict5R,HI,,0.264,2,https://planscore.org/plan.html?20260118T040635.003492312Z +predict5R,IA,,-0.262,4,https://planscore.org/plan.html?20260118T040705.550825071Z +predict5R,ID,,-0.055,2,https://planscore.org/plan.html?20260118T040738.955067207Z predict5R,IL,,0.11,17,https://planscore.org/plan.html?20260117T234106.366567166Z -predict5R,IN,,0.0,9, -predict5R,KS,,0.0,4, -predict5R,KY,,0.0,6, -predict5R,LA,,0.0,6, -predict5R,MA,,0.0,9, -predict5R,MD,,0.0,8, -predict5R,ME,,0.0,2, -predict5R,MI,,0.0,13, -predict5R,MN,,0.0,8, +predict5R,IN,,-0.073,9,https://planscore.org/plan.html?20260118T040809.963446000Z +predict5R,KS,,-0.149,4,https://planscore.org/plan.html?20260118T040849.239601683Z +predict5R,KY,,0.06,6,https://planscore.org/plan.html?20260118T040916.011623187Z +predict5R,LA,,0.177,6,https://planscore.org/plan.html?20260118T040954.155893965Z +predict5R,MA,,0.245,9,https://planscore.org/plan.html?20260118T041042.649679357Z +predict5R,MD,,0.068,8,https://planscore.org/plan.html?20260118T041111.956494742Z +predict5R,ME,,-0.015,2,https://planscore.org/plan.html?20260118T041149.913176540Z +predict5R,MI,,-0.038,13,https://planscore.org/plan.html?20260118T041215.137311066Z +predict5R,MN,,-0.005,8,https://planscore.org/plan.html?20260118T041255.743781432Z predict5R,MO,yes,-0.074,8,https://planscore.org/plan.html?20260118T030600.406733173Z predict5R,MS,yes,0.098,4,https://planscore.org/plan.html?20260118T030744.175590594Z -predict5R,MT,,0.0,2, +predict5R,MT,,-0.184,2,https://planscore.org/plan.html?20260118T041328.514232760Z predict5R,NC,yes,-0.147,14,https://planscore.org/plan.html?20260117T234156.668749961Z -predict5R,ND,,0.0,1, -predict5R,NE,,0.0,3, -predict5R,NH,,0.0,2, -predict5R,NJ,,0.0,12, -predict5R,NM,,0.0,3, -predict5R,NV,,0.0,4, -predict5R,NY,,0.0,26, +predict5R,ND,,-0.003,1,https://planscore.org/plan.html?20260118T041406.368358848Z +predict5R,NE,,-0.135,3,https://planscore.org/plan.html?20260118T041438.667793884Z +predict5R,NH,,-0.203,2,https://planscore.org/plan.html?20260118T041509.999876073Z +predict5R,NJ,,0.089,12,https://planscore.org/plan.html?20260118T041541.212023240Z +predict5R,NM,,-0.037,3,https://planscore.org/plan.html?20260118T041623.253867660Z +predict5R,NV,,-0.227,4,https://planscore.org/plan.html?20260118T041652.846986312Z +predict5R,NY,,0.027,26,https://planscore.org/plan.html?20260118T041726.354781666Z predict5R,OH,yes,-0.102,15,https://planscore.org/plan.html?20260118T030650.614484834Z -predict5R,OK,,0.0,5, -predict5R,OR,,0.0,6, -predict5R,PA,,0.0,17, -predict5R,RI,,0.0,2, -predict5R,SC,,0.0,7, -predict5R,SD,,0.0,1, -predict5R,TN,,0.0,9, +predict5R,OK,,-0.016,5,https://planscore.org/plan.html?20260118T041833.747849238Z +predict5R,OR,,0.042,6,https://planscore.org/plan.html?20260118T041900.828180088Z +predict5R,PA,,-0.016,17,https://planscore.org/plan.html?20260118T041938.820735953Z +predict5R,RI,,0.213,2,https://planscore.org/plan.html?20260118T042040.806029863Z +predict5R,SC,,-0.058,7,https://planscore.org/plan.html?20260118T042106.459244124Z +predict5R,SD,,-0.073,1,https://planscore.org/plan.html?20260118T042153.238723720Z +predict5R,TN,,0.027,9,https://planscore.org/plan.html?20260118T042223.207746087Z predict5R,TX,yes,-0.045,38,https://planscore.org/plan.html?20260118T030421.251128331Z predict5R,UT,yes,-0.026,4,https://planscore.org/plan.html?20260117T234245.146139982Z predict5R,VA,,-0.021,11,https://planscore.org/plan.html?20260117T234311.299631581Z -predict5R,VT,,0.0,1, -predict5R,WA,,0.0,10, -predict5R,WI,,0.0,8, -predict5R,WV,,0.0,2, -predict5R,WY,,0.0,1, -predict6R,AK,,0.0,1, -predict6R,AL,,0.0,7, -predict6R,AR,,0.0,4, -predict6R,AZ,,0.0,9, +predict5R,VT,,0.227,1,https://planscore.org/plan.html?20260118T042305.062780688Z +predict5R,WA,,0.031,10,https://planscore.org/plan.html?20260118T042341.356310553Z +predict5R,WI,,-0.107,8,https://planscore.org/plan.html?20260118T042419.585557027Z +predict5R,WV,,-0.05,2,https://planscore.org/plan.html?20260118T042450.446834331Z +predict5R,WY,,0.063,1,https://planscore.org/plan.html?20260118T042523.799569429Z +predict6R,AK,,-0.218,1,https://planscore.org/plan.html?20260118T040019.877477722Z +predict6R,AL,,0.12,7,https://planscore.org/plan.html?20260118T040056.905609663Z +predict6R,AR,,-0.045,4,https://planscore.org/plan.html?20260118T040134.322974263Z +predict6R,AZ,,-0.043,9,https://planscore.org/plan.html?20260118T040203.436638763Z predict6R,CA,yes,-0.001,52,https://planscore.org/plan.html?20260118T030200.575696615Z -predict6R,CO,,0.0,8, -predict6R,CT,,0.0,5, -predict6R,DE,,0.0,1, -predict6R,FL,,0.0,28, -predict6R,GA,,0.0,14, -predict6R,HI,,0.0,2, -predict6R,IA,,0.0,4, -predict6R,ID,,0.0,2, +predict6R,CO,,-0.03,8,https://planscore.org/plan.html?20260118T040245.031541473Z +predict6R,CT,,0.189,5,https://planscore.org/plan.html?20260118T040325.917097094Z +predict6R,DE,,0.261,1,https://planscore.org/plan.html?20260118T040352.524735657Z +predict6R,FL,,-0.076,28,https://planscore.org/plan.html?20260118T040428.712730809Z +predict6R,GA,,-0.022,14,https://planscore.org/plan.html?20260118T040536.536974989Z +predict6R,HI,,0.286,2,https://planscore.org/plan.html?20260118T040634.527138508Z +predict6R,IA,,-0.243,4,https://planscore.org/plan.html?20260118T040704.377638861Z +predict6R,ID,,-0.037,2,https://planscore.org/plan.html?20260118T040738.804548872Z predict6R,IL,,0.091,17,https://planscore.org/plan.html?20260117T234106.149190231Z -predict6R,IN,,0.0,9, -predict6R,KS,,0.0,4, -predict6R,KY,,0.0,6, -predict6R,LA,,0.0,6, -predict6R,MA,,0.0,9, -predict6R,MD,,0.0,8, -predict6R,ME,,0.0,2, -predict6R,MI,,0.0,13, -predict6R,MN,,0.0,8, +predict6R,IN,,-0.061,9,https://planscore.org/plan.html?20260118T040808.045893020Z +predict6R,KS,,-0.155,4,https://planscore.org/plan.html?20260118T040848.534619465Z +predict6R,KY,,0.074,6,https://planscore.org/plan.html?20260118T040915.755707293Z +predict6R,LA,,0.184,6,https://planscore.org/plan.html?20260118T040954.564282096Z +predict6R,MA,,0.25,9,https://planscore.org/plan.html?20260118T041033.276402957Z +predict6R,MD,,0.064,8,https://planscore.org/plan.html?20260118T041111.194007336Z +predict6R,ME,,-0.002,2,https://planscore.org/plan.html?20260118T041141.462983592Z +predict6R,MI,,-0.037,13,https://planscore.org/plan.html?20260118T041216.622044119Z +predict6R,MN,,-0.003,8,https://planscore.org/plan.html?20260118T041255.395556744Z predict6R,MO,yes,-0.056,8,https://planscore.org/plan.html?20260118T030600.823604117Z predict6R,MS,yes,0.114,4,https://planscore.org/plan.html?20260118T030740.827585341Z -predict6R,MT,,0.0,2, +predict6R,MT,,-0.164,2,https://planscore.org/plan.html?20260118T041328.194816646Z predict6R,NC,yes,-0.127,14,https://planscore.org/plan.html?20260117T234156.081909068Z -predict6R,ND,,0.0,1, -predict6R,NE,,0.0,3, -predict6R,NH,,0.0,2, -predict6R,NJ,,0.0,12, -predict6R,NM,,0.0,3, -predict6R,NV,,0.0,4, -predict6R,NY,,0.0,26, +predict6R,ND,,0.015,1,https://planscore.org/plan.html?20260118T041406.561276230Z +predict6R,NE,,-0.125,3,https://planscore.org/plan.html?20260118T041438.573410580Z +predict6R,NH,,-0.286,2,https://planscore.org/plan.html?20260118T041509.708117429Z +predict6R,NJ,,0.055,12,https://planscore.org/plan.html?20260118T041541.066073299Z +predict6R,NM,,-0.102,3,https://planscore.org/plan.html?20260118T041623.662112328Z +predict6R,NV,,-0.262,4,https://planscore.org/plan.html?20260118T041652.326741234Z +predict6R,NY,,0.018,26,https://planscore.org/plan.html?20260118T041726.260395429Z predict6R,OH,yes,-0.087,15,https://planscore.org/plan.html?20260118T030650.226337072Z -predict6R,OK,,0.0,5, -predict6R,OR,,0.0,6, -predict6R,PA,,0.0,17, -predict6R,RI,,0.0,2, -predict6R,SC,,0.0,7, -predict6R,SD,,0.0,1, -predict6R,TN,,0.0,9, +predict6R,OK,,-0.0,5,https://planscore.org/plan.html?20260118T041833.377531063Z +predict6R,OR,,-0.003,6,https://planscore.org/plan.html?20260118T041900.965328297Z +predict6R,PA,,-0.016,17,https://planscore.org/plan.html?20260118T041938.242215193Z +predict6R,RI,,0.154,2,https://planscore.org/plan.html?20260118T042040.398399142Z +predict6R,SC,,-0.04,7,https://planscore.org/plan.html?20260118T042106.578047020Z +predict6R,SD,,-0.055,1,https://planscore.org/plan.html?20260118T042153.487083533Z +predict6R,TN,,0.045,9,https://planscore.org/plan.html?20260118T042222.918221633Z predict6R,TX,yes,-0.027,38,https://planscore.org/plan.html?20260118T030410.854775160Z predict6R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.168662904Z predict6R,VA,,-0.019,11,https://planscore.org/plan.html?20260117T234311.884055474Z -predict6R,VT,,0.0,1, -predict6R,WA,,0.0,10, -predict6R,WI,,0.0,8, -predict6R,WV,,0.0,2, -predict6R,WY,,0.0,1, -predict7R,AK,,0.0,1, -predict7R,AL,,0.0,7, -predict7R,AR,,0.0,4, -predict7R,AZ,,0.0,9, +predict6R,VT,,0.249,1,https://planscore.org/plan.html?20260118T042305.995292706Z +predict6R,WA,,0.028,10,https://planscore.org/plan.html?20260118T042341.053188507Z +predict6R,WI,,-0.087,8,https://planscore.org/plan.html?20260118T042414.838087656Z +predict6R,WV,,-0.032,2,https://planscore.org/plan.html?20260118T042449.996460310Z +predict6R,WY,,0.077,1,https://planscore.org/plan.html?20260118T042523.172232761Z +predict7R,AK,,-0.196,1,https://planscore.org/plan.html?20260118T040019.940229756Z +predict7R,AL,,0.117,7,https://planscore.org/plan.html?20260118T040056.324977401Z +predict7R,AR,,-0.027,4,https://planscore.org/plan.html?20260118T040133.680113606Z +predict7R,AZ,,-0.039,9,https://planscore.org/plan.html?20260118T040203.354994686Z predict7R,CA,yes,-0.026,52,https://planscore.org/plan.html?20260118T030200.555679511Z -predict7R,CO,,0.0,8, -predict7R,CT,,0.0,5, -predict7R,DE,,0.0,1, -predict7R,FL,,0.0,28, -predict7R,GA,,0.0,14, -predict7R,HI,,0.0,2, -predict7R,IA,,0.0,4, -predict7R,ID,,0.0,2, +predict7R,CO,,-0.034,8,https://planscore.org/plan.html?20260118T040246.866928597Z +predict7R,CT,,0.141,5,https://planscore.org/plan.html?20260118T040325.553540969Z +predict7R,DE,,0.185,1,https://planscore.org/plan.html?20260118T040352.557377797Z +predict7R,FL,,-0.072,28,https://planscore.org/plan.html?20260118T040428.039742193Z +predict7R,GA,,-0.011,14,https://planscore.org/plan.html?20260118T040535.547395026Z +predict7R,HI,,0.304,2,https://planscore.org/plan.html?20260118T040634.191288438Z +predict7R,IA,,-0.223,4,https://planscore.org/plan.html?20260118T040702.762196036Z +predict7R,ID,,-0.02,2,https://planscore.org/plan.html?20260118T040738.211848672Z predict7R,IL,,0.07,17,https://planscore.org/plan.html?20260117T234106.081409659Z -predict7R,IN,,0.0,9, -predict7R,KS,,0.0,4, -predict7R,KY,,0.0,6, -predict7R,LA,,0.0,6, -predict7R,MA,,0.0,9, -predict7R,MD,,0.0,8, -predict7R,ME,,0.0,2, -predict7R,MI,,0.0,13, -predict7R,MN,,0.0,8, +predict7R,IN,,-0.045,9,https://planscore.org/plan.html?20260118T040808.408413037Z +predict7R,KS,,-0.162,4,https://planscore.org/plan.html?20260118T040848.558621845Z +predict7R,KY,,0.085,6,https://planscore.org/plan.html?20260118T040914.809569127Z +predict7R,LA,,0.191,6,https://planscore.org/plan.html?20260118T040953.752968796Z +predict7R,MA,,0.246,9,https://planscore.org/plan.html?20260118T041031.993254408Z +predict7R,MD,,0.057,8,https://planscore.org/plan.html?20260118T041110.198744047Z +predict7R,ME,,-0.001,2,https://planscore.org/plan.html?20260118T041140.718501923Z +predict7R,MI,,-0.038,13,https://planscore.org/plan.html?20260118T041215.886721256Z +predict7R,MN,,-0.006,8,https://planscore.org/plan.html?20260118T041248.530394820Z predict7R,MO,yes,-0.038,8,https://planscore.org/plan.html?20260118T030559.466329935Z predict7R,MS,yes,0.129,4,https://planscore.org/plan.html?20260118T030740.509966820Z -predict7R,MT,,0.0,2, +predict7R,MT,,-0.144,2,https://planscore.org/plan.html?20260118T041328.038567331Z predict7R,NC,yes,-0.107,14,https://planscore.org/plan.html?20260117T234156.925860594Z -predict7R,ND,,0.0,1, -predict7R,NE,,0.0,3, -predict7R,NH,,0.0,2, -predict7R,NJ,,0.0,12, -predict7R,NM,,0.0,3, -predict7R,NV,,0.0,4, -predict7R,NY,,0.0,26, +predict7R,ND,,0.031,1,https://planscore.org/plan.html?20260118T041406.418039260Z +predict7R,NE,,-0.112,3,https://planscore.org/plan.html?20260118T041438.733517251Z +predict7R,NH,,-0.331,2,https://planscore.org/plan.html?20260118T041509.997903153Z +predict7R,NJ,,0.019,12,https://planscore.org/plan.html?20260118T041541.660398158Z +predict7R,NM,,-0.172,3,https://planscore.org/plan.html?20260118T041617.044382965Z +predict7R,NV,,-0.279,4,https://planscore.org/plan.html?20260118T041651.026884855Z +predict7R,NY,,0.011,26,https://planscore.org/plan.html?20260118T041723.332674578Z predict7R,OH,yes,-0.07,15,https://planscore.org/plan.html?20260118T030645.078326657Z -predict7R,OK,,0.0,5, -predict7R,OR,,0.0,6, -predict7R,PA,,0.0,17, -predict7R,RI,,0.0,2, -predict7R,SC,,0.0,7, -predict7R,SD,,0.0,1, -predict7R,TN,,0.0,9, +predict7R,OK,,0.018,5,https://planscore.org/plan.html?20260118T041833.396809277Z +predict7R,OR,,-0.032,6,https://planscore.org/plan.html?20260118T041900.501828686Z +predict7R,PA,,-0.019,17,https://planscore.org/plan.html?20260118T041938.107088579Z +predict7R,RI,,0.094,2,https://planscore.org/plan.html?20260118T042041.757889463Z +predict7R,SC,,-0.024,7,https://planscore.org/plan.html?20260118T042106.131556411Z +predict7R,SD,,-0.037,1,https://planscore.org/plan.html?20260118T042150.351691798Z +predict7R,TN,,0.061,9,https://planscore.org/plan.html?20260118T042221.586550740Z predict7R,TX,yes,-0.011,38,https://planscore.org/plan.html?20260118T030410.386120565Z predict7R,UT,yes,-0.046,4,https://planscore.org/plan.html?20260117T234245.180439542Z predict7R,VA,,-0.011,11,https://planscore.org/plan.html?20260117T234311.596057619Z -predict7R,VT,,0.0,1, -predict7R,WA,,0.0,10, -predict7R,WI,,0.0,8, -predict7R,WV,,0.0,2, -predict7R,WY,,0.0,1, -predict8R,AK,,0.0,1, -predict8R,AL,,0.0,7, -predict8R,AR,,0.0,4, -predict8R,AZ,,0.0,9, +predict7R,VT,,0.269,1,https://planscore.org/plan.html?20260118T042305.148314518Z +predict7R,WA,,0.021,10,https://planscore.org/plan.html?20260118T042341.744710519Z +predict7R,WI,,-0.067,8,https://planscore.org/plan.html?20260118T042413.074439826Z +predict7R,WV,,-0.015,2,https://planscore.org/plan.html?20260118T042449.056031288Z +predict7R,WY,,0.093,1,https://planscore.org/plan.html?20260118T042519.320721627Z +predict8R,AK,,-0.176,1,https://planscore.org/plan.html?20260118T040019.551047000Z +predict8R,AL,,0.112,7,https://planscore.org/plan.html?20260118T040044.384074073Z +predict8R,AR,,-0.01,4,https://planscore.org/plan.html?20260118T040132.209439959Z +predict8R,AZ,,-0.032,9,https://planscore.org/plan.html?20260118T040202.437054419Z predict8R,CA,yes,-0.048,52,https://planscore.org/plan.html?20260118T030200.606257536Z -predict8R,CO,,0.0,8, -predict8R,CT,,0.0,5, -predict8R,DE,,0.0,1, -predict8R,FL,,0.0,28, -predict8R,GA,,0.0,14, -predict8R,HI,,0.0,2, -predict8R,IA,,0.0,4, -predict8R,ID,,0.0,2, +predict8R,CO,,-0.043,8,https://planscore.org/plan.html?20260118T040246.077167300Z +predict8R,CT,,0.082,5,https://planscore.org/plan.html?20260118T040318.729740595Z +predict8R,DE,,0.096,1,https://planscore.org/plan.html?20260118T040351.722502258Z +predict8R,FL,,-0.064,28,https://planscore.org/plan.html?20260118T040421.797220159Z +predict8R,GA,,-0.001,14,https://planscore.org/plan.html?20260118T040520.471146576Z +predict8R,HI,,0.321,2,https://planscore.org/plan.html?20260118T040628.234717230Z +predict8R,IA,,-0.204,4,https://planscore.org/plan.html?20260118T040701.126340501Z +predict8R,ID,,-0.002,2,https://planscore.org/plan.html?20260118T040732.978627648Z predict8R,IL,,0.06,17,https://planscore.org/plan.html?20260117T234106.392712154Z -predict8R,IN,,0.0,9, -predict8R,KS,,0.0,4, -predict8R,KY,,0.0,6, -predict8R,LA,,0.0,6, -predict8R,MA,,0.0,9, -predict8R,MD,,0.0,8, -predict8R,ME,,0.0,2, -predict8R,MI,,0.0,13, -predict8R,MN,,0.0,8, +predict8R,IN,,-0.028,9,https://planscore.org/plan.html?20260118T040808.445722000Z +predict8R,KS,,-0.157,4,https://planscore.org/plan.html?20260118T040847.416207651Z +predict8R,KY,,0.093,6,https://planscore.org/plan.html?20260118T040914.797887894Z +predict8R,LA,,0.192,6,https://planscore.org/plan.html?20260118T040952.647418961Z +predict8R,MA,,0.234,9,https://planscore.org/plan.html?20260118T041031.769031409Z +predict8R,MD,,0.051,8,https://planscore.org/plan.html?20260118T041109.665898397Z +predict8R,ME,,-0.007,2,https://planscore.org/plan.html?20260118T041139.539855538Z +predict8R,MI,,-0.037,13,https://planscore.org/plan.html?20260118T041215.574052074Z +predict8R,MN,,-0.006,8,https://planscore.org/plan.html?20260118T041248.141037497Z predict8R,MO,yes,-0.02,8,https://planscore.org/plan.html?20260118T030559.394077513Z predict8R,MS,yes,0.14,4,https://planscore.org/plan.html?20260118T030740.247265100Z -predict8R,MT,,0.0,2, +predict8R,MT,,-0.124,2,https://planscore.org/plan.html?20260118T041328.922010493Z predict8R,NC,yes,-0.086,14,https://planscore.org/plan.html?20260117T234156.896993265Z -predict8R,ND,,0.0,1, -predict8R,NE,,0.0,3, -predict8R,NH,,0.0,2, -predict8R,NJ,,0.0,12, -predict8R,NM,,0.0,3, -predict8R,NV,,0.0,4, -predict8R,NY,,0.0,26, +predict8R,ND,,0.047,1,https://planscore.org/plan.html?20260118T041406.680055833Z +predict8R,NE,,-0.095,3,https://planscore.org/plan.html?20260118T041432.718698136Z +predict8R,NH,,-0.338,2,https://planscore.org/plan.html?20260118T041510.267662429Z +predict8R,NJ,,-0.015,12,https://planscore.org/plan.html?20260118T041536.411398900Z +predict8R,NM,,-0.222,3,https://planscore.org/plan.html?20260118T041617.137744582Z +predict8R,NV,,-0.278,4,https://planscore.org/plan.html?20260118T041651.523328458Z +predict8R,NY,,0.006,26,https://planscore.org/plan.html?20260118T041721.627979687Z predict8R,OH,yes,-0.052,15,https://planscore.org/plan.html?20260118T030639.569202862Z -predict8R,OK,,0.0,5, -predict8R,OR,,0.0,6, -predict8R,PA,,0.0,17, -predict8R,RI,,0.0,2, -predict8R,SC,,0.0,7, -predict8R,SD,,0.0,1, -predict8R,TN,,0.0,9, +predict8R,OK,,0.034,5,https://planscore.org/plan.html?20260118T041821.275958371Z +predict8R,OR,,-0.058,6,https://planscore.org/plan.html?20260118T041859.476956968Z +predict8R,PA,,-0.025,17,https://planscore.org/plan.html?20260118T041929.518064589Z +predict8R,RI,,0.024,2,https://planscore.org/plan.html?20260118T042029.378098230Z +predict8R,SC,,-0.01,7,https://planscore.org/plan.html?20260118T042106.335464449Z +predict8R,SD,,-0.019,1,https://planscore.org/plan.html?20260118T042146.638471522Z +predict8R,TN,,0.078,9,https://planscore.org/plan.html?20260118T042220.937888795Z predict8R,TX,yes,0.004,38,https://planscore.org/plan.html?20260118T030342.710244620Z predict8R,UT,yes,-0.05,4,https://planscore.org/plan.html?20260117T234245.448786761Z predict8R,VA,,-0.001,11,https://planscore.org/plan.html?20260117T234311.377663437Z -predict8R,VT,,0.0,1, -predict8R,WA,,0.0,10, -predict8R,WI,,0.0,8, -predict8R,WV,,0.0,2, -predict8R,WY,,0.0,1, -predict9R,AK,,0.0,1, -predict9R,AL,,0.0,7, -predict9R,AR,,0.0,4, -predict9R,AZ,,0.0,9, +predict8R,VT,,0.29,1,https://planscore.org/plan.html?20260118T042305.507242672Z +predict8R,WA,,0.007,10,https://planscore.org/plan.html?20260118T042333.562620264Z +predict8R,WI,,-0.046,8,https://planscore.org/plan.html?20260118T042411.801801695Z +predict8R,WV,,0.003,2,https://planscore.org/plan.html?20260118T042449.346738359Z +predict8R,WY,,0.107,1,https://planscore.org/plan.html?20260118T042519.071696888Z +predict9R,AK,,-0.156,1,https://planscore.org/plan.html?20260118T040019.558353844Z +predict9R,AL,,0.109,7,https://planscore.org/plan.html?20260118T040044.135778365Z +predict9R,AR,,0.008,4,https://planscore.org/plan.html?20260118T040125.879199714Z +predict9R,AZ,,-0.027,9,https://planscore.org/plan.html?20260118T040201.775793587Z predict9R,CA,yes,-0.066,52,https://planscore.org/plan.html?20260118T030200.506995214Z -predict9R,CO,,0.0,8, -predict9R,CT,,0.0,5, -predict9R,DE,,0.0,1, -predict9R,FL,,0.0,28, -predict9R,GA,,0.0,14, -predict9R,HI,,0.0,2, -predict9R,IA,,0.0,4, -predict9R,ID,,0.0,2, +predict9R,CO,,-0.054,8,https://planscore.org/plan.html?20260118T040245.194464636Z +predict9R,CT,,0.019,5,https://planscore.org/plan.html?20260118T040317.504383000Z +predict9R,DE,,0.017,1,https://planscore.org/plan.html?20260118T040351.125860950Z +predict9R,FL,,-0.055,28,https://planscore.org/plan.html?20260118T040420.550937856Z +predict9R,GA,,0.011,14,https://planscore.org/plan.html?20260118T040520.802883762Z +predict9R,HI,,0.332,2,https://planscore.org/plan.html?20260118T040628.737791180Z +predict9R,IA,,-0.182,4,https://planscore.org/plan.html?20260118T040700.879882237Z +predict9R,ID,,0.015,2,https://planscore.org/plan.html?20260118T040731.527731921Z predict9R,IL,,0.055,17,https://planscore.org/plan.html?20260117T234106.654436222Z -predict9R,IN,,0.0,9, -predict9R,KS,,0.0,4, -predict9R,KY,,0.0,6, -predict9R,LA,,0.0,6, -predict9R,MA,,0.0,9, -predict9R,MD,,0.0,8, -predict9R,ME,,0.0,2, -predict9R,MI,,0.0,13, -predict9R,MN,,0.0,8, +predict9R,IN,,-0.01,9,https://planscore.org/plan.html?20260118T040808.559313184Z +predict9R,KS,,-0.147,4,https://planscore.org/plan.html?20260118T040847.848516655Z +predict9R,KY,,0.097,6,https://planscore.org/plan.html?20260118T040914.935290154Z +predict9R,LA,,0.188,6,https://planscore.org/plan.html?20260118T040952.288170647Z +predict9R,MA,,0.208,9,https://planscore.org/plan.html?20260118T041031.264677857Z +predict9R,MD,,0.043,8,https://planscore.org/plan.html?20260118T041109.107378771Z +predict9R,ME,,-0.015,2,https://planscore.org/plan.html?20260118T041138.396984642Z +predict9R,MI,,-0.035,13,https://planscore.org/plan.html?20260118T041214.878076965Z +predict9R,MN,,-0.009,8,https://planscore.org/plan.html?20260118T041245.160248234Z predict9R,MO,yes,-0.002,8,https://planscore.org/plan.html?20260118T030559.837394085Z predict9R,MS,yes,0.148,4,https://planscore.org/plan.html?20260118T030740.368231961Z -predict9R,MT,,0.0,2, +predict9R,MT,,-0.105,2,https://planscore.org/plan.html?20260118T041328.207783633Z predict9R,NC,yes,-0.065,14,https://planscore.org/plan.html?20260117T234156.678236264Z -predict9R,ND,,0.0,1, -predict9R,NE,,0.0,3, -predict9R,NH,,0.0,2, -predict9R,NJ,,0.0,12, -predict9R,NM,,0.0,3, -predict9R,NV,,0.0,4, -predict9R,NY,,0.0,26, +predict9R,ND,,0.063,1,https://planscore.org/plan.html?20260118T041401.051419382Z +predict9R,NE,,-0.078,3,https://planscore.org/plan.html?20260118T041431.712677272Z +predict9R,NH,,-0.337,2,https://planscore.org/plan.html?20260118T041504.738642292Z +predict9R,NJ,,-0.045,12,https://planscore.org/plan.html?20260118T041535.741200780Z +predict9R,NM,,-0.259,3,https://planscore.org/plan.html?20260118T041614.213845506Z +predict9R,NV,,-0.27,4,https://planscore.org/plan.html?20260118T041648.999678683Z +predict9R,NY,,0.006,26,https://planscore.org/plan.html?20260118T041720.870487178Z predict9R,OH,yes,-0.034,15,https://planscore.org/plan.html?20260118T030639.644875372Z -predict9R,OK,,0.0,5, -predict9R,OR,,0.0,6, -predict9R,PA,,0.0,17, -predict9R,RI,,0.0,2, -predict9R,SC,,0.0,7, -predict9R,SD,,0.0,1, -predict9R,TN,,0.0,9, +predict9R,OK,,0.049,5,https://planscore.org/plan.html?20260118T041820.558146463Z +predict9R,OR,,-0.067,6,https://planscore.org/plan.html?20260118T041859.857744263Z +predict9R,PA,,-0.03,17,https://planscore.org/plan.html?20260118T041928.695698667Z +predict9R,RI,,-0.041,2,https://planscore.org/plan.html?20260118T042028.717306990Z +predict9R,SC,,0.002,7,https://planscore.org/plan.html?20260118T042106.936060511Z +predict9R,SD,,-0.001,1,https://planscore.org/plan.html?20260118T042145.568810842Z +predict9R,TN,,0.094,9,https://planscore.org/plan.html?20260118T042220.187489334Z predict9R,TX,yes,0.019,38,https://planscore.org/plan.html?20260118T030341.391447285Z predict9R,UT,yes,-0.053,4,https://planscore.org/plan.html?20260117T234245.311067908Z predict9R,VA,,0.012,11,https://planscore.org/plan.html?20260117T234311.571250395Z -predict9R,VT,,0.0,1, -predict9R,WA,,0.0,10, -predict9R,WI,,0.0,8, -predict9R,WV,,0.0,2, -predict9R,WY,,0.0,1, -predict10R,AK,,0.0,1, -predict10R,AL,,0.0,7, -predict10R,AR,,0.0,4, -predict10R,AZ,,0.0,9, +predict9R,VT,,0.311,1,https://planscore.org/plan.html?20260118T042304.214404499Z +predict9R,WA,,-0.015,10,https://planscore.org/plan.html?20260118T042333.904166157Z +predict9R,WI,,-0.027,8,https://planscore.org/plan.html?20260118T042410.766137377Z +predict9R,WV,,0.019,2,https://planscore.org/plan.html?20260118T042448.570274320Z +predict9R,WY,,0.121,1,https://planscore.org/plan.html?20260118T042516.313201175Z +predict10R,AK,,-0.136,1,https://planscore.org/plan.html?20260118T040019.880319529Z +predict10R,AL,,0.104,7,https://planscore.org/plan.html?20260118T040044.909355765Z +predict10R,AR,,0.025,4,https://planscore.org/plan.html?20260118T040125.343642846Z +predict10R,AZ,,-0.024,9,https://planscore.org/plan.html?20260118T040201.051317181Z predict10R,CA,yes,-0.078,52,https://planscore.org/plan.html?20260118T030200.397641197Z -predict10R,CO,,0.0,8, -predict10R,CT,,0.0,5, -predict10R,DE,,0.0,1, -predict10R,FL,,0.0,28, -predict10R,GA,,0.0,14, -predict10R,HI,,0.0,2, -predict10R,IA,,0.0,4, -predict10R,ID,,0.0,2, +predict10R,CO,,-0.061,8,https://planscore.org/plan.html?20260118T040245.676051911Z +predict10R,CT,,-0.038,5,https://planscore.org/plan.html?20260118T040316.538185932Z +predict10R,DE,,-0.119,1,https://planscore.org/plan.html?20260118T040351.635190638Z +predict10R,FL,,-0.042,28,https://planscore.org/plan.html?20260118T040420.092427547Z +predict10R,GA,,0.025,14,https://planscore.org/plan.html?20260118T040520.430572358Z +predict10R,HI,,0.343,2,https://planscore.org/plan.html?20260118T040627.011859821Z +predict10R,IA,,-0.162,4,https://planscore.org/plan.html?20260118T040700.821056804Z +predict10R,ID,,0.032,2,https://planscore.org/plan.html?20260118T040731.762215889Z predict10R,IL,,0.051,17,https://planscore.org/plan.html?20260117T234106.273986862Z -predict10R,IN,,0.0,9, -predict10R,KS,,0.0,4, -predict10R,KY,,0.0,6, -predict10R,LA,,0.0,6, -predict10R,MA,,0.0,9, -predict10R,MD,,0.0,8, -predict10R,ME,,0.0,2, -predict10R,MI,,0.0,13, -predict10R,MN,,0.0,8, +predict10R,IN,,0.008,9,https://planscore.org/plan.html?20260118T040808.783686058Z +predict10R,KS,,-0.133,4,https://planscore.org/plan.html?20260118T040837.303595915Z +predict10R,KY,,0.098,6,https://planscore.org/plan.html?20260118T040914.180471748Z +predict10R,LA,,0.183,6,https://planscore.org/plan.html?20260118T040951.893268049Z +predict10R,MA,,0.17,9,https://planscore.org/plan.html?20260118T041031.976396020Z +predict10R,MD,,0.031,8,https://planscore.org/plan.html?20260118T041109.063825883Z +predict10R,ME,,-0.046,2,https://planscore.org/plan.html?20260118T041142.877574392Z +predict10R,MI,,-0.034,13,https://planscore.org/plan.html?20260118T041214.534618504Z +predict10R,MN,,-0.009,8,https://planscore.org/plan.html?20260118T041243.140798587Z predict10R,MO,yes,0.016,8,https://planscore.org/plan.html?20260118T030558.187773184Z predict10R,MS,yes,0.149,4,https://planscore.org/plan.html?20260118T030740.632554971Z -predict10R,MT,,0.0,2, +predict10R,MT,,-0.086,2,https://planscore.org/plan.html?20260118T041328.478511305Z predict10R,NC,yes,-0.045,14,https://planscore.org/plan.html?20260117T234156.233074361Z -predict10R,ND,,0.0,1, -predict10R,NE,,0.0,3, -predict10R,NH,,0.0,2, -predict10R,NJ,,0.0,12, -predict10R,NM,,0.0,3, -predict10R,NV,,0.0,4, -predict10R,NY,,0.0,26, +predict10R,ND,,0.079,1,https://planscore.org/plan.html?20260118T041401.337090356Z +predict10R,NE,,-0.061,3,https://planscore.org/plan.html?20260118T041431.904766946Z +predict10R,NH,,-0.327,2,https://planscore.org/plan.html?20260118T041503.176092961Z +predict10R,NJ,,-0.068,12,https://planscore.org/plan.html?20260118T041535.674263876Z +predict10R,NM,,-0.288,3,https://planscore.org/plan.html?20260118T041613.030414114Z +predict10R,NV,,-0.252,4,https://planscore.org/plan.html?20260118T041648.763379429Z +predict10R,NY,,0.007,26,https://planscore.org/plan.html?20260118T041718.485812460Z predict10R,OH,yes,-0.015,15,https://planscore.org/plan.html?20260118T030637.852038087Z -predict10R,OK,,0.0,5, -predict10R,OR,,0.0,6, -predict10R,PA,,0.0,17, -predict10R,RI,,0.0,2, -predict10R,SC,,0.0,7, -predict10R,SD,,0.0,1, -predict10R,TN,,0.0,9, +predict10R,OK,,0.065,5,https://planscore.org/plan.html?20260118T041820.191436617Z +predict10R,OR,,-0.068,6,https://planscore.org/plan.html?20260118T041859.315294663Z +predict10R,PA,,-0.036,17,https://planscore.org/plan.html?20260118T041926.552544301Z +predict10R,RI,,-0.116,2,https://planscore.org/plan.html?20260118T042028.961658989Z +predict10R,SC,,0.012,7,https://planscore.org/plan.html?20260118T042105.010410642Z +predict10R,SD,,0.015,1,https://planscore.org/plan.html?20260118T042145.900471961Z +predict10R,TN,,0.111,9,https://planscore.org/plan.html?20260118T042218.316802054Z predict10R,TX,yes,0.032,38,https://planscore.org/plan.html?20260118T030332.019915266Z predict10R,UT,yes,-0.049,4,https://planscore.org/plan.html?20260117T234245.625717273Z predict10R,VA,,0.025,11,https://planscore.org/plan.html?20260117T234311.368273783Z -predict10R,VT,,0.0,1, -predict10R,WA,,0.0,10, -predict10R,WI,,0.0,8, -predict10R,WV,,0.0,2, -predict10R,WY,,0.0,1, -predict11R,AK,,0.0,1, -predict11R,AL,,0.0,7, -predict11R,AR,,0.0,4, -predict11R,AZ,,0.0,9, +predict10R,VT,,0.326,1,https://planscore.org/plan.html?20260118T042304.722610911Z +predict10R,WA,,-0.039,10,https://planscore.org/plan.html?20260118T042330.001633607Z +predict10R,WI,,-0.007,8,https://planscore.org/plan.html?20260118T042409.992245301Z +predict10R,WV,,0.036,2,https://planscore.org/plan.html?20260118T042445.063125705Z +predict10R,WY,,0.135,1,https://planscore.org/plan.html?20260118T042515.837605107Z +predict11R,AK,,-0.116,1,https://planscore.org/plan.html?20260118T040019.308801156Z +predict11R,AL,,0.1,7,https://planscore.org/plan.html?20260118T040044.374661241Z +predict11R,AR,,0.042,4,https://planscore.org/plan.html?20260118T040124.180304595Z +predict11R,AZ,,-0.021,9,https://planscore.org/plan.html?20260118T040200.774051681Z predict11R,CA,yes,-0.087,52,https://planscore.org/plan.html?20260118T030200.141128823Z -predict11R,CO,,0.0,8, -predict11R,CT,,0.0,5, -predict11R,DE,,0.0,1, -predict11R,FL,,0.0,28, -predict11R,GA,,0.0,14, -predict11R,HI,,0.0,2, -predict11R,IA,,0.0,4, -predict11R,ID,,0.0,2, +predict11R,CO,,-0.07,8,https://planscore.org/plan.html?20260118T040245.881135903Z +predict11R,CT,,-0.098,5,https://planscore.org/plan.html?20260118T040313.750543553Z +predict11R,DE,,-0.208,1,https://planscore.org/plan.html?20260118T040351.674380753Z +predict11R,FL,,-0.031,28,https://planscore.org/plan.html?20260118T040417.751223491Z +predict11R,GA,,0.041,14,https://planscore.org/plan.html?20260118T040520.340516627Z +predict11R,HI,,0.329,2,https://planscore.org/plan.html?20260118T040626.481964382Z +predict11R,IA,,-0.141,4,https://planscore.org/plan.html?20260118T040659.089424120Z +predict11R,ID,,0.049,2,https://planscore.org/plan.html?20260118T040729.329062796Z predict11R,IL,,0.046,17,https://planscore.org/plan.html?20260117T234106.131667790Z -predict11R,IN,,0.0,9, -predict11R,KS,,0.0,4, -predict11R,KY,,0.0,6, -predict11R,LA,,0.0,6, -predict11R,MA,,0.0,9, -predict11R,MD,,0.0,8, -predict11R,ME,,0.0,2, -predict11R,MI,,0.0,13, -predict11R,MN,,0.0,8, +predict11R,IN,,0.026,9,https://planscore.org/plan.html?20260118T040808.119291506Z +predict11R,KS,,-0.116,4,https://planscore.org/plan.html?20260118T040835.664629137Z +predict11R,KY,,0.093,6,https://planscore.org/plan.html?20260118T040914.527668742Z +predict11R,LA,,0.175,6,https://planscore.org/plan.html?20260118T040951.484855708Z +predict11R,MA,,0.12,9,https://planscore.org/plan.html?20260118T041028.585124120Z +predict11R,MD,,0.02,8,https://planscore.org/plan.html?20260118T041100.452016591Z +predict11R,ME,,-0.079,2,https://planscore.org/plan.html?20260118T041137.540713252Z +predict11R,MI,,-0.034,13,https://planscore.org/plan.html?20260118T041207.663884529Z +predict11R,MN,,-0.011,8,https://planscore.org/plan.html?20260118T041244.623422026Z predict11R,MO,yes,0.033,8,https://planscore.org/plan.html?20260118T030547.581530491Z predict11R,MS,yes,0.14,4,https://planscore.org/plan.html?20260118T030740.517657323Z -predict11R,MT,,0.0,2, +predict11R,MT,,-0.066,2,https://planscore.org/plan.html?20260118T041328.044013426Z predict11R,NC,yes,-0.026,14,https://planscore.org/plan.html?20260117T234155.737098406Z -predict11R,ND,,0.0,1, -predict11R,NE,,0.0,3, -predict11R,NH,,0.0,2, -predict11R,NJ,,0.0,12, -predict11R,NM,,0.0,3, -predict11R,NV,,0.0,4, -predict11R,NY,,0.0,26, +predict11R,ND,,0.095,1,https://planscore.org/plan.html?20260118T041400.957965735Z +predict11R,NE,,-0.043,3,https://planscore.org/plan.html?20260118T041431.332562284Z +predict11R,NH,,-0.31,2,https://planscore.org/plan.html?20260118T041503.288872506Z +predict11R,NJ,,-0.08,12,https://planscore.org/plan.html?20260118T041534.676170510Z +predict11R,NM,,-0.302,3,https://planscore.org/plan.html?20260118T041613.465222509Z +predict11R,NV,,-0.234,4,https://planscore.org/plan.html?20260118T041648.260612841Z +predict11R,NY,,0.009,26,https://planscore.org/plan.html?20260118T041717.708714964Z predict11R,OH,yes,0.003,15,https://planscore.org/plan.html?20260118T030637.728645134Z -predict11R,OK,,0.0,5, -predict11R,OR,,0.0,6, -predict11R,PA,,0.0,17, -predict11R,RI,,0.0,2, -predict11R,SC,,0.0,7, -predict11R,SD,,0.0,1, -predict11R,TN,,0.0,9, +predict11R,OK,,0.081,5,https://planscore.org/plan.html?20260118T041820.320935491Z +predict11R,OR,,-0.06,6,https://planscore.org/plan.html?20260118T041859.104920591Z +predict11R,PA,,-0.039,17,https://planscore.org/plan.html?20260118T041926.696907657Z +predict11R,RI,,-0.175,2,https://planscore.org/plan.html?20260118T042028.013638065Z +predict11R,SC,,0.013,7,https://planscore.org/plan.html?20260118T042105.327905569Z +predict11R,SD,,0.033,1,https://planscore.org/plan.html?20260118T042143.323678701Z +predict11R,TN,,0.127,9,https://planscore.org/plan.html?20260118T042218.576620605Z predict11R,TX,yes,0.044,38,https://planscore.org/plan.html?20260118T030331.738486725Z predict11R,UT,yes,-0.037,4,https://planscore.org/plan.html?20260117T234245.926777968Z predict11R,VA,,0.035,11,https://planscore.org/plan.html?20260117T234311.872389943Z -predict11R,VT,,0.0,1, -predict11R,WA,,0.0,10, -predict11R,WI,,0.0,8, -predict11R,WV,,0.0,2, -predict11R,WY,,0.0,1, -predict12R,AK,,0.0,1, -predict12R,AL,,0.0,7, -predict12R,AR,,0.0,4, -predict12R,AZ,,0.0,9, +predict11R,VT,,0.336,1,https://planscore.org/plan.html?20260118T042304.157670968Z +predict11R,WA,,-0.064,10,https://planscore.org/plan.html?20260118T042330.154456226Z +predict11R,WI,,0.013,8,https://planscore.org/plan.html?20260118T042408.294582047Z +predict11R,WV,,0.052,2,https://planscore.org/plan.html?20260118T042445.089231696Z +predict11R,WY,,0.149,1,https://planscore.org/plan.html?20260118T042515.184891291Z +predict12R,AK,,-0.096,1,https://planscore.org/plan.html?20260118T040019.310184411Z +predict12R,AL,,0.095,7,https://planscore.org/plan.html?20260118T040044.821039581Z +predict12R,AR,,0.057,4,https://planscore.org/plan.html?20260118T040123.213655040Z +predict12R,AZ,,-0.015,9,https://planscore.org/plan.html?20260118T040200.604178604Z predict12R,CA,yes,-0.094,52,https://planscore.org/plan.html?20260118T030200.294312663Z -predict12R,CO,,0.0,8, -predict12R,CT,,0.0,5, -predict12R,DE,,0.0,1, -predict12R,FL,,0.0,28, -predict12R,GA,,0.0,14, -predict12R,HI,,0.0,2, -predict12R,IA,,0.0,4, -predict12R,ID,,0.0,2, +predict12R,CO,,-0.072,8,https://planscore.org/plan.html?20260118T040245.237458155Z +predict12R,CT,,-0.152,5,https://planscore.org/plan.html?20260118T040314.156420683Z +predict12R,DE,,-0.27,1,https://planscore.org/plan.html?20260118T040351.735463511Z +predict12R,FL,,-0.021,28,https://planscore.org/plan.html?20260118T040418.983375145Z +predict12R,GA,,0.058,14,https://planscore.org/plan.html?20260118T040520.090886440Z +predict12R,HI,,0.289,2,https://planscore.org/plan.html?20260118T040624.269691276Z +predict12R,IA,,-0.121,4,https://planscore.org/plan.html?20260118T040659.728963966Z +predict12R,ID,,0.065,2,https://planscore.org/plan.html?20260118T040728.969555831Z predict12R,IL,,0.039,17,https://planscore.org/plan.html?20260117T234106.397562328Z -predict12R,IN,,0.0,9, -predict12R,KS,,0.0,4, -predict12R,KY,,0.0,6, -predict12R,LA,,0.0,6, -predict12R,MA,,0.0,9, -predict12R,MD,,0.0,8, -predict12R,ME,,0.0,2, -predict12R,MI,,0.0,13, -predict12R,MN,,0.0,8, +predict12R,IN,,0.044,9,https://planscore.org/plan.html?20260118T040807.412859484Z +predict12R,KS,,-0.098,4,https://planscore.org/plan.html?20260118T040835.007351879Z +predict12R,KY,,0.086,6,https://planscore.org/plan.html?20260118T040914.286566895Z +predict12R,LA,,0.168,6,https://planscore.org/plan.html?20260118T040951.799177570Z +predict12R,MA,,0.061,9,https://planscore.org/plan.html?20260118T041028.667324188Z +predict12R,MD,,0.004,8,https://planscore.org/plan.html?20260118T041059.353145039Z +predict12R,ME,,-0.124,2,https://planscore.org/plan.html?20260118T041137.847342023Z +predict12R,MI,,-0.032,13,https://planscore.org/plan.html?20260118T041206.530046382Z +predict12R,MN,,-0.015,8,https://planscore.org/plan.html?20260118T041242.292003565Z predict12R,MO,yes,0.051,8,https://planscore.org/plan.html?20260118T030547.292371665Z predict12R,MS,yes,0.127,4,https://planscore.org/plan.html?20260118T030740.058286956Z -predict12R,MT,,0.0,2, +predict12R,MT,,-0.048,2,https://planscore.org/plan.html?20260118T041328.917578563Z predict12R,NC,yes,-0.007,14,https://planscore.org/plan.html?20260117T234155.082537795Z -predict12R,ND,,0.0,1, -predict12R,NE,,0.0,3, -predict12R,NH,,0.0,2, -predict12R,NJ,,0.0,12, -predict12R,NM,,0.0,3, -predict12R,NV,,0.0,4, -predict12R,NY,,0.0,26, +predict12R,ND,,0.109,1,https://planscore.org/plan.html?20260118T041400.361668915Z +predict12R,NE,,-0.025,3,https://planscore.org/plan.html?20260118T041431.691840032Z +predict12R,NH,,-0.29,2,https://planscore.org/plan.html?20260118T041503.791399459Z +predict12R,NJ,,-0.087,12,https://planscore.org/plan.html?20260118T041534.465000834Z +predict12R,NM,,-0.308,3,https://planscore.org/plan.html?20260118T041612.554843751Z +predict12R,NV,,-0.215,4,https://planscore.org/plan.html?20260118T041644.819366599Z +predict12R,NY,,0.013,26,https://planscore.org/plan.html?20260118T041717.941974102Z predict12R,OH,yes,0.021,15,https://planscore.org/plan.html?20260118T030637.946673077Z -predict12R,OK,,0.0,5, -predict12R,OR,,0.0,6, -predict12R,PA,,0.0,17, -predict12R,RI,,0.0,2, -predict12R,SC,,0.0,7, -predict12R,SD,,0.0,1, -predict12R,TN,,0.0,9, +predict12R,OK,,0.096,5,https://planscore.org/plan.html?20260118T041820.115124171Z +predict12R,OR,,-0.046,6,https://planscore.org/plan.html?20260118T041859.597906063Z +predict12R,PA,,-0.043,17,https://planscore.org/plan.html?20260118T041926.547458765Z +predict12R,RI,,-0.221,2,https://planscore.org/plan.html?20260118T042028.701145029Z +predict12R,SC,,0.011,7,https://planscore.org/plan.html?20260118T042105.045648676Z +predict12R,SD,,0.049,1,https://planscore.org/plan.html?20260118T042143.164296386Z +predict12R,TN,,0.143,9,https://planscore.org/plan.html?20260118T042215.434015687Z predict12R,TX,yes,0.054,38,https://planscore.org/plan.html?20260118T030331.720171855Z predict12R,UT,yes,-0.024,4,https://planscore.org/plan.html?20260117T234245.745755577Z predict12R,VA,,0.039,11,https://planscore.org/plan.html?20260117T234311.522115761Z -predict12R,VT,,0.0,1, -predict12R,WA,,0.0,10, -predict12R,WI,,0.0,8, -predict12R,WV,,0.0,2, -predict12R,WY,,0.0,1, +predict12R,VT,,0.329,1,https://planscore.org/plan.html?20260118T042304.427024200Z +predict12R,WA,,-0.088,10,https://planscore.org/plan.html?20260118T042330.111687049Z +predict12R,WI,,0.032,8,https://planscore.org/plan.html?20260118T042408.474780834Z +predict12R,WV,,0.069,2,https://planscore.org/plan.html?20260118T042440.718997303Z +predict12R,WY,,0.163,1,https://planscore.org/plan.html?20260118T042514.557677505Z diff --git a/update-ushouse-vote-swings.py b/update-ushouse-vote-swings.py index 1626ebe0..75fe3523 100755 --- a/update-ushouse-vote-swings.py +++ b/update-ushouse-vote-swings.py @@ -693,11 +693,7 @@ def build_state_swings(service, states: dict, district_swings: dict, api_key: st clone_tasks = [] state_rows = [] - # TEMPORARY: Hardcode Illinois, Virginia, and redrawn states - # TODO: expand to sorted(states.keys()) in later stages - state_abbrevs = ["IL", "VA", "CA", "TX", "MO", "OH", "NC", "UT", "MS"] - - for abbrev in state_abbrevs: + for abbrev in sorted(states.keys()): state_data = states[abbrev] plan_url = state_data.get('PlanScore URL', '').strip() From f2393b6b96ccf5fd7d53ac47e92bc7100398bf51 Mon Sep 17 00:00:00 2001 From: Michal Migurski Date: Sun, 18 Jan 2026 21:56:53 -0800 Subject: [PATCH 22/22] Moved vote swing caption below --- index.scss | 4 +--- index.src.html | 10 +++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/index.scss b/index.scss index c5324489..eeec760d 100644 --- a/index.scss +++ b/index.scss @@ -345,6 +345,7 @@ body.ushouse-selected { #yearpicker-predict-voteswing { text { font-size: 10px; + text-anchor: middle; } #yearpicker-predict-slider { fill: white; @@ -356,9 +357,6 @@ body.ushouse-selected { fill: black; stroke: none; } - text { - text-anchor: middle; - } } } } diff --git a/index.src.html b/index.src.html index df806f20..4425c9f7 100644 --- a/index.src.html +++ b/index.src.html @@ -507,13 +507,13 @@

Evaluate their fairness.

2026 Predictions - Vote swing: - + - - - Even + + + Even + Drag to swing vote