diff --git a/README.md b/README.md index f0320f0..477b562 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,13 @@ Agent-based supply chain simulation for the **PROVIDER** research project (BMBF-funded, OFFIS e.V.). -Models the global soya supply chain from Brazilian/US farms through wholesalers, sea transport, -EU processors, and feed manufacturers to EU livestock farms. Scenarios apply KG-derived shock -parameters (drought, port capacity, input price shocks) and observe emergent price and sourcing -behaviour across the chain. +Models the global soya supply chain from Brazil, Argentina, and US farms through wholesalers, +sea transport, EU processors, and feed manufacturers to EU livestock farms. A PDL YAML +describes entities, stages, and shock events; a roster sidecar next to it declares +archetypes and which PDL entities are not modelled. Added trading entities and +edges are listed in the sidecar but not yet wired into the roster builder. The +model applies those shocks (drought, +port capacity, input prices) and records price and sourcing behaviour across the chain. Built on [Melodie](https://github.com/ABM4ALL/Melodie) (Python ABM framework). @@ -16,30 +19,33 @@ Built on [Melodie](https://github.com/ABM4ALL/Melodie) (Python ABM framework). ``` simenv/ ├── pyproject.toml +├── web/ ← globe frontend (see web/README.md) └── src/ └── provider_simenv/ ├── main.py ← entry point ├── model.py ← simulation orchestrator - ├── scenario.py ← all scenario parameters + ├── scenario.py ← engine parameters (counts, costs, sigmas) + ├── topology.py ← PDL + roster → agent lists and flow graph ├── environment.py ← global state + price aggregation + ├── pdl_loader.py ← PDL YAML → events / entities ├── data_collector.py ← Melodie output registration ├── tick_writer.py ← per-tick PostgreSQL writer ├── db_config.py ← PostgreSQL connection config - ├── visualize_sql.py ← plots from SQLite (post-run) - ├── visualize_csv.py ← plots from CSV (fallback) + ├── export_bundle.py ← CSV run → web/public/bundle.json + ├── scenarios/ + │ ├── s1-soja.pdl.yaml + │ └── s1-soja.roster.yaml ├── agents/ - │ ├── farmer.py ← BRA / USA / EU farmers + │ ├── farmer.py ← producers + EU livestock farms │ ├── trader.py ← wholesalers + feed traders │ ├── transport.py ← land + sea transport operators │ └── process.py ← processors + feed manufacturers └── data/ ├── input/ - │ └── SimulatorScenarios.csv ← scenario definitions - └── output/ ← generated at runtime - ├── Result_Simulator_*.csv - ├── provider-simenv.sqlite - ├── price_curves.png - └── volume_flow.png + │ ├── SimulatorScenarios.csv ← working copy Melodie reads + │ └── SimulatorScenarios_template.csv ← edit this; every run copies it + └── output/ ← generated at runtime + └── Result_Simulator_*.csv ``` --- @@ -54,7 +60,6 @@ simenv/ Melodie>=0.6.0 pandas numpy -matplotlib pyyaml ``` @@ -66,7 +71,7 @@ psycopg2-binary ``` If `sqlalchemy` / `psycopg2-binary` are not installed, the tick writer disables itself -silently and the simulation continues normally. CSV and SQLite outputs are unaffected. +silently and the simulation continues normally. CSV output is unaffected. ### Install @@ -97,55 +102,69 @@ pip install '.[db]' ## Running the Simulation +After `pip install -e .`, from the **repository root**: + ```bash -# Navigate to the simulation package — Melodie resolves data/ paths from here -cd src/provider_simenv +# Windows: the scenario summary prints characters that fail on cp1252 +# $env:PYTHONIOENCODING="utf-8" -# Run -python main.py +# All rows in SimulatorScenarios.csv (no PDL events) +python -m provider_simenv.main + +# Shocks and roster from the shipped soja PDL +python -m provider_simenv.main --pdl src/provider_simenv/scenarios/s1-soja.pdl.yaml +``` + +Alternatively, from the package directory (what the Docker image does): + +```bash +cd src/provider_simenv +python main.py --pdl scenarios/s1-soja.pdl.yaml ``` -The simulation reads scenarios from `data/input/SimulatorScenarios.csv`, runs all scenarios -in sequence, and writes output to `data/output/`. +Every run copies `SimulatorScenarios_template.csv` onto `SimulatorScenarios.csv` first. +With `--pdl`, the live CSV is then rewritten to two rows: baseline (`id=0`) and one PDL +scenario (`id=1`). Shock magnitudes and timing come from PDL events at runtime, not from +CSV columns. **What runs automatically:** -1. Simulation loop — all scenarios, 52 steps each, per-tick stdout +1. Simulation loop — each CSV row, `period_num` steps (default 365) 2. Per-tick PostgreSQL writes via `tick_writer.py` (if Postgres is reachable; silent skip otherwise) -3. Post-run: CSV → SQLite merge → `provider-simenv.sqlite` -### Generate Plots (after a run) +### Update the globe frontend after a run ```bash -# From src/provider_simenv/ - -# Recommended: plots from SQLite — price curves + BRA/USA volume flow -python visualize_sql.py - -# Fallback: plots from CSV -python visualize_csv.py +python -m provider_simenv.export_bundle --scenario 1 ``` -Output PNGs are saved to `data/output/`. +The exporter writes `web/public/bundle.json`. See `web/README.md` for the frontend workflow. --- ## Scenarios -Scenarios are defined in `data/input/SimulatorScenarios.csv`. Each row is one scenario run. +`data/input/SimulatorScenarios.csv` is the working table Melodie reads. Change the +**template**, not the live file — every run overwrites the live copy from the template. + +Each row is one run. Columns are engine parameters (agent counts, routing, size sigmas, +storage, length). Producer counts use PDL entity ids (`n_brazil_farms`, `n_argentina_farms`, +`n_us_farms`). + +Shocks are not CSV columns. Pass `--pdl`; `EventTracker` applies drought, capacity, and +input-price events from the YAML. The shipped files are `scenarios/s1-soja.pdl.yaml` and +`scenarios/s1-soja.roster.yaml` beside it (archetype declarations and not-modelled +exclusions; trading entities and edges are declared but not yet wired into the roster +builder). | Parameter | Effect | |---|---| -| `farm_capacity_bra` | BRA farm output multiplier — `1.0` = normal, `0.7` = 30% drought loss | -| `port_capacity_sa` | SA export port throughput multiplier | -| `fertilizer_price_factor` | Multiplier on BRA farmer fixed costs (GTA Red interventions) | -| `energy_price_factor` | Multiplier on all transport fixed costs | -| `oil_mill_capacity` | EU processor output multiplier | -| `feed_mill_capacity` | Feed manufacturer output multiplier | -| `shock_onset_step` | Step at which shock starts ramping in | -| `shock_ramp_steps` | Steps to ramp from baseline to full shock value | -| `wholesaler_storage_capacity` | Max tonnes a wholesaler can hold per step (default: 20 000 t) | -| `period_num` | Number of simulation steps (default: 52) | +| `n_brazil_farms` / `n_argentina_farms` / `n_us_farms` | Producer agent counts | +| `share_santos_port` | Explicit weight for the Santos route; unspecified route weights are resolved per origin | +| `shock_ramp_steps` | Ramp length when a PDL shock is active | +| `size_sigma_brazil_farms` | Log-normal farm-size spread (`0` = identical farms) | +| `wholesaler_storage_capacity` | Max tonnes a wholesaler can hold per step (default 2857 t/day) | +| `period_num` | Number of simulation steps (default 365) | --- @@ -170,6 +189,9 @@ You can also configure a PostgreSQL interface for data storage (see next chapter docker run --rm -v :/scenarios provider-simenv --pdl /scenarios/ --postgres-url ``` +If the PDL has a roster sidecar, mount the directory that contains both files +(`s1-soja.pdl.yaml` and `s1-soja.roster.yaml`). + --- ## PostgreSQL Setup (Optional) @@ -206,7 +228,7 @@ Override by constructing `PostgresDBConfig` with different values or passing env ### Verify data after a run ```sql --- Should return 3 rows, each COUNT = 52 (for a 3-scenario, 52-step run) +-- PDL run: 2 scenarios, each COUNT = period_num (default 365) SELECT id_scenario, COUNT(*) FROM "Result_Simulator_Environment" GROUP BY id_scenario @@ -215,18 +237,27 @@ ORDER BY id_scenario; ### Tables written by tick_writer +Table names derive from the PDL entity id (`brazil_farms` -> +`Result_Simulator_BrazilFarms`), identical to the Melodie CSV names, so a PDL +declaring different entities produces the matching tables with no code change. +One table per roster list whose role has recorded properties, plus the +environment table. For the shipped PDL: + ``` Result_Simulator_Environment -Result_Simulator_BraFarmers -Result_Simulator_UsaFarmers -Result_Simulator_Wholesalers +Result_Simulator_BrazilFarms +Result_Simulator_ArgentinaFarms +Result_Simulator_UsFarms +Result_Simulator_BrazilWholesaler +Result_Simulator_ArgentinaWholesaler +Result_Simulator_UsWholesaler Result_Simulator_Processors Result_Simulator_FeedManufacturers Result_Simulator_FeedTraders Result_Simulator_EuFarmers ``` -Tables are dropped and recreated at the start of each full simulation run (first scenario only). +Tables are dropped and recreated on the first tick of each full simulation run (first scenario only). Subsequent scenarios within the same run append to the existing tables. --- @@ -234,7 +265,7 @@ Subsequent scenarios within the same run append to the existing tables. ## docker-compose You can also run a docker compose that sets up a PostgreSQL database and links it to the simulation container. -Using our helper script, everything is configured automatically. +Using our helper script, everything is configured automatically. Just run ```bash @@ -249,22 +280,19 @@ from the repository root. This builds the database container, if it's not alread | File | Description | |---|---| | `data/output/Result_Simulator_*.csv` | Raw per-agent per-step output written by Melodie | -| `data/output/provider-simenv.sqlite` | All CSVs merged into one SQLite database (post-run) | -| `data/output/price_curves.png` | Soja + feed price development across all scenarios | -| `data/output/volume_flow.png` | BRA vs USA sourcing volumes per scenario | +| `web/public/bundle.json` | Exported run for the globe (`python -m provider_simenv.export_bundle`) | --- ## Known Issues / Notes -- **Run from `src/provider_simenv/`** — Melodie resolves `data/` paths relative to the working directory. Running from the repo root will fail to find input files. -- **Melodie SQLite mode is disabled** — `data_output_type="sqlite"` silently drops all rows due to a missing `conn.commit()` in SQLAlchemy 2.0. The `csv_to_sqlite()` function in `main.py` is used instead and called automatically. +- **`python main.py` needs the package directory** (`src/provider_simenv/`). After `pip install -e .`, `python -m provider_simenv.main` from the repo root works — `Config` resolves `data/` from `main.py`'s location, not the cwd. - **`run_stepwise()`** in `model.py` is the designated integration hook for external control (e.g. palaestrAI). It yields a state dict `{step, shock_scale, soja_price, feed_price, ...}` after every simulation step. --- ## Project -PROVIDER — AI-based supply chain resilience simulation -OFFIS e.V. – Institut für Informatik, Oldenburg +PROVIDER — AI-based supply chain resilience simulation +OFFIS e.V. – Institut für Informatik, Oldenburg BMBF-funded diff --git a/src/provider_simenv/agents/farmer.py b/src/provider_simenv/agents/farmer.py index 8a5ebfa..bd826bd 100644 --- a/src/provider_simenv/agents/farmer.py +++ b/src/provider_simenv/agents/farmer.py @@ -2,8 +2,8 @@ role="producer" Regional soja producers. All run one region-agnostic step: output = base_yield * effective("capacity") price = effective fixed_costs / delivered quantity * (1 + margin) - Producers differ only in their cost/margin parameters and which PDL shocks their archetype binds - (BRA binds fertilizer. Each binds its own entity's supply/capacity shock) + Producers differ only in their cost/margin parameters and declared PDL bindings. + Each binds declared inputs and its own entity's supply/capacity shock. No producer is hardwired shock-immune or as a fixed surplus supplier. (supply surges come from the PDL) @@ -118,7 +118,8 @@ def _step_producer(self): Output = base_yield * effective("capacity") effective("capacity") is this producer's own supply-shock multiplier (1.0 when unbound) so a drought or a supply event scales output directly. Lower output raises the per unit price. - effective("fertilizer") (1.0 when unbound) raises effective fixed costs this step for producers that bind it (BRA) + effective("fertilizer") (1.0 when unbound) raises effective fixed costs + for producers with that declared input. """ capacity = self.effective("capacity") self.quantity_available = self.base_yield * capacity diff --git a/src/provider_simenv/agents/trader.py b/src/provider_simenv/agents/trader.py index 401cbb6..7184317 100644 --- a/src/provider_simenv/agents/trader.py +++ b/src/provider_simenv/agents/trader.py @@ -1,7 +1,7 @@ """ -agents/trader.py — Pure intermediary / trading actors. +agents/trader.py — Trading actors. - role="wholesaler" Aggregates soja from BRA + USA farmers (greedy cheapest first) + role="wholesaler" Aggregates soja from one producing region price = (input_cost + fixed_costs/stock) * (1 + margin) role="feed_trader" Distributes feed to EU livestock farmers. @@ -22,7 +22,7 @@ class Trader(SupplyChainAgent): """ - Pure intermediary — soja wholesaler or feed distributor. + Soja originator or feed distributor. Shared state: role "wholesaler" or "feed_trader". @@ -39,14 +39,6 @@ def setup(self): self.margin: float = 0.0 self.stock: float = 0.0 - # volume sourced per PDL origin this step - self.volume_by_origin: dict[str, float] = {} - - # volume sourced from each origin this step - self.bra_volume: float = 0.0 - self.arg_volume: float = 0.0 - self.usa_volume: float = 0.0 - # storage capacity and utilisation (wholesaler only) self.storage_capacity: float = 0.0 self.storage_utilization: float = 0.0 # stock / storage_capacity @@ -72,81 +64,53 @@ def step(self): self._step_feed_trader() # ------------------------------------------------------------------ - # Wholesaler: greedy cheapest first across BRA + USA farmers + # Wholesaler: regional aggregation # ------------------------------------------------------------------ def _step_wholesaler(self): """ - Pool BRA + ARG + USA farmer output and fill this wholesaler's stock - allocation greedily from the cheapest source first. - - Workflow: - 1. Pool all active BRA + ARG + USA farmers into one list. - 2. Each wholesaler's stock = total_supply / n_wholesalers - (push model - all supply flows forward) - 3. Sort pooled farmers by unit_price ascending. - 4. Walk cheapest-first: take each farmer's share - (farmer.quantity_available / n_wholesalers) until - this wholesaler's allocation is filled. - 5. avg_input_price = quantity-weighted cost of what was taken. - - Emergent switching: - Under a BRA shock, BRA unit_price rises above USA unit_price -> - USA sorts to the front -> - wholesaler fills from USA first -> - lower average input cost propagates downstream automatically. + Aggregate the output of this originator's own upstream farmers. """ - parts = self.model.upstream_parts("wholesalers") - all_farmers = self.model.upstream("wholesalers") - n_wholesalers = len(self.model.wholesalers.filter(lambda w: w.active)) - - if not all_farmers or n_wholesalers == 0: + list_name = self.origin + if not list_name: + list_name = next( + entry.archetype.name + for entry in self.model._roster + if entry.archetype.role == ROLE_WHOLESALER + and any( + agent is self + for agent in getattr(self.model, entry.archetype.name).agents + ) + ) + + farmers = self.model.upstream(list_name) + peers = getattr(self.model, list_name) + n_wholesalers = len(peers.filter(lambda w: w.active)) + + if not farmers or n_wholesalers == 0: self.stock = 0.0 self.quantity_available = 0.0 self.unit_price = 0.0 - self.volume_by_origin = {} - self.bra_volume = 0.0 - self.arg_volume = 0.0 - self.usa_volume = 0.0 + self.storage_utilization = 0.0 return - # Demand target: based on unshocked capacity, not current disrupted supply - # Under no shock: demand == old push share - # Under BRA shock: demand stays the same -> wholesaler actively pulls more from USA - normal_capacity = sum(sum(f.base_yield for f in part) for part in parts) - my_demand = min(normal_capacity / n_wholesalers, self.storage_capacity) - - # Greedy fill: pull from cheapest source first, up to each farmer's - # available allocation (farmer.quantity_available / n_wholesalers) - # USA farmers expose surplus capacity via quantity_available > base_yield, - # so wholesalers can pull more from USA when BRA is expensive. - sorted_farmers = sorted(all_farmers, key=lambda f: f.unit_price) - remaining = my_demand - total_cost = 0.0 - volume_by_origin: dict[str, float] = {} - for farmer in sorted_farmers: - if remaining <= 0.0: - break - farmer_alloc = farmer.quantity_available / n_wholesalers - taken = min(farmer_alloc, remaining) - total_cost += taken * farmer.unit_price - remaining -= taken - volume_by_origin[farmer.origin] = volume_by_origin.get(farmer.origin, 0.0) + taken - - actual_taken = sum(volume_by_origin.values()) - self.volume_by_origin = volume_by_origin - - # compatibility view for the current CSV schema + transport routing - # branch 19 removes these three attrs when it refactors transport routing and the output schema off per-region volumes. - self.bra_volume = volume_by_origin.get("brazil_farms", 0.0) - self.arg_volume = volume_by_origin.get("argentina_farms", 0.0) - self.usa_volume = volume_by_origin.get("us_farms", 0.0) + normal_capacity = sum(f.base_yield for f in farmers) + current_supply = sum(f.quantity_available for f in farmers) + normal_share = normal_capacity / n_wholesalers + current_share = current_supply / n_wholesalers + my_demand = min( + max(normal_share, current_share), + self.storage_capacity, + ) + actual_taken = min(current_share, my_demand) + self.stock = actual_taken self.quantity_available = actual_taken self.storage_utilization = (actual_taken / self.storage_capacity if self.storage_capacity > 0 else 0.0) - avg_input_price = total_cost / actual_taken if actual_taken > 0 else 0.0 + total_value = sum(f.unit_price * f.quantity_available for f in farmers) + avg_input_price = total_value / current_supply if current_supply > 0 else 0.0 if self.stock > 0: cost_per_unit = avg_input_price + self.fixed_costs / self.stock diff --git a/src/provider_simenv/agents/transport.py b/src/provider_simenv/agents/transport.py index f24507d..3a0a938 100644 --- a/src/provider_simenv/agents/transport.py +++ b/src/provider_simenv/agents/transport.py @@ -1,10 +1,10 @@ """ - role="sa_santos" Land / port transport: wholesalers (BRA+USA) -> Santos export port - role="sa_paranagua" Land / port transport: wholesalers (BRA+USA) -> Paranagua export port + role="sa_santos" Land / port transport: Brazil originator -> Santos export port + role="sa_paranagua" Land / port transport: Brazil originator -> Paranagua export port role="sea_santos" Maritime transport: Santos -> EU Port (Rotterdam) role="sea_paranagua" Maritime transport: Paranagua -> EU Port (Hamburg) - role="sea_arg" Maritime transport: ARG wholesalers -> EU Port (Rotterdam) - Bypasses SA land transport + role="sea_arg" Maritime transport: Argentina originator -> EU Port (Rotterdam) + role="sea_usa" Maritime transport: US originator -> EU Port (Rotterdam) role="eu_rtm" Land transport: Rotterdam (sea_santos + sea_arg + sea_usa -> processor) role="eu_ham" Land transport: Hamburg (sea_paranagua -> processor) @@ -12,11 +12,8 @@ unit_price = upstream_unit_price + (fixed_costs / quantity_moved) * (1 + margin) Volume routing: - BRA + USA soy: - wholesaler (BRA + USA volume) * santos_share -> transport_sa_santos -> sea_lane_santos - wholesaler (BRA + USA volume) * (1 - santos_share) -> transport_sa_paranagua -> sea_lane_paranagua - ARG soy: - wholesaler arg_volume -> sea_lane_arg (direct, no SA land transport) + Brazil soy splits across its declared export ports using entity-keyed shares. + Argentina and US originators each feed their own sea lane directly. sea_santos/arg/usa merge at eu_rtm. sea_paranagua arrives at eu_ham. @@ -28,6 +25,8 @@ 3. agent.post_setup() → starts at full capacity with the initial service fee. """ +import math + from .base import SupplyChainAgent ROLE_SA_SANTOS = "sa_santos" @@ -87,9 +86,9 @@ def step(self): elif self.role == ROLE_SEA_PARANAGUA: self._step_sea_paranagua() elif self.role == ROLE_SEA_ARG: - self._step_sea_arg() + self._move(self.model.upstream("sea_lane_arg")) elif self.role == ROLE_SEA_USA: - self._step_sea_usa() + self._move(self.model.upstream("sea_lane_usa")) elif self.role == ROLE_EU_RTM: self._step_eu_rtm() elif self.role == ROLE_EU_HAM: @@ -102,7 +101,7 @@ def step(self): def _move(self, upstream): """ - Pull an equal share of upstream output, ca at own capacity, + Pull an equal share of upstream output, cap at own capacity, and compute the all-in price passed to the next chain node. Capacity is scaled by this agent's "capacity" binding slot (the port @@ -150,7 +149,53 @@ def _move(self, upstream): self.unit_price = 0.0 - def _move_split(self, upstream_list, share: float, exclude_arg=False, exclude_usa=False): + def _route_share(self, list_name: str) -> float: + """Normalized share for one of an originator's declared port routes.""" + adjacency = self.model._flow_adjacency + upstream_names = adjacency.get(list_name, ()) + routes: dict[str, str] = {} + for entry in self.model._roster: + route_name = entry.archetype.name + if entry.archetype.agent_class is not Transport: + continue + if len(entry.entity_ids) != 1: + continue + if adjacency.get(route_name, ()) == upstream_names: + routes[route_name] = entry.entity_ids[0] + + if list_name not in routes: + raise ValueError(f"transport route {list_name!r} has no declared port entity") + + explicit: dict[str, float] = {} + unspecified: list[str] = [] + for route_name, entity_id in routes.items(): + attr = f"share_{entity_id}" + if not hasattr(self.scenario, attr): + unspecified.append(route_name) + continue + value = float(getattr(self.scenario, attr)) + if not math.isfinite(value) or value < 0.0: + raise ValueError(f"{attr} must be a finite non-negative route weight") + explicit[route_name] = value + + if len(routes) == 1: + return 1.0 + if not explicit: + return 1.0 / len(routes) + + weights = dict(explicit) + remaining = max(0.0, 1.0 - sum(explicit.values())) + if unspecified: + default = remaining / len(unspecified) + weights.update({route_name: default for route_name in unspecified}) + + total = sum(weights.values()) + if total <= 0.0: + raise ValueError("route weights must have a positive total") + return weights[list_name] / total + + + def _move_split(self, upstream_list, share: float): """ Like _move, but routes only share fraction of total upstream volume through this port. Used to split wholesaler output between Santos and Paranagua. @@ -171,18 +216,14 @@ def _move_split(self, upstream_list, share: float, exclude_arg=False, exclude_us return total_volume = sum(a.quantity_available for a in active_upstream) - arg_vol = sum(getattr(a, 'arg_volume', 0.0) for a in active_upstream) if exclude_arg else 0.0 - usa_vol = sum(getattr(a, 'usa_volume', 0.0) for a in active_upstream) if exclude_usa else 0.0 - routable_volume = total_volume - arg_vol - usa_vol - - if routable_volume <= 0.0: + if total_volume <= 0.0: self.quantity_available = 0.0 self.utilisation = 0.0 self.unit_price = 0.0 return # each agent in this port takes an equal slice of the port's share - volume_in = (routable_volume * share) / n_self + volume_in = (total_volume * share) / n_self effective_factor = self.effective("capacity") effective_capacity = self.capacity * effective_factor @@ -230,26 +271,22 @@ def _peer_list(self): def _step_sa_santos(self): """ - Receive soja from wholesalers, move to Santos export port. + Receive soja from the Brazil originator, move to Santos export port. Port capacity applied as throughput limit. """ self._move_split( self.model.upstream("transport_sa_santos"), - share=self.scenario.santos_share, - exclude_arg=True, - exclude_usa=True, + share=self._route_share("transport_sa_santos"), ) def _step_sa_paranagua(self): """ - Receive soja from wholesalers, move to Paranagua export port. + Receive soja from the Brazil originator, move to Paranagua export port. Port capacity applied as throughput limit. """ self._move_split( self.model.upstream("transport_sa_paranagua"), - share=1.0 - self.scenario.santos_share, - exclude_arg=True, - exclude_usa=True, + share=self._route_share("transport_sa_paranagua"), ) def _step_sea_santos(self): @@ -264,111 +301,53 @@ def _step_sea_paranagua(self): """ self._move(self.model.upstream("sea_lane_paranagua")) - def _step_sea_arg(self): + def _step_eu_rtm(self): """ - Route ARG-origin soja directly from wholesalers to EU port (Rotterdam). + Buy up to Rotterdam's throughput from the cheapest arriving lanes. - Bypasses SA land transport entirely - Volume = sum of wholesaler.arg_volume across all active wholesalers. - Price = wholesaler avg. price applied to ARG-origin portion. + Each upstream lane's quantity_available becomes the volume admitted + into Rotterdam this step, so losing lanes expose zero admitted flow. """ - margin = self.scenario.margin_transport - active_w = self.model.upstream("sea_lane_arg") - n_self = len(self.model.sea_lane_arg.filter(lambda a: a.active)) - - if not active_w or n_self == 0: - self.quantity_available = 0.0 - self.utilisation = 0.0 - self.unit_price = 0.0 - return - - total_arg = sum(w.arg_volume for w in active_w) - if total_arg <= 0.0: - self.quantity_available = 0.0 - self.utilisation = 0.0 - self.unit_price = 0.0 - return - - volume_in = total_arg / n_self - - # ARG ports not shocked in current scenarios - # capacity_factor=1.0. A future KG param (port_capacity_arg) can be wired in here. - effective_capacity = self.capacity - - self.quantity_available = min(volume_in, effective_capacity) - self.utilisation = ( - self.quantity_available / effective_capacity if effective_capacity > 0 else 0.0 - ) - - # upstream price: wholesaler unit_price weighted by each wholesaler's arg_volume - total_value = sum(w.unit_price * w.arg_volume for w in active_w) - upstream_price = total_value / total_arg - - if self.quantity_available > 0: - energy_factor = self.effective("energy") - effective_costs = self.fixed_costs * energy_factor - freight_fee = (effective_costs / self.quantity_available) * (1.0 + margin) - self.unit_price = upstream_price + freight_fee + upstream = self.model.upstream("transport_eu_rtm") + if hasattr(upstream, "filter"): + active_upstream = upstream.filter(lambda a: a.active) else: - self.unit_price = 0.0 - - - def _step_sea_usa(self): - """ - Route USA-origin soja directly from wholesalers to EU port (Rotterdam). - - Bypasses SA land transport entirely - US soy exits via Gulf Coast ports (New Orleans, Houston) - Volume = sum of wholesaler.arg_volume across all active wholesalers. - Price = wholesaler avg. price applied to USA-origin portion. - """ - margin = self.scenario.margin_transport - active_w = self.model.upstream("sea_lane_usa") - n_self = len(self.model.sea_lane_usa.filter(lambda a: a.active)) - - if not active_w or n_self == 0: - self.quantity_available = 0.0 - self.utilisation = 0.0 - self.unit_price = 0.0 - return - - total_usa = sum(w.usa_volume for w in active_w) - if total_usa <= 0.0: - self.quantity_available = 0.0 - self.utilisation = 0.0 - self.unit_price = 0.0 - return - - volume_in = total_usa / n_self - - # USA Gulf ports not shocked in current scenarios - capacity_factor = 1.0 - # Future KG param (port_capacity_us_gulf) can be wired in. - effective_capacity = self.capacity - - self.quantity_available = min(volume_in, effective_capacity) + active_upstream = upstream or [] + + effective_capacity = self.capacity * self.effective("capacity") + demand_target = min(self.capacity, effective_capacity) + remaining = max(0.0, demand_target) + purchased_value = 0.0 + + for lane in sorted(active_upstream, key=lambda a: a.unit_price): + admitted = min(max(0.0, lane.quantity_available), remaining) + lane.quantity_available = admitted + lane_effective_capacity = lane.capacity * lane.effective("capacity") + lane.utilisation = ( + lane.quantity_available / lane_effective_capacity + if lane_effective_capacity > 0.0 else 0.0 + ) + purchased_value += lane.unit_price * admitted + remaining -= admitted + + purchased = demand_target - remaining + self.quantity_available = max(0.0, purchased) self.utilisation = ( - self.quantity_available / effective_capacity if effective_capacity > 0 else 0.0 + self.quantity_available / effective_capacity + if effective_capacity > 0.0 else 0.0 ) - # Upstream price: wholesaler unit_price weighted by each wholesaler's usa_volume - total_value = sum(w.unit_price * w.usa_volume for w in active_w) - upstream_price = total_value / total_usa - - if self.quantity_available > 0: + if self.quantity_available > 0.0: + upstream_price = purchased_value / self.quantity_available energy_factor = self.effective("energy") effective_costs = self.fixed_costs * energy_factor - freight_fee = (effective_costs / self.quantity_available) * (1.0 + margin) + freight_fee = ( + effective_costs / self.quantity_available + ) * (1.0 + self.scenario.margin_transport) self.unit_price = upstream_price + freight_fee else: self.unit_price = 0.0 - def _step_eu_rtm(self): - """ - Rotterdam EU entry point. - Receives soja from Santos sea lan, ARG direct, and USA direct. - Port capacity shock (port_capacity_rotterdam) applied here. - """ - self._move(self.model.upstream("transport_eu_rtm")) - def _step_eu_ham(self): """ diff --git a/src/provider_simenv/data/input/SimulatorScenarios.csv b/src/provider_simenv/data/input/SimulatorScenarios.csv index 319daf4..140204a 100644 --- a/src/provider_simenv/data/input/SimulatorScenarios.csv +++ b/src/provider_simenv/data/input/SimulatorScenarios.csv @@ -1,4 +1,4 @@ -id,run_num,period_num,n_bra_farmers,n_arg_farmers,n_usa_farmers,n_wholesalers,n_transport_sa_santos,n_transport_sa_paranagua,n_sea_lane_santos,n_sea_lane_paranagua,n_sea_lane_arg,n_sea_lane_usa,n_transport_eu_rtm,n_transport_eu_ham,n_processors,n_feed_manufacturers,n_feed_traders,n_eu_farmers,santos_share,shock_ramp_steps,farm_size_sigma_bra,farm_size_sigma_eu,farm_size_seed,wholesaler_storage_capacity -0,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.0,0.0,42,2857.0 -1,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 -2,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 \ No newline at end of file +id,run_num,period_num,n_brazil_farms,n_argentina_farms,n_us_farms,n_wholesalers,n_transport_sa_santos,n_transport_sa_paranagua,n_sea_lane_santos,n_sea_lane_paranagua,n_sea_lane_arg,n_sea_lane_usa,n_transport_eu_rtm,n_transport_eu_ham,n_processors,n_feed_manufacturers,n_feed_traders,n_eu_farmers,share_santos_port,shock_ramp_steps,size_sigma_brazil_farms,farm_size_sigma_eu,farm_size_seed,wholesaler_storage_capacity +0,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.0,0.0,42,2857.0 +1,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 +2,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 diff --git a/src/provider_simenv/data/input/SimulatorScenarios_template.csv b/src/provider_simenv/data/input/SimulatorScenarios_template.csv index 319daf4..140204a 100644 --- a/src/provider_simenv/data/input/SimulatorScenarios_template.csv +++ b/src/provider_simenv/data/input/SimulatorScenarios_template.csv @@ -1,4 +1,4 @@ -id,run_num,period_num,n_bra_farmers,n_arg_farmers,n_usa_farmers,n_wholesalers,n_transport_sa_santos,n_transport_sa_paranagua,n_sea_lane_santos,n_sea_lane_paranagua,n_sea_lane_arg,n_sea_lane_usa,n_transport_eu_rtm,n_transport_eu_ham,n_processors,n_feed_manufacturers,n_feed_traders,n_eu_farmers,santos_share,shock_ramp_steps,farm_size_sigma_bra,farm_size_sigma_eu,farm_size_seed,wholesaler_storage_capacity -0,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.0,0.0,42,2857.0 -1,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 -2,1,365,10,5,8,3,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 \ No newline at end of file +id,run_num,period_num,n_brazil_farms,n_argentina_farms,n_us_farms,n_wholesalers,n_transport_sa_santos,n_transport_sa_paranagua,n_sea_lane_santos,n_sea_lane_paranagua,n_sea_lane_arg,n_sea_lane_usa,n_transport_eu_rtm,n_transport_eu_ham,n_processors,n_feed_manufacturers,n_feed_traders,n_eu_farmers,share_santos_port,shock_ramp_steps,size_sigma_brazil_farms,farm_size_sigma_eu,farm_size_seed,wholesaler_storage_capacity +0,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.0,0.0,42,2857.0 +1,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 +2,1,365,10,5,8,1,1,1,1,1,1,1,1,1,3,3,3,10,0.7,0,0.4,0.4,42,2857.0 diff --git a/src/provider_simenv/data_collector.py b/src/provider_simenv/data_collector.py index 148e19f..36b6319 100644 --- a/src/provider_simenv/data_collector.py +++ b/src/provider_simenv/data_collector.py @@ -7,6 +7,38 @@ from Melodie import DataCollector +from .agents import ( + ROLE_CONSUMER, + ROLE_FEED_MANUFACTURER, + ROLE_FEED_TRADER, + ROLE_PROCESSOR, + ROLE_PRODUCER, + ROLE_WHOLESALER, +) + +# Roles omitted here (ports, sea lanes) are not recorded. +_PROPS_BY_ROLE = { + ROLE_PRODUCER: ("quantity_available", "unit_price", "active"), + ROLE_CONSUMER: ("feed_received", "livestock_output", "active"), + ROLE_WHOLESALER: ( + "quantity_available", "unit_price", "storage_utilization", + ), + ROLE_PROCESSOR: ("quantity_available", "unit_price"), + ROLE_FEED_MANUFACTURER: ("quantity_available", "unit_price"), + ROLE_FEED_TRADER: ("quantity_available", "unit_price"), +} + + +def result_table_name(list_name: str) -> str: + """ + Melodie's output name for a recorded agent list: + ``brazil_farms`` -> ``Result_Simulator_BrazilFarms``. + Single-sourced here so the CSV files, the export bundle, + and the Postgres tick tables all agree on one name per list. + """ + return "Result_Simulator_" + "".join(p.title() for p in list_name.split("_")) + + class SupplyChainDataCollector(DataCollector): """ collects state snapshots every simulation step @@ -21,39 +53,12 @@ def status(self) -> bool: return True def setup(self): - # Agent-level variables to record each step - self.add_agent_property("bra_farmers", "quantity_available") - self.add_agent_property("bra_farmers", "unit_price") - self.add_agent_property("bra_farmers", "active") - - self.add_agent_property("arg_farmers", "quantity_available") - self.add_agent_property("arg_farmers", "unit_price") - self.add_agent_property("arg_farmers", "active") - - self.add_agent_property("usa_farmers", "quantity_available") - self.add_agent_property("usa_farmers", "unit_price") - self.add_agent_property("usa_farmers", "active") - - self.add_agent_property("wholesalers", "quantity_available") - self.add_agent_property("wholesalers", "unit_price") - self.add_agent_property("wholesalers", "bra_volume") - self.add_agent_property("wholesalers", "arg_volume") - self.add_agent_property("wholesalers", "usa_volume") - self.add_agent_property("wholesalers", "storage_utilization") - - self.add_agent_property("processors", "quantity_available") - self.add_agent_property("processors", "unit_price") - - self.add_agent_property("feed_manufacturers", "quantity_available") - self.add_agent_property("feed_manufacturers", "unit_price") - - self.add_agent_property("feed_traders", "quantity_available") - self.add_agent_property("feed_traders", "unit_price") - - self.add_agent_property("eu_farmers", "feed_received") - self.add_agent_property("eu_farmers", "livestock_output") - self.add_agent_property("eu_farmers", "active") - + for entry in self.model._roster: + props = _PROPS_BY_ROLE.get(entry.archetype.role) + if props is None: + continue + for prop in props: + self.add_agent_property(entry.archetype.name, prop) # Environment-level variables to record each step self.add_environment_property("soja_price") @@ -63,4 +68,3 @@ def setup(self): self.add_environment_property("total_soja_supply") self.add_environment_property("transport_utilisation") self.add_environment_property("current_step") - diff --git a/src/provider_simenv/environment.py b/src/provider_simenv/environment.py index aa79063..fb817d5 100644 --- a/src/provider_simenv/environment.py +++ b/src/provider_simenv/environment.py @@ -17,7 +17,8 @@ from Melodie import Environment -from .shock_registry import DROUGHT_KEY +from .agents import ROLE_PRODUCER, ROLE_WHOLESALER +from .shock_registry import DROUGHT_IMPACT_FIELD from .event_tracker import EventTracker @@ -86,10 +87,17 @@ def update_shock_scales(self, period: int): self.shock_scale = max(self.shock_scales.values(), default=0.0) - # Drought severity is defined as brazil_farms supply degradation (DROUGHT_KEY) - bra_scale = self.shock_scales.get(DROUGHT_KEY, 0.0) - bra_value = self.get_effective_value(*DROUGHT_KEY) - self.drought_severity = (bra_scale * (1.0 - bra_value)) + # Drought severity: the worst active supply degradation across the PDL's producers, + # so a PDL that droughts a different producer reports the right value. A supply increase + # is not a drought, so the negative degradation it produces floor at zero. + severities = [ + self.shock_scales.get((eid, DROUGHT_IMPACT_FIELD), 0.0) + * (1.0 - self.get_effective_value(eid, DROUGHT_IMPACT_FIELD)) + for entry in self.model._roster + if entry.archetype.role == ROLE_PRODUCER + for eid in entry.entity_ids + ] + self.drought_severity = max([0.0, *severities]) @@ -130,7 +138,13 @@ def step(self): # Soja price (wholesaler lvl) - active_wholesalers = self.model.wholesalers.filter(lambda w: w.active) + active_wholesalers = [ + wholesaler + for entry in self.model._roster + if entry.archetype.role == ROLE_WHOLESALER + for wholesaler in getattr(self.model, entry.archetype.name).agents + if wholesaler.active + ] total_w_vol = sum(w.quantity_available for w in active_wholesalers) if total_w_vol > 0: self.soja_price = ( diff --git a/src/provider_simenv/export_bundle.py b/src/provider_simenv/export_bundle.py index 4e6d1a6..94ec56d 100644 --- a/src/provider_simenv/export_bundle.py +++ b/src/provider_simenv/export_bundle.py @@ -8,14 +8,14 @@ Each recorded agent list holds many instances; a map node is the aggregate of its list per step — extensive quantities are summed, prices/utilisation are averaged, -and ``active`` is true if any instance is active. Ports and sea-lanes are -geographically real but produce no recorded rows, so they carry no ticks -(``hasRecordedData: false``), exactly as the frontend expects. +and ``active`` is true if any instance is active. Ports produce no recorded rows, +so they carry no ticks (``hasRecordedData: false``), exactly as the frontend +expects. -Geography is deliberately NOT emitted: placement is the frontend gazetteer's job -(keyed by the PDL entity ids carried in ``entityIds``). This is the geolocatable -projection of the model graph — sea crossings are drawn port-to-port rather than -routed through the sea-lane agents, which have no single map location. +Entity placements declared in the PDL or roster are emitted with their entity ids. +Entities without coordinates retain the frontend gazetteer fallback. Sea crossings +are drawn endpoint-to-endpoint rather than routed through sea-lane agents, which +have no single map location. Usage: python -m provider_simenv.export_bundle [--scenario 1] [--input DIR] [--output FILE] @@ -25,62 +25,162 @@ import argparse import json import logging +import math import os from datetime import datetime, timezone +from pathlib import Path import pandas as pd -from .tick_writer import AGENT_TABLES +from .agents import Transport +from .data_collector import _PROPS_BY_ROLE, result_table_name +from .pdl_loader import PDLLoader +from .topology import build_flow_adjacency, build_roster, load_roster_sidecar logger = logging.getLogger(__name__) # Column aggregation rules for collapsing a list's instances into one node/step. SUM_COLS = { - "quantity_available", "bra_volume", "arg_volume", "usa_volume", - "feed_received", "livestock_output", + "quantity_available", "feed_received", "livestock_output", } MEAN_COLS = {"unit_price", "storage_utilization"} BOOL_ANY_COLS = {"active"} -# The geolocatable node overlay: display name, agent role, and the PDL entity ids -# the gazetteer places by. Recorded nodes come from AGENT_TABLES; ports are added -# here (they are real places but the DataCollector records no series for them). -NODE_META: dict[str, dict] = { - "bra_farmers": {"label": "Brazil soy farms", "role": "producer", "entityIds": ["brazil_farms"]}, - "arg_farmers": {"label": "Argentina soy farms","role": "producer", "entityIds": ["argentina_farms"]}, - "usa_farmers": {"label": "US soy farms", "role": "producer", "entityIds": ["us_farms"]}, - "wholesalers": {"label": "Wholesalers", "role": "wholesaler", "entityIds": []}, - "feed_traders": {"label": "Feed traders", "role": "feed_trader", "entityIds": []}, - "processors": {"label": "EU oil mills", "role": "processor", "entityIds": ["eu_oil_mills"]}, - "feed_manufacturers": {"label": "Feed mills", "role": "feed_manufacturer", "entityIds": ["feed_mills"]}, - "eu_farmers": {"label": "EU livestock farms", "role": "consumer", "entityIds": ["poultry_farms", "pig_farms", "dairy_farms"]}, -} -PORT_META: dict[str, dict] = { - "transport_sa_santos": {"label": "Port of Santos", "role": "sa_santos", "entityIds": ["santos_port"]}, - "transport_sa_paranagua": {"label": "Port of Paranaguá", "role": "sa_paranagua", "entityIds": ["paranagua_port"]}, - "transport_eu_rtm": {"label": "Port of Rotterdam", "role": "eu_rtm", "entityIds": ["rotterdam_port"]}, - "transport_eu_ham": {"label": "Port of Hamburg", "role": "eu_ham", "entityIds": ["hamburg_port"]}, -} +def _resolve_pdl_path(pdl: str) -> Path: + path = Path(pdl) + if path.is_file(): + return path + if not path.is_absolute() and path.parent == Path("."): + scenario_path = Path(__file__).resolve().parent / "scenarios" / path.name + if scenario_path.is_file(): + return scenario_path + raise FileNotFoundError(f"PDL file not found: {pdl}") + + +def _entity_metadata(pdl_path: Path) -> dict[str, dict]: + doc = PDLLoader(pdl_path)._doc + sidecar = load_roster_sidecar(pdl_path) + entities = [*(doc.get("entities") or []), *sidecar.entities] + return {entity["id"]: dict(entity) for entity in entities} + + +def _entity_placement(entity_id: str, entity: dict) -> dict | None: + fields = ("lat", "lng", "illustrative") + present = [field in entity for field in fields] + if not any(present): + return None + if not all(present): + logger.error("incomplete placement for entity %r", entity_id) + raise ValueError(f"incomplete placement for entity {entity_id!r}") + + lat_raw = entity["lat"] + lng_raw = entity["lng"] + illustrative = entity["illustrative"] + if ( + isinstance(lat_raw, bool) + or not isinstance(lat_raw, (int, float)) + or isinstance(lng_raw, bool) + or not isinstance(lng_raw, (int, float)) + ): + logger.error("non-numeric placement for entity %r", entity_id) + raise ValueError(f"non-numeric placement for entity {entity_id!r}") + if not isinstance(illustrative, bool): + logger.error("placement flag for entity %r must be boolean", entity_id) + raise ValueError(f"invalid placement flag for entity {entity_id!r}") + + lat = float(lat_raw) + lng = float(lng_raw) + if not math.isfinite(lat) or not math.isfinite(lng): + logger.error("non-finite placement for entity %r", entity_id) + raise ValueError(f"non-finite placement for entity {entity_id!r}") + if not -90.0 <= lat <= 90.0 or not -180.0 <= lng <= 180.0: + logger.error("out-of-range placement for entity %r", entity_id) + raise ValueError(f"out-of-range placement for entity {entity_id!r}") + + return { + "entityId": entity_id, + "label": str(entity["name"]), + "lat": lat, + "lng": lng, + "illustrative": illustrative, + } + + +def _node_metadata(entry, entities: dict[str, dict]) -> dict: + node_id = entry.archetype.name + entity_ids = list(entry.entity_ids) + labels: list[str] = [] + placements: list[dict] = [] + unresolved: list[str] = [] + for entity_id in entity_ids: + entity = entities.get(entity_id) + label = entity.get("name") if entity is not None else None + if not label: + unresolved.append(entity_id) + else: + labels.append(str(label)) + placement = _entity_placement(entity_id, entity) + if placement is not None: + placements.append(placement) + if not entity_ids or unresolved: + logger.error( + "unresolved export metadata for roster node %r (entity ids: %s, unresolved: %s)", + node_id, entity_ids, unresolved, + ) + raise ValueError(f"unresolved export metadata for roster node {node_id!r}") + return { + "id": node_id, + "label": " / ".join(labels), + "role": entry.archetype.role, + "entityIds": entity_ids, + "placements": placements, + "hasRecordedData": entry.archetype.role in _PROPS_BY_ROLE, + } -# Geolocatable flow overlay (sea crossings collapsed port-to-port). Mirrors the -# frontend fixture so the gazetteer/resolveScene contract is unchanged. -EDGES: list[tuple[str, str, bool]] = [ - ("bra_farmers", "wholesalers", False), - ("arg_farmers", "wholesalers", False), - ("usa_farmers", "wholesalers", False), - ("wholesalers", "transport_sa_santos", False), - ("wholesalers", "transport_sa_paranagua", False), - ("transport_sa_santos", "transport_eu_rtm", True), - ("transport_sa_paranagua", "transport_eu_ham", True), - ("arg_farmers", "transport_eu_rtm", True), - ("usa_farmers", "transport_eu_rtm", True), - ("transport_eu_rtm", "processors", False), - ("transport_eu_ham", "processors", False), - ("processors", "feed_manufacturers", False), - ("feed_manufacturers", "feed_traders", False), - ("feed_traders", "eu_farmers", False), -] + +def _collapsed_edges( + adjacency: dict[str, tuple[str, ...]], sea_lanes: set[str], node_ids: set[str], +) -> list[dict]: + downstream_lanes = { + source + for sources in adjacency.values() + for source in sources + if source in sea_lanes + } + for lane in sea_lanes: + if lane not in adjacency or lane not in downstream_lanes: + logger.error("sea lane %r lacks an exportable upstream/downstream path", lane) + raise ValueError(f"incomplete sea-lane path for {lane!r}") + + edges: list[dict] = [] + seen: set[tuple[str, str]] = set() + + def add(source: str, target: str, is_sea: bool) -> None: + if source not in node_ids or target not in node_ids: + logger.error("edge %r -> %r references a node absent from the export roster", source, target) + raise ValueError(f"unresolved export edge {source!r} -> {target!r}") + pair = (source, target) + if pair in seen: + return + seen.add(pair) + edges.append({ + "id": f"{source}->{target}", + "source": source, + "target": target, + "isSeaCrossing": is_sea, + }) + + for target, sources in adjacency.items(): + if target in sea_lanes: + continue + for source in sources: + if source in sea_lanes: + for lane_source in adjacency[source]: + add(lane_source, target, True) + else: + add(source, target, False) + return edges ENV_COLS = [ ("soja_price", "sojaPrice"), @@ -117,39 +217,38 @@ def _aggregate(df: pd.DataFrame, props: list[str]) -> dict[int, dict]: def build_bundle(input_dir: str, scenario: int, pdl: str) -> dict: + pdl_path = _resolve_pdl_path(pdl) + roster = build_roster(pdl_path) + adjacency = build_flow_adjacency(pdl_path) + entities = _entity_metadata(pdl_path) + sea_lanes = { + entry.archetype.name + for entry in roster + if entry.archetype.agent_class is Transport and not entry.entity_ids + } + nodes: list[dict] = [] ticks: list[dict] = [] - # Recorded nodes + their aggregated series. - for table, (node_id, props) in AGENT_TABLES.items(): - meta = NODE_META.get(node_id) - if meta is None: - logger.warning("no geolocatable metadata for recorded node %r — skipping", node_id) + for entry in roster: + node_id = entry.archetype.name + if node_id in sea_lanes: continue - nodes.append({ - "id": node_id, "label": meta["label"], "role": meta["role"], - "entityIds": meta["entityIds"], "hasRecordedData": True, - }) - path = os.path.join(input_dir, f"{table}.csv") + nodes.append(_node_metadata(entry, entities)) + + props = _PROPS_BY_ROLE.get(entry.archetype.role) + if props is None: + continue + path = os.path.join(input_dir, f"{result_table_name(node_id)}.csv") if not os.path.exists(path): logger.warning("missing CSV for %s: %s", node_id, path) continue df = pd.read_csv(path) df = df[df["id_scenario"] == scenario] - for period, values in _aggregate(df, props).items(): + for period, values in _aggregate(df, list(props)).items(): ticks.append({"period": period, "nodeId": node_id, "values": values}) - # Ports — real places, no recorded series. - for node_id, meta in PORT_META.items(): - nodes.append({ - "id": node_id, "label": meta["label"], "role": meta["role"], - "entityIds": meta["entityIds"], "hasRecordedData": False, - }) - - edges = [ - {"id": f"{s}->{t}", "source": s, "target": t, "isSeaCrossing": sea} - for (s, t, sea) in EDGES - ] + edges = _collapsed_edges(adjacency, sea_lanes, {node["id"] for node in nodes}) # Environment series. env: list[dict] = [] @@ -164,7 +263,7 @@ def build_bundle(input_dir: str, scenario: int, pdl: str) -> dict: return { "meta": { - "pdl": os.path.basename(pdl) if pdl else "s1-soja.pdl.yaml", + "pdl": pdl_path.name, "scenario": f"scenario_{scenario}", "ticks": len(env), "generatedAt": datetime.now(timezone.utc).replace(microsecond=0).isoformat(), diff --git a/src/provider_simenv/main.py b/src/provider_simenv/main.py index 3e2e57c..615ee7e 100644 --- a/src/provider_simenv/main.py +++ b/src/provider_simenv/main.py @@ -1,14 +1,6 @@ -""" -v.0.5.1 notes: -- Melodie writes CSVs (data_output_type default) -- csv_to_sqlite() post-processes all Result_Simulator_*.csv files into a single SQLite database -- This avoids the SQAlchemy 2.0 missing-commit but in Melodie's built-in sqlite mode, - while still providing a SQLite file for visualize_sql.py -""" -import glob +"""Command-line entry point for the PROVIDER supply-chain simulation.""" import logging import os -import sqlite3 import shutil import argparse @@ -22,38 +14,6 @@ logger = logging.getLogger(__name__) -# -------------------- -# Helpers -# -------------------- - -def csv_to_sqlite(output_dir: str, db_name: str = "provider-simenv.sqlite") -> None: - """ - Read every Result_Simulator_*.csv in output_dir and write them to a SQLite - database (sqlite3 + pandas, recreated from scratch on every run). - """ - db_path = os.path.join(output_dir, db_name) - pattern = os.path.join(output_dir, "Result_Simulator_*.csv") - csv_files = glob.glob(pattern) - - if not csv_files: - logger.warning("no Result_Simulator_*.csv files found in: %s", output_dir) - return - - conn = sqlite3.connect(db_path) - try: - for csv_path in csv_files: - table_name = os.path.splitext(os.path.basename(csv_path))[0] - df = pd.read_csv(csv_path) - df.to_sql(table_name, conn, if_exists="replace", index=False) - logger.info("%s -> %d rows", table_name, len(df)) - conn.commit() - finally: - conn.close() - - logger.info("SQLite database written to: %s", db_path) - - - # -------------------- # Main # -------------------- @@ -171,7 +131,3 @@ def csv_to_sqlite(output_dir: str, db_name: str = "provider-simenv.sqlite") -> N del SupplyChainModel._event_registry if hasattr(SupplyChainModel, "_pdl_path"): del SupplyChainModel._pdl_path - - # post-process: merge CSVs -> SQLite for visualize_sql.py - logger.info("Converting CSVs to SQLite...") - csv_to_sqlite(output_folder) diff --git a/src/provider_simenv/model.py b/src/provider_simenv/model.py index cfa8417..29b7c3b 100644 --- a/src/provider_simenv/model.py +++ b/src/provider_simenv/model.py @@ -49,7 +49,7 @@ def create(self): self.data_collector = self.create_data_collector(SupplyChainDataCollector) # PDL-driven roster: one AgentList per archetype, bound to its model - # attribute name (self.bra_farmers, ...) so the rest of the model still + # attribute name (self.brazil_farms, ...) so the rest of the model still # references lists by name. Replaces the old 16 hardcoded calls. self._roster = build_roster(self._roster_pdl_path()) for entry in self._roster: @@ -138,9 +138,7 @@ def vw_price(name: str) -> float: def volume(name: str) -> float: return sum(a.quantity_available for a in getattr(self, name).filter(lambda a: a.active)) - # label by role when it's unique among producers, else by list name, so - # the shipped PDL stays BRA/ARG/USA but split same-role regions (an extra - # arg-role china_farms) don't collide. + # label by role when unique among producers, else by list name. role_n = {r: sum(1 for n in producers if role_of.get(n, n) == r) for r in {role_of.get(n, n) for n in producers}} diff --git a/src/provider_simenv/scenario.py b/src/provider_simenv/scenario.py index 6ac8b5e..d1a88e7 100644 --- a/src/provider_simenv/scenario.py +++ b/src/provider_simenv/scenario.py @@ -14,11 +14,11 @@ class SupplyChainScenario(Scenario): """ # --- Supply chain routing --- - santos_share: float = 0.7 # 70% of BRA exports via Santos + share_santos_port: float = 0.7 # explicit weight for the Santos route # --- Agent population size --- - n_bra_farmers: int = 10 # South American Farmers - n_wholesalers: int = 3 # buys from farmers, aggregate them, sell internationally + n_brazil_farms: int = 10 # South American Farmers + n_wholesalers: int = 1 # originators per regional roster list n_transport_sa_santos: int = 1 # Agents handling the Santos lane n_transport_sa_paranagua: int = 1 # Agents handling the Paranagua lane n_sea_lane_santos: int = 1 # Sea agents: Santos -> Rotterdam @@ -43,7 +43,7 @@ class SupplyChainScenario(Scenario): # --- Fixed costs (€/step) --- # Total operating cost an agent pays each step regardless of volume. # the resulting price chain stays in a plausible EUR/ton range. - fixed_costs_bra_farmer: float = 36000.0 # farm labor, land, machinery + fixed_costs_brazil_farms: float = 36000.0 # farm labor, land, machinery fixed_costs_eu_farmer: float = 5000.0 # livestock farm operating cost fixed_costs_wholesaler: float = 15000.0 # aggregation, storage, logistics fixed_costs_feed_trader: float = 8000.0 # distribution, warehousing @@ -55,7 +55,7 @@ class SupplyChainScenario(Scenario): # --- Margins --- # applied on top of total per unit cost at each chain node. - margin_bra_farmer: float = 0.10 + margin_brazil_farms: float = 0.10 margin_wholesaler: float = 0.10 margin_feed_trader: float = 0.08 margin_transport: float = 0.10 # shared across all transport roles @@ -69,9 +69,9 @@ class SupplyChainScenario(Scenario): # log-normal size distribution for BRA, USA and EU farmers. # sigma = 0.0 -> all farms identical # sigma = 0.4 -> realistic spread (most farms near mean, few very large/small) - farm_size_sigma_bra: float = 0.0 - farm_size_sigma_usa: float = 0.0 - farm_size_sigma_arg: float = 0.0 + size_sigma_brazil_farms: float = 0.0 + size_sigma_us_farms: float = 0.0 + size_sigma_argentina_farms: float = 0.0 farm_size_sigma_eu: float = 0.0 farm_size_seed: int = 42 @@ -80,9 +80,9 @@ class SupplyChainScenario(Scenario): # - higher fixed_costs -> higher baseline price (EU prefers BRA under normal conditions) # - unaffected by BRA shock -> stable supply when BRA supply is disrupted # - base_yield acts as capacity ceiling - n_usa_farmers: int = 8 - fixed_costs_usa_farmer: float = 48000.0 - margin_usa_farmer: float = 0.10 + n_us_farms: int = 8 + fixed_costs_us_farms: float = 48000.0 + margin_us_farms: float = 0.10 # --- Argentina farmer parameters --- @@ -90,8 +90,14 @@ class SupplyChainScenario(Scenario): # - fixed_costs between BRA and USA # - unaffected by BRA shock # - No surplus_factor - ARG is a baseline supply, not emergency reserve - n_arg_farmers: int = 5 - fixed_costs_arg_farmer: float = 42000.0 - margin_arg_farmer: float = 0.10 + n_argentina_farms: int = 5 + fixed_costs_argentina_farms: float = 42000.0 + margin_argentina_farms: float = 0.10 + + # generic producer fallback: synthetic sentinels, not a real country's costs + fixed_costs_producer: float = 1.0 + margin_producer: float = 0.10 + size_sigma_producer: float = 0.0 + n_producer: int = 1 diff --git a/src/provider_simenv/scenarios/s1-soja.roster.yaml b/src/provider_simenv/scenarios/s1-soja.roster.yaml new file mode 100644 index 0000000..cfd1d7b --- /dev/null +++ b/src/provider_simenv/scenarios/s1-soja.roster.yaml @@ -0,0 +1,84 @@ +# Sidecar for s1-soja.pdl.yaml: archetypes, added entities, edges and dependencies +# the PDL does not carry. Additive only — an id in both files is an error. + +# Which archetype each PDL entity resolves to. +archetypes: + brazil_farms: producer + argentina_farms: producer + us_farms: producer + santos_port: land_transport + paranagua_port: land_transport + rotterdam_port: land_transport + hamburg_port: land_transport + eu_oil_mills: processor + feed_mills: feed_manufacturer + poultry_farms: consumer + pig_farms: consumer + dairy_farms: consumer + +# PDL entities intentionally not modelled as node-agents. +exclude: + us_gulf_ports: "sea-edge origin, not a handler node" + gas_supply: "dependency commodity (binding target), not a node-agent" + fertilizer_supply: "dependency commodity (binding target), not a node-agent" + soy_oil_market: "by-product commodity, no agent today" + alternative_protein_sources: "substitution commodity, no agent today" + strategic_feed_reserves: "buffer commodity, no agent today" + food_retail: "downstream of modelled chain — not yet a node-agent" + consumers: "downstream of modelled chain — not yet a node-agent" + +# Entities absent from the PDL. Coordinates are illustrative. +entities: + - id: brazil_wholesaler + name: "Brazil grain originator" + archetype: wholesaler + reason: "grain originator (buys from farms, runs silos, ships) — trading actors not yet in PDL, partner request 2026-08" + lat: -23.0 + lng: -47.0 + illustrative: true + - id: argentina_wholesaler + name: "Argentina grain originator" + archetype: wholesaler + reason: "grain originator for Argentina — trading actors not yet in PDL, partner request 2026-08" + lat: -32.9 + lng: -60.7 + illustrative: true + - id: us_wholesaler + name: "US grain originator" + archetype: wholesaler + reason: "grain originator for the US — trading actors not yet in PDL, partner request 2026-08" + lat: 29.95 + lng: -90.07 + illustrative: true + - id: eu_feed_trader + name: "EU feed distributor" + archetype: feed_trader + reason: "feed distributor between mills and livestock — not yet in PDL, partner request 2026-08" + lat: 47.5 + lng: 16.0 + illustrative: true + +# Edges connecting the added entities into the PDL graph. +edges: + - [brazil_farms, brazil_wholesaler] + - [brazil_wholesaler, santos_port] + - [brazil_wholesaler, paranagua_port] + - [argentina_farms, argentina_wholesaler] + - [argentina_wholesaler, rotterdam_port] + - [us_farms, us_wholesaler] + - [us_wholesaler, us_gulf_ports] + - [feed_mills, eu_feed_trader] + - [eu_feed_trader, poultry_farms] + - [eu_feed_trader, pig_farms] + - [eu_feed_trader, dairy_farms] + +# Dependency edges, in the PDL's supply_chains.dependencies shape. +dependencies: + - from: argentina_farms + to: fertilizer_supply + type: input + criticality: medium + - from: us_farms + to: fertilizer_supply + type: input + criticality: medium diff --git a/src/provider_simenv/shock_registry.py b/src/provider_simenv/shock_registry.py index 160b5fd..b5bd744 100644 --- a/src/provider_simenv/shock_registry.py +++ b/src/provider_simenv/shock_registry.py @@ -7,8 +7,9 @@ -# The (entity, impact_field) key, whose supply degradation defines drought severity. -DROUGHT_KEY: tuple[str, str] = ("brazil_farms", "supply") +# The impact_field whose degradation defines drought severity. Which entities it +# applies to come from the PDL roster (every producer), not from this module. +DROUGHT_IMPACT_FIELD: str = "supply" def aggregate(impact_field: str, values: list[float]) -> float: """ @@ -16,4 +17,4 @@ def aggregate(impact_field: str, values: list[float]) -> float: supply -> min() (worst-case capacity degradation) price -> max() (worst-case price spike) """ - return min(values) if impact_field == "supply" else max(values) \ No newline at end of file + return min(values) if impact_field == "supply" else max(values) diff --git a/src/provider_simenv/tick_writer.py b/src/provider_simenv/tick_writer.py index d36d621..1ab62a6 100644 --- a/src/provider_simenv/tick_writer.py +++ b/src/provider_simenv/tick_writer.py @@ -6,7 +6,7 @@ Run lifecycle: 1. TickWriter.__init__ -> drops and recreates all tables - 2. write_tick() * 52 -> append one tick's row per call + 2. write_tick() once per step -> append one tick's row per call 3. End of run -> tables are complete, identical to batch import Failure handling: @@ -20,21 +20,13 @@ import pandas as pd -logger = logging.getLogger(__name__) +from .data_collector import _PROPS_BY_ROLE, result_table_name -AGENT_TABLES: dict[str, tuple[str, list[str]]] = { - "Result_Simulator_BraFarmers": ("bra_farmers", ["quantity_available", "unit_price", "active"]), - "Result_Simulator_ArgFarmers": ("arg_farmers", ["quantity_available", "unit_price", "active"]), - "Result_Simulator_UsaFarmers": ("usa_farmers", ["quantity_available", "unit_price", "active"]), - "Result_Simulator_Wholesalers": ("wholesalers", ["quantity_available", "unit_price", - "bra_volume", "arg_volume", "usa_volume", - "storage_utilization"]), - "Result_Simulator_Processors": ("processors", ["quantity_available", "unit_price"]), - "Result_Simulator_FeedManufacturers": ("feed_manufacturers", ["quantity_available", "unit_price"]), - "Result_Simulator_FeedTraders": ("feed_traders", ["quantity_available", "unit_price"]), - "Result_Simulator_EuFarmers": ("eu_farmers", ["feed_received", "livestock_output", "active"]), -} +logger = logging.getLogger(__name__) +# no table map here: every tracked list comes from the PDL roster, +# and its table name derives from the entity id via result_table_name(), +# so the Postgres tables carry the same names as the Melodie CSVs. ENVIRONMENT_TABLE = "Result_Simulator_Environment" ENVIRONMENT_PROPS = [ "soja_price", "feed_price", "shock_scale", "drought_severity", @@ -45,17 +37,17 @@ class TickWriter: """ Writes one simulation tick to Postgres per call to write_tick() - Instantiagte once per simulation run - the constructor truncates - the tick tables so each run starts clean. + Instantiate once per simulation run - the first write_tick() drops the + roster's tick tables so each run starts clean. """ - def __init__(self, engine) -> None: + def __init__(self, engine, reset: bool = True) -> None: self.engine = engine self.enabled = True - self._reset_tables() + self._pending_reset = reset @classmethod - def from_config(cls, cfg) -> "TickWriter": + def from_config(cls, cfg, *, reset: bool = True) -> "TickWriter": """ Builds a TickWriter from PostgresDBConfig. Returns a disabled no-op writer if Postgres is unreachable. @@ -66,7 +58,7 @@ def from_config(cls, cfg) -> "TickWriter": # connection test with engine.connect(): pass - return cls(engine) + return cls(engine, reset=reset) except ImportError: logger.warning("sqlalchemy or psycopg2 not installed") except Exception as exc: @@ -74,6 +66,7 @@ def from_config(cls, cfg) -> "TickWriter": writer = object.__new__(cls) writer.engine = None writer.enabled = False + writer._pending_reset = False return writer @@ -86,20 +79,27 @@ def write_tick(self, model, id_scenario: int, id_run: int, t: int) -> None: if not self.enabled: return try: + if self._pending_reset: + self._reset_tables(model) + self._pending_reset = False self._write_agents(model, id_scenario, id_run, t) self._write_environment(model.environment, id_scenario, id_run, t) except Exception as exc: logger.error("error at step %d: %s - disabling tick writes for remainder of this run.", t, exc) self.enabled = False - def _reset_tables(self) -> None: + def _reset_tables(self, model) -> None: """ - Drop all tick tables at the start of a run so stale data - from the previous run doesn't pollute queries. + Drop the tick tables this run writes. + Derived from the PDL roster, so stale data from the previous run doesn't pollute queries. """ try: from sqlalchemy import text - tables = list(AGENT_TABLES.keys()) + [ENVIRONMENT_TABLE] + tables = [ + result_table_name(entry.archetype.name) + for entry in model._roster + if _PROPS_BY_ROLE.get(entry.archetype.role) is not None + ] + [ENVIRONMENT_TABLE] with self.engine.connect() as conn: for table in tables: conn.execute(text(f'DROP TABLE IF EXISTS "{table}"')) @@ -109,9 +109,22 @@ def _reset_tables(self) -> None: def _write_agents(self, model, id_scenario: int, id_run: int, t: int) -> None: - """Write one row per active agent for each tracked agent list.""" - for table_name, (list_attr, props) in AGENT_TABLES.items(): - agent_list = getattr(model, list_attr) + """ + Write one row per active agent for every roster list with tracked props. + The table name derives from the PDL entity ID, so a PDL declaring other + entities writes the matching tables without a code change. + """ + for entry in model._roster: + props = _PROPS_BY_ROLE.get(entry.archetype.role) + if props is None: + continue + + node_id = entry.archetype.name + agent_list = getattr(model, node_id, None) + if agent_list is None: + logger.warning("[SKIPPED] roster entry %r has no model list", node_id) + continue + rows = [] for agent in agent_list.agents: row = { @@ -126,7 +139,12 @@ def _write_agents(self, model, id_scenario: int, id_run: int, t: int) -> None: if rows: df = pd.DataFrame(rows) - df.to_sql(table_name, self.engine, if_exists="append", index=False) + df.to_sql( + result_table_name(node_id), + self.engine, + if_exists="append", + index=False, + ) def _write_environment(self, env, id_scenario: int, id_run: int, t: int) -> None: @@ -140,4 +158,4 @@ def _write_environment(self, env, id_scenario: int, id_run: int, t: int) -> None row[prop] = getattr(env, prop, None) df = pd.DataFrame([row]) - df.to_sql(ENVIRONMENT_TABLE, self.engine, if_exists="append", index=False) \ No newline at end of file + df.to_sql(ENVIRONMENT_TABLE, self.engine, if_exists="append", index=False) diff --git a/src/provider_simenv/topology.py b/src/provider_simenv/topology.py index 56d4924..28d42f4 100644 --- a/src/provider_simenv/topology.py +++ b/src/provider_simenv/topology.py @@ -1,17 +1,16 @@ """ PDL-entity-driven roster and flow wiring (hybrid archetype resolution). -Resolution order for each PDL entity: - 1. ID_OVERRIDES[id] explicit: tuned role/params, or a - type+sector collision (oil_mills vs feed_mills) - 2. KIND_ARCHETYPES[(type, sector)] generic "kind library": a new same-kind - entity (china_farms) maps with no edits - 3. EXCLUDE in the PDL but deliberately not a node-agent - (edge origins / not-yet-modelled) - 4. otherwise unmodelled -> skipped - -Synthetic agents (wholesalers, feed_traders) have no PDL entity and are always -created. Sea crossings are edges, materialised as sea-lane agents (TRANSITIONAL_SEA). +Resolution order for each entity: + 1. entity / sidecar declaration declared mapping, or silent exclusion + 2. KIND_KEYS[(type, sector)] fallback when no declaration exists + 3. otherwise unmodelled -> skipped (logged) + +Producers are built per entity from {param}_{eid} columns. Non-producers still +use pooled recipes where the model shares an agent list. + +Sidecar entities participate in the roster and flow graph. Sea crossings are +edges, materialised as sea-lane agents (TRANSITIONAL_SEA). The model imports build_roster / build_flow_adjacency / execution_order to drive create(), setup(), and the per-step loop. @@ -19,10 +18,12 @@ from __future__ import annotations import logging from collections.abc import Mapping -from dataclasses import dataclass, field, replace +from dataclasses import dataclass, field from pathlib import Path from typing import Any +import yaml + logger = logging.getLogger(__name__) from .agents import ( @@ -68,25 +69,6 @@ class Archetype: _ENERGY = {"energy": ("gas_supply", "price")} # gas price scales freight operating costs -_FARMER_BRA = { - "bindings": {"fertilizer": ("fertilizer_supply", "price")}, - "scenario_attrs": {"fixed_costs": "fixed_costs_bra_farmer", - "margin": "margin_bra_farmer", - "size_sigma": "farm_size_sigma_bra"}, - "attrs": {"base_yield": 100.0}, # placeholder; loaded from data later -} -_FARMER_ARG = { - "scenario_attrs": {"fixed_costs": "fixed_costs_arg_farmer", - "margin": "margin_arg_farmer", - "size_sigma": "farm_size_sigma_arg"}, - "attrs": {"base_yield": 100.0}, -} -_FARMER_USA = { - "scenario_attrs": {"fixed_costs": "fixed_costs_usa_farmer", - "margin": "margin_usa_farmer", - "size_sigma": "farm_size_sigma_usa"}, - "attrs": {"base_yield": 100.0}, -} _FARMER_EU = { # end consumer: no margin; base_yield stays 0.0 -> buyer init "scenario_attrs": {"fixed_costs": "fixed_costs_eu_farmer", "size_sigma": "farm_size_sigma_eu"}, @@ -122,25 +104,17 @@ class Archetype: } -# generic kind library: (type, sector) -> default archetype +# Place-specific transport recipes preserve distinct peer lists and cost groups. KIND_ARCHETYPES: dict[tuple[str, str], Archetype] = { - ("region", "agriculture"): Archetype("arg_farmers", Farmer, ROLE_PRODUCER, "n_arg_farmers", _FARMER_ARG), ("infrastructure", "logistics"): Archetype("transport_sa_santos", Transport, ROLE_SA_SANTOS, "n_transport_sa_santos", _TRANSPORT_SA), - ("manufacturer", "processing"): Archetype("processors", Process, ROLE_PROCESSOR, "n_processors", _PROCESSOR), - ("manufacturer", "agriculture"): Archetype("eu_farmers", Farmer, ROLE_CONSUMER, "n_eu_farmers", _FARMER_EU), } # id overrides: tuned role/count, or type+sector collisions ID_OVERRIDES: dict[str, Archetype] = { - "brazil_farms": Archetype("bra_farmers", Farmer, ROLE_PRODUCER, "n_bra_farmers", _FARMER_BRA), - "us_farms": Archetype("usa_farmers", Farmer, ROLE_PRODUCER, "n_usa_farmers", _FARMER_USA), - # argentina_farms -> region/agriculture default (arg_farmers) "paranagua_port": Archetype("transport_sa_paranagua", Transport, ROLE_SA_PARANAGUA, "n_transport_sa_paranagua", _TRANSPORT_SA), "rotterdam_port": Archetype("transport_eu_rtm", Transport, ROLE_EU_RTM, "n_transport_eu_rtm", _TRANSPORT_EU), "hamburg_port": Archetype("transport_eu_ham", Transport, ROLE_EU_HAM, "n_transport_eu_ham", _TRANSPORT_EU), # santos_port -> infrastructure/logistics default (transport_sa_santos) - "feed_mills": Archetype("feed_manufacturers", Process, ROLE_FEED_MANUFACTURER, "n_feed_manufacturers", _FEED_MFR), - # eu_oil_mills -> manufacturer/processing default (processors) } # present in PDL but deliberately not a node-agent (yet) @@ -148,15 +122,54 @@ class Archetype: "us_gulf_ports", # origin of the USA sea edge, not a handler node today }) -# synthetic agents (no PDL entity), always created -SYNTHETIC: list[Archetype] = [ - Archetype("wholesalers", Trader, ROLE_WHOLESALER, "n_wholesalers", _WHOLESALER), - Archetype("feed_traders", Trader, ROLE_FEED_TRADER, "n_feed_traders", _FEED_TRADER), -] - +# --------------------------------------------------------------------------- +# Sidecar: declarations the PDL does not carry (s1-soja.roster.yaml) +# --------------------------------------------------------------------------- -def resolve(entity: dict) -> Archetype | None: - """Resolve one PDL entity dict to an Archetype, or None if unmodelled.""" +@dataclass(frozen=True) +class RosterSidecar: + archetypes: Mapping[str, str] + exclude: Mapping[str, str] + entities: tuple[Mapping[str, Any], ...] + edges: tuple[tuple[str, str], ...] + dependencies: tuple[Mapping[str, Any], ...] + + +def _sidecar_path(pdl_path: str | Path) -> Path: + p = Path(pdl_path) + stem = p.name[:-len(".pdl.yaml")] if p.name.endswith(".pdl.yaml") else p.stem + return p.with_name(stem + ".roster.yaml") + + +def load_roster_sidecar(pdl_path: str | Path) -> RosterSidecar: + """Load the roster sidecar beside the PDL. Additive only: a sidecar entity id + may not collide with a PDL entity, and every added entity must carry a reason.""" + path = _sidecar_path(pdl_path) + if not path.exists(): + return RosterSidecar({}, {}, (), (), ()) + + doc = yaml.safe_load(path.read_text(encoding="utf-8")) or {} + pdl_ids = {e.get("id") for e in (PDLLoader(pdl_path)._doc.get("entities") or [])} + + entities = tuple(doc.get("entities") or []) + for ent in entities: + eid = ent.get("id") + if eid in pdl_ids: + raise ValueError(f"roster sidecar entity {eid!r} collides with a PDL entity; sidecar is additive-only") + if not ent.get("reason"): + raise ValueError(f"roster sidecar entity {eid!r} is missing a required 'reason'") + + return RosterSidecar( + archetypes=dict(doc.get("archetypes") or {}), + exclude=dict(doc.get("exclude") or {}), + entities=entities, + edges=tuple((e[0], e[1]) for e in (doc.get("edges") or [])), + dependencies=tuple(doc.get("dependencies") or []), + ) + + +def resolve(entity: Mapping[str, Any]) -> Archetype | None: + """Resolve one entity to a place-specific transport recipe.""" eid = entity.get("id") if eid in EXCLUDE: return None @@ -165,6 +178,60 @@ def resolve(entity: dict) -> Archetype | None: return KIND_ARCHETYPES.get((entity.get("type"), entity.get("sector"))) +# --------------------------------------------------------------------------- +# Archetype resolution: PDL entity -> archetype key (sidecar-driven) +# --------------------------------------------------------------------------- + +ARCHETYPE_REGISTRY: dict[str, tuple[type, str]] = { + "producer": (Farmer, ROLE_PRODUCER), + "consumer": (Farmer, ROLE_CONSUMER), + "processor": (Process, ROLE_PROCESSOR), + "feed_manufacturer": (Process, ROLE_FEED_MANUFACTURER), + "wholesaler": (Trader, ROLE_WHOLESALER), + "feed_trader": (Trader, ROLE_FEED_TRADER), +} + +_DECLARED_ARCHETYPES: dict[str, tuple[str, str, Mapping[str, Any]]] = { + "consumer": ("eu_farmers", "n_eu_farmers", _FARMER_EU), + "processor": ("processors", "n_processors", _PROCESSOR), + "feed_manufacturer": ("feed_manufacturers", "n_feed_manufacturers", _FEED_MFR), + "wholesaler": ("", "n_wholesalers", _WHOLESALER), + "feed_trader": ("feed_traders", "n_feed_traders", _FEED_TRADER), +} + +# land_transport / sea_lane keep per-place roles, resolved via the id/kind path. +KNOWN_ARCHETYPES: frozenset[str] = frozenset(ARCHETYPE_REGISTRY) | {"land_transport", "sea_lane"} + +# (type, sector) fallback when the sidecar doesn't name an entity. +KIND_KEYS: dict[tuple[str, str], str] = { + ("region", "agriculture"): "producer", + ("infrastructure", "logistics"): "land_transport", + ("manufacturer", "processing"): "processor", + ("manufacturer", "agriculture"): "consumer", +} + + +def resolve_archetype(entity: Mapping[str, Any], sidecar: RosterSidecar) -> str | None: + """Archetype key from the entity, sidecar, or kind fallback.""" + eid = entity.get("id") + if eid in sidecar.exclude: + return None + key = ( + entity.get("archetype") + or sidecar.archetypes.get(eid) + or KIND_KEYS.get((entity.get("type"), entity.get("sector"))) + ) + if key is None: + logger.warning( + "entity %r (%s/%s) resolved to no archetype - not modelled; declare it in the roster sidecar", + eid, entity.get("type"), entity.get("sector"), + ) + return None + if key not in KNOWN_ARCHETYPES: + raise ValueError(f"roster sidecar assigns entity {eid!r} unknown archetype {key!r}") + return key + + # --------------------------------------------------------------------------- # Edges: which PDL stages are sea crossings (carrier edges) # --------------------------------------------------------------------------- @@ -240,36 +307,116 @@ def derive_sea_edges(pdl_path: str | Path) -> list[SeaEdge]: @dataclass(frozen=True) class RosterEntry: archetype: Archetype - entity_ids: tuple[str, ...] # PDL entities represented; () for synthetic / sea edges + entity_ids: tuple[str, ...] # entities represented; () for sea edges + + +_PRODUCER_SCENARIO_ATTRS = ("fixed_costs", "margin", "size_sigma") + + +def _producer_count_attr(eid: str) -> str: + specific = f"n_{eid}" + if hasattr(SupplyChainScenario, specific): + return specific + logger.warning("producer %r has no %s; falling back to n_producer", eid, specific) + return "n_producer" + + +def _producer_scenario_attrs(eid: str) -> dict[str, str]: + out: dict[str, str] = {} + for attr in _PRODUCER_SCENARIO_ATTRS: + specific = f"{attr}_{eid}" + if hasattr(SupplyChainScenario, specific): + out[attr] = specific + else: + fallback = f"{attr}_producer" + logger.warning( + "producer %r has no %s; falling back to %s", + eid, specific, fallback, + ) + out[attr] = fallback + return out -PRODUCER_ROLES: frozenset[str] = frozenset({ROLE_PRODUCER}) +def _producer_input_bindings( + eid: str, dependencies: list, +) -> dict[str, tuple[str, str]]: + bindings: dict[str, tuple[str, str]] = {} + for dep in dependencies: + if dep.get("from") != eid or dep.get("type") != "input": + continue + target = dep.get("to") + if not target: + continue + slot = target[:-len("_supply")] if target.endswith("_supply") else target + bindings[slot] = (target, "price") + if not bindings: + logger.warning("producer %r has no input dependencies", eid) + return bindings + + +def _pdl_dependencies(doc: Mapping[str, Any]) -> list: + deps: list = [] + for chain in (doc.get("supply_chains") or []): + deps.extend(chain.get("dependencies") or []) + return deps + + +def _declared_archetype(entity: Mapping[str, Any], key: str) -> Archetype | None: + eid = entity.get("id") + if key == "land_transport": + arc = resolve(entity) + else: + spec = _DECLARED_ARCHETYPES.get(key) + if spec is None or not eid: + arc = None + else: + default_name, count_attr, params = spec + cls, role = ARCHETYPE_REGISTRY[key] + name = eid if key == "wholesaler" else default_name + arc = Archetype(name, cls, role, count_attr, params) + if arc is None: + logger.warning( + "entity %r resolved to archetype %r but has no runtime recipe", + eid, key, + ) + return arc def build_roster(pdl_path: str | Path) -> list[RosterEntry]: """ - Ordered roster from a PDL: synthetic agents, node archetypes, sea-lane agents. + Ordered roster from PDL and sidecar entities, followed by sea-lane agents. Producer kinds split per-entity (each carries its own id-named list, count, and - shock); non-producer kinds still pool (e.g. poultry/pig/dairy into eu_farmers). + shock); declared non-producer kinds use their model recipes. """ - entities = PDLLoader(pdl_path)._doc.get("entities") or [] + doc = PDLLoader(pdl_path)._doc + sidecar = load_roster_sidecar(pdl_path) + entities = [*(doc.get("entities") or []), *sidecar.entities] + dependencies = [*_pdl_dependencies(doc), *sidecar.dependencies] - order: list[Archetype] = list(SYNTHETIC) - ids_by_arc: dict[Archetype, list[str]] = {arc: [] for arc in SYNTHETIC} + order: list[Archetype] = [] + ids_by_arc: dict[Archetype, list[str]] = {} for e in entities: - arc = resolve(e) - if arc is None: + key = resolve_archetype(e, sidecar) + if key is None: continue eid = e.get("id") - # producer already in use -> this is an additional producer region: give - # it its own per-entity list (name from id, count from a scenario-specific - # n_ if defined, else the kind default). - if arc.role in PRODUCER_ROLES and arc in ids_by_arc: - specific = f"n_{eid}" - count_attr = specific if hasattr(SupplyChainScenario, specific) else arc.count_attr - arc = replace(arc, name=eid, count_attr=count_attr) + if key == "producer": + cls, role = ARCHETYPE_REGISTRY["producer"] + arc = Archetype( + eid, cls, role, + _producer_count_attr(eid), + { + "bindings": _producer_input_bindings(eid, dependencies), + "scenario_attrs": _producer_scenario_attrs(eid), + "attrs": {"base_yield": 100.0}, + }, + ) + else: + arc = _declared_archetype(e, key) + if arc is None: + continue if arc not in ids_by_arc: order.append(arc) ids_by_arc[arc] = [] @@ -285,94 +432,62 @@ def build_roster(pdl_path: str | Path) -> list[RosterEntry]: # --------------------------------------------------------------------------- -# Flow wiring: the supply-chain adjacency as explicit data, maps each archetype -# (by model-attr name) to the upstream archetypes it pulls from. Step methods -# read this instead of naming lists directly. -# -# It is not isomorphic to supply_chains.stages: the model splices in synthetic -# hubs (wholesalers, feed_traders) and origin routing (santos_share, arg/usa -# bypass) the PDL doesn't carry. build_flow_adjacency() rederives it from the PDL. +# Flow wiring maps each model list to the upstream lists it pulls from. Sidecar +# edges insert declared actors that the PDL does not yet carry. # --------------------------------------------------------------------------- -FLOW_ADJACENCY: dict[str, tuple[str, ...]] = { - "wholesalers": ("bra_farmers", "arg_farmers", "usa_farmers"), - "transport_sa_santos": ("wholesalers",), - "transport_sa_paranagua": ("wholesalers",), - "sea_lane_santos": ("transport_sa_santos",), - "sea_lane_paranagua": ("transport_sa_paranagua",), - "sea_lane_arg": ("wholesalers",), - "sea_lane_usa": ("wholesalers",), - "transport_eu_rtm": ("sea_lane_santos", "sea_lane_arg", "sea_lane_usa"), - "transport_eu_ham": ("sea_lane_paranagua",), - "processors": ("transport_eu_rtm", "transport_eu_ham"), - "feed_manufacturers": ("processors",), - "feed_traders": ("feed_manufacturers",), - "eu_farmers": ("feed_traders",), -} - -SYNTHETIC_NAMES: frozenset[str] = frozenset({"wholesalers", "feed_traders"}) - def _sea_lane_crossings() -> dict[str, tuple[str, str]]: """Sea-lane archetype name -> the (src_entity, dst_entity) crossing it carries.""" return {arc.name: pair for pair, arc in TRANSITIONAL_SEA.items()} -def producer_lists(adjacency: dict[str, tuple[str, ...]] | None = None) -> list[str]: - """ - The producers: source lists that supply others but have no upstream. Pass a - run's derived graph for a swapped PDL; defaults to the literal FLOW_ADJACENCY. - """ - adj = FLOW_ADJACENCY if adjacency is None else adjacency - dsts = set(adj) +def producer_lists(adjacency: dict[str, tuple[str, ...]]) -> list[str]: + """Source lists that supply others but have no upstream.""" + dsts = set(adjacency) out: list[str] = [] - for srcs in adj.values(): + for srcs in adjacency.values(): for s in srcs: if s not in dsts and s not in out: out.append(s) return out -def export_port_lists(adjacency: dict[str, tuple[str, ...]] | None = None) -> list[str]: - """ - The export ports: land lists feeding a sea crossing (non-source, non-synthetic, - so the wholesaler bypass is excluded). Defaults to FLOW_ADJACENCY; pass a graph. - """ - adj = FLOW_ADJACENCY if adjacency is None else adjacency +def export_port_lists(adjacency: dict[str, tuple[str, ...]]) -> list[str]: + """Land transport lists feeding a sea crossing.""" sea_lanes = set(_sea_lane_crossings()) - sources = set(producer_lists(adj)) + sources = set(producer_lists(adjacency)) out: list[str] = [] - for dst, srcs in adj.items(): + for dst, srcs in adjacency.items(): if dst in sea_lanes: for src in srcs: - if src not in sources and src not in SYNTHETIC_NAMES and src not in out: + upstream = set(adjacency.get(src, ())) + if src not in sources and upstream.isdisjoint(sources) and src not in out: out.append(src) return out -def _pdl_stage_pairs(pdl_path: str | Path) -> set[tuple[str, str]]: - """All (src, dst) stage pairs across every supply chain in the PDL.""" +def _pdl_stage_pairs(pdl_path: str | Path) -> list[tuple[str, str]]: + """Unique stage pairs in first declaration order.""" doc = PDLLoader(pdl_path)._doc - pairs: set[tuple[str, str]] = set() + pairs: list[tuple[str, str]] = [] + seen: set[tuple[str, str]] = set() for chain in (doc.get("supply_chains") or []): for stage in (chain.get("stages") or []): - pairs.add((stage[0], stage[1])) + pair = (stage[0], stage[1]) + if pair not in seen: + seen.add(pair) + pairs.append(pair) return pairs def build_flow_adjacency(pdl_path: str | Path) -> dict[str, tuple[str, ...]]: """ - Rederive the flow adjacency from the PDL: the de-hardcoded FLOW_ADJACENCY. - - PDL-derived from supply_chains.stages: land/process stage -> dst <- src; - sea crossing -> lane <- land-port and dst-port <- lane. - - Declared overlay the PDL doesn't carry: a 'wholesalers' hub aggregates producers - and feeds export ports/bypass lanes; a 'feed_traders' hub sits before EU consumers. - - On the shipped PDL this reproduces the literal FLOW_ADJACENCY exactly. + Derive flow adjacency from PDL stages and sidecar edges. Sea crossings are + materialised as lane agents between their endpoint actors. """ roster = build_roster(pdl_path) + sidecar = load_roster_sidecar(pdl_path) name_of: dict[str, str] = {} for entry in roster: for eid in entry.entity_ids: @@ -380,29 +495,44 @@ def build_flow_adjacency(pdl_path: str | Path) -> dict[str, tuple[str, ...]]: producers = {e.archetype.name for e in roster if e.archetype.agent_class is Farmer - and e.archetype.role in (ROLE_PRODUCER)} + and e.archetype.role in (ROLE_PRODUCER,)} consumers = {e.archetype.name for e in roster if e.archetype.agent_class is Farmer and e.archetype.role == ROLE_CONSUMER} producer_e = {eid for eid, nm in name_of.items() if nm in producers} consumer_e = {eid for eid, nm in name_of.items() if nm in consumers} - wholesaler = next(a.name for a in SYNTHETIC if a.role == ROLE_WHOLESALER) - feed_trader = next(a.name for a in SYNTHETIC if a.role == ROLE_FEED_TRADER) - crossings = {(e.src, e.dst): TRANSITIONAL_SEA.get((e.src, e.dst)) for e in derive_sea_edges(pdl_path)} stages = _pdl_stage_pairs(pdl_path) + incoming: dict[str, list[str]] = {} + outgoing: dict[str, list[str]] = {} + for src, dst in sidecar.edges: + outgoing.setdefault(src, []).append(dst) + incoming.setdefault(dst, []).append(src) + + replaced_stages: set[tuple[str, str]] = set() + replacement_crossings: dict[tuple[str, str], Archetype | None] = {} + for entity in sidecar.entities: + eid = entity.get("id") + for src in incoming.get(eid, ()): + for dst in outgoing.get(eid, ()): + pair = (src, dst) + if pair not in stages: + continue + replaced_stages.add(pair) + if pair in crossings: + replacement_crossings[(eid, dst)] = crossings[pair] + adj: dict[str, set[str]] = {} def add(dst: str, src: str) -> None: adj.setdefault(dst, set()).add(src) - def producer_fed(eid: str) -> bool: - return eid in producer_e or any(p in producer_e for (p, q) in stages if q == eid) - - # --- 1. PDL-derived spine + sea crossings --- + # PDL spine, excluding direct edges replaced by a declared sidecar actor. for (s, d) in stages: + if (s, d) in replaced_stages: + continue if (s, d) in crossings: lane = crossings[(s, d)] if lane is None: @@ -416,35 +546,36 @@ def producer_fed(eid: str) -> bool: and d not in consumer_e): add(name_of[d], name_of[s]) - # --- 2. declared overlay: synthetic hubs the PDL doesn't name --- - for nm in producers: - add(wholesaler, nm) # market hub aggregates producers - for (s, d) in stages: # export ports / bypass lanes pull from the hub - if s not in producer_e: - continue - lane = crossings.get((s, d)) + # Sidecar edges insert declared actors into matching PDL stages. + crossings_from: dict[str, list[Archetype]] = {} + for (src, _), lane in crossings.items(): if lane is not None: - add(lane.name, wholesaler) # producer's direct sea bypass (ARG) - elif d in name_of: - add(name_of[d], wholesaler) # producer's land export port - for (s, d), lane in crossings.items(): - if lane is not None and s not in name_of and producer_fed(s): - add(lane.name, wholesaler) # producer-fed excluded origin (US gulf) - for (s, d) in stages: # distribution hub before consumers - if d in consumer_e and s in name_of: - add(name_of[d], feed_trader) - add(feed_trader, name_of[s]) - - # Order each dst's srcs by roster position (not alphabetically): this is the - # byte-safe order the step methods sum over, and it reproduces the literal - # FLOW_ADJACENCY exactly on the shipped PDL so the runtime can consume the - # derived graph without changing float-sum grouping. + crossings_from.setdefault(src, []).append(lane) + + for s, d in sidecar.edges: + pair = (s, d) + if pair in replacement_crossings: + lane = replacement_crossings[pair] + if lane is None: + continue + if d in name_of: + add(name_of[d], lane.name) + if s in name_of: + add(lane.name, name_of[s]) + elif s in name_of and d in name_of: + add(name_of[d], name_of[s]) + elif s in name_of: + for lane in crossings_from.get(d, ()): + add(lane.name, name_of[s]) + + # Order each destination's sources by roster position so summed flows follow + # roster declaration order. pos = {entry.archetype.name: i for i, entry in enumerate(roster)} return {dst: tuple(sorted(srcs, key=lambda s: pos.get(s, len(pos)))) for dst, srcs in adj.items()} -def execution_order(adjacency: dict[str, tuple[str, ...]] | None = None) -> list[str]: +def execution_order(adjacency: dict[str, tuple[str, ...]]) -> list[str]: """ Per-step execution order: a topological sort of the flow graph, so each source is stepped before any list that consumes it. Replaces the hardcoded step sequence. @@ -456,10 +587,8 @@ def execution_order(adjacency: dict[str, tuple[str, ...]] | None = None) -> list """ import heapq - adj = FLOW_ADJACENCY if adjacency is None else adjacency - appearance: dict[str, int] = {} - for dst, srcs in adj.items(): + for dst, srcs in adjacency.items(): appearance.setdefault(dst, len(appearance)) for src in srcs: appearance.setdefault(src, len(appearance)) @@ -467,7 +596,7 @@ def execution_order(adjacency: dict[str, tuple[str, ...]] | None = None) -> list nodes = list(appearance) indeg = {n: 0 for n in nodes} dependents: dict[str, list[str]] = {n: [] for n in nodes} - for dst, srcs in adj.items(): + for dst, srcs in adjacency.items(): for src in srcs: indeg[dst] += 1 dependents[src].append(dst) diff --git a/src/provider_simenv/visualize_csv.py b/src/provider_simenv/visualize_csv.py deleted file mode 100644 index d3a5213..0000000 --- a/src/provider_simenv/visualize_csv.py +++ /dev/null @@ -1,90 +0,0 @@ -""" -Price development visualization -""" - -import logging -import os -import pandas as pd -import matplotlib - -matplotlib.use('Agg') -import matplotlib.pyplot as plt -import matplotlib.ticker as ticker - -logger = logging.getLogger(__name__) - -# --- Config --- - -OUTPUT_DIR = os.path.join(os.path.dirname(__file__), "data" , "output") -ENV_CSV = os.path.join(OUTPUT_DIR, "Result_Simulator_Environment.csv") - -# Labels for each id_scenario - keep in sync with SimulatorScenarios.csv -SCENARIO_LABELS = { - 0: "Baseline (no disruption)", - 1: "Mild drought (BRA -15%, costs +20%)", - 2: "Severe - Brazil drought (KG values)", -} - -COLORS = {0: "#2196F3", 1: "#FF9800", 2: "#F44336"} # blue, orange, red - -# --- Load data --- -def load_environment() -> pd.DataFrame: - df = pd.read_csv(ENV_CSV) - return df - -# --- Matplotlib png --- -def plot_price_curves(df: pd.DataFrame, save_path: str): - """ - Two subplots: soja_price (wholesaler) and feed_price (feed trader) - One line per scenario, colored by drought severity. - """ - - scenarios = sorted(df["id_scenario"].unique()) - - fig, (ax1, ax2) = plt.subplots(2, 1, figsize = (12, 8), sharex = True) - fig.suptitle("PROVIDER Simulation - Price development under Drought Scenarios", fontsize = 13, fontweight = "bold") - - for sid in scenarios: - sub = df[df["id_scenario"] == sid].sort_values("period") - label = SCENARIO_LABELS.get(sid, f"Scenario {sid}") - color = COLORS.get(sid, "#999999") - - ax1.plot(sub["period"], sub["soja_price"], label = label, color = color, linewidth = 2) - ax2.plot(sub["period"], sub["feed_price"], label = label, color = color, linewidth = 2) - - ax1.set_ylabel("Soja Price (EUR/ton)", fontsize = 10) - ax1.set_title("Soja Price - Wholesaler", fontsize = 10) - ax1.legend(fontsize = 9, loc="upper left") - ax1.yaxis.set_major_formatter(ticker.FormatStrFormatter('%.0f €')) - ax1.grid(True, alpha = 0.3) - - ax2.set_ylabel("Feed Price (EUR/ton)", fontsize = 10) - ax2.set_title("Feed Price - Feed Trader", fontsize = 10) - ax2.set_xlabel("Simulation Step (weeks)", fontsize = 10) - ax2.legend(fontsize = 9, loc="upper left") - ax2.yaxis.set_major_formatter(ticker.FormatStrFormatter('%.0f €')) - ax2.grid(True, alpha = 0.3) - - plt.tight_layout() - plt.savefig(save_path, dpi = 150, bbox_inches = "tight") - logger.info("PNG saved: %s", save_path) - plt.close() - - -# --- main --- -if __name__ == "__main__": - logging.basicConfig(level=logging.INFO, format="%(levelname)s %(name)s: %(message)s") - if not os.path.exists(ENV_CSV): - logger.error("%s not found - run main.py first to generate simulation output.", ENV_CSV) - raise SystemExit(1) - - logger.info("Loading simulation output...") - df = load_environment() - - n_scenarios = df["id_scenario"].nunique() - logger.info("Found %d scenarios: %s", n_scenarios, sorted(df['id_scenario'].unique())) - - png_path = os.path.join(OUTPUT_DIR, "price_curves_2.png") - plot_price_curves(df, png_path) - - logger.info("Done.") \ No newline at end of file diff --git a/src/provider_simenv/visualize_sql.py b/src/provider_simenv/visualize_sql.py deleted file mode 100644 index 22719e6..0000000 --- a/src/provider_simenv/visualize_sql.py +++ /dev/null @@ -1,173 +0,0 @@ -""" -Price and volume flow visualization for PROVIDER simenv. - -Reads form the Melodie SQLiet output database and generates matplotlib PNGs in data/output/. - -Output files: - data/output/price_curves.png - soja + feed price per scenario - data/output/volume_flow.png - BRA vs USA sourcing volumes per scenario - -""" - -import os -import sqlite3 - -import matplotlib -import matplotlib.pyplot as plt -import matplotlib.ticker as ticker -import logging -import pandas as pd - -matplotlib.use('Agg') - -logger = logging.getLogger(__name__) - -# -------------------- -# Config -# -------------------- - -OUTPUT_DIR = os.path.join(os.path.dirname(__file__), "data", "output") -DB_PATH = os.path.join(OUTPUT_DIR, "provider-simenv.sqlite") - -# LAbels for each id_scenario -SCENARIO_LABELS = { - 0: "Baseline (no disruption)", - 1: "Mild drought (BRA -15%, costs + 20%)", - 2: "Severe - Brazil drought (KG values)", -} - -COLORS = {0: "#2196F3", 1: "#FF9800", 2: "#F44336"} # blue, orange, red - -# -------------------- -# Load data from SQLite -# -------------------- - -def _load_table(conn, table): - """Read a full simulation result table from the SQLite database.""" - return pd.read_sql("SELECT * FROM [" + table + "]", conn) - -def load_data(): - """ - Open the SQLite database and return the two tables needed for plotting. - """ - conn = sqlite3.connect(DB_PATH) - df_env = _load_table(conn, "Result_Simulator_Environment") - df_wholesalers = _load_table(conn, "Result_Simulator_Wholesalers") - conn.close() - return df_env, df_wholesalers - -# -------------------- -# Plots -# -------------------- - -def plot_price_curves(df_env, save_path): - """ - Two subplots: soja_price and feed_price. - One line per scenario, colored by drought severity. - """ - - scenarios = sorted(df_env["id_scenario"].unique()) - - fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(12, 8), sharex=True) - fig.suptitle( - "PROVIDER Simulation -- Price Development under Drought Scenarios", - fontsize = 13, fontweight="bold", - ) - - for sid in scenarios: - sub = df_env[df_env["id_scenario"] == sid].sort_values("period") - label = SCENARIO_LABELS.get(sid, "Scenario " + str(sid)) - color = COLORS.get(sid, "#999999") - - ax1.plot(sub["period"], sub["soja_price"], label=label, color=color, linewidth=2) - ax2.plot(sub["period"], sub["feed_price"], label=label, color=color, linewidth=2) - - ax1.set_ylabel("Soja Price (EUR/t)", fontsize=10) - ax1.set_title("Soja Price -- Wholesaler level", fontsize=10) - ax1.legend(fontsize=9, loc="upper left") - ax1.yaxis.set_major_formatter(ticker.FormatStrFormatter("%0f EUR")) - ax1.grid(True, alpha=0.3) - - ax2.set_ylabel("Feed Price (EUR/t)", fontsize=10) - ax2.set_title("Feed Price -- Feed Trader level", fontsize=10) - ax2.set_xlabel("Simulation Step (weeks)", fontsize=10) - ax2.legend(fontsize=9, loc="upper left") - ax2.yaxis.set_major_formatter(ticker.FormatStrFormatter("%0f EUR")) - ax2.grid(True, alpha=0.3) - - plt.tight_layout() - plt.savefig(save_path, dpi=150, bbox_inches="tight") - logger.info("price_curves -> %s", save_path) - plt.close() - -def plot_volume_flow(df_wholesalers, save_path): - """ - Stacked area chart showing how much soja wholesalers source from - BRA vs USA each step. One panel per scenario. - - Data: bra_volume + usa_volume summed across all wholesaler agents per step. - """ - agg = ( - df_wholesalers - .groupby(["id_scenario", "period"])[["bra_volume", "usa_volume"]] - .sum() - .reset_index() - ) - - scenarios = sorted(agg["id_scenario"].unique()) - n = len(scenarios) - - fig, axes = plt.subplots(n, 1, figsize=(12, 4 * n), sharex=True) - if n == 1: - axes = [axes] - - fig.suptitle( - "PROVIDER Simulation -- Sourcing Volume Flow (BRA vs USA)", - fontsize=13, fontweight="bold", - ) - - for ax, sid in zip(axes, scenarios): - sub = agg[agg["id_scenario"] == sid].sort_values("period") - label = SCENARIO_LABELS.get(sid, "Scenario " + str(sid)) - - ax.stackplot( - sub["period"], - sub["bra_volume"], - sub["usa_volume"], - labels=["BRA (Brazil)", "USA"], - colors=["#4CAF50", "#2196F3"], - alpha=0.75, - ) - - ax.set_title(label, fontsize=10) - ax.set_ylabel("Volume (tonnes)", fontsize=9) - ax.legend(fontsize=9, loc="upper right") - ax.yaxis.set_major_formatter( - ticker.FuncFormatter(lambda x, _: "{:,.0f} t".format(x)) - ) - ax.grid(True, alpha=0.3) - - axes[-1].set_xlabel("Simulation Step (weeks)", fontsize=10) - - plt.tight_layout() - plt.savefig(save_path, dpi=150, bbox_inches="tight") - logger.info("volume_flow -> %s", save_path) - plt.close() - - -if __name__ == "__main__": - logging.basicConfig(level=logging.INFO, format="%(levelname)s %(name)s: %(message)s") - if not os.path.exists(DB_PATH): - logger.error("database not found at %s - run main.py first to generate simulation output.", DB_PATH) - raise SystemExit(1) - - logger.info("Loading simulation output from SQLite...") - df_env, df_wholesalers = load_data() - - n_scenarios = df_env["id_scenario"].nunique() - logger.info("%d scenario(s): %s", n_scenarios, sorted(df_env["id_scenario"].unique())) - - plot_price_curves(df_env, os.path.join(OUTPUT_DIR, "price_curves.png")) - plot_volume_flow(df_wholesalers, os.path.join(OUTPUT_DIR, "volume_flow.png")) - - logger.info("Done.") \ No newline at end of file diff --git a/tests/fixtures/s1-soja-argentina-in-netherlands.pdl.yaml b/tests/fixtures/s1-soja-argentina-in-netherlands.pdl.yaml new file mode 100644 index 0000000..ce72267 --- /dev/null +++ b/tests/fixtures/s1-soja-argentina-in-netherlands.pdl.yaml @@ -0,0 +1,970 @@ +# Fixture: Argentina is located in the Netherlands, so its Rotterdam route is not a sea crossing. +pdl_version: "1.1" + +scenario: + id: soy_feed_disruption + name: "Soja-Futtermittel-Lieferkette" + sector: agriculture + criticality: high + description: "Simulation der Auswirkungen einer Soja-Lieferkettenunterbrechung auf die europäische Futtermittel- und Fleischproduktion" + +entities: + # Produktion + - id: brazil_farms + type: region + name: "Sojaanbau Brasilien" + sector: agriculture + location: Brazil + vulnerability: 0.6 + + - id: argentina_farms + type: region + name: "Sojaanbau Argentinien" + sector: agriculture + location: Netherlands + vulnerability: 0.5 + + - id: us_farms + type: region + name: "Sojaanbau USA" + sector: agriculture + location: United States + vulnerability: 0.3 + + # Logistik-Infrastruktur + - id: santos_port + type: infrastructure + name: "Hafen Santos" + sector: logistics + location: Brazil + vulnerability: 0.7 + + - id: paranagua_port + type: infrastructure + name: "Hafen Paranaguá" + sector: logistics + location: Brazil + vulnerability: 0.65 + + - id: rotterdam_port + type: infrastructure + name: "Hafen Rotterdam" + sector: logistics + location: Netherlands + vulnerability: 0.3 + + - id: hamburg_port + type: infrastructure + name: "Hafen Hamburg" + sector: logistics + location: Germany + vulnerability: 0.3 + + # Verarbeitung + - id: eu_oil_mills + type: manufacturer + name: "EU Ölmühlen" + sector: processing + location: EU + vulnerability: 0.5 + + - id: feed_mills + type: manufacturer + name: "Futtermittelhersteller" + sector: processing + location: EU + vulnerability: 0.6 + + # Endverbraucher + - id: poultry_farms + type: manufacturer + name: "Geflügelbetriebe" + sector: agriculture + location: EU + vulnerability: 0.8 + + - id: pig_farms + type: manufacturer + name: "Schweinebetriebe" + sector: agriculture + location: EU + vulnerability: 0.75 + + - id: dairy_farms + type: manufacturer + name: "Milchwirtschaft" + sector: agriculture + location: EU + vulnerability: 0.6 + + # Lebensmitteleinzelhandel und Verbraucher + - id: food_retail + type: service + name: "Lebensmitteleinzelhandel" + sector: retail + location: EU + vulnerability: 0.4 + + - id: consumers + type: region + name: "Verbraucher" + sector: society + location: EU + vulnerability: 0.5 + + # Resilienz-Mechanismen + - id: alternative_protein_sources + type: commodity + name: "Alternative Proteinquellen (Raps, Sonnenblume, Erbsen)" + sector: agriculture + location: EU + vulnerability: 0.35 + substitution_potential: 0.2 + note: "Rapsschrot, Sonnenblumenschrot und Erbsenprotein als Sojaschrot-Substitute" + + - id: soy_oil_market + type: commodity + name: "Sojaöl-Markt (Nebenprodukt Ölmühlen)" + sector: food + vulnerability: 0.5 + note: "~20% Öl, ~80% Schrot bei Sojabohnenverarbeitung" + + - id: us_gulf_ports + type: infrastructure + name: "US-Golfhäfen (New Orleans, Houston)" + sector: logistics + location: United States + vulnerability: 0.35 + + - id: strategic_feed_reserves + type: commodity + name: "Industrielle Futtermittel-Lagerbestände" + sector: agriculture + location: EU + vulnerability: 0.2 + capacity: "30-45d Verbrauch" + + # Abhängigkeiten + - id: gas_supply + type: commodity + name: "Erdgasversorgung" + sector: energy + vulnerability: 0.7 + + - id: fertilizer_supply + type: commodity + name: "Düngemittelversorgung" + sector: chemistry + vulnerability: 0.6 + +supply_chains: + - id: soy_to_eu_main + name: "Soja-Hauptlieferkette Brasilien-EU" + stages: + - [brazil_farms, santos_port] + - [santos_port, rotterdam_port] + - [rotterdam_port, eu_oil_mills] + - [eu_oil_mills, feed_mills] + - [feed_mills, poultry_farms] + - [feed_mills, pig_farms] + - [feed_mills, dairy_farms] + - [eu_oil_mills, soy_oil_market] + - [poultry_farms, food_retail] + - [pig_farms, food_retail] + - [dairy_farms, food_retail] + - [food_retail, consumers] + - [alternative_protein_sources, feed_mills] + - [strategic_feed_reserves, feed_mills] + dependencies: + - from: eu_oil_mills + to: gas_supply + type: energy + criticality: high + - from: brazil_farms + to: fertilizer_supply + type: input + criticality: medium + - from: feed_mills + to: eu_oil_mills + type: input + criticality: high + - from: poultry_farms + to: feed_mills + type: input + criticality: high + - from: pig_farms + to: feed_mills + type: input + criticality: high + - from: dairy_farms + to: feed_mills + type: input + criticality: medium + - from: alternative_protein_sources + to: feed_mills + type: substitution + substitution_ref: sub_protein_replacement + criticality: medium + - from: strategic_feed_reserves + to: feed_mills + type: substitution + substitution_ref: sub_strategic_reserves + criticality: low + + - id: soy_to_eu_secondary + name: "Soja-Nebenlieferkette Paranaguá" + stages: + - [brazil_farms, paranagua_port] + - [paranagua_port, hamburg_port] + - [hamburg_port, eu_oil_mills] + + - id: soy_argentina_route + name: "Argentinien-Alternativroute" + stages: + - [argentina_farms, rotterdam_port] + - [rotterdam_port, eu_oil_mills] + + - id: soy_us_emergency_route + name: "USA-Notfall-Lieferkette" + stages: + - [us_farms, us_gulf_ports] + - [us_gulf_ports, rotterdam_port] + - [rotterdam_port, eu_oil_mills] + dependencies: + - from: eu_oil_mills + to: us_farms + type: input + criticality: medium + + # Feedback-Schleifen + - id: feedback_loops_chain + name: "Feedback-Schleifen (Rückkopplungseffekte)" + stages: + - [consumers, feed_mills] + - [poultry_farms, feed_mills] + - [pig_farms, feed_mills] + dependencies: + - from: feed_mills + to: poultry_farms + type: demand + criticality: medium + note: "Bestandsabbau reduziert Futternachfrage" + - from: feed_mills + to: consumers + type: demand + criticality: medium + note: "Fleischsubstitution reduziert Nachfrage" + +substitutions: + + # Produktsubstitution: Sojaschrot → alternative Proteinquellen + - id: sub_protein_replacement + from: eu_oil_mills + to: alternative_protein_sources + type: product + + coverage: 0.20 # Max. 20% des Sojaschrot-Bedarfs ersetzbar + quality_delta: -0.12 # ~12% geringerer Proteingehalt (Raps: 34% vs. Soja: 44%) + cost_delta: 0.30 # +30% Mehrkosten bei Preisspitze + ramp_up: 21d # Rezepturumstellung in Futtermittelwerken + + activation: + trigger: "feed_price_spike.active" + threshold: + price_increase: 0.25 + + reversible: true + + side_effects: + - type: price_pressure + target: alternative_protein_sources + magnitude: 0.20 + description: "Mehrnachfrage nach Rapsschrot treibt dessen Preis" + - type: quality_loss + target: poultry_farms + magnitude: -0.05 + description: "Geflügel reagiert sensibler auf Proteingehalt als Schweine" + + dependency_overlap: + - fertilizer_supply # Raps/Sonnenblume brauchen denselben Dünger + - gas_supply # Trocknung der Ölsaaten ebenfalls gasabhängig + + reference: "UFOP 2022: Rapsschrot-Substitutionspotenzial ~15-20% bei Sojapreisschocks" + + # Lieferantensubstitution: Brasilien → Argentinien + - id: sub_supplier_argentina + from: brazil_farms + to: argentina_farms + type: supplier + + coverage: 0.15 + quality_delta: 0.0 # Gleiche Qualität (GM-Soja, ähnlicher Standard) + cost_delta: 0.15 + ramp_up: 14d # Sofortige Umleitung von Handelsströmen möglich + + activation: + trigger: "soy_export_reduction.active" + + reversible: true + + side_effects: + - type: correlated_risk + description: "Bei gleichzeitiger La-Niña-Dürre auch AR betroffen (2021/22 tatsächlich eingetreten)" + + dependency_overlap: + - fertilizer_supply # Argentinische Betriebe ebenfalls düngemittelabhängig + + reference: "USDA GATS 2022: Argentinien kompensiert BR-Ausfälle teilweise, korreliertes Klimarisiko" + + # Lieferantensubstitution: Brasilien → USA (Notfall) + - id: sub_supplier_usa + from: brazil_farms + to: us_farms + type: supplier + + coverage: 0.25 + quality_delta: 0.0 + cost_delta: 0.25 # Längere Route, höhere Frachtkosten + ramp_up: 30d # Handelsverträge + Verschiffungsplanung + + activation: + trigger: "soy_export_reduction.active" + threshold: + duration_min: 30d # Erst nach 30 Tagen anhaltender Störung + + reversible: true + side_effects: [] + dependency_overlap: [] # USA hat unabhängiges Klimarisiko → echte Diversifikation + + reference: "USA größter Soja-Exporteur weltweit, Golfhäfen für EU-Verschiffung geeignet" + + # Routensubstitution: Santos → Paranaguá + - id: sub_route_paranagua + from: santos_port + to: paranagua_port + type: route + + coverage: 0.35 + quality_delta: 0.0 + cost_delta: 0.08 + ramp_up: 7d # Reedereien können schnell umplanen + + activation: + trigger: "port_congestion.active" + + reversible: true + side_effects: [] + + reference: "Paranaguá: zweitgrößter brasilianischer Soja-Exporthafen" + + # Nachfrageseitige Substitution: Fleisch → Pflanzlich + - id: sub_consumer_plant_based + from: food_retail + to: consumers + type: product + direction: demand + + coverage: 0.08 + quality_delta: 0.0 + cost_delta: 0.0 + ramp_up: 14d + + activation: + trigger: "consumer_price_increase.active" + threshold: + price_increase: 0.15 + + reversible: true + + side_effects: + - type: demand_reduction + target: feed_mills + magnitude: -0.12 + description: "Weniger Fleisch → weniger Futtermittelnachfrage" + + reference: "DGE 2022: Fleischkonsum DE -4,2%, bei stärkeren Preissteigerungen bis -8%" + + # Puffersubstitution: Strategische Lagerbestände + - id: sub_strategic_reserves + from: strategic_feed_reserves + to: feed_mills + type: buffer + + coverage: 0.12 + quality_delta: 0.0 + cost_delta: 0.0 + ramp_up: 3d + duration_max: 45d + + activation: + trigger: "feed_price_spike.active" + + reversible: false + + side_effects: + - type: depletion + description: "Nach Nutzung: Lager müssen zu erhöhten Preisen wiederbefüllt werden" + + reference: "Typische Lagerreichweite EU-Futtermittelindustrie 30-45 Tage" + +events: + - id: brazil_drought + name: "Dürre Brasilien" + type: natural_disaster + trigger: + target: brazil_farms + probability: 0.15 + impact: + supply: "-40%" + duration: 90d + causes: [soy_export_reduction, fertilizer_demand_spike] + reference: "Dürre 2021/2022 Südbrasilien (La Niña) - Ertragsrückgang 42-56% regional (Rio Grande do Sul, Paraná)" + + - id: soy_export_reduction + name: "Soja-Exportrückgang" + type: market_shock + trigger: + target: santos_port + condition: "brazil_drought.active" + impact: + supply: "-12%" + duration: 120d + causes: [feed_price_spike] + reference: "CONAB/USDA 2022: Exportrückgang ~9-12% (78,7 vs. 86,1 Mio. t)" + + - id: port_congestion + name: "Hafenstau Santos" + type: infrastructure_failure + trigger: + target: santos_port + probability: 0.25 + impact: + supply: "-20%" + duration: 30d + causes: [feed_price_spike, port_route_shift] + reference: "Regelmäßige Engpässe während Erntesaison, 88 Schiffe Wartezeit Feb 2022" + + - id: feed_price_spike + name: "Futtermittelpreisanstieg" + type: market_shock + trigger: + target: feed_mills + condition: "soy_export_reduction.active" + impact: + price: "+45%" + duration: 180d + causes: [livestock_pressure, alternative_protein_activation, reserve_release] + reference: "FEFAC/World Grain 2022: Futtermittelpreise +31-50%, Spitzenwerte höher" + + - id: livestock_pressure + name: "Druck auf Tierproduktion" + type: market_shock + trigger: + target: poultry_farms + condition: "feed_price_spike.active" + impact: + supply: "-9%" + price: "+20%" + duration: 240d + causes: [consumer_price_increase, feed_demand_reduction] + reference: "Destatis 2022: Fleischproduktion -8,1% (Schwein -9,6%, Geflügel -2,9%)" + + - id: gas_price_spike + name: "Gaspreis-Explosion" + type: market_shock + trigger: + target: gas_supply + probability: 0.2 + impact: + price: "+200%" + duration: 180d + causes: [ammonia_halt, oil_mill_slowdown] + reference: "Gaskrise 2022" + + - id: ammonia_halt + name: "Ammoniak-Produktionsstopp" + type: infrastructure_failure + trigger: + target: fertilizer_supply + condition: "gas_price_spike.active" + impact: + supply: "-70%" + duration: 90d + causes: [fertilizer_demand_spike] + reference: "BASF/Yara Produktionsstopps 2022" + + - id: oil_mill_slowdown + name: "Ölmühlen-Drosselung" + type: infrastructure_failure + trigger: + target: eu_oil_mills + condition: "gas_price_spike.active" + impact: + supply: "-30%" + duration: 60d + causes: [soy_oil_shortage, feed_price_spike] + reference: "Geschätzt: Gaspreisbedingte Drosselung EU-Ölmühlen 2022 (ADM/Cargill)" + + - id: fertilizer_demand_spike + name: "Düngemittel-Nachfragespitze" + type: market_shock + trigger: + target: fertilizer_supply + condition: "brazil_drought.active" + impact: + demand: "+40%" + price: "+80%" + duration: 120d + + # Fehlende Event-Definition (war in Cascade referenziert) + - id: consumer_price_increase + name: "Verbraucherpreis-Erhöhung" + type: market_shock + trigger: + target: consumers + condition: "livestock_pressure.active" + impact: + price: "+18%" + duration: 240d + causes: [consumer_substitution] + reference: "Destatis: Nahrungsmittelpreise 2022 +13,4%, Fleisch +15-20%" + + # Resilienz-Events + - id: alternative_protein_activation + name: "Alternative Proteinquellen aktiviert" + type: market_shock + trigger: + target: alternative_protein_sources + condition: "feed_price_spike.active" + impact: + supply: "+8%" + price: "+30%" + duration: 120d + substitution_ref: sub_protein_replacement + reference: "Rapsschrot/Sonnenblumenschrot-Substitution bei Sojapreisschocks, ~20% Potenzial" + + - id: reserve_release + name: "Industrielle Lagerbestände freigegeben" + type: market_shock + trigger: + target: strategic_feed_reserves + condition: "feed_price_spike.active" + impact: + supply: "+12%" + duration: 45d + substitution_ref: sub_strategic_reserves + reference: "Futtermittellager bei Ölmühlen und Mischfutterherstellern ~30-45 Tage Reichweite" + + - id: port_route_shift + name: "Umleitung auf Alternativhäfen" + type: infrastructure_failure + trigger: + target: paranagua_port + condition: "port_congestion.active" + impact: + supply: "-5%" + duration: 30d + substitution_ref: sub_route_paranagua + reference: "Verlagerung Santos → Paranaguá/Hamburg bei Hafenstau" + + - id: argentina_supply_increase + name: "Argentinien erhöht Sojaexporte" + type: market_shock + trigger: + target: argentina_farms + condition: "soy_export_reduction.active" + impact: + supply: "+10%" + price: "+15%" + duration: 90d + substitution_ref: sub_supplier_argentina + reference: "Argentinien kompensiert teilweise bei Brasilienausfällen (außer bei eigener Dürre)" + + - id: us_supply_activated + name: "US-Soja-Notlieferungen aktiviert" + type: market_shock + trigger: + target: us_farms + condition: "soy_export_reduction.active AND soy_export_reduction.duration > 30d" + impact: + supply: "+15%" + price: "+25%" + duration: 120d + substitution_ref: sub_supplier_usa + reference: "USA größter Soja-Exporteur, Umleitung über Golfhäfen nach EU möglich" + + - id: soy_oil_shortage + name: "Sojaöl-Engpass" + type: market_shock + trigger: + target: soy_oil_market + condition: "oil_mill_slowdown.active OR soy_export_reduction.active" + impact: + supply: "-25%" + price: "+60%" + duration: 90d + causes: [consumer_price_increase] + reference: "Speiseölkrise 2022: Sojaöl +85%, Nebenprodukt der Ölmühlen" + + # Feedback-Loop Events + - id: consumer_substitution + name: "Verbraucher-Substitutionseffekt" + type: market_shock + trigger: + target: food_retail + condition: "consumer_price_increase.active" + impact: + demand: "-8%" + duration: 180d + causes: [feed_demand_reduction] + substitution_ref: sub_consumer_plant_based + reference: "Fleischkonsum DE 2022: -4,2% (DGE), Substitution zu pflanzlichen Alternativen" + + - id: feed_demand_reduction + name: "Reduzierte Futtermittelnachfrage" + type: market_shock + trigger: + target: feed_mills + condition: "livestock_pressure.active AND consumer_substitution.active" + impact: + demand: "-12%" + duration: 120d + reference: "Bestandsabbau und Substitution senken Futternachfrage langfristig" + +cascades: + - id: soy_crisis_cascade + name: "Soja-Krisenkaskade" + origin: brazil_drought + timeline: + - at: 0d + event: brazil_drought + impact: + sector: agriculture + severity: critical + + - at: 14d + event: soy_export_reduction + impact: + sector: logistics + severity: high + affects: + - santos_port + + - at: 14d + event: argentina_supply_increase + impact: + sector: agriculture + severity: low + affects: + - argentina_farms + - rotterdam_port + + - at: 21d + event: port_congestion + impact: + sector: logistics + severity: medium + affects: + - santos_port + + - at: 21d + event: port_route_shift + impact: + sector: logistics + severity: low + affects: + - paranagua_port + - hamburg_port + + - at: 28d + event: feed_price_spike + impact: + sector: agriculture + severity: critical + affects: + - feed_mills + + - at: 28d + event: reserve_release + impact: + sector: agriculture + severity: low + affects: + - strategic_feed_reserves + + - at: 35d + event: alternative_protein_activation + impact: + sector: agriculture + severity: low + affects: + - alternative_protein_sources + + - at: 42d + event: livestock_pressure + impact: + sector: agriculture + severity: high + affects: + - poultry_farms + - pig_farms + - dairy_farms + + - at: 45d + event: us_supply_activated + impact: + sector: agriculture + severity: low + affects: + - us_farms + - us_gulf_ports + - rotterdam_port + + - at: 60d + event: consumer_price_increase + impact: + sector: retail + severity: medium + affects: + - consumers + - food_retail + + - at: 75d + event: consumer_substitution + impact: + sector: retail + severity: low + affects: + - food_retail + + - at: 90d + event: feed_demand_reduction + impact: + sector: agriculture + severity: low + affects: + - feed_mills + + probability: 0.9 + validation: + reference: "Soja-Krise 2022" + source: "BMEL Marktberichte, FAO GIEWS" + confidence: 0.85 + + - id: energy_food_cascade + name: "Energie-Lebensmittel-Kaskade" + origin: gas_price_spike + timeline: + - at: 0d + event: gas_price_spike + impact: + sector: energy + severity: critical + + - at: 7d + event: ammonia_halt + impact: + sector: chemistry + severity: critical + + - at: 14d + event: oil_mill_slowdown + impact: + sector: processing + severity: high + affects: + - eu_oil_mills + + - at: 18d + event: soy_oil_shortage + impact: + sector: food + severity: medium + affects: + - soy_oil_market + + - at: 21d + event: feed_price_spike + impact: + sector: agriculture + severity: high + affects: + - feed_mills + + - at: 21d + event: reserve_release + impact: + sector: agriculture + severity: low + affects: + - strategic_feed_reserves + + - at: 28d + event: alternative_protein_activation + impact: + sector: agriculture + severity: low + affects: + - alternative_protein_sources + + - at: 35d + event: livestock_pressure + impact: + sector: agriculture + severity: critical + affects: + - poultry_farms + - pig_farms + - dairy_farms + + - at: 50d + event: consumer_price_increase + impact: + sector: retail + severity: medium + affects: + - consumers + - food_retail + + - at: 65d + event: consumer_substitution + impact: + sector: retail + severity: low + affects: + - food_retail + + probability: 0.85 + validation: + reference: "Gaskrise 2022" + source: "Destatis, BLE Versorgungsbilanzen" + confidence: 0.9 + + - id: compound_crisis + name: "Kombinierte Krise" + origin: brazil_drought + timeline: + - at: 0d + event: brazil_drought + impact: + sector: agriculture + severity: critical + + - at: 14d + event: gas_price_spike + impact: + sector: energy + severity: critical + + - at: 28d + event: soy_export_reduction + impact: + sector: logistics + severity: high + affects: + - santos_port + + - at: 28d + event: argentina_supply_increase + impact: + sector: agriculture + severity: low + affects: + - argentina_farms + + - at: 35d + event: ammonia_halt + impact: + sector: chemistry + severity: critical + affects: + - fertilizer_supply + + - at: 35d + event: oil_mill_slowdown + impact: + sector: processing + severity: high + affects: + - eu_oil_mills + + - at: 38d + event: soy_oil_shortage + impact: + sector: food + severity: high + affects: + - soy_oil_market + + - at: 42d + event: feed_price_spike + impact: + sector: agriculture + severity: critical + affects: + - feed_mills + + - at: 42d + event: reserve_release + impact: + sector: agriculture + severity: low + affects: + - strategic_feed_reserves + + - at: 45d + event: alternative_protein_activation + impact: + sector: agriculture + severity: low + affects: + - alternative_protein_sources + + - at: 56d + event: livestock_pressure + impact: + sector: agriculture + severity: critical + affects: + - poultry_farms + - pig_farms + - dairy_farms + + - at: 60d + event: us_supply_activated + impact: + sector: agriculture + severity: low + affects: + - us_farms + - us_gulf_ports + + - at: 70d + event: consumer_price_increase + impact: + sector: retail + severity: high + affects: + - consumers + - food_retail + + - at: 85d + event: consumer_substitution + impact: + sector: retail + severity: medium + affects: + - food_retail + + - at: 100d + event: feed_demand_reduction + impact: + sector: agriculture + severity: low + affects: + - feed_mills + + probability: 0.3 + validation: + reference: "Hypothetische Kombination basierend auf 2022-Ereignissen" + confidence: 0.6 diff --git a/tests/fixtures/s1-soja-argentina-in-netherlands.roster.yaml b/tests/fixtures/s1-soja-argentina-in-netherlands.roster.yaml new file mode 100644 index 0000000..cfd1d7b --- /dev/null +++ b/tests/fixtures/s1-soja-argentina-in-netherlands.roster.yaml @@ -0,0 +1,84 @@ +# Sidecar for s1-soja.pdl.yaml: archetypes, added entities, edges and dependencies +# the PDL does not carry. Additive only — an id in both files is an error. + +# Which archetype each PDL entity resolves to. +archetypes: + brazil_farms: producer + argentina_farms: producer + us_farms: producer + santos_port: land_transport + paranagua_port: land_transport + rotterdam_port: land_transport + hamburg_port: land_transport + eu_oil_mills: processor + feed_mills: feed_manufacturer + poultry_farms: consumer + pig_farms: consumer + dairy_farms: consumer + +# PDL entities intentionally not modelled as node-agents. +exclude: + us_gulf_ports: "sea-edge origin, not a handler node" + gas_supply: "dependency commodity (binding target), not a node-agent" + fertilizer_supply: "dependency commodity (binding target), not a node-agent" + soy_oil_market: "by-product commodity, no agent today" + alternative_protein_sources: "substitution commodity, no agent today" + strategic_feed_reserves: "buffer commodity, no agent today" + food_retail: "downstream of modelled chain — not yet a node-agent" + consumers: "downstream of modelled chain — not yet a node-agent" + +# Entities absent from the PDL. Coordinates are illustrative. +entities: + - id: brazil_wholesaler + name: "Brazil grain originator" + archetype: wholesaler + reason: "grain originator (buys from farms, runs silos, ships) — trading actors not yet in PDL, partner request 2026-08" + lat: -23.0 + lng: -47.0 + illustrative: true + - id: argentina_wholesaler + name: "Argentina grain originator" + archetype: wholesaler + reason: "grain originator for Argentina — trading actors not yet in PDL, partner request 2026-08" + lat: -32.9 + lng: -60.7 + illustrative: true + - id: us_wholesaler + name: "US grain originator" + archetype: wholesaler + reason: "grain originator for the US — trading actors not yet in PDL, partner request 2026-08" + lat: 29.95 + lng: -90.07 + illustrative: true + - id: eu_feed_trader + name: "EU feed distributor" + archetype: feed_trader + reason: "feed distributor between mills and livestock — not yet in PDL, partner request 2026-08" + lat: 47.5 + lng: 16.0 + illustrative: true + +# Edges connecting the added entities into the PDL graph. +edges: + - [brazil_farms, brazil_wholesaler] + - [brazil_wholesaler, santos_port] + - [brazil_wholesaler, paranagua_port] + - [argentina_farms, argentina_wholesaler] + - [argentina_wholesaler, rotterdam_port] + - [us_farms, us_wholesaler] + - [us_wholesaler, us_gulf_ports] + - [feed_mills, eu_feed_trader] + - [eu_feed_trader, poultry_farms] + - [eu_feed_trader, pig_farms] + - [eu_feed_trader, dairy_farms] + +# Dependency edges, in the PDL's supply_chains.dependencies shape. +dependencies: + - from: argentina_farms + to: fertilizer_supply + type: input + criticality: medium + - from: us_farms + to: fertilizer_supply + type: input + criticality: medium diff --git a/tests/fixtures/topology_snapshot_23.py b/tests/fixtures/topology_snapshot_23.py new file mode 100644 index 0000000..e8eccb7 --- /dev/null +++ b/tests/fixtures/topology_snapshot_23.py @@ -0,0 +1,185 @@ +"""Frozen s1-soja topology. Roster order and source order within each adjacency entry are significant.""" + +ROSTER = [{'name': 'brazil_farms', + 'agent_class': 'Farmer', + 'role': 'producer', + 'count_attr': 'n_brazil_farms', + 'params': {'bindings': {'fertilizer': ('fertilizer_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_brazil_farms', + 'margin': 'margin_brazil_farms', + 'size_sigma': 'size_sigma_brazil_farms'}, + 'attrs': {'base_yield': 100.0}}, + 'entity_ids': ('brazil_farms',)}, + {'name': 'argentina_farms', + 'agent_class': 'Farmer', + 'role': 'producer', + 'count_attr': 'n_argentina_farms', + 'params': {'bindings': {'fertilizer': ('fertilizer_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_argentina_farms', + 'margin': 'margin_argentina_farms', + 'size_sigma': 'size_sigma_argentina_farms'}, + 'attrs': {'base_yield': 100.0}}, + 'entity_ids': ('argentina_farms',)}, + {'name': 'us_farms', + 'agent_class': 'Farmer', + 'role': 'producer', + 'count_attr': 'n_us_farms', + 'params': {'bindings': {'fertilizer': ('fertilizer_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_us_farms', + 'margin': 'margin_us_farms', + 'size_sigma': 'size_sigma_us_farms'}, + 'attrs': {'base_yield': 100.0}}, + 'entity_ids': ('us_farms',)}, + {'name': 'transport_sa_santos', + 'agent_class': 'Transport', + 'role': 'sa_santos', + 'count_attr': 'n_transport_sa_santos', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sa'}, + 'attrs': {'capacity': 500.0}}, + 'entity_ids': ('santos_port',)}, + {'name': 'transport_sa_paranagua', + 'agent_class': 'Transport', + 'role': 'sa_paranagua', + 'count_attr': 'n_transport_sa_paranagua', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sa'}, + 'attrs': {'capacity': 500.0}}, + 'entity_ids': ('paranagua_port',)}, + {'name': 'transport_eu_rtm', + 'agent_class': 'Transport', + 'role': 'eu_rtm', + 'count_attr': 'n_transport_eu_rtm', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_eu'}, + 'attrs': {'capacity': 500.0}}, + 'entity_ids': ('rotterdam_port',)}, + {'name': 'transport_eu_ham', + 'agent_class': 'Transport', + 'role': 'eu_ham', + 'count_attr': 'n_transport_eu_ham', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_eu'}, + 'attrs': {'capacity': 500.0}}, + 'entity_ids': ('hamburg_port',)}, + {'name': 'processors', + 'agent_class': 'Process', + 'role': 'processor', + 'count_attr': 'n_processors', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_processor', + 'margin': 'margin_processor'}, + 'attrs': {'conversion_ratio': 0.8}}, + 'entity_ids': ('eu_oil_mills',)}, + {'name': 'feed_manufacturers', + 'agent_class': 'Process', + 'role': 'feed_manufacturer', + 'count_attr': 'n_feed_manufacturers', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_feed_manufacturer', + 'margin': 'margin_feed_manufacturer'}, + 'attrs': {'conversion_ratio': 1.0}}, + 'entity_ids': ('feed_mills',)}, + {'name': 'eu_farmers', + 'agent_class': 'Farmer', + 'role': 'consumer', + 'count_attr': 'n_eu_farmers', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_eu_farmer', + 'size_sigma': 'farm_size_sigma_eu'}}, + 'entity_ids': ('poultry_farms', 'pig_farms', 'dairy_farms')}, + {'name': 'brazil_wholesaler', + 'agent_class': 'Trader', + 'role': 'wholesaler', + 'count_attr': 'n_wholesalers', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_wholesaler', + 'margin': 'margin_wholesaler', + 'storage_capacity': 'wholesaler_storage_capacity'}}, + 'entity_ids': ('brazil_wholesaler',)}, + {'name': 'argentina_wholesaler', + 'agent_class': 'Trader', + 'role': 'wholesaler', + 'count_attr': 'n_wholesalers', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_wholesaler', + 'margin': 'margin_wholesaler', + 'storage_capacity': 'wholesaler_storage_capacity'}}, + 'entity_ids': ('argentina_wholesaler',)}, + {'name': 'us_wholesaler', + 'agent_class': 'Trader', + 'role': 'wholesaler', + 'count_attr': 'n_wholesalers', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_wholesaler', + 'margin': 'margin_wholesaler', + 'storage_capacity': 'wholesaler_storage_capacity'}}, + 'entity_ids': ('us_wholesaler',)}, + {'name': 'feed_traders', + 'agent_class': 'Trader', + 'role': 'feed_trader', + 'count_attr': 'n_feed_traders', + 'params': {'scenario_attrs': {'fixed_costs': 'fixed_costs_feed_trader', + 'margin': 'margin_feed_trader'}}, + 'entity_ids': ('eu_feed_trader',)}, + {'name': 'sea_lane_santos', + 'agent_class': 'Transport', + 'role': 'sea_santos', + 'count_attr': 'n_sea_lane_santos', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sea'}, + 'attrs': {'capacity': 1000.0, 'transit_steps': 60}}, + 'entity_ids': ()}, + {'name': 'sea_lane_paranagua', + 'agent_class': 'Transport', + 'role': 'sea_paranagua', + 'count_attr': 'n_sea_lane_paranagua', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sea'}, + 'attrs': {'capacity': 1000.0, 'transit_steps': 60}}, + 'entity_ids': ()}, + {'name': 'sea_lane_arg', + 'agent_class': 'Transport', + 'role': 'sea_arg', + 'count_attr': 'n_sea_lane_arg', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sea'}, + 'attrs': {'capacity': 1000.0, 'transit_steps': 60}}, + 'entity_ids': ()}, + {'name': 'sea_lane_usa', + 'agent_class': 'Transport', + 'role': 'sea_usa', + 'count_attr': 'n_sea_lane_usa', + 'params': {'bindings': {'energy': ('gas_supply', 'price')}, + 'scenario_attrs': {'fixed_costs': 'fixed_costs_transport_sea'}, + 'attrs': {'capacity': 1000.0, 'transit_steps': 60}}, + 'entity_ids': ()}] + +FLOW_ADJACENCY = {'argentina_wholesaler': ('argentina_farms',), + 'brazil_wholesaler': ('brazil_farms',), + 'eu_farmers': ('feed_traders',), + 'feed_manufacturers': ('processors',), + 'feed_traders': ('feed_manufacturers',), + 'processors': ('transport_eu_rtm', 'transport_eu_ham'), + 'sea_lane_arg': ('argentina_wholesaler',), + 'sea_lane_paranagua': ('transport_sa_paranagua',), + 'sea_lane_santos': ('transport_sa_santos',), + 'sea_lane_usa': ('us_wholesaler',), + 'transport_eu_ham': ('sea_lane_paranagua',), + 'transport_eu_rtm': ('sea_lane_santos', 'sea_lane_arg', 'sea_lane_usa'), + 'transport_sa_paranagua': ('brazil_wholesaler',), + 'transport_sa_santos': ('brazil_wholesaler',), + 'us_wholesaler': ('us_farms',)} + +EXECUTION_ORDER = ['argentina_farms', + 'argentina_wholesaler', + 'brazil_farms', + 'brazil_wholesaler', + 'sea_lane_arg', + 'transport_sa_paranagua', + 'sea_lane_paranagua', + 'transport_eu_ham', + 'transport_sa_santos', + 'sea_lane_santos', + 'us_farms', + 'us_wholesaler', + 'sea_lane_usa', + 'transport_eu_rtm', + 'processors', + 'feed_manufacturers', + 'feed_traders', + 'eu_farmers'] diff --git a/tests/test_shock_registry.py b/tests/test_shock_registry.py index 535a080..0c665db 100644 --- a/tests/test_shock_registry.py +++ b/tests/test_shock_registry.py @@ -29,8 +29,12 @@ def test_no_translation_table(): assert not hasattr(reg, "drought_param") -def test_drought_key_is_a_pdl_entity_pair(): - assert reg.DROUGHT_KEY == ("brazil_farms", "supply") +def test_registry_names_no_entity(): + """ + The registry holds the rule and the field, never a PDL entity id. + """ + assert not hasattr(reg, "DROUGHT_KEY") + assert reg.DROUGHT_IMPACT_FIELD == "supply" def test_aggregate_rule_by_field(): @@ -123,4 +127,4 @@ def test_one_event_both_impacts_resolves_independently(): ) t.step(0) assert t.get_param_value("argentina_farms", "supply") == 1.10 - assert t.get_param_value("argentina_farms", "price") == 1.15 \ No newline at end of file + assert t.get_param_value("argentina_farms", "price") == 1.15 diff --git a/tests/test_topology_export_contract.py b/tests/test_topology_export_contract.py new file mode 100644 index 0000000..042a81b --- /dev/null +++ b/tests/test_topology_export_contract.py @@ -0,0 +1,226 @@ +"""Contract between the shipped PDL, bundle exporter and map data layer.""" + +import json +import os +import subprocess +from pathlib import Path + +from provider_simenv import export_bundle +from provider_simenv.data_collector import _PROPS_BY_ROLE + + +ROOT = Path(__file__).resolve().parents[1] +PDL = ( + ROOT + / "src" + / "provider_simenv" + / "scenarios" + / "s1-soja.pdl.yaml" +) + +EXPECTED_NODE_IDS = { + "brazil_farms", + "argentina_farms", + "us_farms", + "transport_sa_santos", + "transport_sa_paranagua", + "transport_eu_rtm", + "transport_eu_ham", + "processors", + "feed_manufacturers", + "eu_farmers", + "brazil_wholesaler", + "argentina_wholesaler", + "us_wholesaler", + "feed_traders", +} + +EXPECTED_EDGES = { + ("brazil_farms", "brazil_wholesaler", False), + ("brazil_wholesaler", "transport_sa_santos", False), + ("brazil_wholesaler", "transport_sa_paranagua", False), + ("transport_sa_santos", "transport_eu_rtm", True), + ("transport_sa_paranagua", "transport_eu_ham", True), + ("argentina_farms", "argentina_wholesaler", False), + ("argentina_wholesaler", "transport_eu_rtm", True), + ("us_farms", "us_wholesaler", False), + ("us_wholesaler", "transport_eu_rtm", True), + ("transport_eu_rtm", "processors", False), + ("transport_eu_ham", "processors", False), + ("processors", "feed_manufacturers", False), + ("feed_manufacturers", "feed_traders", False), + ("feed_traders", "eu_farmers", False), +} + +EXPECTED_PLACEMENTS = { + "brazil_wholesaler": { + "entityId": "brazil_wholesaler", + "label": "Brazil grain originator", + "lat": -23.0, + "lng": -47.0, + "illustrative": True, + }, + "argentina_wholesaler": { + "entityId": "argentina_wholesaler", + "label": "Argentina grain originator", + "lat": -32.9, + "lng": -60.7, + "illustrative": True, + }, + "us_wholesaler": { + "entityId": "us_wholesaler", + "label": "US grain originator", + "lat": 29.95, + "lng": -90.07, + "illustrative": True, + }, + "feed_traders": { + "entityId": "eu_feed_trader", + "label": "EU feed distributor", + "lat": 47.5, + "lng": 16.0, + "illustrative": True, + }, +} + + +def _build_controlled_bundle(monkeypatch): + agent_values = { + prop: True if prop == "active" else 1.0 + for props in _PROPS_BY_ROLE.values() + for prop in props + } + agent_frame = export_bundle.pd.DataFrame( + [{"id_scenario": 1, "period": 0, **agent_values}] + ) + env_frame = export_bundle.pd.DataFrame( + [ + { + "id_scenario": 1, + "period": 0, + **{ + csv_column: 1.0 + for csv_column, _ in export_bundle.ENV_COLS + }, + } + ] + ) + + def read_csv(path): + if str(path).endswith("Result_Simulator_Environment.csv"): + return env_frame + return agent_frame + + monkeypatch.setattr(export_bundle.os.path, "exists", lambda _path: True) + monkeypatch.setattr(export_bundle.pd, "read_csv", read_csv) + return export_bundle.build_bundle("unused", 1, str(PDL)) + + +def _inspect_in_frontend(bundle, tmp_path): + bin_name = "esbuild.cmd" if os.name == "nt" else "esbuild" + esbuild = ROOT / "web" / "node_modules" / ".bin" / bin_name + static_source = tmp_path / "staticJsonSource.cjs" + gazetteer = tmp_path / "gazetteer.cjs" + + for source, output in ( + (ROOT / "web" / "src" / "data" / "staticJsonSource.ts", static_source), + (ROOT / "web" / "src" / "data" / "gazetteer.ts", gazetteer), + ): + subprocess.run( + [ + str(esbuild), + str(source), + "--bundle", + "--platform=node", + "--format=cjs", + f"--outfile={output}", + ], + check=True, + capture_output=True, + text=True, + ) + + script = r""" +const fs = require('fs'); +const { parseBundle } = require(process.argv[1]); +const { resolveScene } = require(process.argv[2]); +const bundle = parseBundle(JSON.parse(fs.readFileSync(0, 'utf8'))); +const scene = resolveScene(bundle.nodes, bundle.edges); +const declaredIds = new Set([ + 'brazil_wholesaler', + 'argentina_wholesaler', + 'us_wholesaler', + 'feed_traders', +]); +const declared = Object.fromEntries( + scene.markers + .filter((marker) => declaredIds.has(marker.nodeId)) + .map((marker) => [marker.nodeId, { + label: marker.label, + lat: marker.lat, + lng: marker.lng, + illustrative: marker.illustrative, + }]), +); +process.stdout.write(JSON.stringify({ + markerCount: scene.markers.length, + edgeCount: scene.edges.length, + unplaced: scene.unplaced, + declared, +})); +""" + completed = subprocess.run( + ["node", "-e", script, str(static_source), str(gazetteer)], + input=json.dumps(bundle), + check=True, + capture_output=True, + text=True, + encoding="utf-8", + ) + return json.loads(completed.stdout) + + +def test_shipped_pdl_bundle_matches_map_contract(tmp_path, monkeypatch): + bundle = _build_controlled_bundle(monkeypatch) + nodes = {node["id"]: node for node in bundle["nodes"]} + edges = { + (edge["source"], edge["target"], edge["isSeaCrossing"]) + for edge in bundle["edges"] + } + + assert set(nodes) == EXPECTED_NODE_IDS + assert "wholesalers" not in nodes + assert not any(node_id.startswith("sea_lane_") for node_id in nodes) + assert edges == EXPECTED_EDGES + assert len({edge["id"] for edge in bundle["edges"]}) == 14 + assert all( + edge["source"] in nodes and edge["target"] in nodes + for edge in bundle["edges"] + ) + + placements = { + node_id: node["placements"][0] + for node_id, node in nodes.items() + if node["placements"] + } + assert placements == EXPECTED_PLACEMENTS + assert {node_id for node_id, node in nodes.items() if node["hasRecordedData"]} == { + tick["nodeId"] for tick in bundle["ticks"] + } + assert len(bundle["ticks"]) == 10 + assert len(bundle["env"]) == bundle["meta"]["ticks"] == 1 + + frontend = _inspect_in_frontend(bundle, tmp_path) + assert frontend == { + "markerCount": 16, + "edgeCount": 14, + "unplaced": [], + "declared": { + node_id: { + key: value + for key, value in placement.items() + if key != "entityId" + } + for node_id, placement in EXPECTED_PLACEMENTS.items() + }, + } diff --git a/tests/test_topology_snapshot.py b/tests/test_topology_snapshot.py new file mode 100644 index 0000000..06b9bef --- /dev/null +++ b/tests/test_topology_snapshot.py @@ -0,0 +1,63 @@ +"""Guard derived s1-soja topology against accidental drift (step 8b).""" + +import sys +from pathlib import Path + +from provider_simenv.topology import ( + build_flow_adjacency, + build_roster, + execution_order, +) + +_FIXTURES = Path(__file__).resolve().parent / "fixtures" +if str(_FIXTURES) not in sys.path: + sys.path.insert(0, str(_FIXTURES)) +from topology_snapshot_23 import EXECUTION_ORDER, FLOW_ADJACENCY, ROSTER + +PDL_PATH = ( + Path(__file__).resolve().parent.parent + / "src" / "provider_simenv" / "scenarios" / "s1-soja.pdl.yaml" +) + + +def _freeze_params(params): + if not params: + return {} + out = {} + for k, v in params.items(): + if isinstance(v, dict): + inner = {} + for ik, iv in v.items(): + inner[ik] = tuple(iv) if isinstance(iv, (list, tuple)) else iv + out[k] = inner + else: + out[k] = v + return out + + +def _dump_roster(pdl_path): + return [ + { + "name": e.archetype.name, + "agent_class": e.archetype.agent_class.__name__, + "role": e.archetype.role, + "count_attr": e.archetype.count_attr, + "params": _freeze_params(e.archetype.params), + "entity_ids": tuple(e.entity_ids), + } + for e in build_roster(pdl_path) + ] + + +def _canonical_execution(adj): + """Stable step order: dst keys sorted; src tuple order within each dst kept.""" + ordered = {k: tuple(v) for k, v in adj.items()} + ordered = {k: ordered[k] for k in sorted(ordered)} + return execution_order(ordered) + + +def test_s1_soja_topology_matches_snapshot(): + adj = build_flow_adjacency(PDL_PATH) + assert _dump_roster(PDL_PATH) == ROSTER + assert {k: tuple(v) for k, v in adj.items()} == FLOW_ADJACENCY + assert _canonical_execution(adj) == EXECUTION_ORDER diff --git a/tests/test_transport_routing.py b/tests/test_transport_routing.py new file mode 100644 index 0000000..159f50f --- /dev/null +++ b/tests/test_transport_routing.py @@ -0,0 +1,50 @@ +"""Regression coverage for Rotterdam routing under the shipped drought cascade.""" + +from pathlib import Path +from types import SimpleNamespace + +from provider_simenv.model import SupplyChainModel +from provider_simenv.pdl_loader import PDLLoader +from provider_simenv.scenario import SupplyChainScenario + + +PDL_PATH = ( + Path(__file__).resolve().parents[1] + / "src" + / "provider_simenv" + / "scenarios" + / "s1-soja.pdl.yaml" +) + + +def test_day_45_drought_rotterdam_admits_only_us_supply(monkeypatch): + registry = PDLLoader(PDL_PATH).to_event_registry("soy_crisis_cascade") + monkeypatch.setattr(SupplyChainModel, "_pdl_path", str(PDL_PATH), raising=False) + monkeypatch.setattr(SupplyChainModel, "_event_registry", registry, raising=False) + + scenario = SupplyChainScenario(1) + scenario.period_num = 46 + model = SupplyChainModel(SimpleNamespace(), scenario) + model._setup() + model._init_event_tracker() + + for day in range(scenario.period_num): + model._do_step(day) + + admitted_brazil = sum( + lane.quantity_available for lane in model.sea_lane_santos.agents + ) + admitted_argentina = sum( + lane.quantity_available for lane in model.sea_lane_arg.agents + ) + admitted_us = sum( + lane.quantity_available for lane in model.sea_lane_usa.agents + ) + rotterdam_total = sum( + port.quantity_available for port in model.transport_eu_rtm.agents + ) + + assert admitted_us > 0.0 + assert admitted_brazil == 0.0 + assert admitted_argentina == 0.0 + assert rotterdam_total == admitted_us diff --git a/web/README.md b/web/README.md index efd2d22..33fc087 100644 --- a/web/README.md +++ b/web/README.md @@ -91,7 +91,6 @@ simulation run (Melodie) a concrete source. - `src/data/staticJsonSource.ts` — fetches `/bundle.json` and validates it structurally (`parseBundle`) before any view sees it. -- `src/data/fixtureSource.ts` — hand-written bundle, kept for reference and offline work. - `src/main.tsx` — the composition root and the **only** place a concrete source is chosen. Swapping sources touches no view file. diff --git a/web/public/bundle.json b/web/public/bundle.json index a76acc4..22fd7a2 100644 --- a/web/public/bundle.json +++ b/web/public/bundle.json @@ -1 +1 @@ -{"meta":{"pdl":"s1-soja.pdl.yaml","scenario":"scenario_1","ticks":365,"generatedAt":"2026-08-04T11:40:16+00:00","honestyNote":"Approximate geographic positions — not GIS accurate"},"nodes":[{"id":"bra_farmers","label":"Brazil soy farms","role":"producer","entityIds":["brazil_farms"],"hasRecordedData":true},{"id":"arg_farmers","label":"Argentina soy farms","role":"producer","entityIds":["argentina_farms"],"hasRecordedData":true},{"id":"usa_farmers","label":"US soy farms","role":"producer","entityIds":["us_farms"],"hasRecordedData":true},{"id":"wholesalers","label":"Wholesalers","role":"wholesaler","entityIds":[],"hasRecordedData":true},{"id":"processors","label":"EU oil mills","role":"processor","entityIds":["eu_oil_mills"],"hasRecordedData":true},{"id":"feed_manufacturers","label":"Feed mills","role":"feed_manufacturer","entityIds":["feed_mills"],"hasRecordedData":true},{"id":"feed_traders","label":"Feed traders","role":"feed_trader","entityIds":[],"hasRecordedData":true},{"id":"eu_farmers","label":"EU livestock farms","role":"consumer","entityIds":["poultry_farms","pig_farms","dairy_farms"],"hasRecordedData":true},{"id":"transport_sa_santos","label":"Port of Santos","role":"sa_santos","entityIds":["santos_port"],"hasRecordedData":false},{"id":"transport_sa_paranagua","label":"Port of Paranaguá","role":"sa_paranagua","entityIds":["paranagua_port"],"hasRecordedData":false},{"id":"transport_eu_rtm","label":"Port of Rotterdam","role":"eu_rtm","entityIds":["rotterdam_port"],"hasRecordedData":false},{"id":"transport_eu_ham","label":"Port of Hamburg","role":"eu_ham","entityIds":["hamburg_port"],"hasRecordedData":false}],"edges":[{"id":"bra_farmers->wholesalers","source":"bra_farmers","target":"wholesalers","isSeaCrossing":false},{"id":"arg_farmers->wholesalers","source":"arg_farmers","target":"wholesalers","isSeaCrossing":false},{"id":"usa_farmers->wholesalers","source":"usa_farmers","target":"wholesalers","isSeaCrossing":false},{"id":"wholesalers->transport_sa_santos","source":"wholesalers","target":"transport_sa_santos","isSeaCrossing":false},{"id":"wholesalers->transport_sa_paranagua","source":"wholesalers","target":"transport_sa_paranagua","isSeaCrossing":false},{"id":"transport_sa_santos->transport_eu_rtm","source":"transport_sa_santos","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"transport_sa_paranagua->transport_eu_ham","source":"transport_sa_paranagua","target":"transport_eu_ham","isSeaCrossing":true},{"id":"arg_farmers->transport_eu_rtm","source":"arg_farmers","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"usa_farmers->transport_eu_rtm","source":"usa_farmers","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"transport_eu_rtm->processors","source":"transport_eu_rtm","target":"processors","isSeaCrossing":false},{"id":"transport_eu_ham->processors","source":"transport_eu_ham","target":"processors","isSeaCrossing":false},{"id":"processors->feed_manufacturers","source":"processors","target":"feed_manufacturers","isSeaCrossing":false},{"id":"feed_manufacturers->feed_traders","source":"feed_manufacturers","target":"feed_traders","isSeaCrossing":false},{"id":"feed_traders->eu_farmers","source":"feed_traders","target":"eu_farmers","isSeaCrossing":false}],"ticks":[{"period":0,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":1,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":2,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":3,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":4,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":5,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":6,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":7,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":8,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":9,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":10,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":11,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":12,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":13,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":14,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":15,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":16,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":17,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":18,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":19,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":20,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":21,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":22,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":23,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":24,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":25,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":26,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":27,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":28,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":29,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":30,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":31,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":32,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":33,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":34,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":35,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":36,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":37,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":38,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":39,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":40,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":41,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":42,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":43,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":44,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":45,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":46,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":47,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":48,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":49,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":50,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":51,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":52,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":53,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":54,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":55,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":56,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":57,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":58,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":59,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":60,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":61,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":62,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":63,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":64,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":65,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":66,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":67,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":68,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":69,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":70,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":71,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":72,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":73,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":74,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":75,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":76,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":77,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":78,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":79,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":80,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":81,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":82,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":83,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":84,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":85,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":86,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":87,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":88,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":89,"nodeId":"bra_farmers","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":90,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":91,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":92,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":93,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":94,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":95,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":96,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":97,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":98,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":99,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":100,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":101,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":102,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":103,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":104,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":105,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":106,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":107,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":108,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":109,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":110,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":111,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":112,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":113,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":114,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":115,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":116,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":117,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":118,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":119,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":120,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":121,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":122,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":123,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":124,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":125,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":126,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":127,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":128,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":129,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":130,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":131,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":132,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":133,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":134,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":135,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":136,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":137,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":138,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":139,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":140,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":141,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":142,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":143,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":144,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":145,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":146,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":147,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":148,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":149,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":150,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":151,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":152,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":153,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":154,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":155,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":156,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":157,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":158,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":159,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":160,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":161,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":162,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":163,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":164,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":165,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":166,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":167,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":168,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":169,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":170,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":171,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":172,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":173,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":174,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":175,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":176,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":177,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":178,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":179,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":180,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":181,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":182,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":183,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":184,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":185,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":186,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":187,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":188,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":189,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":190,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":191,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":192,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":193,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":194,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":195,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":196,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":197,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":198,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":199,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":200,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":201,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":202,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":203,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":204,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":205,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":206,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":207,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":208,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":209,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":210,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":211,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":212,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":213,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":214,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":215,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":216,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":217,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":218,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":219,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":220,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":221,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":222,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":223,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":224,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":225,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":226,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":227,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":228,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":229,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":230,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":231,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":232,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":233,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":234,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":235,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":236,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":237,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":238,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":239,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":240,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":241,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":242,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":243,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":244,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":245,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":246,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":247,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":248,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":249,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":250,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":251,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":252,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":253,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":254,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":255,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":256,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":257,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":258,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":259,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":260,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":261,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":262,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":263,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":264,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":265,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":266,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":267,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":268,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":269,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":270,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":271,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":272,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":273,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":274,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":275,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":276,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":277,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":278,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":279,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":280,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":281,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":282,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":283,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":284,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":285,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":286,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":287,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":288,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":289,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":290,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":291,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":292,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":293,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":294,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":295,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":296,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":297,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":298,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":299,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":300,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":301,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":302,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":303,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":304,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":305,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":306,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":307,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":308,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":309,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":310,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":311,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":312,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":313,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":314,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":315,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":316,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":317,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":318,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":319,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":320,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":321,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":322,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":323,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":324,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":325,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":326,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":327,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":328,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":329,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":330,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":331,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":332,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":333,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":334,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":335,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":336,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":337,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":338,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":339,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":340,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":341,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":342,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":343,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":344,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":345,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":346,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":347,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":348,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":349,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":350,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":351,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":352,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":353,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":354,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":355,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":356,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":357,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":358,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":359,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":360,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":361,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":362,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":363,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":364,"nodeId":"bra_farmers","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":0,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":1,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":2,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":3,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":4,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":5,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":6,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":7,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":8,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":9,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":10,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":11,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":12,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":13,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":14,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":15,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":16,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":17,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":18,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":19,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":20,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":21,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":22,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":23,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":24,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":25,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":26,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":27,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":28,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":29,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":30,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":31,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":32,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":33,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":34,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":35,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":36,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":37,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":38,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":39,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":40,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":41,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":42,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":43,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":44,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":45,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":46,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":47,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":48,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":49,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":50,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":51,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":52,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":53,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":54,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":55,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":56,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":57,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":58,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":59,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":60,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":61,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":62,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":63,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":64,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":65,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":66,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":67,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":68,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":69,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":70,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":71,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":72,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":73,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":74,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":75,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":76,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":77,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":78,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":79,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":80,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":81,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":82,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":83,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":84,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":85,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":86,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":87,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":88,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":89,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":90,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":91,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":92,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":93,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":94,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":95,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":96,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":97,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":98,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":99,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":100,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":101,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":102,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":103,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":104,"nodeId":"arg_farmers","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":105,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":106,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":107,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":108,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":109,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":110,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":111,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":112,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":113,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":114,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":115,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":116,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":117,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":118,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":119,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":120,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":121,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":122,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":123,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":124,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":125,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":126,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":127,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":128,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":129,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":130,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":131,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":132,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":133,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":134,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":135,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":136,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":137,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":138,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":139,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":140,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":141,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":142,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":143,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":144,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":145,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":146,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":147,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":148,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":149,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":150,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":151,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":152,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":153,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":154,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":155,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":156,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":157,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":158,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":159,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":160,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":161,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":162,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":163,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":164,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":165,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":166,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":167,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":168,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":169,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":170,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":171,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":172,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":173,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":174,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":175,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":176,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":177,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":178,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":179,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":180,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":181,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":182,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":183,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":184,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":185,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":186,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":187,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":188,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":189,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":190,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":191,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":192,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":193,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":194,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":195,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":196,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":197,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":198,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":199,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":200,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":201,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":202,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":203,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":204,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":205,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":206,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":207,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":208,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":209,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":210,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":211,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":212,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":213,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":214,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":215,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":216,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":217,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":218,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":219,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":220,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":221,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":222,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":223,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":224,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":225,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":226,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":227,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":228,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":229,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":230,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":231,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":232,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":233,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":234,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":235,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":236,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":237,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":238,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":239,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":240,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":241,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":242,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":243,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":244,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":245,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":246,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":247,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":248,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":249,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":250,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":251,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":252,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":253,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":254,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":255,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":256,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":257,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":258,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":259,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":260,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":261,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":262,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":263,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":264,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":265,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":266,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":267,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":268,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":269,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":270,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":271,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":272,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":273,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":274,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":275,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":276,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":277,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":278,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":279,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":280,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":281,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":282,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":283,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":284,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":285,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":286,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":287,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":288,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":289,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":290,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":291,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":292,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":293,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":294,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":295,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":296,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":297,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":298,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":299,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":300,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":301,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":302,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":303,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":304,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":305,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":306,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":307,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":308,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":309,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":310,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":311,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":312,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":313,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":314,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":315,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":316,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":317,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":318,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":319,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":320,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":321,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":322,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":323,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":324,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":325,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":326,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":327,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":328,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":329,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":330,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":331,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":332,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":333,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":334,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":335,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":336,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":337,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":338,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":339,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":340,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":341,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":342,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":343,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":344,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":345,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":346,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":347,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":348,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":349,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":350,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":351,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":352,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":353,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":354,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":355,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":356,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":357,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":358,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":359,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":360,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":361,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":362,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":363,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":364,"nodeId":"arg_farmers","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":0,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":1,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":2,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":3,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":4,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":5,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":6,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":7,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":8,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":9,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":10,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":11,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":12,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":13,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":14,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":15,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":16,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":17,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":18,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":19,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":20,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":21,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":22,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":23,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":24,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":25,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":26,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":27,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":28,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":29,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":30,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":31,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":32,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":33,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":34,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":35,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":36,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":37,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":38,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":39,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":40,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":41,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":42,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":43,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":44,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":45,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":46,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":47,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":48,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":49,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":50,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":51,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":52,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":53,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":54,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":55,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":56,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":57,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":58,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":59,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":60,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":61,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":62,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":63,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":64,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":65,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":66,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":67,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":68,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":69,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":70,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":71,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":72,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":73,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":74,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":75,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":76,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":77,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":78,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":79,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":80,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":81,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":82,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":83,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":84,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":85,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":86,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":87,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":88,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":89,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":90,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":91,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":92,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":93,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":94,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":95,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":96,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":97,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":98,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":99,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":100,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":101,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":102,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":103,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":104,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":105,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":106,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":107,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":108,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":109,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":110,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":111,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":112,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":113,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":114,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":115,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":116,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":117,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":118,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":119,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":120,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":121,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":122,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":123,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":124,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":125,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":126,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":127,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":128,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":129,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":130,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":131,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":132,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":133,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":134,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":135,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":136,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":137,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":138,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":139,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":140,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":141,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":142,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":143,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":144,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":145,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":146,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":147,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":148,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":149,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":150,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":151,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":152,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":153,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":154,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":155,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":156,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":157,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":158,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":159,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":160,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":161,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":162,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":163,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":164,"nodeId":"usa_farmers","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":165,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":166,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":167,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":168,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":169,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":170,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":171,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":172,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":173,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":174,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":175,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":176,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":177,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":178,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":179,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":180,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":181,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":182,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":183,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":184,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":185,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":186,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":187,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":188,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":189,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":190,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":191,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":192,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":193,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":194,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":195,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":196,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":197,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":198,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":199,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":200,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":201,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":202,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":203,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":204,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":205,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":206,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":207,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":208,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":209,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":210,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":211,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":212,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":213,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":214,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":215,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":216,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":217,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":218,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":219,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":220,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":221,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":222,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":223,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":224,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":225,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":226,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":227,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":228,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":229,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":230,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":231,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":232,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":233,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":234,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":235,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":236,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":237,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":238,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":239,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":240,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":241,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":242,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":243,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":244,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":245,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":246,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":247,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":248,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":249,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":250,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":251,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":252,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":253,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":254,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":255,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":256,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":257,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":258,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":259,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":260,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":261,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":262,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":263,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":264,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":265,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":266,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":267,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":268,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":269,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":270,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":271,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":272,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":273,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":274,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":275,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":276,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":277,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":278,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":279,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":280,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":281,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":282,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":283,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":284,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":285,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":286,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":287,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":288,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":289,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":290,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":291,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":292,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":293,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":294,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":295,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":296,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":297,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":298,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":299,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":300,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":301,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":302,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":303,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":304,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":305,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":306,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":307,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":308,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":309,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":310,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":311,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":312,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":313,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":314,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":315,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":316,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":317,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":318,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":319,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":320,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":321,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":322,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":323,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":324,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":325,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":326,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":327,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":328,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":329,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":330,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":331,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":332,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":333,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":334,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":335,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":336,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":337,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":338,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":339,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":340,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":341,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":342,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":343,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":344,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":345,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":346,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":347,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":348,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":349,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":350,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":351,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":352,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":353,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":354,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":355,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":356,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":357,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":358,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":359,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":360,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":361,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":362,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":363,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":364,"nodeId":"usa_farmers","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":0,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":1,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":2,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":3,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":4,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":5,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":6,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":7,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":8,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":9,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":10,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":11,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":12,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":13,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":14,"nodeId":"wholesalers","values":{"quantity_available":1900.0,"unit_price":633.6,"bra_volume":600.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2217}},{"period":15,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":16,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":17,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":18,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":19,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":20,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":21,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":22,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":23,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":24,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":25,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":26,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":27,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":28,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":29,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":30,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":31,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":32,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":33,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":34,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":35,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":36,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":37,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":38,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":39,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":40,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":41,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":42,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":43,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":44,"nodeId":"wholesalers","values":{"quantity_available":1950.0,"unit_price":617.3538,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":800.0,"storage_utilization":0.2275}},{"period":45,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":46,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":47,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":48,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":49,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":50,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":51,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":52,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":53,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":54,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":55,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":56,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":57,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":58,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":59,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":60,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":61,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":62,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":63,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":64,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":65,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":66,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":67,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":68,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":69,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":70,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":71,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":72,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":73,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":74,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":75,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":76,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":77,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":78,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":79,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":80,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":81,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":82,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":83,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":84,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":85,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":86,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":87,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":88,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":89,"nodeId":"wholesalers","values":{"quantity_available":2070.0,"unit_price":581.5652,"bra_volume":600.0,"arg_volume":550.0,"usa_volume":920.0,"storage_utilization":0.2415}},{"period":90,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":91,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":92,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":93,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":94,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":95,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":96,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":97,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":98,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":99,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":100,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":101,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":102,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":103,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":104,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":486.0794,"bra_volume":1000.0,"arg_volume":550.0,"usa_volume":750.0,"storage_utilization":0.2683}},{"period":105,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":106,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":107,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":108,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":109,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":110,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":111,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":112,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":113,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":114,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":115,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":116,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":117,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":118,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":119,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":120,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":121,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":122,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":123,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":124,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":125,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":126,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":127,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":128,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":129,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":130,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":131,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":132,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":133,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":134,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":135,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":136,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":137,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":138,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":139,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":140,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":141,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":142,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":143,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":144,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":145,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":146,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":147,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":148,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":149,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":150,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":151,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":152,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":153,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":154,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":155,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":156,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":157,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":158,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":159,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":160,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":161,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":162,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":163,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":164,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":496.8939,"bra_volume":1000.0,"arg_volume":380.0,"usa_volume":920.0,"storage_utilization":0.2683}},{"period":165,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":166,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":167,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":168,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":169,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":170,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":171,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":172,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":173,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":174,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":175,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":176,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":177,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":178,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":179,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":180,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":181,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":182,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":183,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":184,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":185,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":186,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":187,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":188,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":189,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":190,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":191,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":192,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":193,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":194,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":195,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":196,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":197,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":198,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":199,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":200,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":201,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":202,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":203,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":204,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":205,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":206,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":207,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":208,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":209,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":210,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":211,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":212,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":213,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":214,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":215,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":216,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":217,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":218,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":219,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":220,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":221,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":222,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":223,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":224,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":225,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":226,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":227,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":228,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":229,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":230,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":231,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":232,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":233,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":234,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":235,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":236,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":237,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":238,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":239,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":240,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":241,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":242,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":243,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":244,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":245,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":246,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":247,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":248,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":249,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":250,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":251,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":252,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":253,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":254,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":255,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":256,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":257,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":258,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":259,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":260,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":261,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":262,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":263,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":264,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":265,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":266,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":267,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":268,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":269,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":270,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":271,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":272,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":273,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":274,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":275,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":276,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":277,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":278,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":279,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":280,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":281,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":282,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":283,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":284,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":285,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":286,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":287,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":288,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":289,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":290,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":291,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":292,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":293,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":294,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":295,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":296,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":297,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":298,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":299,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":300,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":301,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":302,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":303,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":304,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":305,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":306,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":307,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":308,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":309,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":310,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":311,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":312,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":313,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":314,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":315,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":316,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":317,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":318,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":319,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":320,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":321,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":322,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":323,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":324,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":325,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":326,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":327,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":328,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":329,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":330,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":331,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":332,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":333,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":334,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":335,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":336,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":337,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":338,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":339,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":340,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":341,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":342,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":343,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":344,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":345,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":346,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":347,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":348,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":349,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":350,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":351,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":352,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":353,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":354,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":355,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":356,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":357,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":358,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":359,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":360,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":361,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":362,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":363,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":364,"nodeId":"wholesalers","values":{"quantity_available":2300.0,"unit_price":523.4087,"bra_volume":1000.0,"arg_volume":500.0,"usa_volume":800.0,"storage_utilization":0.2683}},{"period":0,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":1,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":2,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":3,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":4,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":5,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":6,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":7,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":8,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":9,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":10,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":11,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":12,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":13,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":14,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1259.3711}},{"period":15,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":16,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":17,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":18,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":19,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":20,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1233.9484}},{"period":21,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":22,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":23,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":24,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":25,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":26,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":27,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":28,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":29,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":30,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":31,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":32,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":33,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":34,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":35,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":36,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":37,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":38,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":39,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":40,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":41,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":42,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":43,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":44,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1235.0013}},{"period":45,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":46,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":47,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":48,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":49,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":50,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1178.9179}},{"period":51,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":52,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":53,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":54,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":55,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":56,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":57,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":58,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":59,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":60,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":61,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":62,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":63,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":64,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":65,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":66,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":67,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":68,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":69,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":70,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":71,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":72,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":73,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":74,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":75,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":76,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":77,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":78,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":79,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":80,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":81,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":82,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":83,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":84,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":85,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":86,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":87,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":88,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":89,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1177.9952}},{"period":90,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":91,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":92,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":93,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":94,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":95,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":96,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":97,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":98,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":99,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":100,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":101,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":102,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":103,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":104,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":996.0663}},{"period":105,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":106,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":107,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":108,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":109,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":110,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":111,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":112,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":113,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":114,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":115,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":116,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":117,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":118,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":119,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":120,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":121,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":122,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":123,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":124,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":125,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":126,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":127,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":128,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":129,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":130,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":131,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":132,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":133,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1011.2067}},{"period":134,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":135,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":136,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":137,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":138,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":139,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":140,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":141,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":142,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":143,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":144,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":145,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":146,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":147,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":148,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":149,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":150,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":151,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":152,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":153,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":154,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":155,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":156,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":157,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":158,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":159,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":160,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":161,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":162,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":163,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":164,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1008.5515}},{"period":165,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":166,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":167,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":168,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":169,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":170,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":171,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":172,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":173,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":174,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":175,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":176,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":177,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":178,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":179,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":180,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":181,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":182,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":183,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":184,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":185,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":186,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":187,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":188,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":189,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":190,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":191,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":192,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":193,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":194,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":195,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":196,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":197,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":198,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":199,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":200,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":201,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":202,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":203,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":204,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":205,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":206,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":207,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":208,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":209,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":210,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":211,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":212,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":213,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":214,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":215,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":216,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":217,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":218,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":219,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":220,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":221,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":222,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":223,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":224,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":225,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":226,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":227,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":228,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":229,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":230,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":231,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":232,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":233,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":234,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":235,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":236,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":237,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":238,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":239,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":240,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":241,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":242,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":243,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":244,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":245,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":246,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":247,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":248,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":249,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":250,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":251,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":252,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":253,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":254,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":255,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":256,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":257,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":258,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":259,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":260,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":261,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":262,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":263,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":264,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":265,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":266,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":267,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":268,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":269,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":270,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":271,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":272,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":273,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":274,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":275,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":276,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":277,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":278,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":279,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":280,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":281,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":282,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":283,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":284,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":285,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":286,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":287,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":288,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":289,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":290,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":291,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":292,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":293,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":294,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":295,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":296,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":297,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":298,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":299,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":300,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":301,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":302,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":303,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":304,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":305,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":306,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":307,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":308,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":309,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":310,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":311,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":312,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":313,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":314,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":315,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":316,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":317,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":318,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":319,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":320,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":321,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":322,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":323,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":324,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":325,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":326,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":327,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":328,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":329,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":330,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":331,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":332,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":333,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":334,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":335,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":336,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":337,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":338,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":339,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":340,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":341,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":342,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":343,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":344,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":345,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":346,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":347,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":348,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":349,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":350,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":351,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":352,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":353,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":354,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":355,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":356,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":357,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":358,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":359,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":360,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":361,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":362,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":363,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":364,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":1045.6722}},{"period":0,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":1,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":2,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":3,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":4,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":5,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":6,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":7,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":8,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":9,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":10,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":11,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":12,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":13,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":14,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1458.1023}},{"period":15,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":16,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":17,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":18,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":19,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":20,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1430.1374}},{"period":21,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":22,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":23,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":24,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":25,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":26,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":27,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":28,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":29,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":30,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":31,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":32,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":33,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":34,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":35,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":36,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":37,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":38,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":39,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":40,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":41,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":42,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":43,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":44,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1431.2955}},{"period":45,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":46,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":47,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":48,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":49,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":50,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1369.6039}},{"period":51,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":52,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":53,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":54,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":55,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":56,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":57,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":58,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":59,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":60,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":61,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":62,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":63,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":64,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":65,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":66,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":67,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":68,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":69,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":70,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":71,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":72,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":73,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":74,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":75,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":76,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":77,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":78,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":79,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":80,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":81,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":82,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":83,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":84,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":85,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":86,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":87,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":88,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":89,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1368.5889}},{"period":90,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":91,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":92,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":93,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":94,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":95,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":96,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":97,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":98,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":99,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":100,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":101,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":102,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":103,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":104,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1157.548}},{"period":105,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":106,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":107,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":108,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":109,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":110,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":111,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":112,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":113,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":114,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":115,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":116,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":117,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":118,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":119,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":120,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":121,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":122,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":123,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":124,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":125,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":126,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":127,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":128,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":129,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":130,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":131,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":132,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":133,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1174.2023}},{"period":134,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":135,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":136,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":137,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":138,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":139,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":140,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":141,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":142,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":143,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":144,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":145,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":146,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":147,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":148,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":149,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":150,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":151,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":152,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":153,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":154,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":155,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":156,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":157,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":158,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":159,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":160,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":161,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":162,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":163,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":164,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1171.2816}},{"period":165,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":166,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":167,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":168,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":169,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":170,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":171,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":172,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":173,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":174,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":175,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":176,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":177,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":178,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":179,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":180,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":181,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":182,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":183,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":184,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":185,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":186,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":187,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":188,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":189,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":190,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":191,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":192,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":193,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":194,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":195,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":196,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":197,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":198,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":199,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":200,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":201,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":202,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":203,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":204,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":205,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":206,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":207,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":208,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":209,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":210,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":211,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":212,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":213,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":214,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":215,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":216,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":217,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":218,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":219,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":220,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":221,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":222,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":223,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":224,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":225,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":226,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":227,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":228,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":229,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":230,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":231,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":232,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":233,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":234,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":235,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":236,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":237,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":238,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":239,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":240,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":241,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":242,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":243,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":244,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":245,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":246,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":247,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":248,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":249,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":250,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":251,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":252,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":253,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":254,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":255,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":256,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":257,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":258,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":259,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":260,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":261,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":262,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":263,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":264,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":265,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":266,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":267,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":268,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":269,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":270,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":271,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":272,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":273,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":274,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":275,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":276,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":277,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":278,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":279,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":280,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":281,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":282,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":283,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":284,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":285,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":286,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":287,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":288,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":289,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":290,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":291,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":292,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":293,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":294,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":295,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":296,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":297,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":298,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":299,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":300,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":301,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":302,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":303,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":304,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":305,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":306,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":307,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":308,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":309,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":310,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":311,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":312,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":313,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":314,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":315,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":316,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":317,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":318,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":319,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":320,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":321,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":322,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":323,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":324,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":325,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":326,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":327,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":328,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":329,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":330,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":331,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":332,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":333,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":334,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":335,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":336,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":337,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":338,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":339,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":340,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":341,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":342,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":343,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":344,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":345,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":346,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":347,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":348,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":349,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":350,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":351,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":352,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":353,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":354,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":355,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":356,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":357,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":358,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":359,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":360,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":361,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":362,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":363,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":364,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1212.1144}},{"period":0,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":1,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":2,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":3,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":4,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":5,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":6,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":7,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":8,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":9,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":10,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":11,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":12,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":13,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":14,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1622.3975}},{"period":15,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":16,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":17,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":18,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":19,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":20,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1592.1954}},{"period":21,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":22,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":23,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":24,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":25,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":26,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":27,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":28,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":29,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":30,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":31,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":32,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":33,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":34,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":35,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":36,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":37,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":38,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":39,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":40,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":41,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":42,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":43,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":44,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1593.4462}},{"period":45,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":46,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":47,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":48,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":49,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":50,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1526.8192}},{"period":51,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":52,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":53,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":54,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":55,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":56,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":57,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":58,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":59,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":60,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":61,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":62,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":63,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":64,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":65,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":66,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":67,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":68,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":69,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":70,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":71,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":72,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":73,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":74,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":75,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":76,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":77,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":78,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":79,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":80,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":81,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":82,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":83,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":84,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":85,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":86,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":87,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":88,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":89,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1525.723}},{"period":90,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":91,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":92,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":93,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":94,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":95,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":96,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":97,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":98,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":99,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":100,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":101,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":102,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":103,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":104,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1290.6518}},{"period":105,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":106,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":107,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":108,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":109,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":110,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":111,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":112,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":113,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":114,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":115,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":116,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":117,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":118,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":119,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":120,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":121,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":122,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":123,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":124,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":125,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":126,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":127,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":128,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":129,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":130,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":131,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":132,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":133,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1308.6385}},{"period":134,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":135,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":136,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":137,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":138,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":139,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":140,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":141,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":142,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":143,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":144,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":145,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":146,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":147,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":148,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":149,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":150,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":151,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":152,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":153,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":154,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":155,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":156,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":157,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":158,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":159,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":160,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":161,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":162,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":163,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":164,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1305.4842}},{"period":165,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":166,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":167,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":168,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":169,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":170,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":171,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":172,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":173,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":174,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":175,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":176,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":177,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":178,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":179,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":180,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":181,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":182,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":183,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":184,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":185,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":186,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":187,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":188,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":189,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":190,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":191,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":192,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":193,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":194,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":195,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":196,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":197,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":198,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":199,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":200,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":201,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":202,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":203,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":204,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":205,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":206,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":207,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":208,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":209,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":210,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":211,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":212,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":213,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":214,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":215,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":216,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":217,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":218,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":219,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":220,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":221,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":222,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":223,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":224,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":225,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":226,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":227,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":228,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":229,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":230,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":231,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":232,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":233,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":234,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":235,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":236,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":237,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":238,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":239,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":240,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":241,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":242,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":243,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":244,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":245,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":246,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":247,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":248,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":249,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":250,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":251,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":252,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":253,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":254,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":255,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":256,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":257,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":258,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":259,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":260,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":261,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":262,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":263,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":264,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":265,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":266,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":267,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":268,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":269,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":270,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":271,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":272,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":273,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":274,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":275,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":276,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":277,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":278,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":279,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":280,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":281,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":282,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":283,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":284,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":285,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":286,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":287,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":288,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":289,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":290,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":291,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":292,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":293,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":294,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":295,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":296,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":297,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":298,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":299,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":300,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":301,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":302,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":303,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":304,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":305,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":306,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":307,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":308,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":309,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":310,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":311,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":312,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":313,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":314,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":315,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":316,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":317,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":318,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":319,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":320,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":321,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":322,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":323,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":324,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":325,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":326,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":327,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":328,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":329,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":330,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":331,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":332,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":333,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":334,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":335,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":336,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":337,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":338,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":339,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":340,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":341,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":342,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":343,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":344,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":345,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":346,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":347,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":348,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":349,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":350,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":351,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":352,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":353,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":354,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":355,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":356,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":357,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":358,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":359,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":360,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":361,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":362,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":363,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":364,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1349.5835}},{"period":0,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":1,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":2,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":3,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":4,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":5,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":6,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":7,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":8,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":9,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":10,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":11,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":12,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":13,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":14,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":15,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":16,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":17,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":18,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":19,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":20,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":21,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":22,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":23,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":24,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":25,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":26,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":27,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":28,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":29,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":30,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":31,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":32,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":33,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":34,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":35,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":36,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":37,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":38,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":39,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":40,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":41,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":42,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":43,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":44,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":45,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":46,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":47,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":48,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":49,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":50,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":51,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":52,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":53,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":54,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":55,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":56,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":57,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":58,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":59,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":60,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":61,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":62,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":63,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":64,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":65,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":66,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":67,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":68,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":69,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":70,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":71,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":72,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":73,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":74,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":75,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":76,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":77,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":78,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":79,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":80,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":81,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":82,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":83,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":84,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":85,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":86,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":87,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":88,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":89,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":90,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":91,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":92,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":93,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":94,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":95,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":96,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":97,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":98,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":99,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":100,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":101,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":102,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":103,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":104,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":105,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":106,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":107,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":108,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":109,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":110,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":111,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":112,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":113,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":114,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":115,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":116,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":117,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":118,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":119,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":120,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":121,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":122,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":123,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":124,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":125,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":126,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":127,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":128,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":129,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":130,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":131,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":132,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":133,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":134,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":135,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":136,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":137,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":138,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":139,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":140,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":141,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":142,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":143,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":144,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":145,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":146,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":147,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":148,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":149,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":150,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":151,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":152,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":153,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":154,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":155,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":156,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":157,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":158,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":159,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":160,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":161,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":162,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":163,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":164,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":165,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":166,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":167,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":168,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":169,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":170,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":171,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":172,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":173,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":174,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":175,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":176,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":177,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":178,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":179,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":180,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":181,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":182,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":183,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":184,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":185,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":186,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":187,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":188,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":189,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":190,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":191,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":192,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":193,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":194,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":195,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":196,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":197,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":198,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":199,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":200,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":201,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":202,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":203,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":204,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":205,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":206,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":207,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":208,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":209,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":210,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":211,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":212,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":213,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":214,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":215,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":216,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":217,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":218,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":219,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":220,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":221,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":222,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":223,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":224,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":225,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":226,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":227,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":228,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":229,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":230,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":231,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":232,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":233,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":234,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":235,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":236,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":237,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":238,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":239,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":240,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":241,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":242,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":243,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":244,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":245,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":246,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":247,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":248,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":249,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":250,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":251,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":252,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":253,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":254,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":255,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":256,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":257,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":258,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":259,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":260,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":261,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":262,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":263,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":264,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":265,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":266,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":267,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":268,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":269,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":270,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":271,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":272,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":273,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":274,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":275,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":276,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":277,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":278,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":279,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":280,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":281,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":282,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":283,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":284,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":285,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":286,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":287,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":288,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":289,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":290,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":291,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":292,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":293,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":294,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":295,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":296,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":297,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":298,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":299,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":300,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":301,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":302,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":303,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":304,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":305,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":306,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":307,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":308,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":309,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":310,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":311,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":312,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":313,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":314,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":315,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":316,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":317,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":318,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":319,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":320,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":321,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":322,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":323,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":324,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":325,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":326,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":327,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":328,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":329,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":330,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":331,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":332,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":333,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":334,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":335,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":336,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":337,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":338,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":339,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":340,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":341,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":342,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":343,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":344,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":345,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":346,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":347,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":348,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":349,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":350,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":351,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":352,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":353,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":354,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":355,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":356,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":357,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":358,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":359,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":360,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":361,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":362,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":363,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":364,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}}],"env":[{"period":0,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":1.0},{"period":1,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":2.0},{"period":2,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":3.0},{"period":3,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":4.0},{"period":4,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":5.0},{"period":5,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":6.0},{"period":6,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":7.0},{"period":7,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":8.0},{"period":8,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":9.0},{"period":9,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":10.0},{"period":10,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":11.0},{"period":11,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":12.0},{"period":12,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":13.0},{"period":13,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":14.0},{"period":14,"sojaPrice":633.6,"feedPrice":1622.3975,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5718,"currentStep":15.0},{"period":15,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":16.0},{"period":16,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":17.0},{"period":17,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":18.0},{"period":18,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":19.0},{"period":19,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":20.0},{"period":20,"sojaPrice":617.3538,"feedPrice":1592.1954,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":21.0},{"period":21,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5813,"currentStep":22.0},{"period":22,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":23.0},{"period":23,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":24.0},{"period":24,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":25.0},{"period":25,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":26.0},{"period":26,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":27.0},{"period":27,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":28.0},{"period":28,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":29.0},{"period":29,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":30.0},{"period":30,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":31.0},{"period":31,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":32.0},{"period":32,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":33.0},{"period":33,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":34.0},{"period":34,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":35.0},{"period":35,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":36.0},{"period":36,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":37.0},{"period":37,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":38.0},{"period":38,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":39.0},{"period":39,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":40.0},{"period":40,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":41.0},{"period":41,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":42.0},{"period":42,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":43.0},{"period":43,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":44.0},{"period":44,"sojaPrice":617.3538,"feedPrice":1593.4462,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":45.0},{"period":45,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":46.0},{"period":46,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":47.0},{"period":47,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":48.0},{"period":48,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":49.0},{"period":49,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":50.0},{"period":50,"sojaPrice":581.5652,"feedPrice":1526.8192,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":51.0},{"period":51,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5954,"currentStep":52.0},{"period":52,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":53.0},{"period":53,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":54.0},{"period":54,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":55.0},{"period":55,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":56.0},{"period":56,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":57.0},{"period":57,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":58.0},{"period":58,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":59.0},{"period":59,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":60.0},{"period":60,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":61.0},{"period":61,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":62.0},{"period":62,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":63.0},{"period":63,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":64.0},{"period":64,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":65.0},{"period":65,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":66.0},{"period":66,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":67.0},{"period":67,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":68.0},{"period":68,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":69.0},{"period":69,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":70.0},{"period":70,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":71.0},{"period":71,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":72.0},{"period":72,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":73.0},{"period":73,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":74.0},{"period":74,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":75.0},{"period":75,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":76.0},{"period":76,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":77.0},{"period":77,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":78.0},{"period":78,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":79.0},{"period":79,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":80.0},{"period":80,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":81.0},{"period":81,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":82.0},{"period":82,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":83.0},{"period":83,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":84.0},{"period":84,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":85.0},{"period":85,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":86.0},{"period":86,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":87.0},{"period":87,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":88.0},{"period":88,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":89.0},{"period":89,"sojaPrice":581.5652,"feedPrice":1525.723,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":90.0},{"period":90,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":91.0},{"period":91,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":92.0},{"period":92,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":93.0},{"period":93,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":94.0},{"period":94,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":95.0},{"period":95,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":96.0},{"period":96,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":97.0},{"period":97,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":98.0},{"period":98,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":99.0},{"period":99,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":100.0},{"period":100,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":101.0},{"period":101,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":102.0},{"period":102,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":103.0},{"period":103,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":104.0},{"period":104,"sojaPrice":486.0794,"feedPrice":1290.6518,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.655,"currentStep":105.0},{"period":105,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":106.0},{"period":106,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":107.0},{"period":107,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":108.0},{"period":108,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":109.0},{"period":109,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":110.0},{"period":110,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":111.0},{"period":111,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":112.0},{"period":112,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":113.0},{"period":113,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":114.0},{"period":114,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":115.0},{"period":115,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":116.0},{"period":116,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":117.0},{"period":117,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":118.0},{"period":118,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":119.0},{"period":119,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":120.0},{"period":120,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":121.0},{"period":121,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":122.0},{"period":122,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":123.0},{"period":123,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":124.0},{"period":124,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":125.0},{"period":125,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":126.0},{"period":126,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":127.0},{"period":127,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":128.0},{"period":128,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":129.0},{"period":129,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":130.0},{"period":130,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":131.0},{"period":131,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":132.0},{"period":132,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":133.0},{"period":133,"sojaPrice":496.8939,"feedPrice":1308.6385,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.655,"currentStep":134.0},{"period":134,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":135.0},{"period":135,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":136.0},{"period":136,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":137.0},{"period":137,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":138.0},{"period":138,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":139.0},{"period":139,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":140.0},{"period":140,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":141.0},{"period":141,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":142.0},{"period":142,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":143.0},{"period":143,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":144.0},{"period":144,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":145.0},{"period":145,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":146.0},{"period":146,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":147.0},{"period":147,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":148.0},{"period":148,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":149.0},{"period":149,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":150.0},{"period":150,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":151.0},{"period":151,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":152.0},{"period":152,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":153.0},{"period":153,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":154.0},{"period":154,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":155.0},{"period":155,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":156.0},{"period":156,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":157.0},{"period":157,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":158.0},{"period":158,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":159.0},{"period":159,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":160.0},{"period":160,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":161.0},{"period":161,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":162.0},{"period":162,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":163.0},{"period":163,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":164.0},{"period":164,"sojaPrice":496.8939,"feedPrice":1305.4842,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6625,"currentStep":165.0},{"period":165,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":166.0},{"period":166,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":167.0},{"period":167,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":168.0},{"period":168,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":169.0},{"period":169,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":170.0},{"period":170,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":171.0},{"period":171,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":172.0},{"period":172,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":173.0},{"period":173,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":174.0},{"period":174,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":175.0},{"period":175,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":176.0},{"period":176,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":177.0},{"period":177,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":178.0},{"period":178,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":179.0},{"period":179,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":180.0},{"period":180,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":181.0},{"period":181,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":182.0},{"period":182,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":183.0},{"period":183,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":184.0},{"period":184,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":185.0},{"period":185,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":186.0},{"period":186,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":187.0},{"period":187,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":188.0},{"period":188,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":189.0},{"period":189,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":190.0},{"period":190,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":191.0},{"period":191,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":192.0},{"period":192,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":193.0},{"period":193,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":194.0},{"period":194,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":195.0},{"period":195,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":196.0},{"period":196,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":197.0},{"period":197,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":198.0},{"period":198,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":199.0},{"period":199,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":200.0},{"period":200,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":201.0},{"period":201,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":202.0},{"period":202,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":203.0},{"period":203,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":204.0},{"period":204,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":205.0},{"period":205,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":206.0},{"period":206,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":207.0},{"period":207,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":208.0},{"period":208,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":209.0},{"period":209,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":210.0},{"period":210,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":211.0},{"period":211,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":212.0},{"period":212,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":213.0},{"period":213,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":214.0},{"period":214,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":215.0},{"period":215,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":216.0},{"period":216,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":217.0},{"period":217,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":218.0},{"period":218,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":219.0},{"period":219,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":220.0},{"period":220,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":221.0},{"period":221,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":222.0},{"period":222,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":223.0},{"period":223,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":224.0},{"period":224,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":225.0},{"period":225,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":226.0},{"period":226,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":227.0},{"period":227,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":228.0},{"period":228,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":229.0},{"period":229,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":230.0},{"period":230,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":231.0},{"period":231,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":232.0},{"period":232,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":233.0},{"period":233,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":234.0},{"period":234,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":235.0},{"period":235,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":236.0},{"period":236,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":237.0},{"period":237,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":238.0},{"period":238,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":239.0},{"period":239,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":240.0},{"period":240,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":241.0},{"period":241,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":242.0},{"period":242,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":243.0},{"period":243,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":244.0},{"period":244,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":245.0},{"period":245,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":246.0},{"period":246,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":247.0},{"period":247,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":248.0},{"period":248,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":249.0},{"period":249,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":250.0},{"period":250,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":251.0},{"period":251,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":252.0},{"period":252,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":253.0},{"period":253,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":254.0},{"period":254,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":255.0},{"period":255,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":256.0},{"period":256,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":257.0},{"period":257,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":258.0},{"period":258,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":259.0},{"period":259,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":260.0},{"period":260,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":261.0},{"period":261,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":262.0},{"period":262,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":263.0},{"period":263,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":264.0},{"period":264,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":265.0},{"period":265,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":266.0},{"period":266,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":267.0},{"period":267,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":268.0},{"period":268,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":269.0},{"period":269,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":270.0},{"period":270,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":271.0},{"period":271,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":272.0},{"period":272,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":273.0},{"period":273,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":274.0},{"period":274,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":275.0},{"period":275,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":276.0},{"period":276,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":277.0},{"period":277,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":278.0},{"period":278,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":279.0},{"period":279,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":280.0},{"period":280,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":281.0},{"period":281,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":282.0},{"period":282,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":283.0},{"period":283,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":284.0},{"period":284,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":285.0},{"period":285,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":286.0},{"period":286,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":287.0},{"period":287,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":288.0},{"period":288,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":289.0},{"period":289,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":290.0},{"period":290,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":291.0},{"period":291,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":292.0},{"period":292,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":293.0},{"period":293,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":294.0},{"period":294,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":295.0},{"period":295,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":296.0},{"period":296,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":297.0},{"period":297,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":298.0},{"period":298,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":299.0},{"period":299,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":300.0},{"period":300,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":301.0},{"period":301,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":302.0},{"period":302,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":303.0},{"period":303,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":304.0},{"period":304,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":305.0},{"period":305,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":306.0},{"period":306,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":307.0},{"period":307,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":308.0},{"period":308,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":309.0},{"period":309,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":310.0},{"period":310,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":311.0},{"period":311,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":312.0},{"period":312,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":313.0},{"period":313,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":314.0},{"period":314,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":315.0},{"period":315,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":316.0},{"period":316,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":317.0},{"period":317,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":318.0},{"period":318,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":319.0},{"period":319,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":320.0},{"period":320,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":321.0},{"period":321,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":322.0},{"period":322,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":323.0},{"period":323,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":324.0},{"period":324,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":325.0},{"period":325,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":326.0},{"period":326,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":327.0},{"period":327,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":328.0},{"period":328,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":329.0},{"period":329,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":330.0},{"period":330,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":331.0},{"period":331,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":332.0},{"period":332,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":333.0},{"period":333,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":334.0},{"period":334,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":335.0},{"period":335,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":336.0},{"period":336,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":337.0},{"period":337,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":338.0},{"period":338,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":339.0},{"period":339,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":340.0},{"period":340,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":341.0},{"period":341,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":342.0},{"period":342,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":343.0},{"period":343,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":344.0},{"period":344,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":345.0},{"period":345,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":346.0},{"period":346,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":347.0},{"period":347,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":348.0},{"period":348,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":349.0},{"period":349,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":350.0},{"period":350,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":351.0},{"period":351,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":352.0},{"period":352,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":353.0},{"period":353,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":354.0},{"period":354,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":355.0},{"period":355,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":356.0},{"period":356,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":357.0},{"period":357,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":358.0},{"period":358,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":359.0},{"period":359,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":360.0},{"period":360,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":361.0},{"period":361,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":362.0},{"period":362,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":363.0},{"period":363,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":364.0},{"period":364,"sojaPrice":523.4087,"feedPrice":1349.5835,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":365.0}]} \ No newline at end of file +{"meta":{"pdl":"s1-soja.pdl.yaml","scenario":"scenario_1","ticks":365,"generatedAt":"2026-08-25T09:52:22+00:00","honestyNote":"Approximate geographic positions — not GIS accurate"},"nodes":[{"id":"brazil_farms","label":"Sojaanbau Brasilien","role":"producer","entityIds":["brazil_farms"],"placements":[],"hasRecordedData":true},{"id":"argentina_farms","label":"Sojaanbau Argentinien","role":"producer","entityIds":["argentina_farms"],"placements":[],"hasRecordedData":true},{"id":"us_farms","label":"Sojaanbau USA","role":"producer","entityIds":["us_farms"],"placements":[],"hasRecordedData":true},{"id":"transport_sa_santos","label":"Hafen Santos","role":"sa_santos","entityIds":["santos_port"],"placements":[],"hasRecordedData":false},{"id":"transport_sa_paranagua","label":"Hafen Paranaguá","role":"sa_paranagua","entityIds":["paranagua_port"],"placements":[],"hasRecordedData":false},{"id":"transport_eu_rtm","label":"Hafen Rotterdam","role":"eu_rtm","entityIds":["rotterdam_port"],"placements":[],"hasRecordedData":false},{"id":"transport_eu_ham","label":"Hafen Hamburg","role":"eu_ham","entityIds":["hamburg_port"],"placements":[],"hasRecordedData":false},{"id":"processors","label":"EU Ölmühlen","role":"processor","entityIds":["eu_oil_mills"],"placements":[],"hasRecordedData":true},{"id":"feed_manufacturers","label":"Futtermittelhersteller","role":"feed_manufacturer","entityIds":["feed_mills"],"placements":[],"hasRecordedData":true},{"id":"eu_farmers","label":"Geflügelbetriebe / Schweinebetriebe / Milchwirtschaft","role":"consumer","entityIds":["poultry_farms","pig_farms","dairy_farms"],"placements":[],"hasRecordedData":true},{"id":"brazil_wholesaler","label":"Brazil grain originator","role":"wholesaler","entityIds":["brazil_wholesaler"],"placements":[{"entityId":"brazil_wholesaler","label":"Brazil grain originator","lat":-23.0,"lng":-47.0,"illustrative":true}],"hasRecordedData":true},{"id":"argentina_wholesaler","label":"Argentina grain originator","role":"wholesaler","entityIds":["argentina_wholesaler"],"placements":[{"entityId":"argentina_wholesaler","label":"Argentina grain originator","lat":-32.9,"lng":-60.7,"illustrative":true}],"hasRecordedData":true},{"id":"us_wholesaler","label":"US grain originator","role":"wholesaler","entityIds":["us_wholesaler"],"placements":[{"entityId":"us_wholesaler","label":"US grain originator","lat":29.95,"lng":-90.07,"illustrative":true}],"hasRecordedData":true},{"id":"feed_traders","label":"EU feed distributor","role":"feed_trader","entityIds":["eu_feed_trader"],"placements":[{"entityId":"eu_feed_trader","label":"EU feed distributor","lat":47.5,"lng":16.0,"illustrative":true}],"hasRecordedData":true}],"edges":[{"id":"transport_sa_santos->transport_eu_rtm","source":"transport_sa_santos","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"argentina_wholesaler->transport_eu_rtm","source":"argentina_wholesaler","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"us_wholesaler->transport_eu_rtm","source":"us_wholesaler","target":"transport_eu_rtm","isSeaCrossing":true},{"id":"transport_eu_rtm->processors","source":"transport_eu_rtm","target":"processors","isSeaCrossing":false},{"id":"transport_eu_ham->processors","source":"transport_eu_ham","target":"processors","isSeaCrossing":false},{"id":"processors->feed_manufacturers","source":"processors","target":"feed_manufacturers","isSeaCrossing":false},{"id":"transport_sa_paranagua->transport_eu_ham","source":"transport_sa_paranagua","target":"transport_eu_ham","isSeaCrossing":true},{"id":"brazil_farms->brazil_wholesaler","source":"brazil_farms","target":"brazil_wholesaler","isSeaCrossing":false},{"id":"brazil_wholesaler->transport_sa_santos","source":"brazil_wholesaler","target":"transport_sa_santos","isSeaCrossing":false},{"id":"brazil_wholesaler->transport_sa_paranagua","source":"brazil_wholesaler","target":"transport_sa_paranagua","isSeaCrossing":false},{"id":"argentina_farms->argentina_wholesaler","source":"argentina_farms","target":"argentina_wholesaler","isSeaCrossing":false},{"id":"us_farms->us_wholesaler","source":"us_farms","target":"us_wholesaler","isSeaCrossing":false},{"id":"feed_manufacturers->feed_traders","source":"feed_manufacturers","target":"feed_traders","isSeaCrossing":false},{"id":"feed_traders->eu_farmers","source":"feed_traders","target":"eu_farmers","isSeaCrossing":false}],"ticks":[{"period":0,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":1,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":2,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":3,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":4,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":5,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":6,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":7,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":8,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":9,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":10,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":11,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":12,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":13,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":14,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":15,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":16,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":17,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":18,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":19,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":20,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":21,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":22,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":23,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":24,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":25,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":26,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":27,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":28,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":29,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":30,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":31,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":32,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":33,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":34,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":35,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":36,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":37,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":38,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":39,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":40,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":41,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":42,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":43,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":44,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":45,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":46,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":47,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":48,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":49,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":50,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":51,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":52,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":53,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":54,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":55,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":56,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":57,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":58,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":59,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":60,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":61,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":62,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":63,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":64,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":65,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":66,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":67,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":68,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":69,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":70,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":71,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":72,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":73,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":74,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":75,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":76,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":77,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":78,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":79,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":80,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":81,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":82,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":83,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":84,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":85,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":86,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":87,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":88,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":89,"nodeId":"brazil_farms","values":{"quantity_available":600.0,"unit_price":660.0,"active":true}},{"period":90,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":91,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":92,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":93,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":94,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":95,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":96,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":97,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":98,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":99,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":100,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":101,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":102,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":103,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":104,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":105,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":106,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":107,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":108,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":109,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":110,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":111,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":112,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":113,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":114,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":115,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":116,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":117,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":118,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":119,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":120,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":121,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":122,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":123,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":124,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":125,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":126,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":127,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":128,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":129,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":130,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":131,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":132,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":133,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":134,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":135,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":136,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":137,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":138,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":139,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":140,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":141,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":142,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":143,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":144,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":145,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":146,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":147,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":148,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":149,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":150,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":151,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":152,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":153,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":154,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":155,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":156,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":157,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":158,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":159,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":160,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":161,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":162,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":163,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":164,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":165,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":166,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":167,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":168,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":169,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":170,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":171,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":172,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":173,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":174,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":175,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":176,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":177,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":178,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":179,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":180,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":181,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":182,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":183,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":184,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":185,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":186,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":187,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":188,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":189,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":190,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":191,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":192,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":193,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":194,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":195,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":196,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":197,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":198,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":199,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":200,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":201,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":202,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":203,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":204,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":205,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":206,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":207,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":208,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":209,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":210,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":211,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":212,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":213,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":214,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":215,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":216,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":217,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":218,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":219,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":220,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":221,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":222,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":223,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":224,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":225,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":226,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":227,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":228,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":229,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":230,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":231,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":232,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":233,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":234,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":235,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":236,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":237,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":238,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":239,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":240,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":241,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":242,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":243,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":244,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":245,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":246,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":247,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":248,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":249,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":250,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":251,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":252,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":253,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":254,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":255,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":256,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":257,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":258,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":259,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":260,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":261,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":262,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":263,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":264,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":265,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":266,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":267,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":268,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":269,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":270,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":271,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":272,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":273,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":274,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":275,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":276,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":277,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":278,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":279,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":280,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":281,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":282,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":283,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":284,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":285,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":286,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":287,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":288,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":289,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":290,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":291,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":292,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":293,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":294,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":295,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":296,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":297,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":298,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":299,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":300,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":301,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":302,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":303,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":304,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":305,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":306,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":307,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":308,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":309,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":310,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":311,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":312,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":313,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":314,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":315,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":316,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":317,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":318,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":319,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":320,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":321,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":322,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":323,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":324,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":325,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":326,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":327,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":328,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":329,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":330,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":331,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":332,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":333,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":334,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":335,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":336,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":337,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":338,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":339,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":340,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":341,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":342,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":343,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":344,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":345,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":346,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":347,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":348,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":349,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":350,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":351,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":352,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":353,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":354,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":355,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":356,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":357,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":358,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":359,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":360,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":361,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":362,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":363,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":364,"nodeId":"brazil_farms","values":{"quantity_available":1000.0,"unit_price":396.0,"active":true}},{"period":0,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":1,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":2,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":3,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":4,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":5,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":6,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":7,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":8,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":9,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":10,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":11,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":12,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":13,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":14,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":15,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":16,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":17,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":18,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":19,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":20,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":21,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":22,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":23,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":24,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":25,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":26,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":27,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":28,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":29,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":30,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":31,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":32,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":33,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":34,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":35,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":36,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":37,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":38,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":39,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":40,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":41,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":42,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":43,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":44,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":45,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":46,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":47,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":48,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":49,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":50,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":51,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":52,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":53,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":54,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":55,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":56,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":57,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":58,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":59,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":60,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":61,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":62,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":63,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":64,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":65,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":66,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":67,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":68,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":69,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":70,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":71,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":72,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":73,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":74,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":75,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":76,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":77,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":78,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":79,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":80,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":81,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":82,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":83,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":84,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":85,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":86,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":87,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":88,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":89,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":90,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":91,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":92,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":93,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":94,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":95,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":96,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":97,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":98,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":99,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":100,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":101,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":102,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":103,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":104,"nodeId":"argentina_farms","values":{"quantity_available":550.0,"unit_price":420.0,"active":true}},{"period":105,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":106,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":107,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":108,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":109,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":110,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":111,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":112,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":113,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":114,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":115,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":116,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":117,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":118,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":119,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":120,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":121,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":122,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":123,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":124,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":125,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":126,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":127,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":128,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":129,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":130,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":131,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":132,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":133,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":134,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":135,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":136,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":137,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":138,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":139,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":140,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":141,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":142,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":143,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":144,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":145,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":146,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":147,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":148,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":149,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":150,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":151,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":152,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":153,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":154,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":155,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":156,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":157,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":158,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":159,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":160,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":161,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":162,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":163,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":164,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":165,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":166,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":167,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":168,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":169,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":170,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":171,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":172,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":173,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":174,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":175,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":176,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":177,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":178,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":179,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":180,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":181,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":182,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":183,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":184,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":185,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":186,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":187,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":188,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":189,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":190,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":191,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":192,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":193,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":194,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":195,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":196,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":197,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":198,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":199,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":200,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":201,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":202,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":203,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":204,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":205,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":206,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":207,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":208,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":209,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":210,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":211,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":212,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":213,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":214,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":215,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":216,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":217,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":218,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":219,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":220,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":221,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":222,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":223,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":224,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":225,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":226,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":227,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":228,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":229,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":230,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":231,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":232,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":233,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":234,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":235,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":236,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":237,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":238,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":239,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":240,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":241,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":242,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":243,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":244,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":245,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":246,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":247,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":248,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":249,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":250,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":251,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":252,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":253,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":254,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":255,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":256,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":257,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":258,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":259,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":260,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":261,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":262,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":263,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":264,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":265,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":266,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":267,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":268,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":269,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":270,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":271,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":272,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":273,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":274,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":275,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":276,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":277,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":278,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":279,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":280,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":281,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":282,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":283,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":284,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":285,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":286,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":287,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":288,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":289,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":290,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":291,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":292,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":293,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":294,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":295,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":296,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":297,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":298,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":299,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":300,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":301,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":302,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":303,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":304,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":305,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":306,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":307,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":308,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":309,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":310,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":311,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":312,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":313,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":314,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":315,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":316,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":317,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":318,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":319,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":320,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":321,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":322,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":323,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":324,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":325,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":326,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":327,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":328,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":329,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":330,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":331,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":332,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":333,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":334,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":335,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":336,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":337,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":338,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":339,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":340,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":341,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":342,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":343,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":344,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":345,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":346,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":347,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":348,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":349,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":350,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":351,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":352,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":353,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":354,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":355,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":356,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":357,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":358,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":359,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":360,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":361,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":362,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":363,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":364,"nodeId":"argentina_farms","values":{"quantity_available":500.0,"unit_price":462.0,"active":true}},{"period":0,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":1,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":2,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":3,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":4,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":5,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":6,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":7,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":8,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":9,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":10,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":11,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":12,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":13,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":14,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":15,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":16,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":17,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":18,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":19,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":20,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":21,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":22,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":23,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":24,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":25,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":26,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":27,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":28,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":29,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":30,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":31,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":32,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":33,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":34,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":35,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":36,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":37,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":38,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":39,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":40,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":41,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":42,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":43,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":44,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":45,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":46,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":47,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":48,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":49,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":50,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":51,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":52,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":53,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":54,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":55,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":56,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":57,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":58,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":59,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":60,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":61,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":62,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":63,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":64,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":65,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":66,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":67,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":68,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":69,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":70,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":71,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":72,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":73,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":74,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":75,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":76,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":77,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":78,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":79,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":80,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":81,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":82,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":83,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":84,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":85,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":86,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":87,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":88,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":89,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":90,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":91,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":92,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":93,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":94,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":95,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":96,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":97,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":98,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":99,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":100,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":101,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":102,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":103,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":104,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":105,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":106,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":107,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":108,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":109,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":110,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":111,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":112,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":113,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":114,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":115,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":116,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":117,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":118,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":119,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":120,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":121,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":122,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":123,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":124,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":125,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":126,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":127,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":128,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":129,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":130,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":131,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":132,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":133,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":134,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":135,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":136,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":137,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":138,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":139,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":140,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":141,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":142,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":143,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":144,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":145,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":146,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":147,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":148,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":149,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":150,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":151,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":152,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":153,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":154,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":155,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":156,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":157,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":158,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":159,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":160,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":161,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":162,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":163,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":164,"nodeId":"us_farms","values":{"quantity_available":920.0,"unit_price":459.1304,"active":true}},{"period":165,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":166,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":167,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":168,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":169,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":170,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":171,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":172,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":173,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":174,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":175,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":176,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":177,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":178,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":179,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":180,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":181,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":182,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":183,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":184,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":185,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":186,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":187,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":188,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":189,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":190,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":191,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":192,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":193,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":194,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":195,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":196,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":197,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":198,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":199,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":200,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":201,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":202,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":203,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":204,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":205,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":206,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":207,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":208,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":209,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":210,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":211,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":212,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":213,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":214,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":215,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":216,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":217,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":218,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":219,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":220,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":221,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":222,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":223,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":224,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":225,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":226,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":227,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":228,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":229,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":230,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":231,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":232,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":233,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":234,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":235,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":236,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":237,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":238,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":239,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":240,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":241,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":242,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":243,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":244,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":245,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":246,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":247,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":248,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":249,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":250,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":251,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":252,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":253,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":254,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":255,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":256,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":257,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":258,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":259,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":260,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":261,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":262,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":263,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":264,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":265,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":266,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":267,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":268,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":269,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":270,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":271,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":272,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":273,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":274,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":275,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":276,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":277,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":278,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":279,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":280,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":281,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":282,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":283,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":284,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":285,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":286,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":287,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":288,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":289,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":290,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":291,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":292,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":293,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":294,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":295,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":296,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":297,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":298,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":299,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":300,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":301,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":302,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":303,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":304,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":305,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":306,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":307,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":308,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":309,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":310,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":311,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":312,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":313,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":314,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":315,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":316,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":317,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":318,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":319,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":320,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":321,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":322,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":323,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":324,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":325,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":326,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":327,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":328,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":329,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":330,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":331,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":332,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":333,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":334,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":335,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":336,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":337,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":338,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":339,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":340,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":341,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":342,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":343,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":344,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":345,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":346,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":347,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":348,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":349,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":350,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":351,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":352,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":353,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":354,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":355,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":356,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":357,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":358,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":359,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":360,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":361,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":362,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":363,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":364,"nodeId":"us_farms","values":{"quantity_available":800.0,"unit_price":528.0,"active":true}},{"period":0,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":1,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":2,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":3,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":4,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":5,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":6,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":7,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":8,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":9,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":10,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":11,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":12,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":13,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":14,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1215.7971}},{"period":15,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":16,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":17,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":18,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":19,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":20,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":21,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":22,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":23,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":24,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":25,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":26,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":27,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":28,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":29,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":30,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":31,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":32,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":33,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":34,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":35,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":36,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":37,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":38,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":39,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":40,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":41,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":42,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":43,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":44,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1155.8853}},{"period":45,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":46,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":47,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":48,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":49,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":50,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":51,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":52,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":53,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":54,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":55,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":56,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":57,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":58,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":59,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":60,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":61,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":62,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":63,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":64,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":65,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":66,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":67,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":68,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":69,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":70,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":71,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":72,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":73,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":74,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":75,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":76,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":77,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":78,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":79,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":80,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":81,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":82,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":83,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":84,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":85,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":86,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":87,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":88,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":89,"nodeId":"processors","values":{"quantity_available":544.0,"unit_price":1150.5145}},{"period":90,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":91,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":92,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":93,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":94,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":95,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":96,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":97,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":98,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":99,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":100,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":101,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":102,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":103,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":104,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":105,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":106,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":107,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":108,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":109,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":110,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":111,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":112,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":113,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":114,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":115,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":116,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":117,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":118,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":119,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":120,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":121,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":122,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":123,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":124,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":125,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":126,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":127,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":128,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":129,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":130,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":131,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":132,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":133,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":977.9373}},{"period":134,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":135,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":136,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":137,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":138,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":139,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":140,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":141,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":142,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":143,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":144,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":145,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":146,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":147,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":148,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":149,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":150,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":151,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":152,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":153,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":154,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":155,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":156,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":157,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":158,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":159,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":160,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":161,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":162,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":163,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":164,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":165,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":166,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":167,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":168,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":169,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":170,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":171,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":172,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":173,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":174,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":175,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":176,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":177,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":178,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":179,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":180,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":181,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":182,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":183,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":184,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":185,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":186,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":187,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":188,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":189,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":190,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":191,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":192,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":193,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":194,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":195,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":196,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":197,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":198,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":199,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":200,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":201,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":202,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":203,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":204,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":205,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":206,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":207,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":208,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":209,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":210,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":211,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":212,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":213,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":214,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":215,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":216,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":217,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":218,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":219,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":220,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":221,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":222,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":223,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":224,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":225,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":226,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":227,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":228,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":229,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":230,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":231,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":232,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":233,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":234,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":235,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":236,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":237,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":238,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":239,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":240,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":241,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":242,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":243,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":244,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":245,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":246,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":247,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":248,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":249,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":250,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":251,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":252,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":253,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":254,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":255,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":256,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":257,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":258,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":259,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":260,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":261,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":262,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":263,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":264,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":265,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":266,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":267,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":268,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":269,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":270,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":271,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":272,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":273,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":274,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":275,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":276,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":277,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":278,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":279,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":280,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":281,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":282,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":283,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":284,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":285,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":286,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":287,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":288,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":289,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":290,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":291,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":292,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":293,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":294,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":295,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":296,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":297,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":298,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":299,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":300,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":301,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":302,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":303,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":304,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":305,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":306,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":307,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":308,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":309,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":310,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":311,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":312,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":313,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":314,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":315,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":316,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":317,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":318,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":319,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":320,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":321,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":322,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":323,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":324,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":325,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":326,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":327,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":328,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":329,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":330,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":331,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":332,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":333,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":334,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":335,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":336,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":337,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":338,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":339,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":340,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":341,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":342,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":343,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":344,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":345,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":346,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":347,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":348,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":349,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":350,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":351,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":352,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":353,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":354,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":355,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":356,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":357,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":358,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":359,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":360,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":361,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":362,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":363,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":364,"nodeId":"processors","values":{"quantity_available":640.0,"unit_price":972.79}},{"period":0,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":1,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":2,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":3,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":4,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":5,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":6,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":7,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":8,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":9,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":10,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":11,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":12,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":13,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":14,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1410.1709}},{"period":15,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":16,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":17,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":18,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":19,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":20,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":21,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":22,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":23,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":24,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":25,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":26,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":27,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":28,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":29,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":30,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":31,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":32,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":33,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":34,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":35,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":36,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":37,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":38,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":39,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":40,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":41,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":42,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":43,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":44,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1344.2679}},{"period":45,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":46,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":47,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":48,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":49,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":50,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":51,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":52,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":53,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":54,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":55,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":56,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":57,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":58,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":59,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":60,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":61,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":62,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":63,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":64,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":65,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":66,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":67,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":68,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":69,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":70,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":71,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":72,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":73,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":74,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":75,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":76,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":77,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":78,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":79,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":80,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":81,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":82,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":83,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":84,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":85,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":86,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":87,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":88,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":89,"nodeId":"feed_manufacturers","values":{"quantity_available":544.0,"unit_price":1338.36}},{"period":90,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":91,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":92,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":93,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":94,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":95,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":96,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":97,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":98,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":99,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":100,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":101,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":102,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":103,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":104,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":105,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":106,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":107,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":108,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":109,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":110,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":111,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":112,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":113,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":114,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":115,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":116,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":117,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":118,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":119,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":120,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":121,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":122,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":123,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":124,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":125,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":126,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":127,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":128,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":129,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":130,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":131,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":132,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":133,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1137.606}},{"period":134,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":135,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":136,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":137,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":138,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":139,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":140,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":141,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":142,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":143,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":144,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":145,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":146,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":147,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":148,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":149,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":150,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":151,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":152,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":153,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":154,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":155,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":156,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":157,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":158,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":159,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":160,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":161,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":162,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":163,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":164,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":165,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":166,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":167,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":168,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":169,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":170,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":171,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":172,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":173,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":174,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":175,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":176,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":177,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":178,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":179,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":180,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":181,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":182,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":183,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":184,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":185,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":186,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":187,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":188,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":189,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":190,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":191,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":192,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":193,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":194,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":195,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":196,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":197,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":198,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":199,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":200,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":201,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":202,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":203,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":204,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":205,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":206,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":207,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":208,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":209,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":210,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":211,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":212,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":213,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":214,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":215,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":216,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":217,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":218,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":219,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":220,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":221,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":222,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":223,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":224,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":225,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":226,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":227,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":228,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":229,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":230,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":231,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":232,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":233,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":234,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":235,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":236,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":237,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":238,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":239,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":240,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":241,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":242,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":243,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":244,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":245,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":246,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":247,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":248,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":249,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":250,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":251,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":252,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":253,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":254,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":255,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":256,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":257,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":258,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":259,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":260,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":261,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":262,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":263,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":264,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":265,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":266,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":267,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":268,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":269,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":270,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":271,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":272,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":273,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":274,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":275,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":276,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":277,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":278,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":279,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":280,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":281,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":282,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":283,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":284,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":285,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":286,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":287,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":288,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":289,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":290,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":291,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":292,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":293,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":294,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":295,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":296,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":297,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":298,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":299,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":300,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":301,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":302,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":303,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":304,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":305,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":306,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":307,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":308,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":309,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":310,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":311,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":312,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":313,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":314,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":315,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":316,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":317,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":318,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":319,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":320,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":321,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":322,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":323,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":324,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":325,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":326,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":327,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":328,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":329,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":330,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":331,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":332,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":333,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":334,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":335,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":336,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":337,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":338,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":339,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":340,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":341,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":342,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":343,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":344,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":345,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":346,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":347,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":348,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":349,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":350,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":351,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":352,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":353,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":354,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":355,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":356,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":357,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":358,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":359,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":360,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":361,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":362,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":363,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":364,"nodeId":"feed_manufacturers","values":{"quantity_available":640.0,"unit_price":1131.944}},{"period":0,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":1,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":2,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":3,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":4,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":5,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":6,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":7,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":8,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":9,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":10,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":11,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":12,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":13,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":14,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":15,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":16,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":17,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":18,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":19,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":20,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":21,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":22,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":23,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":24,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":25,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":26,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":27,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":28,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":29,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":30,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":31,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":32,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":33,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":34,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":35,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":36,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":37,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":38,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":39,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":40,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":41,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":42,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":43,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":44,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":45,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":46,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":47,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":48,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":49,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":50,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":51,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":52,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":53,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":54,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":55,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":56,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":57,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":58,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":59,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":60,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":61,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":62,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":63,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":64,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":65,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":66,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":67,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":68,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":69,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":70,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":71,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":72,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":73,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":74,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":75,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":76,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":77,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":78,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":79,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":80,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":81,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":82,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":83,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":84,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":85,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":86,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":87,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":88,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":89,"nodeId":"eu_farmers","values":{"feed_received":544.0,"livestock_output":544.0,"active":true}},{"period":90,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":91,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":92,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":93,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":94,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":95,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":96,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":97,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":98,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":99,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":100,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":101,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":102,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":103,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":104,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":105,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":106,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":107,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":108,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":109,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":110,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":111,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":112,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":113,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":114,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":115,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":116,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":117,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":118,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":119,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":120,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":121,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":122,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":123,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":124,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":125,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":126,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":127,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":128,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":129,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":130,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":131,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":132,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":133,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":134,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":135,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":136,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":137,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":138,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":139,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":140,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":141,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":142,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":143,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":144,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":145,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":146,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":147,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":148,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":149,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":150,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":151,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":152,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":153,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":154,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":155,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":156,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":157,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":158,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":159,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":160,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":161,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":162,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":163,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":164,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":165,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":166,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":167,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":168,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":169,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":170,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":171,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":172,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":173,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":174,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":175,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":176,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":177,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":178,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":179,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":180,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":181,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":182,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":183,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":184,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":185,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":186,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":187,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":188,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":189,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":190,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":191,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":192,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":193,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":194,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":195,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":196,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":197,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":198,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":199,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":200,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":201,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":202,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":203,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":204,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":205,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":206,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":207,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":208,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":209,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":210,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":211,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":212,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":213,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":214,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":215,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":216,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":217,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":218,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":219,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":220,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":221,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":222,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":223,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":224,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":225,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":226,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":227,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":228,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":229,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":230,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":231,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":232,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":233,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":234,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":235,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":236,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":237,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":238,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":239,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":240,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":241,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":242,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":243,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":244,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":245,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":246,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":247,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":248,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":249,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":250,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":251,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":252,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":253,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":254,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":255,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":256,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":257,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":258,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":259,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":260,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":261,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":262,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":263,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":264,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":265,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":266,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":267,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":268,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":269,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":270,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":271,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":272,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":273,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":274,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":275,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":276,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":277,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":278,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":279,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":280,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":281,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":282,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":283,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":284,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":285,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":286,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":287,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":288,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":289,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":290,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":291,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":292,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":293,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":294,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":295,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":296,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":297,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":298,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":299,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":300,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":301,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":302,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":303,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":304,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":305,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":306,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":307,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":308,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":309,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":310,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":311,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":312,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":313,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":314,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":315,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":316,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":317,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":318,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":319,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":320,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":321,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":322,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":323,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":324,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":325,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":326,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":327,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":328,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":329,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":330,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":331,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":332,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":333,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":334,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":335,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":336,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":337,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":338,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":339,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":340,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":341,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":342,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":343,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":344,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":345,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":346,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":347,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":348,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":349,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":350,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":351,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":352,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":353,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":354,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":355,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":356,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":357,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":358,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":359,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":360,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":361,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":362,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":363,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":364,"nodeId":"eu_farmers","values":{"feed_received":640.0,"livestock_output":640.0,"active":true}},{"period":0,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":1,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":2,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":3,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":4,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":5,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":6,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":7,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":8,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":9,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":10,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":11,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":12,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":13,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":14,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":15,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":16,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":17,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":18,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":19,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":20,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":21,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":22,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":23,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":24,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":25,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":26,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":27,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":28,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":29,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":30,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":31,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":32,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":33,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":34,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":35,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":36,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":37,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":38,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":39,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":40,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":41,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":42,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":43,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":44,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":45,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":46,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":47,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":48,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":49,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":50,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":51,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":52,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":53,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":54,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":55,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":56,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":57,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":58,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":59,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":60,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":61,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":62,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":63,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":64,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":65,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":66,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":67,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":68,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":69,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":70,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":71,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":72,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":73,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":74,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":75,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":76,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":77,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":78,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":79,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":80,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":81,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":82,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":83,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":84,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":85,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":86,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":87,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":88,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":89,"nodeId":"brazil_wholesaler","values":{"quantity_available":600.0,"unit_price":753.5,"storage_utilization":0.21}},{"period":90,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":91,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":92,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":93,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":94,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":95,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":96,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":97,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":98,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":99,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":100,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":101,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":102,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":103,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":104,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":105,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":106,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":107,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":108,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":109,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":110,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":111,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":112,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":113,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":114,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":115,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":116,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":117,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":118,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":119,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":120,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":121,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":122,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":123,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":124,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":125,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":126,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":127,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":128,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":129,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":130,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":131,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":132,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":133,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":134,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":135,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":136,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":137,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":138,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":139,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":140,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":141,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":142,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":143,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":144,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":145,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":146,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":147,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":148,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":149,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":150,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":151,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":152,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":153,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":154,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":155,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":156,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":157,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":158,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":159,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":160,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":161,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":162,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":163,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":164,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":165,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":166,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":167,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":168,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":169,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":170,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":171,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":172,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":173,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":174,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":175,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":176,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":177,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":178,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":179,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":180,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":181,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":182,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":183,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":184,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":185,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":186,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":187,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":188,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":189,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":190,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":191,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":192,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":193,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":194,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":195,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":196,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":197,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":198,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":199,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":200,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":201,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":202,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":203,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":204,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":205,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":206,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":207,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":208,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":209,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":210,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":211,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":212,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":213,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":214,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":215,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":216,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":217,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":218,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":219,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":220,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":221,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":222,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":223,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":224,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":225,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":226,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":227,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":228,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":229,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":230,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":231,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":232,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":233,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":234,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":235,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":236,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":237,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":238,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":239,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":240,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":241,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":242,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":243,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":244,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":245,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":246,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":247,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":248,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":249,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":250,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":251,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":252,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":253,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":254,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":255,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":256,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":257,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":258,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":259,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":260,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":261,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":262,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":263,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":264,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":265,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":266,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":267,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":268,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":269,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":270,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":271,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":272,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":273,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":274,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":275,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":276,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":277,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":278,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":279,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":280,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":281,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":282,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":283,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":284,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":285,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":286,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":287,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":288,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":289,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":290,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":291,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":292,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":293,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":294,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":295,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":296,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":297,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":298,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":299,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":300,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":301,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":302,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":303,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":304,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":305,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":306,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":307,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":308,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":309,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":310,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":311,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":312,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":313,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":314,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":315,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":316,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":317,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":318,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":319,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":320,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":321,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":322,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":323,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":324,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":325,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":326,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":327,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":328,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":329,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":330,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":331,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":332,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":333,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":334,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":335,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":336,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":337,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":338,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":339,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":340,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":341,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":342,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":343,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":344,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":345,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":346,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":347,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":348,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":349,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":350,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":351,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":352,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":353,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":354,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":355,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":356,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":357,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":358,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":359,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":360,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":361,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":362,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":363,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":364,"nodeId":"brazil_wholesaler","values":{"quantity_available":1000.0,"unit_price":452.1,"storage_utilization":0.35}},{"period":0,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":1,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":2,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":3,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":4,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":5,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":6,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":7,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":8,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":9,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":10,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":11,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":12,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":13,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":14,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":15,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":16,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":17,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":18,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":19,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":20,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":21,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":22,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":23,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":24,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":25,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":26,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":27,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":28,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":29,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":30,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":31,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":32,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":33,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":34,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":35,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":36,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":37,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":38,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":39,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":40,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":41,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":42,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":43,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":44,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":45,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":46,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":47,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":48,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":49,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":50,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":51,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":52,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":53,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":54,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":55,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":56,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":57,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":58,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":59,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":60,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":61,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":62,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":63,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":64,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":65,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":66,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":67,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":68,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":69,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":70,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":71,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":72,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":73,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":74,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":75,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":76,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":77,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":78,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":79,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":80,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":81,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":82,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":83,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":84,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":85,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":86,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":87,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":88,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":89,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":90,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":91,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":92,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":93,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":94,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":95,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":96,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":97,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":98,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":99,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":100,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":101,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":102,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":103,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":104,"nodeId":"argentina_wholesaler","values":{"quantity_available":550.0,"unit_price":492.0,"storage_utilization":0.1925}},{"period":105,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":106,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":107,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":108,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":109,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":110,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":111,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":112,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":113,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":114,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":115,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":116,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":117,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":118,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":119,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":120,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":121,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":122,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":123,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":124,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":125,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":126,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":127,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":128,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":129,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":130,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":131,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":132,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":133,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":134,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":135,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":136,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":137,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":138,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":139,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":140,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":141,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":142,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":143,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":144,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":145,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":146,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":147,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":148,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":149,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":150,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":151,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":152,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":153,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":154,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":155,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":156,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":157,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":158,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":159,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":160,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":161,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":162,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":163,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":164,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":165,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":166,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":167,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":168,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":169,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":170,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":171,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":172,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":173,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":174,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":175,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":176,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":177,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":178,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":179,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":180,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":181,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":182,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":183,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":184,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":185,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":186,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":187,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":188,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":189,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":190,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":191,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":192,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":193,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":194,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":195,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":196,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":197,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":198,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":199,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":200,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":201,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":202,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":203,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":204,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":205,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":206,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":207,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":208,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":209,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":210,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":211,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":212,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":213,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":214,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":215,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":216,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":217,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":218,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":219,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":220,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":221,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":222,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":223,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":224,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":225,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":226,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":227,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":228,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":229,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":230,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":231,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":232,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":233,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":234,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":235,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":236,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":237,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":238,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":239,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":240,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":241,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":242,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":243,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":244,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":245,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":246,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":247,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":248,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":249,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":250,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":251,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":252,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":253,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":254,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":255,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":256,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":257,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":258,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":259,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":260,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":261,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":262,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":263,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":264,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":265,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":266,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":267,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":268,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":269,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":270,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":271,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":272,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":273,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":274,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":275,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":276,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":277,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":278,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":279,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":280,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":281,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":282,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":283,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":284,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":285,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":286,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":287,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":288,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":289,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":290,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":291,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":292,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":293,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":294,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":295,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":296,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":297,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":298,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":299,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":300,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":301,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":302,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":303,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":304,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":305,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":306,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":307,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":308,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":309,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":310,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":311,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":312,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":313,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":314,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":315,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":316,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":317,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":318,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":319,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":320,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":321,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":322,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":323,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":324,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":325,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":326,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":327,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":328,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":329,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":330,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":331,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":332,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":333,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":334,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":335,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":336,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":337,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":338,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":339,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":340,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":341,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":342,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":343,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":344,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":345,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":346,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":347,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":348,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":349,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":350,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":351,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":352,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":353,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":354,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":355,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":356,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":357,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":358,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":359,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":360,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":361,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":362,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":363,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":364,"nodeId":"argentina_wholesaler","values":{"quantity_available":500.0,"unit_price":541.2,"storage_utilization":0.175}},{"period":0,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":1,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":2,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":3,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":4,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":5,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":6,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":7,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":8,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":9,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":10,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":11,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":12,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":13,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":14,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":15,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":16,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":17,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":18,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":19,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":20,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":21,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":22,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":23,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":24,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":25,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":26,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":27,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":28,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":29,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":30,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":31,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":32,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":33,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":34,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":35,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":36,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":37,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":38,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":39,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":40,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":41,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":42,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":43,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":44,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":45,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":46,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":47,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":48,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":49,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":50,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":51,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":52,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":53,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":54,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":55,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":56,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":57,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":58,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":59,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":60,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":61,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":62,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":63,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":64,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":65,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":66,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":67,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":68,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":69,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":70,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":71,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":72,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":73,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":74,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":75,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":76,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":77,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":78,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":79,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":80,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":81,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":82,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":83,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":84,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":85,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":86,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":87,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":88,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":89,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":90,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":91,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":92,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":93,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":94,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":95,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":96,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":97,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":98,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":99,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":100,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":101,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":102,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":103,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":104,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":105,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":106,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":107,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":108,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":109,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":110,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":111,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":112,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":113,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":114,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":115,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":116,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":117,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":118,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":119,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":120,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":121,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":122,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":123,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":124,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":125,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":126,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":127,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":128,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":129,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":130,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":131,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":132,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":133,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":134,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":135,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":136,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":137,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":138,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":139,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":140,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":141,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":142,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":143,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":144,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":145,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":146,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":147,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":148,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":149,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":150,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":151,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":152,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":153,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":154,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":155,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":156,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":157,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":158,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":159,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":160,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":161,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":162,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":163,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":164,"nodeId":"us_wholesaler","values":{"quantity_available":920.0,"unit_price":522.9783,"storage_utilization":0.322}},{"period":165,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":166,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":167,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":168,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":169,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":170,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":171,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":172,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":173,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":174,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":175,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":176,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":177,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":178,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":179,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":180,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":181,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":182,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":183,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":184,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":185,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":186,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":187,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":188,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":189,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":190,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":191,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":192,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":193,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":194,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":195,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":196,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":197,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":198,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":199,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":200,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":201,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":202,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":203,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":204,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":205,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":206,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":207,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":208,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":209,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":210,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":211,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":212,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":213,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":214,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":215,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":216,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":217,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":218,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":219,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":220,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":221,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":222,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":223,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":224,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":225,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":226,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":227,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":228,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":229,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":230,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":231,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":232,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":233,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":234,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":235,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":236,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":237,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":238,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":239,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":240,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":241,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":242,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":243,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":244,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":245,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":246,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":247,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":248,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":249,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":250,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":251,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":252,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":253,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":254,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":255,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":256,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":257,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":258,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":259,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":260,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":261,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":262,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":263,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":264,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":265,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":266,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":267,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":268,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":269,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":270,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":271,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":272,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":273,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":274,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":275,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":276,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":277,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":278,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":279,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":280,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":281,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":282,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":283,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":284,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":285,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":286,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":287,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":288,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":289,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":290,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":291,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":292,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":293,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":294,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":295,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":296,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":297,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":298,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":299,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":300,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":301,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":302,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":303,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":304,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":305,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":306,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":307,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":308,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":309,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":310,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":311,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":312,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":313,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":314,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":315,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":316,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":317,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":318,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":319,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":320,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":321,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":322,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":323,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":324,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":325,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":326,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":327,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":328,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":329,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":330,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":331,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":332,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":333,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":334,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":335,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":336,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":337,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":338,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":339,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":340,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":341,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":342,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":343,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":344,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":345,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":346,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":347,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":348,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":349,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":350,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":351,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":352,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":353,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":354,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":355,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":356,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":357,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":358,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":359,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":360,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":361,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":362,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":363,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":364,"nodeId":"us_wholesaler","values":{"quantity_available":800.0,"unit_price":601.425,"storage_utilization":0.28}},{"period":0,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":1,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":2,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":3,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":4,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":5,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":6,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":7,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":8,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":9,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":10,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":11,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":12,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":13,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":14,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1570.6316}},{"period":15,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":16,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":17,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":18,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":19,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":20,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":21,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":22,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":23,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":24,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":25,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":26,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":27,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":28,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":29,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":30,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":31,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":32,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":33,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":34,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":35,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":36,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":37,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":38,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":39,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":40,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":41,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":42,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":43,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":44,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1499.4564}},{"period":45,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":46,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":47,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":48,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":49,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":50,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":51,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":52,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":53,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":54,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":55,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":56,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":57,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":58,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":59,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":60,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":61,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":62,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":63,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":64,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":65,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":66,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":67,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":68,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":69,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":70,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":71,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":72,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":73,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":74,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":75,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":76,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":77,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":78,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":79,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":80,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":81,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":82,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":83,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":84,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":85,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":86,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":87,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":88,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":89,"nodeId":"feed_traders","values":{"quantity_available":544.0,"unit_price":1493.0759}},{"period":90,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":91,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":92,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":93,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":94,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":95,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":96,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":97,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":98,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":99,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":100,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":101,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":102,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":103,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":104,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":105,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":106,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":107,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":108,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":109,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":110,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":111,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":112,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":113,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":114,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":115,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":116,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":117,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":118,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":119,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":120,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":121,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":122,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":123,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":124,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":125,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":126,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":127,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":128,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":129,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":130,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":131,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":132,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":133,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1269.1145}},{"period":134,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":135,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":136,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":137,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":138,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":139,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":140,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":141,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":142,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":143,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":144,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":145,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":146,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":147,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":148,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":149,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":150,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":151,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":152,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":153,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":154,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":155,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":156,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":157,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":158,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":159,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":160,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":161,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":162,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":163,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":164,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":165,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":166,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":167,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":168,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":169,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":170,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":171,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":172,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":173,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":174,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":175,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":176,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":177,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":178,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":179,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":180,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":181,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":182,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":183,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":184,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":185,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":186,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":187,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":188,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":189,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":190,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":191,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":192,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":193,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":194,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":195,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":196,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":197,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":198,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":199,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":200,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":201,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":202,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":203,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":204,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":205,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":206,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":207,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":208,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":209,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":210,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":211,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":212,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":213,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":214,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":215,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":216,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":217,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":218,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":219,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":220,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":221,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":222,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":223,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":224,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":225,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":226,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":227,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":228,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":229,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":230,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":231,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":232,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":233,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":234,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":235,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":236,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":237,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":238,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":239,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":240,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":241,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":242,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":243,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":244,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":245,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":246,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":247,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":248,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":249,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":250,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":251,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":252,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":253,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":254,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":255,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":256,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":257,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":258,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":259,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":260,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":261,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":262,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":263,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":264,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":265,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":266,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":267,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":268,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":269,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":270,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":271,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":272,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":273,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":274,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":275,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":276,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":277,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":278,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":279,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":280,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":281,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":282,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":283,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":284,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":285,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":286,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":287,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":288,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":289,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":290,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":291,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":292,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":293,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":294,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":295,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":296,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":297,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":298,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":299,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":300,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":301,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":302,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":303,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":304,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":305,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":306,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":307,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":308,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":309,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":310,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":311,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":312,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":313,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":314,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":315,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":316,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":317,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":318,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":319,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":320,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":321,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":322,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":323,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":324,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":325,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":326,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":327,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":328,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":329,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":330,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":331,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":332,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":333,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":334,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":335,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":336,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":337,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":338,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":339,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":340,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":341,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":342,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":343,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":344,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":345,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":346,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":347,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":348,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":349,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":350,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":351,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":352,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":353,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":354,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":355,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":356,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":357,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":358,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":359,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":360,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":361,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":362,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":363,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}},{"period":364,"nodeId":"feed_traders","values":{"quantity_available":640.0,"unit_price":1262.9995}}],"env":[{"period":0,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":1.0},{"period":1,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":2.0},{"period":2,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":3.0},{"period":3,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":4.0},{"period":4,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":5.0},{"period":5,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":6.0},{"period":6,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":7.0},{"period":7,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":8.0},{"period":8,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":9.0},{"period":9,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":10.0},{"period":10,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":11.0},{"period":11,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":12.0},{"period":12,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":13.0},{"period":13,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5575,"currentStep":14.0},{"period":14,"sojaPrice":633.6,"feedPrice":1570.6316,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1900.0,"transportUtilisation":0.5718,"currentStep":15.0},{"period":15,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":16.0},{"period":16,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":17.0},{"period":17,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":18.0},{"period":18,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":19.0},{"period":19,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":20.0},{"period":20,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5781,"currentStep":21.0},{"period":21,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5813,"currentStep":22.0},{"period":22,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":23.0},{"period":23,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":24.0},{"period":24,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":25.0},{"period":25,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":26.0},{"period":26,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":27.0},{"period":27,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":28.0},{"period":28,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":29.0},{"period":29,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":30.0},{"period":30,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":31.0},{"period":31,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":32.0},{"period":32,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":33.0},{"period":33,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":34.0},{"period":34,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":35.0},{"period":35,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":36.0},{"period":36,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":37.0},{"period":37,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":38.0},{"period":38,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":39.0},{"period":39,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":40.0},{"period":40,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":41.0},{"period":41,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":42.0},{"period":42,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":43.0},{"period":43,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":44.0},{"period":44,"sojaPrice":617.3538,"feedPrice":1499.4564,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":1950.0,"transportUtilisation":0.5836,"currentStep":45.0},{"period":45,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":46.0},{"period":46,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":47.0},{"period":47,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":48.0},{"period":48,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":49.0},{"period":49,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":50.0},{"period":50,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5986,"currentStep":51.0},{"period":51,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5954,"currentStep":52.0},{"period":52,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":53.0},{"period":53,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":54.0},{"period":54,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":55.0},{"period":55,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":56.0},{"period":56,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":57.0},{"period":57,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":58.0},{"period":58,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":59.0},{"period":59,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":60.0},{"period":60,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":61.0},{"period":61,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":62.0},{"period":62,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":63.0},{"period":63,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":64.0},{"period":64,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":65.0},{"period":65,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":66.0},{"period":66,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":67.0},{"period":67,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":68.0},{"period":68,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":69.0},{"period":69,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":70.0},{"period":70,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":71.0},{"period":71,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":72.0},{"period":72,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":73.0},{"period":73,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":74.0},{"period":74,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":75.0},{"period":75,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":76.0},{"period":76,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":77.0},{"period":77,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":78.0},{"period":78,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":79.0},{"period":79,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":80.0},{"period":80,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":81.0},{"period":81,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":82.0},{"period":82,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":83.0},{"period":83,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":84.0},{"period":84,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":85.0},{"period":85,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":86.0},{"period":86,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":87.0},{"period":87,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":88.0},{"period":88,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":89.0},{"period":89,"sojaPrice":581.5652,"feedPrice":1493.0759,"shockScale":1.0,"droughtSeverity":0.4,"totalSojaSupply":2070.0,"transportUtilisation":0.5931,"currentStep":90.0},{"period":90,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":91.0},{"period":91,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":92.0},{"period":92,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":93.0},{"period":93,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":94.0},{"period":94,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":95.0},{"period":95,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":96.0},{"period":96,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":97.0},{"period":97,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":98.0},{"period":98,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":99.0},{"period":99,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":100.0},{"period":100,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":101.0},{"period":101,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":102.0},{"period":102,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":103.0},{"period":103,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":104.0},{"period":104,"sojaPrice":487.3846,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2470.0,"transportUtilisation":0.6763,"currentStep":105.0},{"period":105,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":106.0},{"period":106,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":107.0},{"period":107,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":108.0},{"period":108,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":109.0},{"period":109,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":110.0},{"period":110,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":111.0},{"period":111,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":112.0},{"period":112,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":113.0},{"period":113,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":114.0},{"period":114,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":115.0},{"period":115,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":116.0},{"period":116,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":117.0},{"period":117,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":118.0},{"period":118,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":119.0},{"period":119,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":120.0},{"period":120,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":121.0},{"period":121,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":122.0},{"period":122,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":123.0},{"period":123,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":124.0},{"period":124,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":125.0},{"period":125,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":126.0},{"period":126,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":127.0},{"period":127,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":128.0},{"period":128,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":129.0},{"period":129,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":130.0},{"period":130,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":131.0},{"period":131,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":132.0},{"period":132,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":133.0},{"period":133,"sojaPrice":497.4545,"feedPrice":1269.1145,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.67,"currentStep":134.0},{"period":134,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":135.0},{"period":135,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":136.0},{"period":136,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":137.0},{"period":137,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":138.0},{"period":138,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":139.0},{"period":139,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":140.0},{"period":140,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":141.0},{"period":141,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":142.0},{"period":142,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":143.0},{"period":143,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":144.0},{"period":144,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":145.0},{"period":145,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":146.0},{"period":146,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":147.0},{"period":147,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":148.0},{"period":148,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":149.0},{"period":149,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":150.0},{"period":150,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":151.0},{"period":151,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":152.0},{"period":152,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":153.0},{"period":153,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":154.0},{"period":154,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":155.0},{"period":155,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":156.0},{"period":156,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":157.0},{"period":157,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":158.0},{"period":158,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":159.0},{"period":159,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":160.0},{"period":160,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":161.0},{"period":161,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":162.0},{"period":162,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":163.0},{"period":163,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":164.0},{"period":164,"sojaPrice":497.4545,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2420.0,"transportUtilisation":0.6775,"currentStep":165.0},{"period":165,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":166.0},{"period":166,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":167.0},{"period":167,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":168.0},{"period":168,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":169.0},{"period":169,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":170.0},{"period":170,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":171.0},{"period":171,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":172.0},{"period":172,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":173.0},{"period":173,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":174.0},{"period":174,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":175.0},{"period":175,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":176.0},{"period":176,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":177.0},{"period":177,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":178.0},{"period":178,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":179.0},{"period":179,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":180.0},{"period":180,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":181.0},{"period":181,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":182.0},{"period":182,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":183.0},{"period":183,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":184.0},{"period":184,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":185.0},{"period":185,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":186.0},{"period":186,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":187.0},{"period":187,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":188.0},{"period":188,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":189.0},{"period":189,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":190.0},{"period":190,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":191.0},{"period":191,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":192.0},{"period":192,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":193.0},{"period":193,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":194.0},{"period":194,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":195.0},{"period":195,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":196.0},{"period":196,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":197.0},{"period":197,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":198.0},{"period":198,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":199.0},{"period":199,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":200.0},{"period":200,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":201.0},{"period":201,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":202.0},{"period":202,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":203.0},{"period":203,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":204.0},{"period":204,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":205.0},{"period":205,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":206.0},{"period":206,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":207.0},{"period":207,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":208.0},{"period":208,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":209.0},{"period":209,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":210.0},{"period":210,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":211.0},{"period":211,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":212.0},{"period":212,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":213.0},{"period":213,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":214.0},{"period":214,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":215.0},{"period":215,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":216.0},{"period":216,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":217.0},{"period":217,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":218.0},{"period":218,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":219.0},{"period":219,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":220.0},{"period":220,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":221.0},{"period":221,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":222.0},{"period":222,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":223.0},{"period":223,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":224.0},{"period":224,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":225.0},{"period":225,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":226.0},{"period":226,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":227.0},{"period":227,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":228.0},{"period":228,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":229.0},{"period":229,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":230.0},{"period":230,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":231.0},{"period":231,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":232.0},{"period":232,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":233.0},{"period":233,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":234.0},{"period":234,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":235.0},{"period":235,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":236.0},{"period":236,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":237.0},{"period":237,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":238.0},{"period":238,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":239.0},{"period":239,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":240.0},{"period":240,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":241.0},{"period":241,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":242.0},{"period":242,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":243.0},{"period":243,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":244.0},{"period":244,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":245.0},{"period":245,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":246.0},{"period":246,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":247.0},{"period":247,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":248.0},{"period":248,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":249.0},{"period":249,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":250.0},{"period":250,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":251.0},{"period":251,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":252.0},{"period":252,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":253.0},{"period":253,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":254.0},{"period":254,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":255.0},{"period":255,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":256.0},{"period":256,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":257.0},{"period":257,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":258.0},{"period":258,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":259.0},{"period":259,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":260.0},{"period":260,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":261.0},{"period":261,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":262.0},{"period":262,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":263.0},{"period":263,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":264.0},{"period":264,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":265.0},{"period":265,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":266.0},{"period":266,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":267.0},{"period":267,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":268.0},{"period":268,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":269.0},{"period":269,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":270.0},{"period":270,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":271.0},{"period":271,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":272.0},{"period":272,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":273.0},{"period":273,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":274.0},{"period":274,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":275.0},{"period":275,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":276.0},{"period":276,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":277.0},{"period":277,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":278.0},{"period":278,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":279.0},{"period":279,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":280.0},{"period":280,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":281.0},{"period":281,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":282.0},{"period":282,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":283.0},{"period":283,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":284.0},{"period":284,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":285.0},{"period":285,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":286.0},{"period":286,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":287.0},{"period":287,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":288.0},{"period":288,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":289.0},{"period":289,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":290.0},{"period":290,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":291.0},{"period":291,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":292.0},{"period":292,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":293.0},{"period":293,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":294.0},{"period":294,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":295.0},{"period":295,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":296.0},{"period":296,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":297.0},{"period":297,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":298.0},{"period":298,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":299.0},{"period":299,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":1.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":300.0},{"period":300,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":301.0},{"period":301,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":302.0},{"period":302,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":303.0},{"period":303,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":304.0},{"period":304,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":305.0},{"period":305,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":306.0},{"period":306,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":307.0},{"period":307,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":308.0},{"period":308,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":309.0},{"period":309,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":310.0},{"period":310,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":311.0},{"period":311,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":312.0},{"period":312,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":313.0},{"period":313,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":314.0},{"period":314,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":315.0},{"period":315,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":316.0},{"period":316,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":317.0},{"period":317,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":318.0},{"period":318,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":319.0},{"period":319,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":320.0},{"period":320,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":321.0},{"period":321,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":322.0},{"period":322,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":323.0},{"period":323,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":324.0},{"period":324,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":325.0},{"period":325,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":326.0},{"period":326,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":327.0},{"period":327,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":328.0},{"period":328,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":329.0},{"period":329,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":330.0},{"period":330,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":331.0},{"period":331,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":332.0},{"period":332,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":333.0},{"period":333,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":334.0},{"period":334,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":335.0},{"period":335,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":336.0},{"period":336,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":337.0},{"period":337,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":338.0},{"period":338,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":339.0},{"period":339,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":340.0},{"period":340,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":341.0},{"period":341,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":342.0},{"period":342,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":343.0},{"period":343,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":344.0},{"period":344,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":345.0},{"period":345,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":346.0},{"period":346,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":347.0},{"period":347,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":348.0},{"period":348,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":349.0},{"period":349,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":350.0},{"period":350,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":351.0},{"period":351,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":352.0},{"period":352,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":353.0},{"period":353,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":354.0},{"period":354,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":355.0},{"period":355,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":356.0},{"period":356,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":357.0},{"period":357,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":358.0},{"period":358,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":359.0},{"period":359,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":360.0},{"period":360,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":361.0},{"period":361,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":362.0},{"period":362,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":363.0},{"period":363,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":364.0},{"period":364,"sojaPrice":523.4087,"feedPrice":1262.9995,"shockScale":0.0,"droughtSeverity":0.0,"totalSojaSupply":2300.0,"transportUtilisation":0.6625,"currentStep":365.0}]} \ No newline at end of file diff --git a/web/src/data/fixtureSource.ts b/web/src/data/fixtureSource.ts deleted file mode 100644 index 5d2c0a1..0000000 --- a/web/src/data/fixtureSource.ts +++ /dev/null @@ -1,157 +0,0 @@ -/** - * fixtureSource — a hand-written `DataSource` for developing views before the - * real Python exporter exists (Batch 5 replaces this with `staticJsonSource`). - * - * The fixture is deliberately shaped to exercise every awkward case the F1 audit - * surfaced, so views are correct from day one rather than only against the happy - * path: - * - * - `transport_sa_santos` and `transport_eu_rtm` are ports: real coordinates, - * but `hasRecordedData: false` and NO entries in `ticks`. Views must render - * them without expecting a series. - * - `wholesalers` is a synthetic hub: `entityIds: []`, illustrative position. - * - `eu_farmers` is a pooled consumer: three `entityIds`, illustrative position, - * ONE recorded series. - * - one edge is an ocean crossing (`isSeaCrossing: true`). - * - * The flow spine is collapsed for the fixture (e.g. the Santos→Rotterdam crossing - * is drawn as a single sea edge rather than routed through a `sea_lane_*` node, - * and the EU processing tail skips `feed_manufacturers`/`feed_traders`). The real - * exporter will emit the full model graph; this is illustrative scaffolding. - */ - -import type { DataSource } from './source' -import type { Bundle, EnvState, Node, Tick } from './types' - -const HONESTY_NOTE = 'Approximate geographic positions — not GIS accurate' - -const PERIODS = [0, 1, 2] as const - -// The full geolocatable roster (from the F1 audit). Node `label`s are node-level -// English names (used for edge annotations); per-marker display names + -// coordinates come from the gazetteer, keyed by the entity ids below. Ports and -// sea-lanes carry no recorded series (`hasRecordedData: false`). `food_retail` is -// deliberately an entity the gazetteer does NOT know, to keep exercising outcome -// 3 (drop + warn) end-to-end. The real exporter (Batch 5) emits this same shape. -const nodes: Node[] = [ - // Producers (real coords, recorded data) - { id: 'bra_farmers', label: 'Brazil soy farms', role: 'producer', entityIds: ['brazil_farms'], hasRecordedData: true }, - { id: 'arg_farmers', label: 'Argentina soy farms', role: 'producer', entityIds: ['argentina_farms'], hasRecordedData: true }, - { id: 'usa_farmers', label: 'US soy farms', role: 'producer', entityIds: ['us_farms'], hasRecordedData: true }, - // Synthetic hubs (illustrative, recorded data) - { id: 'wholesalers', label: 'Wholesalers', role: 'wholesaler', entityIds: [], hasRecordedData: true }, - { id: 'feed_traders', label: 'Feed traders', role: 'feed_trader', entityIds: [], hasRecordedData: true }, - // Ports (real coords, NO recorded data) - { id: 'transport_sa_santos', label: 'Port of Santos', role: 'sa_santos', entityIds: ['santos_port'], hasRecordedData: false }, - { id: 'transport_sa_paranagua', label: 'Port of Paranaguá', role: 'sa_paranagua', entityIds: ['paranagua_port'], hasRecordedData: false }, - { id: 'transport_eu_rtm', label: 'Port of Rotterdam', role: 'eu_rtm', entityIds: ['rotterdam_port'], hasRecordedData: false }, - { id: 'transport_eu_ham', label: 'Port of Hamburg', role: 'eu_ham', entityIds: ['hamburg_port'], hasRecordedData: false }, - // EU processing (illustrative, recorded data) - { id: 'processors', label: 'EU oil mills', role: 'processor', entityIds: ['eu_oil_mills'], hasRecordedData: true }, - { id: 'feed_manufacturers', label: 'Feed mills', role: 'feed_manufacturer', entityIds: ['feed_mills'], hasRecordedData: true }, - // EU livestock — pooled, splits into three illustrative markers - { id: 'eu_farmers', label: 'EU livestock farms', role: 'consumer', entityIds: ['poultry_farms', 'pig_farms', 'dairy_farms'], hasRecordedData: true }, - // Unknown entity — must NOT render; resolveScene should log a warning. - { id: 'food_retail', label: 'Food retail', role: 'service', entityIds: ['food_retail'], hasRecordedData: false }, -] - -const edges = [ - // Producers -> market hub - { id: 'bra_farmers->wholesalers', source: 'bra_farmers', target: 'wholesalers', isSeaCrossing: false }, - { id: 'arg_farmers->wholesalers', source: 'arg_farmers', target: 'wholesalers', isSeaCrossing: false }, - { id: 'usa_farmers->wholesalers', source: 'usa_farmers', target: 'wholesalers', isSeaCrossing: false }, - // Hub -> export ports - { id: 'wholesalers->transport_sa_santos', source: 'wholesalers', target: 'transport_sa_santos', isSeaCrossing: false }, - { id: 'wholesalers->transport_sa_paranagua', source: 'wholesalers', target: 'transport_sa_paranagua', isSeaCrossing: false }, - // Atlantic sea crossings (materialised sea-lanes, collapsed to port->port here) - { id: 'transport_sa_santos->transport_eu_rtm', source: 'transport_sa_santos', target: 'transport_eu_rtm', isSeaCrossing: true }, - { id: 'transport_sa_paranagua->transport_eu_ham', source: 'transport_sa_paranagua', target: 'transport_eu_ham', isSeaCrossing: true }, - // Argentina alt route + US emergency route (direct sea bypass to Rotterdam) - { id: 'arg_farmers->transport_eu_rtm', source: 'arg_farmers', target: 'transport_eu_rtm', isSeaCrossing: true }, - { id: 'usa_farmers->transport_eu_rtm', source: 'usa_farmers', target: 'transport_eu_rtm', isSeaCrossing: true }, - // EU processing chain - { id: 'transport_eu_rtm->processors', source: 'transport_eu_rtm', target: 'processors', isSeaCrossing: false }, - { id: 'transport_eu_ham->processors', source: 'transport_eu_ham', target: 'processors', isSeaCrossing: false }, - { id: 'processors->feed_manufacturers', source: 'processors', target: 'feed_manufacturers', isSeaCrossing: false }, - { id: 'feed_manufacturers->feed_traders', source: 'feed_manufacturers', target: 'feed_traders', isSeaCrossing: false }, - { id: 'feed_traders->eu_farmers', source: 'feed_traders', target: 'eu_farmers', isSeaCrossing: false }, - // Edge into the unknown node — must be dropped (endpoint has no placement). - { id: 'eu_farmers->food_retail', source: 'eu_farmers', target: 'food_retail', isSeaCrossing: false }, -] - -/** - * Per-node per-tick values, one small ramp per period so views have something - * that changes over time. Keys match the recorded CSV schema for each node type - * (see F1). Ports carry no series and are intentionally absent. - */ -function valuesFor(nodeId: string, period: number): Record | null { - const k = period // 0,1,2 — a tiny deterministic ramp - switch (nodeId) { - case 'bra_farmers': - return { quantity_available: 100.0 - 5 * k, unit_price: 396.0 + 12 * k, active: true } - case 'arg_farmers': - return { quantity_available: 100.0 - 3 * k, unit_price: 462.0 + 10 * k, active: true } - case 'usa_farmers': - return { quantity_available: 100.0 + 4 * k, unit_price: 528.0 - 8 * k, active: true } - case 'feed_manufacturers': - return { quantity_available: 213.3 - 6 * k, unit_price: 1212.1 + 34 * k } - case 'feed_traders': - return { quantity_available: 213.3 - 6 * k, unit_price: 1349.6 + 40 * k } - case 'wholesalers': - return { - quantity_available: 766.7 - 20 * k, - unit_price: 523.4 + 15 * k, - bra_volume: 333.3 - 10 * k, - arg_volume: 166.7, - usa_volume: 266.7 + 10 * k, - storage_utilization: 0.268 - 0.007 * k, - } - case 'processors': - return { quantity_available: 213.3 - 6 * k, unit_price: 1045.7 + 30 * k } - case 'eu_farmers': - return { feed_received: 64.0 - 2 * k, livestock_output: 64.0 - 2 * k, active: true } - default: - return null // ports / anything without a recorded series - } -} - -const ticks: Tick[] = [] -for (const n of nodes) { - if (!n.hasRecordedData) continue - for (const period of PERIODS) { - const values = valuesFor(n.id, period) - if (values !== null) ticks.push({ period, nodeId: n.id, values }) - } -} - -const env: EnvState[] = PERIODS.map((period) => ({ - period, - sojaPrice: 523.4 + 15 * period, - feedPrice: 1349.6 + 40 * period, - shockScale: 0.0, - droughtSeverity: 0.0, - totalSojaSupply: 2300.0 - 60 * period, - transportUtilisation: 0.6625, - currentStep: period + 1, -})) - -const bundle: Bundle = { - meta: { - pdl: 's1-soja.pdl.yaml', - scenario: 'soy_feed_disruption', - ticks: PERIODS.length, - generatedAt: '2026-07-28T00:00:00Z', - honestyNote: HONESTY_NOTE, - }, - nodes, - edges, - ticks, - env, -} - -export const fixtureSource: DataSource = { - name: 'fixture', - getBundle(): Promise { - return Promise.resolve(bundle) - }, -} diff --git a/web/src/data/gazetteer.ts b/web/src/data/gazetteer.ts index 458c4ba..fb4cb42 100644 --- a/web/src/data/gazetteer.ts +++ b/web/src/data/gazetteer.ts @@ -1,14 +1,15 @@ /** - * Gazetteer — the frontend coordinate authority (locked decision). + * Gazetteer — fallback coordinates for entities without declared placements. * - * Coordinates live HERE, keyed by PDL entity id, NOT in any DataSource. lat/lon - * are ported from branch 21's `visualization/config/layout.py` (`GROUP_ANCHORS`, - * `PORTS`) — projection-independent, so they carry to the globe unchanged. The + * PDL/roster coordinates reach the frontend on bundle nodes and take precedence. + * Fallbacks live HERE, keyed by PDL entity id. Their lat/lon values are ported + * from branch 21's `visualization/config/layout.py` (`GROUP_ANCHORS`, `PORTS`) — + * projection-independent, so they carry to the globe unchanged. The * equirectangular `project()` from that file is dead on a globe and not ported. * * This is explicitly "approximate geographic positions — not GIS accurate": some - * positions are real (ports, growing regions), others are illustrative (EU - * processing nodes and synthetic hubs have no location in the sim data). + * positions are real (ports, growing regions), others are illustrative. Entity + * placements declared in the PDL/roster take precedence over this fallback. * * Resolution follows the THREE-outcome rule (never two): * 1. Known entity -> real coordinates, rendered normally. @@ -29,10 +30,10 @@ export interface GazEntry { } /** - * PDL entity id -> position. Ports and growing regions are real; EU processing - * entities are illustrative (no location in the sim). The three livestock - * entities are given distinct illustrative spots around the branch-21 EuFarmers - * anchor (46.5, 2.5) so the pooled `eu_farmers` node splits into three markers. + * Fallback position by PDL entity id. Ports and growing regions are real; EU + * processing entities are illustrative (no location in the sim). The three + * livestock entities are given distinct illustrative spots around the branch-21 + * EuFarmers anchor (46.5, 2.5) so the pooled node splits into three markers. */ export const GAZETTEER: Record = { // Producers — real growing regions @@ -56,15 +57,6 @@ export const GAZETTEER: Record = { dairy_farms: { lat: 45.4, lng: 2.0, label: 'EU dairy farms', illustrative: true }, } -/** - * Synthetic hubs have no PDL entity, so they are keyed by roster list name and - * are always illustrative (they are model constructs, not places). - */ -export const SYNTHETIC_PLACEMENTS: Record = { - wholesalers: { lat: -23.0, lng: -47.0, label: 'Wholesalers (hub)', illustrative: true }, - feed_traders: { lat: 47.5, lng: 16.0, label: 'Feed traders (hub)', illustrative: true }, -} - /** A single rendered marker (one node may yield several — see the pool split). */ export interface Marker { /** Unique marker id: node id, or `${nodeId}::${entityId}` for a split node. */ @@ -112,9 +104,9 @@ function centroid(coords: GeoCoord[]): GeoCoord { } /** - * Resolve bundle nodes + edges into renderable markers + resolved edges, applying - * the three-outcome rule. Unknown entities are dropped and reported (outcome 3); - * an edge whose source or target has no placement is likewise dropped. + * Resolve bundle nodes + edges into renderable markers + resolved edges. Declared + * placements win over the fallback gazetteer. Unknown entities are dropped and + * reported; an edge whose endpoint has no placement is likewise dropped. */ export function resolveScene(nodes: Node[], edges: Edge[]): Scene { const markers: Marker[] = [] @@ -125,19 +117,12 @@ export function resolveScene(nodes: Node[], edges: Edge[]): Scene { const placed: GeoCoord[] = [] if (node.entityIds.length === 0) { - // Synthetic hub — keyed by list name. - const g = SYNTHETIC_PLACEMENTS[node.id] - if (g) { - markers.push(toMarker(node.id, node, g)) - placed.push({ lat: g.lat, lng: g.lng }) - } else { - unplaced.push({ kind: 'node', id: node.id, reason: 'synthetic hub with no placement' }) - } + unplaced.push({ kind: 'node', id: node.id, reason: 'node has no entity ids' }) } else { // One marker per entity id. A single-entity node yields one; a pooled node // (e.g. eu_farmers) yields several — the required 3-way livestock split. for (const eid of node.entityIds) { - const g = GAZETTEER[eid] + const g = node.placements.find((placement) => placement.entityId === eid) ?? GAZETTEER[eid] if (g) { const markerId = node.entityIds.length > 1 ? `${node.id}::${eid}` : node.id markers.push(toMarker(markerId, node, g)) diff --git a/web/src/data/source.ts b/web/src/data/source.ts index 7ebef34..2e57a0d 100644 --- a/web/src/data/source.ts +++ b/web/src/data/source.ts @@ -1,10 +1,9 @@ /** * The DataSource seam (Issue #23, locked decision). * - * Every view depends on THIS interface and never on a concrete source. Today the - * only implementation is `fixtureSource` (hand-written JSON); Batch 5 adds a - * `staticJsonSource` reading an exported bundle, and a `PostgresSource` follows - * later when palaestrAI connects. Because views only ever see `DataSource`, those + * Every view depends on THIS interface and never on a concrete source. Today + * `staticJsonSource` reads the exported bundle; a `PostgresSource` follows later + * when palaestrAI connects. Because views only ever see `DataSource`, those * swaps touch zero view files — that swappability is the whole point of the seam. * * The interface is intentionally async (returns a Promise) so a network- or diff --git a/web/src/data/staticJsonSource.ts b/web/src/data/staticJsonSource.ts index c83bdf6..3ba9df5 100644 --- a/web/src/data/staticJsonSource.ts +++ b/web/src/data/staticJsonSource.ts @@ -3,15 +3,14 @@ * * This is the Batch-5 swap target: it reads the JSON the Python exporter * (`provider_simenv.export_bundle`) writes from a simulation run's CSVs, and is - * selected at the composition root (`main.tsx`) in place of `fixtureSource` - * without touching any view file. + * selected at the composition root (`main.tsx`) without touching any view file. * * The fetched payload is untrusted input, so it crosses a structural check * (`parseBundle`) before any view sees it, rather than being cast blindly. */ import type { DataSource } from './source' -import type { Bundle, Edge, EnvState, Node, Tick } from './types' +import type { Bundle, Edge, EntityPlacement, EnvState, Node, Tick } from './types' const BUNDLE_URL = '/bundle.json' @@ -24,6 +23,34 @@ function requireArray(value: unknown, field: string): unknown[] { return value } +function requireString(value: unknown, field: string): string { + if (typeof value !== 'string' || value.length === 0) { + throw new Error(`bundle.${field} must be a non-empty string`) + } + return value +} + +function requireFiniteNumber(value: unknown, field: string): number { + if (typeof value !== 'number' || !Number.isFinite(value)) { + throw new Error(`bundle.${field} must be a finite number`) + } + return value +} + +function parsePlacement(value: unknown, nodeId: string): EntityPlacement { + if (!isObject(value)) throw new Error('bundle.nodes[].placements[] must be objects') + const entityId = requireString(value.entityId, 'nodes[].placements[].entityId') + const label = requireString(value.label, 'nodes[].placements[].label') + const lat = requireFiniteNumber(value.lat, 'nodes[].placements[].lat') + const lng = requireFiniteNumber(value.lng, 'nodes[].placements[].lng') + if (lat < -90 || lat > 90) throw new Error(`bundle node ${nodeId} has latitude outside [-90, 90]`) + if (lng < -180 || lng > 180) throw new Error(`bundle node ${nodeId} has longitude outside [-180, 180]`) + if (typeof value.illustrative !== 'boolean') { + throw new Error('bundle.nodes[].placements[].illustrative must be boolean') + } + return { entityId, label, lat, lng, illustrative: value.illustrative } +} + /** Validate the fetched payload at the trust boundary and return a typed Bundle. */ export function parseBundle(input: unknown): Bundle { if (!isObject(input)) throw new Error('bundle must be an object') @@ -31,11 +58,27 @@ export function parseBundle(input: unknown): Bundle { const nodes = requireArray(input.nodes, 'nodes').map((n): Node => { if (!isObject(n)) throw new Error('bundle.nodes[] must be objects') + const id = String(n.id) + const entityIds = requireArray(n.entityIds, 'nodes[].entityIds').map(String) + const placements = ( + n.placements === undefined ? [] : requireArray(n.placements, 'nodes[].placements') + ).map((placement) => parsePlacement(placement, id)) + const seenPlacements = new Set() + for (const placement of placements) { + if (!entityIds.includes(placement.entityId)) { + throw new Error(`bundle node ${id} has placement for unknown entity ${placement.entityId}`) + } + if (seenPlacements.has(placement.entityId)) { + throw new Error(`bundle node ${id} has duplicate placement for ${placement.entityId}`) + } + seenPlacements.add(placement.entityId) + } return { - id: String(n.id), + id, label: String(n.label), role: String(n.role), - entityIds: requireArray(n.entityIds, 'nodes[].entityIds').map(String), + entityIds, + placements, hasRecordedData: Boolean(n.hasRecordedData), } }) diff --git a/web/src/data/types.ts b/web/src/data/types.ts index e8ce881..1ee4ba2 100644 --- a/web/src/data/types.ts +++ b/web/src/data/types.ts @@ -5,11 +5,10 @@ * view. They are shaped by the F1 schema audit of the Python model — see * `web/.planning/forge/PLAN.md` and the audit notes. Key facts baked in here: * - * - A node's stable identity is its **roster list name** (e.g. "bra_farmers", - * "sea_lane_santos"), NOT a PDL entity id. That is what the simulation CSV - * tables and `FLOW_ADJACENCY` use, and it is the only key that cleanly covers - * synthetic hubs (no entity) and pooled nodes (many entities). The PDL entity - * ids a node represents are carried alongside in `entityIds`. + * - A node's stable identity is its **roster list name**. For a single-entity + * producer that is also the PDL entity id (e.g. "brazil_farms"). Sidecar-backed + * actors carry their declared entity id; pooled nodes (eu_farmers) keep one + * list name for several entities. `entityIds` carries the ids a node represents. * * - Ports and sea-lanes are geographically real but carry **no recorded * time-series** (they are absent from the model's DataCollector / TickWriter). @@ -17,8 +16,8 @@ * * - `eu_farmers` pools three PDL entities (poultry/pig/dairy) into ONE recorded * series. On the map they may appear as several illustrative markers sharing - * that series; `positionIsIllustrative` marks any node whose coordinate is a - * chosen approximation rather than a real location. + * that series. Declared entity placements travel with the node; entities that + * do not declare coordinates still use the frontend gazetteer. * * - Per-tick fields differ by node type, so `Tick.values` is a keyed record * rather than a fixed struct. That is the honest shape of the CSV data. @@ -30,6 +29,13 @@ export interface GeoCoord { lng: number } +/** A coordinate declared for one PDL or roster entity. */ +export interface EntityPlacement extends GeoCoord { + entityId: string + label: string + illustrative: boolean +} + /** * A supply-chain actor rendered on the map. * @@ -37,14 +43,16 @@ export interface GeoCoord { * and for `Tick.nodeId`. */ export interface Node { - /** Stable key = roster model-attr list name, e.g. "bra_farmers". */ + /** Stable key = roster model-attr list name, e.g. "brazil_farms". */ id: string /** Node-level English display name (used for edge labels), e.g. "Brazil soy farms". */ label: string /** Agent role, e.g. "producer" | "wholesaler" | "sea_santos". */ role: string - /** PDL entity ids this node represents. Empty for synthetic hubs. */ + /** PDL or sidecar entity ids this node represents. */ entityIds: string[] + /** Entity coordinates supplied by the PDL/roster; empty means use the gazetteer. */ + placements: EntityPlacement[] /** * False for ports and sea-lanes, which exist structurally but produce no * per-tick rows. Views must not expect a time-series for these nodes. @@ -52,22 +60,13 @@ export interface Node { hasRecordedData: boolean } -/* - * NOTE — coordinates are deliberately NOT on `Node`. Per the locked decision, - * placement is a FRONTEND concern resolved from `gazetteer.ts` keyed by PDL - * entity id, so a DataSource (fixture now, exported JSON / Postgres later) never - * carries geography. This is the documented seam boundary: swapping the data - * source can never move a marker. - */ - /** - * A directed flow between two nodes, from the model's `FLOW_ADJACENCY`. + * A directed flow between two nodes in the derived supply-chain graph. * - * `source`/`target` are node ids. Some edges pass through synthetic hubs - * (`wholesalers`, `feed_traders`) that have no real location. + * `source`/`target` are roster list names. */ export interface Edge { - /** Stable key, e.g. "bra_farmers->wholesalers". */ + /** Stable key, e.g. "brazil_farms->brazil_wholesaler". */ id: string /** Upstream node id (the source of the flow). */ source: string @@ -82,7 +81,7 @@ export interface Edge { * * `values` keys vary by node type — e.g. producers carry * `quantity_available` / `unit_price` / `active`; wholesalers additionally carry - * per-origin volumes and storage utilisation; `eu_farmers` carries + * storage utilisation; `eu_farmers` carries * `feed_received` / `livestock_output` / `active`. */ export interface Tick { diff --git a/web/src/globe/GlobeView.tsx b/web/src/globe/GlobeView.tsx index 97f4ae3..7b9af2f 100644 --- a/web/src/globe/GlobeView.tsx +++ b/web/src/globe/GlobeView.tsx @@ -5,7 +5,7 @@ import { arc as arcTok, color, globe as globeTok, marker as markerTok, texture } import { arcApex } from './geo' import './labels.css' -const SELECTED_MARKER_ID = 'bra_farmers' +const SELECTED_MARKER_ID = 'brazil_farms' type LabelKind = 'node' | 'edge' type ArcLayer = 'halo' | 'glow' | 'core' diff --git a/web/src/main.tsx b/web/src/main.tsx index df0d576..2b57982 100644 --- a/web/src/main.tsx +++ b/web/src/main.tsx @@ -3,9 +3,8 @@ import { createRoot } from 'react-dom/client' import App from './App.tsx' import { staticJsonSource } from './data/staticJsonSource.ts' -// Composition root: the ONLY place a concrete DataSource is chosen. This swap -// from `fixtureSource` to `staticJsonSource` (the exported run) touches no view -// file — the seam's proof. A Postgres source later swaps in here the same way. +// Composition root: the ONLY place a concrete DataSource is chosen. A Postgres +// source later swaps in here the same way; views do not change. createRoot(document.getElementById('root')!).render(