From 73c8a01a1f57d6599988f39d41a5ea311715bc5f Mon Sep 17 00:00:00 2001 From: Jennifer Badolato <32370744+jbadsdata@users.noreply.github.com> Date: Thu, 9 Jan 2025 14:39:03 -0500 Subject: [PATCH 1/3] TS MOER Optimizer (#29) --- .gitignore | 2 + README.md | 2 +- tests/__init__.py | 0 tests/test_optimizer.py | 963 +++++++++++++++++++++++++ watttime/api.py | 707 +++++++++++++++++- watttime/api_convert.py | 194 +++++ watttime/optimizer/Optimizer README.md | 264 +++++++ watttime/optimizer/alg/__init__.py | 0 watttime/optimizer/alg/moer.py | 128 ++++ watttime/optimizer/alg/optCharger.py | 724 +++++++++++++++++++ watttime/optimizer/test.py | 149 ++++ 11 files changed, 3118 insertions(+), 15 deletions(-) create mode 100644 tests/__init__.py create mode 100644 tests/test_optimizer.py create mode 100644 watttime/api_convert.py create mode 100644 watttime/optimizer/Optimizer README.md create mode 100644 watttime/optimizer/alg/__init__.py create mode 100644 watttime/optimizer/alg/moer.py create mode 100644 watttime/optimizer/alg/optCharger.py create mode 100644 watttime/optimizer/test.py diff --git a/.gitignore b/.gitignore index 68bc17f9..f875d659 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,5 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +.DS_Store \ No newline at end of file diff --git a/README.md b/README.md index f63cdc45..2d2801ec 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ We provide two methods to access location data: ```python from watttime import WattTimeMaps -wt = WattTimeMaps(username, password) +wt = WattTimeMaps() # get BA region for a given location wt.region_from_loc( diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/test_optimizer.py b/tests/test_optimizer.py new file mode 100644 index 00000000..2974dd6a --- /dev/null +++ b/tests/test_optimizer.py @@ -0,0 +1,963 @@ +import os +from datetime import datetime, timedelta +import unittest +import pandas as pd +from pytz import UTC +import pytz +from watttime.api import RecalculatingWattTimeOptimizer, WattTimeOptimizer, WattTimeForecast, RecalculatingWattTimeOptimizerWithContiguity + + +def get_usage_plan_mean_power(usage_plan): + usage_plan_when_active = usage_plan[usage_plan["usage"] != 0].copy() + usage_plan_when_active["power_kw"] = ( + usage_plan_when_active["energy_usage_mwh"] + / (usage_plan_when_active["usage"] / 60) + * 1000 + ) + + return usage_plan_when_active["power_kw"].mean() + + +def get_contiguity_info(usage_plan): + """ + Extract contiguous non-zero components from a DataFrame column 'usage' + and compute the sum for each component. + + Args: + usage_plan (pd.DataFrame): DataFrame with a column named 'usage'. + + Returns: + List[Dict]: A list of dictionaries, each containing the indices and sum + of a contiguous non-zero component. + """ + components = [] + current_component = [] + current_sum = 0 + + for index, value in usage_plan["usage"].items(): + if value != 0: + current_component.append(index) + current_sum += value + else: + if current_component: + components.append({"indices": current_component, "sum": current_sum}) + current_component = [] + current_sum = 0 + + # Add the last component if the dataframe ends with a non-zero sequence + if current_component: + components.append({"indices": current_component, "sum": current_sum}) + + return components + + +def pretty_format_usage(usage_plan): + return "".join(["." if usage == 0 else "E" for usage in usage_plan["usage"]]) + + +class TestWattTimeOptimizer(unittest.TestCase): + @classmethod + def setUpClass(cls): + """Initialize WattTimeOptimizer before running any tests.""" + username = os.getenv("WATTTIME_USER") + password = os.getenv("WATTTIME_PASSWORD") + cls.wt_opt = WattTimeOptimizer(username, password) + cls.region = "PJM_NJ" + cls.usage_power_kw = 12 + now = datetime.now(UTC) + cls.window_start_test = now + timedelta(minutes=10) + cls.window_end_test = now + timedelta(minutes=720) + + def test_baseline_plan(self): + """Test the baseline plan.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=240, + usage_power_kw=self.usage_power_kw, + optimization_method="baseline", + ) + print("Using Baseline Plan\n", pretty_format_usage(usage_plan)) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 240) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 240 * self.usage_power_kw / 60 + ) + # Check number of components (1 for baseline) + self.assertEqual(len(get_contiguity_info(usage_plan)), 1) + + def test_simple_plan(self): + """Test the simple plan.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=240, + usage_power_kw=self.usage_power_kw, + optimization_method="simple", + ) + print("Using Simple Plan\n", pretty_format_usage(usage_plan)) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 240) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 240 * self.usage_power_kw / 60 + ) + + def test_dp_fixed_power_rate(self): + """Test the sophisticated plan with a fixed power rate.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=240, + usage_power_kw=self.usage_power_kw, + optimization_method="sophisticated", + ) + print("Using DP Plan w/ fixed power rate\n", pretty_format_usage(usage_plan)) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 240) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 240 * self.usage_power_kw / 60 + ) + + def test_dp_fixed_power_rate_with_uncertainty(self): + """Test the sophisticated plan with fixed power rate and time uncertainty.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=240, + usage_power_kw=self.usage_power_kw, + usage_time_uncertainty_minutes=180, + optimization_method="sophisticated", + ) + print("Using DP Plan w/ fixed power rate and charging uncertainty") + print(usage_plan["emissions_co2e_lb"].sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 240) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 240 * self.usage_power_kw / 60 + ) + + def test_dp_variable_power_rate(self): + """Test the plan with variable power rate.""" + usage_power_kw_df = pd.DataFrame( + [[0, 12], [20, 12], [40, 12], [100, 12], [219, 12], [220, 2.4], [320, 2.4]], + columns=["time", "power_kw"], + ) + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=320, + usage_power_kw=usage_power_kw_df, + optimization_method="auto", + ) + print("Using DP Plan w/ variable power rate") + print(usage_plan["emissions_co2e_lb"].sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 320) + # Check power + usage_plan_nonzero_entries = usage_plan[usage_plan["usage"] > 0] + power_kwh_array = ( + usage_plan_nonzero_entries["energy_usage_mwh"].values * 1e3 * 60 / 5 + ) + self.assertAlmostEqual(power_kwh_array[: 220 // 5].mean(), 12.0) + self.assertAlmostEqual(power_kwh_array[220 // 5 :].mean(), 2.4) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 220 * 12 / 60 + 100 * 2.4 / 60 + ) + + def test_dp_non_round_usage_time(self): + """Test auto mode with non-round usage time minutes.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=7, + usage_power_kw=self.usage_power_kw, + optimization_method="auto", + ) + print("Using auto mode, but with a non-round usage time minutes") + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 7) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 7 * self.usage_power_kw / 60 + ) + + def test_dp_input_time_energy(self): + """Test auto mode with a usage time and energy required.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=120, + energy_required_kwh=17, + optimization_method="auto", + ) + print("Using auto mode, with energy required in kWh") + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 120) + # Check power + self.assertAlmostEqual(get_usage_plan_mean_power(usage_plan), 8.5) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 120 * 8.5 / 60 + ) + + def test_dp_input_constant_power_energy(self): + """Test auto mode with a constant power and energy required.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_power_kw=5, + energy_required_kwh=15, + optimization_method="auto", + ) + print("Using auto mode, with energy required in kWh") + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 180) + # Check power + self.assertAlmostEqual(get_usage_plan_mean_power(usage_plan), 5) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 180 * 5 / 60 + ) + + def test_dp_two_intervals_unbounded(self): + """Test auto mode with two intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(0, 999999), (0, 999999)], + optimization_method="auto", + ) + print( + "Using auto mode with two unbounded intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + # Check number of components + self.assertLessEqual(len(get_contiguity_info(usage_plan)), 2) + + def test_dp_two_intervals_flexible_length(self): + """Test auto mode with two variable length intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(60, 100), (60, 100)], + optimization_method="auto", + ) + print( + "Using auto mode with two flexible intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 2) + if len(contiguity_info) == 2: + # Check first component length + self.assertGreaterEqual(contiguity_info[0]["sum"], 60) + self.assertLessEqual(contiguity_info[0]["sum"], 100) + # Check second component length + self.assertGreaterEqual(contiguity_info[1]["sum"], 60) + self.assertLessEqual(contiguity_info[1]["sum"], 100) + else: + # Check combined component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 160) + + def test_dp_two_intervals_one_sided_length(self): + """Test auto mode with two variable length intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(30, None), (30, None), (30, None), (30, None)], + optimization_method="auto", + ) + print( + "Using auto mode with one-sided intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 4) + for i in range(len(contiguity_info)): + # Check component length + self.assertGreaterEqual(contiguity_info[i]["sum"], 30) + + def test_dp_two_intervals_one_sided_length_use_all_false(self): + """Test auto mode with two variable length intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(40, None), (40, None), (40, None), (40, None)], + use_all_intervals=False, + optimization_method="auto", + ) + print( + "Using auto mode with one-sided intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 4) + for i in range(len(contiguity_info)): + # Check component length + self.assertGreaterEqual(contiguity_info[i]["sum"], 40) + + def test_dp_two_intervals_exact_input_a(self): + """Test auto mode with two intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(60, 60), (100, 100)], + optimization_method="auto", + ) + print( + "Using auto mode with two exact intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 2) + if len(contiguity_info) == 2: + # Check first component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 60) + # Check second component length + self.assertAlmostEqual(contiguity_info[1]["sum"], 100) + else: + # Check combined component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 160) + + def test_dp_two_intervals_exact_input_b(self): + """Test auto mode with two intervals.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[60, 100], + optimization_method="auto", + ) + print("Using auto mode, but with two intervals") + print(pretty_format_usage(usage_plan)) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 2) + if len(contiguity_info) == 2: + # Check first component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 60) + # Check second component length + self.assertAlmostEqual(contiguity_info[1]["sum"], 100) + else: + # Check combined component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 160) + + def test_dp_two_intervals_exact_unround(self): + """Test auto mode with two intervals, specified via list of tuple.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(67, 67), (93, 93)], + optimization_method="auto", + ) + print( + "Using auto mode with two exact unround intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 2) + if len(contiguity_info) == 2: + # Check first component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 67) + # Check second component length + self.assertAlmostEqual(contiguity_info[1]["sum"], 93) + else: + # Check combined component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 160) + + def test_dp_two_intervals_exact_unround_alternate_input(self): + """Test auto mode with two intervals, specified via list of ints.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[67, 93], + optimization_method="auto", + ) + print( + "Using auto mode with two exact unround intervals\n", + pretty_format_usage(usage_plan), + ) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 160) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 160 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertLessEqual(len(contiguity_info), 2) + if len(contiguity_info) == 2: + # Check first component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 67) + # Check second component length + self.assertAlmostEqual(contiguity_info[1]["sum"], 93) + else: + # Check combined component length + self.assertAlmostEqual(contiguity_info[0]["sum"], 160) + + def test_dp_two_intervals_exact_inconsistent_b(self): + """Test auto mode with one interval that is inconsistent with usage_time_required.""" + usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start_test, + usage_window_end=self.window_end_test, + usage_time_required_minutes=160, + usage_power_kw=self.usage_power_kw, + charge_per_interval=[(65, 65)], + optimization_method="auto", + ) + print("Using auto mode, but with two intervals") + print(pretty_format_usage(usage_plan)) + print(usage_plan.sum()) + + # Check time required + self.assertAlmostEqual(usage_plan["usage"].sum(), 65) + # Check power + self.assertAlmostEqual( + get_usage_plan_mean_power(usage_plan), self.usage_power_kw + ) + # Check energy required + self.assertAlmostEqual( + usage_plan["energy_usage_mwh"].sum() * 1000, 65 * self.usage_power_kw / 60 + ) + + contiguity_info = get_contiguity_info(usage_plan) + # Check number of components + self.assertEqual(len(contiguity_info), 1) + +def convert_to_utc(local_time_str, local_tz_str): + local_time = datetime.strptime( + local_time_str.strftime("%Y-%m-%d %H:%M:%S"), "%Y-%m-%d %H:%M:%S" + ) + local_tz = pytz.timezone(local_tz_str) + local_time = local_tz.localize(local_time) + return local_time.astimezone(pytz.utc) + + +class TestRecalculatingOptimizer(unittest.TestCase): + def setUp(self): + self.region = "PJM_NJ" + self.username = os.getenv("WATTTIME_USER") + self.password = os.getenv("WATTTIME_PASSWORD") + self.static_start_time = convert_to_utc( + datetime(2024, 1, 1, hour=20, second=1), local_tz_str="America/New_York" + ) + self.static_end_time = convert_to_utc( + datetime(2024, 1, 2, hour=8, second=1), local_tz_str="America/New_York" + ) + + self.wth = WattTimeForecast(self.username, self.password) + self.curr_fcst_data = self.wth.get_historical_forecast_pandas( + start=self.static_start_time - timedelta(minutes=5), + end=self.static_end_time, + region=self.region, + signal_type="co2_moer", + horizon_hours=72, + ) + self.data_times = self.curr_fcst_data["generated_at"] + + def test_init_recalculating_optimizer(self) -> None: + """Test init""" + fcst_data = self.curr_fcst_data[ + self.curr_fcst_data["generated_at"] < self.static_start_time + ] + basic_schedule = WattTimeOptimizer( + self.username, self.password + ).get_optimal_usage_plan( + region=self.region, + usage_window_start=self.static_start_time, + usage_window_end=self.static_end_time, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + moer_data_override=fcst_data, + ) + + recalculating_optimizer = RecalculatingWattTimeOptimizer( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + ) + + starting_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, self.static_end_time, curr_fcst_data=fcst_data + ) + + self.assertEqual( + basic_schedule["usage"].tolist(), starting_schedule["usage"].tolist() + ) + self.assertEqual(basic_schedule["usage"].sum(), 240) + + def test_get_single_combined_schedule(self) -> None: + """Test get_combined with single schedule""" + recalculating_optimizer = RecalculatingWattTimeOptimizer( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + ) + + newest_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, + self.static_end_time, + ) + combined_schedule = recalculating_optimizer.get_combined_schedule() + + self.assertEqual( + newest_schedule["usage"].tolist(), combined_schedule["usage"].tolist() + ) + self.assertEqual(combined_schedule["usage"].sum(), 240) + + def test_multiple_schedules_combined(self) -> None: + """Test combining two schedules""" + recalculating_optimizer = RecalculatingWattTimeOptimizer( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + ) + first_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, + self.static_end_time, + ) + first_combined_schedule = recalculating_optimizer.get_combined_schedule() + second_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time + timedelta(hours=7), + self.static_end_time, + ) + second_combined_schedule = recalculating_optimizer.get_combined_schedule() + + self.assertNotEqual( + first_combined_schedule["usage"].tolist(), + second_combined_schedule["usage"].tolist(), + ) + self.assertEqual( + first_combined_schedule["usage"].tolist()[: 12 * 7], + second_combined_schedule["usage"].tolist()[: 12 * 7], + ) + self.assertEqual(first_combined_schedule["usage"].sum(), 240) + self.assertEqual(second_combined_schedule["usage"].sum(), 240) + + def test_schedule_times(self) -> None: + recalculating_optimizer = RecalculatingWattTimeOptimizer( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=30, + usage_power_kw=2, + optimization_method="auto", + ) + + start_time = self.static_start_time + end_time = self.static_end_time + timedelta(hours=2) + + for i in range(2 * 2): + start_time = start_time + timedelta(minutes=30) + schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) + self.assertTrue(schedule.index.is_unique) + self.assertEquals( + schedule.index[0].to_pydatetime(), + start_time + timedelta(minutes=4, seconds=59), + ) + + self.assertTrue(recalculating_optimizer.get_combined_schedule().index.is_unique) + + def test_override_data_behavior(self) -> None: + """Test combining schedules with overriden data""" + recalculating_optimizer = RecalculatingWattTimeOptimizer( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + ) + last_data_time = self.data_times[self.data_times < self.static_start_time].max() + first_query_time_data = self.curr_fcst_data[ + self.curr_fcst_data["generated_at"] == last_data_time + ] + first_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, self.static_end_time, first_query_time_data + ) + first_combined_schedule = recalculating_optimizer.get_combined_schedule() + + last_data_time = self.data_times[ + self.data_times < self.static_start_time + timedelta(hours=7) + ].max() + second_query_time_data = self.curr_fcst_data[ + self.curr_fcst_data["generated_at"] == last_data_time + ] + second_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time + timedelta(hours=7), + self.static_end_time, + second_query_time_data, + ) + + second_combined_schedule = recalculating_optimizer.get_combined_schedule() + self.assertNotEqual( + first_combined_schedule["usage"].tolist(), + second_combined_schedule["usage"].tolist(), + ) + self.assertEqual( + first_combined_schedule["usage"].tolist()[: 12 * 7], + second_combined_schedule["usage"].tolist()[: 12 * 7], + ) + + self.assertEqual(first_combined_schedule["usage"].sum(), 240) + self.assertEqual(second_combined_schedule["usage"].sum(), 240) + + +def check_num_intervals(schedule: pd.DataFrame) -> int: + charging_indicator = schedule["usage"].apply(lambda x: 1 if x > 0 else 0) + intervals = charging_indicator.diff().value_counts().get(1, 0) + if charging_indicator[0] > 0: + intervals += 1 + return intervals + + +class TestRecalculatingOptimizerWithConstraints(unittest.TestCase): + def setUp(self): + self.region = "PJM_NJ" + self.username = os.getenv("WATTTIME_USER") + self.password = os.getenv("WATTTIME_PASSWORD") + + self.static_start_time = convert_to_utc( + datetime(2024, 1, 1, hour=20, second=1), local_tz_str="America/New_York" + ) + self.static_end_time = convert_to_utc( + datetime(2024, 1, 2, hour=8, second=1), local_tz_str="America/New_York" + ) + + self.wth = WattTimeForecast(self.username, self.password) + self.curr_fcst_data = self.wth.get_historical_forecast_pandas( + start=self.static_start_time - timedelta(minutes=5), + end=self.static_end_time, + region=self.region, + signal_type="co2_moer", + horizon_hours=72, + ) + self.data_times = self.curr_fcst_data["generated_at"] + + def test_recalculating_optimizer_adjust_num_intervals(self) -> None: + recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="sophisticated", + charge_per_interval=[140, 100], + ) + + initial_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, + self.static_end_time, + ) + self.assertTrue(check_num_intervals(initial_schedule) <= 2) + + first_interval_end_time = initial_schedule[ + initial_schedule["usage"].diff() < 0 + ].index[0] + + next_schedule = recalculating_optimizer.get_new_schedule( + first_interval_end_time, + self.static_end_time, + ) + + self.assertTrue(check_num_intervals(next_schedule) == 1) + self.assertEqual( + recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 + ) + + def test_recalculating_optimizer_mid_interval(self) -> None: + recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="sophisticated", + charge_per_interval=[120, 120], + ) + + initial_schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time, + self.static_end_time, + ) + self.assertTrue(check_num_intervals(initial_schedule) <= 2) + + mid_interval_time = initial_schedule[ + initial_schedule["usage"].diff() < 0 + ].index[0] - timedelta(minutes=10) + + next_schedule = recalculating_optimizer.get_new_schedule( + mid_interval_time, + self.static_end_time, + ) + + # Check that remaining schedule before interval end is the same + self.assertTrue( + initial_schedule[initial_schedule.index >= mid_interval_time] + .head(2) + .equals(next_schedule.head(2)) + ) + self.assertEqual(next_schedule.index[0], mid_interval_time) + self.assertEqual( + recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 + ) + + def test_init_recalculating_contiguity_optimizer(self) -> None: + """Test init""" + + recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="sophisticated", + charge_per_interval=[100, 140], + ) + + for i in range(12): + schedule = recalculating_optimizer.get_new_schedule( + self.static_start_time + timedelta(hours=i), + self.static_end_time, + ) + + self.assertTrue( + check_num_intervals(recalculating_optimizer.get_combined_schedule()) <= 2 + ) + self.assertEqual( + recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 + ) + + def test_frequent_recalculating_with_contiguity(self) -> None: + recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=30, + usage_power_kw=2, + optimization_method="sophisticated", + charge_per_interval=[15, 15], + ) + start_time = self.static_start_time + end_time = self.static_end_time + timedelta(hours=2) + + for i in range(12 * 2): + start_time = start_time + timedelta(minutes=5) + schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) + + self.assertTrue( + check_num_intervals(recalculating_optimizer.get_combined_schedule()) <= 2 + ) + self.assertEqual( + recalculating_optimizer.get_combined_schedule()["usage"].sum(), 30 + ) + + def test_schedule_times(self) -> None: + recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( + region=self.region, + watttime_username=self.username, + watttime_password=self.password, + usage_time_required_minutes=30, + usage_power_kw=2, + optimization_method="sophisticated", + charge_per_interval=[15, 15], + ) + + start_time = self.static_start_time + end_time = self.static_end_time + timedelta(hours=2) + + for i in range(2 * 2): + start_time = start_time + timedelta(minutes=30) + schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) + self.assertTrue(schedule.index.is_unique) + self.assertEqual( + schedule.index[0].to_pydatetime(), + start_time + timedelta(minutes=4, seconds=59), + ) + + self.assertTrue(recalculating_optimizer.get_combined_schedule().index.is_unique) + +if __name__ == "__main__": + unittest.main() + # TestWattTimeOptimizer.setUpClass() + # TestWattTimeOptimizer().test_dp_non_round_usage_time() diff --git a/watttime/api.py b/watttime/api.py index bc5b18c0..1476dbd2 100644 --- a/watttime/api.py +++ b/watttime/api.py @@ -1,5 +1,6 @@ import os import time +import math from datetime import date, datetime, timedelta from functools import cache from pathlib import Path @@ -8,7 +9,10 @@ import pandas as pd import requests from dateutil.parser import parse -from pytz import UTC +from pytz import UTC, timezone +from watttime.optimizer.alg import optCharger, moer +from itertools import accumulate +import bisect class WattTimeBase: @@ -189,19 +193,19 @@ def get_historical_jsons( """ Base function to scrape historical data, returning a list of .json responses. - Args: - start (datetime): inclusive start, with a UTC timezone. - end (datetime): inclusive end, with a UTC timezone. - region (str): string, accessible through the /my-access endpoint, or use the free region (CAISO_NORTH) - signal_type (str, optional): one of ['co2_moer', 'co2_aoer', 'health_damage']. Defaults to "co2_moer". - model (Optional[Union[str, date]], optional): Optionally provide a model, used for versioning models. - Defaults to None. + Args: + start (datetime): inclusive start, with a UTC timezone. + end (datetime): inclusive end, with a UTC timezone. + region (str): string, accessible through the /my-access endpoint, or use the free region (CAISO_NORTH) + signal_type (str, optional): one of ['co2_moer', 'co2_aoer', 'health_damage']. Defaults to "co2_moer". + model (Optional[Union[str, date]], optional): Optionally provide a model, used for versioning models. + Defaults to None. - Raises: - Exception: Scraping failed for some reason + Raises: + Exception: Scraping failed for some reason - Returns: - List[dict]: A list of dictionary representations of the .json response object + Returns: + List[dict]: A list of dictionary representations of the .json response object """ if not self._is_token_valid(): self._login() @@ -224,7 +228,7 @@ def get_historical_jsons( rsp.raise_for_status() j = rsp.json() responses.append(j) - except Exception as e: + except Exception: raise Exception( f"\nAPI Response Error: {rsp.status_code}, {rsp.text} [{rsp.headers.get('x-request-id')}]" ) @@ -493,7 +497,7 @@ def get_historical_forecast_json( rsp.raise_for_status() j = rsp.json() responses.append(j) - except Exception as e: + except Exception: raise Exception( f"\nAPI Response Error: {rsp.status_code}, {rsp.text} [{rsp.headers.get('x-request-id')}]" ) @@ -542,6 +546,411 @@ def get_historical_forecast_pandas( return out +OPT_INTERVAL = 5 +MAX_PREDICTION_HOURS = 72 + + +class WattTimeOptimizer(WattTimeForecast): + """ + This class inherits from WattTimeForecast, with additional methods to generate + optimal usage plans for energy consumption based on various parameters and + constraints. + + Additional Methods: + -------- + get_optimal_usage_plan(region, usage_window_start, usage_window_end, + usage_time_required_minutes, usage_power_kw, + usage_time_uncertainty_minutes, optimization_method, + moer_data_override) + Generates an optimal usage plan for energy consumption. + """ + + OPT_INTERVAL = 5 + MAX_PREDICTION_HOURS = 72 + MAX_INT = 99999999999999999 + + def get_optimal_usage_plan( + self, + region: str, + usage_window_start: datetime, + usage_window_end: datetime, + usage_time_required_minutes: Optional[Union[int, float]] = None, + usage_power_kw: Optional[Union[int, float, pd.DataFrame]] = None, + energy_required_kwh: Optional[Union[int, float]] = None, + usage_time_uncertainty_minutes: Optional[Union[int, float]] = 0, + charge_per_interval: Optional[list] = None, + use_all_intervals: bool = True, + constraints: Optional[dict] = None, + optimization_method: Optional[ + Literal["baseline", "simple", "sophisticated", "auto"] + ] = "baseline", + moer_data_override: Optional[pd.DataFrame] = None, + ) -> pd.DataFrame: + """ + Generates an optimal usage plan for energy consumption based on given parameters. + + This method calculates the most efficient energy usage schedule within a specified + time window, considering factors such as regional data, power requirements, and + optimization methods. + + You should pass in exactly 2 of 3 parameters of (usage_time_required_minutes, usage_power_kw, energy_required_kwh) + + Parameters: + ----------- + region : str + The region for which forecast data is requested. + usage_window_start : datetime + Start time of the window when power consumption is allowed. + usage_window_end : datetime + End time of the window when power consumption is allowed. + usage_time_required_minutes : Optional[Union[int, float]], default=None + Required usage time in minutes. + usage_power_kw : Optional[Union[int, float, pd.DataFrame]], default=None + Power usage in kilowatts. Can be a constant value or a DataFrame for variable power. + energy_required_kwh : Optional[Union[int, float]], default=None + Energy required in kwh + usage_time_uncertainty_minutes : Optional[Union[int, float]], default=0 + Uncertainty in usage time, in minutes. + charge_per_interval : Optional[list], default=None + Either a list of length-2 tuples representing minimium and maximum (inclusive) charging minutes per interval, + or a list of ints representing both the min and max. + use_all_intervals : Optional[bool], default=False + If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. + constraints : Optional[dict], default=None + A dictionary containing contraints on how much usage must be used before the given time point + optimization_method : Optional[Literal["baseline", "simple", "sophisticated", "auto"]], default="baseline" + The method used for optimization. + moer_data_override : Optional[pd.DataFrame], default=None + Pre-generated MOER (Marginal Operating Emissions Rate) DataFrame, if available. + + Returns: + -------- + pd.DataFrame + A DataFrame representing the optimal usage plan, including columns for + predicted MOER, usage, CO2 emissions, and energy usage. + + Raises: + ------- + AssertionError + If input parameters do not meet specified conditions (e.g., timezone awareness, + valid time ranges, supported optimization methods). + + Notes: + ------ + - The method uses WattTime forecast data unless overridden by moer_data_override. + - It supports various optimization methods and can handle both constant and variable power usage. + - The resulting plan aims to minimize emissions while meeting the specified energy requirements. + """ + + def is_tz_aware(dt): + return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None + + def minutes_to_units(x, floor=False): + if x: + if floor: + return int(x // self.OPT_INTERVAL) + else: + return int(math.ceil(x / self.OPT_INTERVAL)) + return x + + assert is_tz_aware(usage_window_start), "Start time is not tz-aware" + assert is_tz_aware(usage_window_end), "End time is not tz-aware" + + if constraints is None: + constraints = {} + else: + # Convert constraints to a standardized format + raw_constraints = constraints.copy() + constraints = {} + + for ( + constraint_time_clock, + constraint_usage_minutes, + ) in raw_constraints.items(): + constraint_time_minutes = ( + constraint_time_clock - usage_window_start + ).total_seconds() / 60 + constraint_time_units = minutes_to_units(constraint_time_minutes) + constraint_usage_units = minutes_to_units(constraint_usage_minutes) + + constraints.update( + {constraint_time_units: (constraint_usage_units, None)} + ) + + num_inputs = 0 + for input in (usage_time_required_minutes, usage_power_kw, energy_required_kwh): + if input is not None: + num_inputs += 1 + assert ( + num_inputs == 2 + ), "Exactly 2 of 3 inputs in (usage_time_required_minutes, usage_power_kw, energy_required_kwh) required" + if usage_power_kw is None: + usage_power_kw = energy_required_kwh / usage_time_required_minutes * 60 + print("Implied usage_power_kw =", usage_power_kw) + if usage_time_required_minutes is None: + if type(usage_power_kw) in (float, int) and type(energy_required_kwh) in ( + float, + int, + ): + usage_time_required_minutes = energy_required_kwh / usage_power_kw * 60 + print("Implied usage time required =", usage_time_required_minutes) + else: + # TODO: Implement and test + raise NotImplementedError( + "When usage_time_required_minutes is None, only float or int usage_power_kw and energy_required_kwh is supported." + ) + + # Perform these checks if we are using live data + if moer_data_override is None: + datetime_now = datetime.now(UTC) + assert ( + usage_window_end > datetime_now + ), "Error, Window end is before current datetime" + assert usage_window_end - datetime_now < timedelta( + hours=self.MAX_PREDICTION_HOURS + ), "End time is too far in the future" + assert optimization_method in ("baseline", "simple", "sophisticated", "auto"), ( + "Unsupported optimization method:" + optimization_method + ) + if moer_data_override is None: + forecast_df = self.get_forecast_pandas( + region=region, + signal_type="co2_moer", + horizon_hours=self.MAX_PREDICTION_HOURS, + ) + else: + forecast_df = moer_data_override.copy() + forecast_df = forecast_df.set_index("point_time") + forecast_df.index = pd.to_datetime(forecast_df.index) + + # relevant_forecast_df = forecast_df[usage_window_start:usage_window_end] + relevant_forecast_df = forecast_df[forecast_df.index >= usage_window_start] + relevant_forecast_df = relevant_forecast_df[ + relevant_forecast_df.index < usage_window_end + ] + relevant_forecast_df = relevant_forecast_df.rename( + columns={"value": "pred_moer"} + ) + result_df = relevant_forecast_df[["pred_moer"]] + moer_values = relevant_forecast_df["pred_moer"].values + + m = moer.Moer(mu=moer_values) + + model = optCharger.OptCharger() + + total_charge_units = minutes_to_units(usage_time_required_minutes) + if optimization_method in ("sophisticated", "auto"): + # Give a buffer time equal to the uncertainty + buffer_time = usage_time_uncertainty_minutes + buffer_periods = minutes_to_units(buffer_time) if buffer_time else 0 + buffer_enforce_time = max( + total_charge_units, len(moer_values) - buffer_periods + ) + constraints.update({buffer_enforce_time: (total_charge_units, None)}) + else: + assert ( + usage_time_uncertainty_minutes == 0 + ), "usage_time_uncertainty_minutes is only supported in optimization_method='sophisticated' or 'auto'" + + if type(usage_power_kw) in (int, float): + # Convert to the MWh used in an optimization interval + # expressed as a function to meet the parameter requirements for OptC function + emission_multiplier_fn = ( + lambda sc, ec: float(usage_power_kw) * 0.001 * self.OPT_INTERVAL / 60.0 + ) + else: + usage_power_kw = usage_power_kw.copy() + # Resample usage power dataframe to an OPT_INTERVAL frequency + usage_power_kw["time_step"] = usage_power_kw["time"] / self.OPT_INTERVAL + usage_power_kw_new_index = pd.DataFrame( + index=[float(x) for x in range(total_charge_units + 1)] + ) + usage_power_kw = pd.merge_asof( + usage_power_kw_new_index, + usage_power_kw.set_index("time_step"), + left_index=True, + right_index=True, + direction="backward", + allow_exact_matches=True, + ) + + def emission_multiplier_fn(sc: float, ec: float) -> float: + """ + Calculate the approximate mean power in the given time range, + in units of MWh used per optimizer time unit. + + sc and ec are float values representing the start and end time of + the time range, in optimizer time units. + """ + value = ( + usage_power_kw[sc : max(sc, ec - 1e-12)]["power_kw"].mean() + * 0.001 + * self.OPT_INTERVAL + / 60.0 + ) + return value + + if charge_per_interval: + # Handle the charge_per_interval input by converting it from minutes to units, rounding up + converted_charge_per_interval = [] + for c in charge_per_interval: + if isinstance(c, int): + converted_charge_per_interval.append(minutes_to_units(c)) + else: + assert ( + len(c) == 2 + ), "Length of tuples in charge_per_interval is not 2" + interval_start_units = minutes_to_units(c[0]) if c[0] else 0 + interval_end_units = ( + minutes_to_units(c[1]) if c[1] else self.MAX_INT + ) + converted_charge_per_interval.append( + (interval_start_units, interval_end_units) + ) + # print("Charge per interval:", converted_charge_per_interval) + else: + converted_charge_per_interval = None + model.fit( + total_charge=total_charge_units, + total_time=len(moer_values), + moer=m, + constraints=constraints, + charge_per_interval=converted_charge_per_interval, + use_all_intervals=use_all_intervals, + emission_multiplier_fn=emission_multiplier_fn, + optimization_method=optimization_method, + ) + + optimizer_result = model.get_schedule() + result_df = self._reconcile_constraints( + optimizer_result, + result_df, + model, + usage_time_required_minutes, + charge_per_interval, + ) + + return result_df + + def _reconcile_constraints( + self, + optimizer_result, + result_df, + model, + usage_time_required_minutes, + charge_per_interval, + ): + # Make a copy of charge_per_interval if necessary + if charge_per_interval is not None: + charge_per_interval = charge_per_interval[::] + for i in range(len(charge_per_interval)): + if type(charge_per_interval[i]) == int: + charge_per_interval[i] = ( + charge_per_interval[i], + charge_per_interval[i], + ) + assert len(charge_per_interval[i]) == 2 + processed_start = ( + charge_per_interval[i][0] + if charge_per_interval[i][0] is not None + else 0 + ) + processed_end = ( + charge_per_interval[i][1] + if charge_per_interval[i][1] is not None + else self.MAX_INT + ) + + charge_per_interval[i] = (processed_start, processed_end) + + if not charge_per_interval: + # Handle case without charge_per_interval constraints + total_usage_intervals = sum(optimizer_result) + current_usage_intervals = 0 + usage_list = [] + for to_charge_binary in optimizer_result: + current_usage_intervals += to_charge_binary + if current_usage_intervals < total_usage_intervals: + usage_list.append(to_charge_binary * float(self.OPT_INTERVAL)) + else: + # Partial interval + minutes_to_trim = ( + total_usage_intervals * self.OPT_INTERVAL + - usage_time_required_minutes + ) + usage_list.append( + to_charge_binary * float(self.OPT_INTERVAL - minutes_to_trim) + ) + result_df["usage"] = usage_list + else: + # Process charge_per_interval constraints + result_df["usage"] = [ + x * float(self.OPT_INTERVAL) for x in optimizer_result + ] + usage = result_df["usage"].values + sections = [] + interval_ids = model.get_interval_ids() + + def get_min_max_indices(lst, x): + # Find the first occurrence of x + min_index = lst.index(x) + # Find the last occurrence of x + max_index = len(lst) - 1 - lst[::-1].index(x) + return min_index, max_index + + for interval_id in range(0, max(interval_ids) + 1): + assert ( + interval_id in interval_ids + ), "interval_id not found in interval_ids" + sections.append(get_min_max_indices(interval_ids, interval_id)) + + # Adjust sections to satisfy charge_per_interval constraints + for i, (start, end) in enumerate(sections): + section_usage = usage[start : end + 1] + total_minutes = section_usage.sum() + + # Get the constraints for this section + if isinstance(charge_per_interval[i], int): + min_minutes, max_minutes = ( + charge_per_interval[i], + charge_per_interval[i], + ) + else: + min_minutes, max_minutes = charge_per_interval[i] + + # Adjust the section to fit the constraints + if total_minutes < min_minutes: + raise ValueError( + f"Cannot meet the minimum charging constraint of {min_minutes} minutes for section {i}." + ) + elif total_minutes > max_minutes: + # Reduce usage to fit within the max_minutes + excess_minutes = total_minutes - max_minutes + for j in range(len(section_usage)): + if section_usage[j] > 0: + reduction = min(section_usage[j], excess_minutes) + section_usage[j] -= reduction + excess_minutes -= reduction + if excess_minutes <= 0: + break + usage[start : end + 1] = section_usage + result_df["usage"] = usage + + # Recalculate these values approximately, based on the new "usage" column + # Note: This is approximate since it assumes that + # the charging emissions over time of the unrounded values are similar to the rounded values + result_df["emissions_co2e_lb"] = ( + model.get_charging_emissions_over_time() + * result_df["usage"] + / self.OPT_INTERVAL + ) + result_df["energy_usage_mwh"] = ( + model.get_energy_usage_over_time() * result_df["usage"] / self.OPT_INTERVAL + ) + + return result_df + + class WattTimeMaps(WattTimeBase): def get_maps_json( self, @@ -568,3 +977,273 @@ def get_maps_json( rsp = requests.get(url, headers=headers, params=params) rsp.raise_for_status() return rsp.json() + + +class RecalculatingWattTimeOptimizer: + def __init__( + self, + watttime_username: str, + watttime_password: str, + region: str, + usage_time_required_minutes: float, + usage_power_kw: Union[int, float, pd.DataFrame], + optimization_method: Optional[ + Literal["baseline", "simple", "sophisticated", "auto"] + ], + ) -> None: + # Settings that stay consistent across calls to get_optimal_usage_plan + self.region = region + self.total_time_required = usage_time_required_minutes + self.usage_power_kw = usage_power_kw + self.optimization_method = optimization_method + + # Setup for us to track schedule/usage + self.all_schedules = [] # (schedule, ctx) + + # Set up to query for fcsts + self.forecast_generator = WattTimeForecast(watttime_username, watttime_password) + self.wt_opt = WattTimeOptimizer(watttime_username, watttime_password) + + # Set up to query for actual data + self.wt_hist = WattTimeHistorical(watttime_username, watttime_password) + + def _get_curr_fcst_data(self, new_start_time: datetime): + curr_fcst_data = self.forecast_generator.get_historical_forecast_pandas( + start=new_start_time - timedelta(minutes=OPT_INTERVAL), + end=new_start_time, + region=self.region, + signal_type="co2_moer", + horizon_hours=MAX_PREDICTION_HOURS, + ) + most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] + curr_fcst_data = curr_fcst_data[ + curr_fcst_data["generated_at"] == most_recent_data_time + ] + # Get most recent forecast time using iloc with bounds checking + if len(curr_fcst_data["generated_at"]) > 0: + most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] + curr_fcst_data = curr_fcst_data[ + curr_fcst_data["generated_at"] == most_recent_data_time + ].copy() + return curr_fcst_data + + def _get_remaining_time_required(self, query_time: datetime): + if len(self.all_schedules) == 0: + return self.total_time_required + + # If there are previously produced schedules, assume we followed each schedule until getting a new one + combined_schedule = self.get_combined_schedule() + + # Calculate remaining time required + usage = int( + combined_schedule[combined_schedule.index < query_time]["usage"].sum() + ) + return self.total_time_required - usage + + def _set_last_schedule_end_time(self, new_schedule_start_time: datetime): + # If there a previously produced schedule, assume we followed that schedule until getting the new one + if len(self.all_schedules) > 0: + # Set end time of last ctx + schedule, ctx = self.all_schedules[-1] + self.all_schedules[-1] = (schedule, (ctx[0], new_schedule_start_time)) + assert ctx[0] < new_schedule_start_time + + def _query_api_for_fcst_data(self, new_start_time: datetime): + # Get new data + curr_fcst_data = self.forecast_generator.get_historical_forecast_pandas( + start=new_start_time - timedelta(minutes=OPT_INTERVAL), + end=new_start_time, + region=self.region, + signal_type="co2_moer", + horizon_hours=MAX_PREDICTION_HOURS, + ) + most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] + curr_fcst_data = curr_fcst_data[ + curr_fcst_data["generated_at"] == most_recent_data_time + ] + return curr_fcst_data + + def _get_new_schedule( + self, + new_start_time: datetime, + new_end_time: datetime, + curr_fcst_data: pd.DataFrame = None, + charge_per_interval: Optional[list] = None, + ) -> tuple[pd.DataFrame, tuple[str, str]]: + + if curr_fcst_data is None: + curr_fcst_data = self._query_api_for_fcst_data(new_start_time) + + curr_fcst_data["point_time"] = pd.to_datetime(curr_fcst_data["point_time"]) + curr_fcst_data = curr_fcst_data.loc[ + curr_fcst_data["point_time"] >= new_start_time + ] + if curr_fcst_data.shape[0] == 0: + print("error") + new_schedule_start_time = curr_fcst_data["point_time"].iloc[0] + + # Generate new schedule + new_schedule = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=new_start_time - timedelta(minutes=OPT_INTERVAL), + usage_window_end=new_end_time, + usage_time_required_minutes=self._get_remaining_time_required( + new_schedule_start_time + ), + usage_power_kw=self.usage_power_kw, + optimization_method=self.optimization_method, + moer_data_override=curr_fcst_data, + charge_per_interval=charge_per_interval, + ) + new_schedule_ctx = (new_schedule_start_time, new_end_time) + + return new_schedule, new_schedule_ctx + + def get_new_schedule( + self, + new_start_time: datetime, + new_end_time: datetime, + curr_fcst_data: pd.DataFrame = None, + ) -> pd.DataFrame: + schedule, ctx = self._get_new_schedule( + new_start_time, new_end_time, curr_fcst_data + ) + + self._set_last_schedule_end_time(ctx[0]) + self.all_schedules.append((schedule, ctx)) + return schedule + + def get_combined_schedule(self, end_time: datetime = None) -> pd.DataFrame: + schedule_segments = [] + for s, ctx in self.all_schedules: + schedule_segments.append(s[s.index < ctx[1]]) + combined_schedule = pd.concat(schedule_segments) + + if end_time: + # Only keep segments that complete before end_time + last_segment_start_time = end_time + timedelta(minutes=OPT_INTERVAL) + combined_schedule = combined_schedule[ + combined_schedule.index <= last_segment_start_time + ] + + return combined_schedule + + +class RecalculatingWattTimeOptimizerWithContiguity(RecalculatingWattTimeOptimizer): + def __init__( + self, + watttime_username: str, + watttime_password: str, + region: str, + usage_time_required_minutes: float, + usage_power_kw: Union[int, float, pd.DataFrame], + optimization_method: Optional[ + Literal["baseline", "simple", "sophisticated", "auto"] + ], + charge_per_interval: list = [], + ): + self.all_charge_per_interval = charge_per_interval + super().__init__( + watttime_username, + watttime_password, + region, + usage_time_required_minutes, + usage_power_kw, + optimization_method, + ) + + def get_new_schedule( + self, + new_start_time: datetime, + new_end_time: datetime, + curr_fcst_data: pd.DataFrame = None, + ) -> pd.DataFrame: + if len(self.all_schedules) == 0: + # If no existing schedules, then generate as normal + new_schedule, _ = self._get_new_schedule( + new_start_time, + new_end_time, + curr_fcst_data, + self.all_charge_per_interval, + ) + self.all_schedules.append((new_schedule, (new_start_time, new_end_time))) + return new_schedule + + # Get the schedule that we should previously have followed + curr_combined_schedule = self.get_combined_schedule(new_end_time) + + # Get num charging intervals completed so far + completed_schedule = curr_combined_schedule[ + curr_combined_schedule.index < new_start_time + ] + charging_indicator = ( + completed_schedule["usage"].apply(lambda x: 1 if x > 0 else 0).sum() + ) + num_charging_segments_complete = bisect.bisect_right( + list(accumulate(self.all_charge_per_interval)), charging_indicator * 5 + ) + + # Get the current status + curr_segment = curr_combined_schedule[ + curr_combined_schedule.index <= new_start_time + ].iloc[-1] + if curr_segment["usage"] > 0: + upcoming_segments = curr_combined_schedule[ + curr_combined_schedule.index > new_start_time + ] + upcoming_no_charge_times = upcoming_segments[ + upcoming_segments["usage"] == 0 + ] + + # if we charge for the remaining time, return the existing schedule (starting at new_start_time) + if upcoming_no_charge_times.empty: + return curr_combined_schedule[ + curr_combined_schedule.index >= new_start_time + ] + + next_unplug_time = upcoming_no_charge_times.index[0] + next_unplug_time = next_unplug_time.to_pydatetime() + + # Get the section of old schedule to follow + remaining_old_schedule = curr_combined_schedule[ + curr_combined_schedule.index < next_unplug_time + ] + remaining_old_schedule = remaining_old_schedule[ + remaining_old_schedule.index >= new_start_time + ] + + # Update completed segments to reflect portion of old schedule + additional_charge_segments = ( + remaining_old_schedule["usage"].apply(lambda x: 1 if x > 0 else 0).sum() + ) + num_charging_segments_complete = bisect.bisect_right( + list(accumulate(self.all_charge_per_interval)), + (charging_indicator + additional_charge_segments) * 5, + ) + + # Get schedule for after this segment completes + new_schedule, ctx = self._get_new_schedule( + next_unplug_time, + new_end_time, + curr_fcst_data, + self.all_charge_per_interval[num_charging_segments_complete:], + ) + + # Construct the schedule from start_time + if remaining_old_schedule is not None: + new_schedule = pd.concat([remaining_old_schedule, new_schedule]) + + ctx = (new_schedule.index[0], ctx[1]) + else: + # If not in segment, generate a schedule starting at new_start_time + new_schedule, ctx = self._get_new_schedule( + new_start_time, + new_end_time, + curr_fcst_data, + self.all_charge_per_interval[num_charging_segments_complete:], + ) + + # Update last schedule, add new schedule + self._set_last_schedule_end_time(new_start_time) + self.all_schedules.append((new_schedule, ctx)) + return new_schedule diff --git a/watttime/api_convert.py b/watttime/api_convert.py new file mode 100644 index 00000000..5109d056 --- /dev/null +++ b/watttime/api_convert.py @@ -0,0 +1,194 @@ +import pandas as pd +import numpy as np + + +# This file contains utility functions for converting formats for now +def convert_soc_to_soe(soc_power_df, voltage_curve, battery_capacity_coulombs): + """ + Convert State of Charge (SoC) to State of Energy (SoE) by integrating voltage over SoC. + + Parameters: + soc_power_df (pd.DataFrame): DataFrame with 'SoC' and 'power_kw' columns. + voltage_curve (function): Voltage as a function of SoC. + battery_capacity_coulombs (float): Maximum current capacity of the battery in coulombs. + + Returns: + pd.DataFrame: DataFrame with 'SoE' and 'power_kw' columns. + """ + soc = soc_power_df["SoC"] + + # Voltage at each SoC + voltage = voltage_curve(soc) + + # Calculate differential SoC for numerical integration + delta_soc = np.diff(soc, prepend=0) + charge_per_interval = delta_soc * battery_capacity_coulombs + # Energy is voltage * charge + energy_kwh = np.cumsum(voltage * charge_per_interval * 0.001 / 3600) + + # Normalize so that State of energy goes from 0 to 1 + soe_array = energy_kwh / energy_kwh.iloc[-1] + + # Create a new DataFrame with 'SoE' and 'power_kw' + soe_power_df = pd.DataFrame( + {"SoE": soe_array, "power_kw": soc_power_df["power_kw"]} + ) + + return soe_power_df + + +def convert_soe_to_time(soe_power_df, battery_capacity): + """ + Convert Power vs SoE DataFrame to a Power vs Time DataFrame. + + Parameters: + soe_power_df (pd.DataFrame): DataFrame with 'SoE' and 'power_kw' columns. + battery_capacity (float): Maximum energy capacity of the battery in kWh. + + Returns: + pd.DataFrame: DataFrame with 'time' (in minutes) and 'power_kw' columns. + """ + time_list = [0] # Starting at t = 0 minutes + previous_time = 0 + + for i in range(len(soe_power_df) - 1): + # Calculate the delta SoE + delta_soe = soe_power_df["SoE"].iloc[i + 1] - soe_power_df["SoE"].iloc[i] + + # Energy transferred for this delta SoE + delta_energy = delta_soe * battery_capacity # in kWh + + # Power to use during this step + power_to_use = soe_power_df["power_kw"].iloc[i] + + # Time step for this segment + delta_time_minutes = delta_energy / power_to_use * 60 + + # Add the time to the previous time to get cumulative time + current_time = previous_time + delta_time_minutes + time_list.append(current_time) + previous_time = current_time + + # Convert SoE dataframe to Time dataframe + time_power_df = pd.DataFrame( + {"time": time_list, "power_kw": soe_power_df["power_kw"]} + ) + + return time_power_df + + +def get_usage_power_kw_df(soe_power_df, capacity_kWh): + """ + Output the variable charging curve in the format that optimizer accepts. + That is, dataframe with index "time" in minutes and "power_kw" which + tells us the average power consumption in a five minute interval + after an elapsed amount of time of charging. + + Assumes df is sorted by SoE + """ + + def get_kW_at_SoE(df, soe): + """Linear interpolation to get charging rate at any SoE""" + before_df = df[df["SoE"] <= soe] + # print("Before_df", before_df) + prev_row = before_df.iloc[-1] if len(before_df) > 0 else None + after_df = df[df["SoE"] >= soe] + # print("After_df", after_df) + next_row = after_df.iloc[0] if len(after_df) > 0 else None + if prev_row is None: + return next_row["power_kw"] + if next_row is None: + return prev_row["power_kw"] + + m1 = prev_row["SoE"] + p1 = prev_row["power_kw"] + m2 = next_row["SoE"] + p2 = next_row["power_kw"] + + if m1 == m2: + return 0.5 * (p1 + p2) + + return p1 + (soe - m1) / (m2 - m1) * (p2 - p1) + + # iterate over seconds + result = [] + secs_elapsed = 0 + sub_interval_seconds = 60 + # For now, we assume the starting capacity is 0.0 + charged_kWh = 0.0 + kW_by_second = [] + while charged_kWh < capacity_kWh: + secs_elapsed += sub_interval_seconds + curr_soe = charged_kWh / capacity_kWh + curr_kW = get_kW_at_SoE(soe_power_df, curr_soe) + # print("Debug:", curr_kW, curr_soe, secs_elapsed) + kW_by_second.append(curr_kW) + charged_kWh += curr_kW * sub_interval_seconds / 3600 + + if secs_elapsed % 300 == 0: + result.append((int(secs_elapsed / 60 - 5), pd.Series(kW_by_second).mean())) + kW_by_second = [] + + return pd.DataFrame(columns=["time", "power_kw"], data=result) + + +# Example usage: +soe_power_df = pd.DataFrame( + { + "SoE": np.linspace(0.0, 1.0, 11), # SoE from 0% to 100% + "power_kw": [ + 8, + 10, + 12, + 14, + 16, + 18, + 20, + 22, + 24, + 26, + 28, + ], # Example power values in kW + } +) + +battery_capacity = 100 # Max energy capacity in kWh +result_df = convert_soe_to_time(soe_power_df, battery_capacity) + +print("Old:", result_df) +print("New:", get_usage_power_kw_df(soe_power_df, battery_capacity)) + + +# Example voltage curve for testing +def voltage_curve_test(soc): + return 3.0 + 0.5 * soc + + +# Example SoC dataframe (with SoC ranging from 0.1 to 1.0) +soc_power_df = pd.DataFrame( + { + "SoC": np.linspace(0.0, 1.0, 11), + "power_kw": [ + 8, + 10, + 12, + 14, + 16, + 18, + 20, + 22, + 24, + 26, + 28, + ], # Example power values in kW + } +) + +battery_capacity_coulombs = 1_000_000 # Max energy capacity in kWh + +# Convert SoC to SoE +soe_power_df = convert_soc_to_soe( + soc_power_df, voltage_curve_test, battery_capacity_coulombs +) + +# print(soe_power_df) diff --git a/watttime/optimizer/Optimizer README.md b/watttime/optimizer/Optimizer README.md new file mode 100644 index 00000000..875a3fc2 --- /dev/null +++ b/watttime/optimizer/Optimizer README.md @@ -0,0 +1,264 @@ +# Optimizer README + +## Overview + +This code is built to implement and evaluate an algorithm to produce a charging schedule for devices that minimizes carbon emissions subject to a set of constraints. It is based on Watttime’s forecast of marginal emissions combined with inputs related to device capacity and energy needs. The project presents a few optimization algorithms that operate under different assumptions and produce different results. This optionality is part of the API and the results of different algorithms presented are evaluated using actual and forecasted data from power grids in the US. The evaluation section of the project includes a suite of functions to generate synthetic user data with a few behavioral assumptions that can serve to understand the benefits and limitations of our algorithms and evaluate the magnitude of emissions that would be saved if the algorithm were used. + +* **Running the model with constraints:**: + * Contiguous (single period, fixed length): + + + +```py +## AI model training - estimated runtime is 2 hours and it needs to complete by 12pm + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# Suppose that the time now is 12 midnight +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +usage_time_required_minutes=120 +usage_power_kw = 12.0 +region = "CAISO_NORTH" + +usage_plan = wt_opt.get_optimal_usage_plan( + region=region, + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=usage_time_required_minutes, + usage_power_kw=usage_power_kw, + charge_per_interval=[usage_time_required_minutes], + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +* Contiguous (multiple periods, fixed length): + +```py +## Dishwasher - there are two cycles of length 80 min and 40 min each, and they must be completed in that order. + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# Suppose that the time now is 12 midnight +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +usage_time_required_minutes=120 +usage_power_kw = 12.0 +region = "CAISO_NORTH" + +usage_plan = wt_opt.get_optimal_usage_plan( + region=region, + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=usage_time_required_minutes, + usage_power_kw=usage_power_kw, + charge_per_interval=[80,40], + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + + * Contiguous (multiple periods, variable length): + + + +```py +## Compressor - needs to run 120 minutes over the next 12 hours; each cycle needs to be at least 20 minutes long, and any number of contiguous intervals (from one to six) is okay. + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# Suppose that the time now is 12 midnight +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +usage_time_required_minutes=120 +usage_power_kw = 12.0 +region = "CAISO_NORTH" + +usage_plan = wt_opt.get_optimal_usage_plan( + region=region, + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=usage_time_required_minutes, + usage_power_kw=usage_power_kw, + # Here _None_ implies that there is no upper bound, and replacing None by 120 would have the exact same effect. + charge_per_interval=[(20,None),(20,None),(20,None),(20,None),(20,None),(20,None)], + optimization_method="auto", + use_all_intervals=False +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +* Partial charging guarantee: + +```py +## I would like to charge 75% by 8am in case of any emergencies (airport, kid bus, roadtrip) + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# Suppose that the time now is 12 midnight +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) +usage_time_required_minutes = 240 +constraint_time = now + timedelta(minutes=480) +constraint_usage_time_required_minutes = 180 +constraints = {constraint_time:constraint_usage_time_required_minutes} +usage_power_kw = 12.0 +region = "CAISO_NORTH" + +usage_plan = wt_opt.get_optimal_usage_plan( + region=region, + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=240, + usage_power_kw=usage_power_kw, + constraints=constraints, + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) + +``` +## Optimizer: basic principles and options + +The **basic intuition of the algorithm** is that when a device is plugged in for longer than the time required to fully charge it there exist ways to pick charging vs. non-charging time intervals such that the device draws power from the grid during cleaner intervals and thus minimizes emissions. **The algorithm takes as inputs** user and device parameters such as: the plug-in and plug-out times of the device, as well as the charging curve that determines the time it takes to charge it as well as the power that it needs to draw. **As an output, it produces** a charging schedule that divides the time between plug-in and plug-out time into charging and non-charging intervals such that emissions are minimized. Watttime’s forecast provides the basic building block for these algorithms as it forecasts when those relatively cleaner grid periods occur. + +There are **three different optimization algorithms** that are implemented in the API (alongside a baseline algorithm that just charges the device from the moment it’s plugged in to when it is fully charged, which is what devices do out of the box). We first start with **a simple algorithm** that, under full information about plug out time, uses the forecast to find the lowest possible emission interval that charges the device and outputs a charge schedule based on that. We then follow with a **sophisticated** version of the algorithm which takes into account variable charging curves and implements a dynamic optimization algorithm to adjust for the fact that device charging curves are non-linear. We provide additional functionality in the **fixed contiguous** and **contiguous** versions of the algorithms, which can enforce the charging schedule to be composed of several contiguous intervals; the length of each interval is either fixed or falls in a provided range. + +| optimization\_method | ASAP | Charging curve | Time constraint | Contiguous | +| :---- | :---- | :---- | :---- | :---- | +| baseline | Yes | Constant | No | No | +| simple | No | Constant | No | No | +| sophisticated | No | Variable | Yes | No | +| contiguous | No | Variable | Yes | Intervals at fixed lengths | +| Variable contiguous | No | Variable | Yes | Intervals at variable lengths | +| auto | No | Chooses the fastest algorithm that can still process all inputs | | | + +Evaluating the effectiveness of the algorithm, as well as the conditions that maximize emissions savings, we have implemented a suite of functions that generate synthetic user data that can be evaluated on data from the largest electrical grids in the US. The code here also contains these functions, which can be modified and are meant to capture behavioral assumptions of how users charge devices. + +A final note on device types (this is focused for now on EVs, but altering some of the behavioral assumptions of usage \+ the device charging curves can extend this functionality to other devices.) + +### Raw Inputs + +*What we simulate for each use case* + +- Capacity C + - Might also need init battery capacity if we don’t start from 0% + - Unit: kWh + - Type: energy +- Power usage curve from capacity Q:cp + - Marginal power usage to charge battery when it’s currently at capacity c + - Unit: kW + - Type: power +- Marginal emission rate M:tm + - Unit: lb/MWh + - Type: emission per energy + - We convert this to lb/kWh by multiplying M by 0.001 +- OPT\_INTERVAL + - Smallest interval on which we have constant charging behavior and emissions. + - Currently set to 5 minutes + - We have now discretized time into L=T/ intervals of length . The l-th interval is lt\<(l+1). +- Contiguity +- Constraints + +### API Inputs + +*When calling the API* + +- usage\_time\_required\_minutes Tr + - We compute this using C and Q. See example below. + - Unit: mins +- usage\_power\_kw P:tp + - Marginal power usage to charge battery when it has been charged for t minutes. Converted from Q. + - Unit: kW +- usage\_window\_start, usage\_window\_end + - These are timestamps to specify the charging window + +### Algorithm + +Find schedule s0,...,sL-1 that minimizes total emission 60l=0L-1slPl'=0l-1sl' Ml1000subject to + +* sl0,1 + * sl=1 if we charge on interval l + * sl=0 if we do not charge on interval l + * As an extension for future use cases, suppose we can supercharge the battery by consuming up to K times as much power. The DP algorithm will also be able to handle this optimization and output a schedule with sl0,1,...,K +* l=0L-1sl=Tr + * This just means that we charge for a total of Tr minutes according to this schedule. + +### API Output + + A data frame with \-spaced timestamp index and charging usage. For example, + +| time | usage (min) | energe\_use\_mwh | emissions\_co2e\_lb | +| :---- | :---- | :---- | :---- | +| 2024-7-26 15:00:00+00:00 | 5 | 0.0001 | 1.0 | +| 2024-7-26 15:05:00+00:00 | 5 | 0.0001 | 1.0 | +| 2024-7-26 15:10:00+00:00 | 0 | 0\. | 0.0 | +| 2024-7-26 15:15:00+00:00 | 5 | 0.00005 | 0.5 | + +This would mean that we charge from 15:00-15:10 and then from 15:15-15:20. Note that the last column reflects **forecast emissions** based on forecast emission rate rather than the actuals. To compute actual emissions, you can take the dot product of energey\_use\_mwh and actual emission rates. + +In mathematical terms, we compute these three columns as follows. For the l-th interval tl,l+1, we have + +* usage: sl +* energy\_use\_mwh: 1100060slPl'=0l-1sl', where 60 reflects interval length in hours and Pl'=0l-1sl' is the power. 11000 is a conversion factor from kWh to mWh +* emissions\_co2e\_lb: energy\_us\_mwh \* Mt. + +# FAQs + +## How much co2 can we expect to avoid by using the optimizer? + +The amount of emission you can avoid will vary significantly based on a range of factors. For example: + +* The grid where the charging is occurring. +* The amount of “slack time” available, that is, possible charging time beyond the minimum amount required for charging. \ No newline at end of file diff --git a/watttime/optimizer/alg/__init__.py b/watttime/optimizer/alg/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/watttime/optimizer/alg/moer.py b/watttime/optimizer/alg/moer.py new file mode 100644 index 00000000..4ec3c8e3 --- /dev/null +++ b/watttime/optimizer/alg/moer.py @@ -0,0 +1,128 @@ +# moer.py + +import numpy as np + + +class Moer: + """ + Represents Marginal Operating Emissions Rate (MOER) for electricity grid emissions modeling. + + This class handles calculations related to emissions and utilities based on + MOER data, supporting both diagonal and non-diagonal penalty matrices. + + Attributes: + ----------- + __mu : numpy.ndarray + Mean emissions rate for each time step. + __T : int + Total number of time steps. + + Methods: + -------- + __len__() + Returns the number of time steps. + get_emission_at(i, usage) + Calculates emission at a specific time step. + get_emission_interval(start, end, usage) + Calculates sum of emissions for a time interval. + get_emissions(x) + Calculates emissions per interval for a given schedule. + get_total_emission(x) + Calculates total emission for a given schedule. + + """ + + def __init__(self, mu): + """ + Initializes the Moer object. + + Parameters: + ----------- + mu : array-like + Emissions rate for each time step. + """ + self.__mu = np.array(mu).flatten() + self.__T = self.__mu.shape[0] + + def __len__(self): + """ + Returns the length of the time series. + + Returns: + -------- + int + The number of time steps in the series. + """ + return self.__T + + def get_emission_at(self, i, usage): + """ + Calculates the emission at a specific time step. + + Parameters: + ----------- + i : int + The time step index. + usage : float, optional + The power usage. + + Returns: + -------- + float + The calculated emission value. + """ + return self.__mu[i] * usage + + def get_emission_interval(self, start, end, usage): + """ + Calculates emissions for a given time interval. + + Parameters: + ----------- + start : int + The start index of the interval. + end : int + The end index of the interval. + usage : float, optional + The emission multiplier. Default is 1. + + Returns: + -------- + numpy.ndarray + An array of emission values for the specified interval. + """ + return np.dot(self.__mu[start:end], usage) + + def get_emissions(self, usage): + """ + Calculates emissions for a given set of emission multipliers. + + Parameters: + ----------- + usage : array-like + The emission multipliers. + + Returns: + -------- + numpy.ndarray + An array of calculated emission values. + """ + usage = np.array(usage).flatten() + return self.__mu[: usage.shape[0]] * usage + + def get_total_emission(self, usage): + """ + Calculates the total emission for a given set of emission multipliers. + + Parameters: + ----------- + usage : array-like + The emission multipliers. + + Returns: + -------- + float + The total calculated emission. + """ + usage = np.array(usage).flatten() + return np.dot(self.__mu[: usage.shape[0]], usage) diff --git a/watttime/optimizer/alg/optCharger.py b/watttime/optimizer/alg/optCharger.py new file mode 100644 index 00000000..0489fddc --- /dev/null +++ b/watttime/optimizer/alg/optCharger.py @@ -0,0 +1,724 @@ +# optCharger.py +import numpy as np +from .moer import Moer + +TOL = 1e-4 # tolerance +EMISSION_FN_TOL = 1e-9 # emissions functions tolerance in kw + + +class OptCharger: + """ + Represents an Optimal Charger for managing charging schedules. + + This class handles the optimization of charging schedules based on various parameters + such as charge rates, emission overheads, and other constraints. + + Methods: + -------- + __init__() + Initializes the OptCharger object with the given parameters. + """ + + def __init__(self): + """ + Initializes the OptCharger object. + """ + self.__optimal_charging_emission = None + self.__optimal_charging_schedule = None + + def __collect_results(self, moer: Moer): + """ + Translates the optimal charging schedule into a series of emission multiplier values and calculates various emission-related metrics. + + This function processes the optimal charging schedule to generate emission multipliers, + calculates energy and emissions over time, and computes the total emissions including + overhead from starting, stopping, and maintaining the charging process. + + Parameters: + ----------- + moer : Moer + An object representing Marginal Operating Emissions Rate, used for emissions calculations. + + Returns: + -------- + None + The function updates several instance variables with the calculated results. + + Side Effects: + ------------- + Updates the following instance variables: + - __optimal_charging_energy_over_time + - __optimal_charging_emissions_over_time + - __optimal_charging_emission + + The function also populates the emission_multipliers list, which is used in the calculations. + """ + emission_multipliers = [] + current_charge_time_units = 0 + for i in range(len(self.__optimal_charging_schedule)): + if self.__optimal_charging_schedule[i] == 0: + emission_multipliers.append(0.0) + else: + old_charge_time_units = current_charge_time_units + current_charge_time_units += self.__optimal_charging_schedule[i] + power_rate = self.emission_multiplier_fn( + old_charge_time_units, current_charge_time_units + ) + emission_multipliers.append(power_rate) + + self.__optimal_charging_energy_over_time = np.array( + self.__optimal_charging_schedule + ) * np.array(emission_multipliers) + self.__optimal_charging_emissions_over_time = moer.get_emissions( + self.__optimal_charging_energy_over_time + ) + self.__optimal_charging_emission = ( + self.__optimal_charging_emissions_over_time.sum() + ) + + @staticmethod + def __sanitize_emission_multiplier(emission_multiplier_fn, total_charge): + """ + Sanitizes the emission multiplier function to handle edge cases and ensure valid outputs. + + This function wraps the original emission_multiplier_fn to handle cases where the + end charge (ec) exceeds the total charge or when the start charge (sc) is beyond + the total charge limit. + + Parameters: + ----------- + emission_multiplier_fn : callable + The original emission multiplier function to be sanitized. + total_charge : int or float + The maximum total charge value. + + Returns: + -------- + callable + A new lambda function that sanitizes the inputs before calling the original + emission_multiplier_fn. + + Behavior: + --------- + - If sc < total_charge: + - Calls the original function with ec capped at total_charge. + - If sc >= total_charge: + - Returns 1.0, assuming no additional emissions beyond total charge. + + Note: + ----- + This function is useful for preventing out-of-bounds errors and ensuring + consistent behavior when dealing with charge values near or beyond the total + charge limit. + """ + return lambda sc, ec: ( + emission_multiplier_fn(sc, min(ec, total_charge)) + if (sc < total_charge) + else 0.0 + ) + + @staticmethod + def __check_constraint(t_start, c_start, dc, constraints): + # assuming constraints[t] is the bound on total charge after t intervals + for t in range(t_start + 1, t_start + dc): + if (t in constraints) and ( + (c_start + t - t_start < constraints[t][0]) + or (c_start + t - t_start > constraints[t][1]) + ): + return False + return True + + def __greedy_fit(self, total_charge: int, total_time: int, moer: Moer): + """ + Performs a "greedy" fit for charging schedule optimization. + + It charges at the maximum possible rate until the total charge is reached or + the time limit is hit. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + + Calls __collect_results to process the results. + """ + print("== Baseline fit! ==") + schedule = [1] * min(total_charge, total_time) + [0] * max( + 0, total_time - total_charge + ) + self.__optimal_charging_schedule = schedule + self.__collect_results(moer) + + def __simple_fit(self, total_charge: int, total_time: int, moer: Moer): + """ + Performs a "simple" fit for charging schedule optimization. + + This method implements a straightforward optimization strategy. It sorts + time intervals by MOER (Marginal Operating Emissions Rate) and charges + during the cleanest intervals until the total charge is reached. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + + Calls __collect_results to process the results. + """ + print("== Simple fit! ==") + sorted_times = np.argsort(moer.get_emission_interval(0, total_time, 1)) + + charge_to_do = total_charge + schedule, t = [0] * total_time, 0 + while (charge_to_do > 0) and (t < total_time): + charge_to_do -= 1 + schedule[sorted_times[t]] = 1 + t += 1 + self.__optimal_charging_schedule = schedule + self.__collect_results(moer) + + def __diagonal_fit( + self, + total_charge: int, + total_time: int, + moer: Moer, + emission_multiplier_fn, + constraints: dict = {}, + ): + """ + Performs a sophisticated diagonal fit for charging schedule optimization using dynamic programming. + + This method implements a more complex optimization strategy using dynamic programming. + It considers various factors such as emission rates, charging constraints, and overhead costs + to find an optimal charging schedule. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + emission_multiplier_fn : callable + A function that calculates emission multipliers. + constraints : dict, optional + A dictionary of charging constraints for specific time steps. + + Calls __collect_results to process the results. + + Raises: + ------- + Exception + If no valid solution is found. + """ + print("== Sophisticated fit! ==") + # This is a matrix with size = number of charge states x number of actions {not charging = 0, charging = 1} + max_util = np.full((total_charge + 1), np.nan) + max_util[0] = 0.0 + path_history = np.full((total_time, total_charge + 1), -1, dtype=int) + for t in range(1, total_time + 1): + if t in constraints: + min_charge, max_charge = constraints[t] + min_charge = 0 if min_charge is None else max(0, min_charge) + max_charge = ( + total_charge + if max_charge is None + else min(max_charge, total_charge) + ) + else: + min_charge, max_charge = 0, total_charge + # print("=== Time step", t, "===") + new_max_util = np.full(max_util.shape, np.nan) + # print("min_charge, max_charge =",min_charge,max_charge) + for c in range(min_charge, max_charge + 1): + ## not charging + init_val = True + if not np.isnan(max_util[c]): + new_max_util[c] = max_util[c] + path_history[t - 1, c] = c + init_val = False + ## charging + if (c > 0) and not np.isnan(max_util[c - 1]): + # moer.get_emission_at gives lbs/MWh. emission function needs to be how many MWh the interval consumes + # which would be power_in_kW * 0.001 * 5/60 + new_util = max_util[c - 1] - moer.get_emission_at( + t - 1, emission_multiplier_fn(c - 1, c) + ) + if init_val or (new_util > new_max_util[c]): + new_max_util[c] = new_util + path_history[t - 1, c] = c - 1 + init_val = False + max_util = new_max_util + + if np.isnan(max_util[total_charge]): + raise Exception( + "Solution not found! Please check that constraints are satisfiable." + ) + curr_state, t_curr = total_charge, total_time + + schedule_reversed = [] + schedule_reversed.append(curr_state) + while t_curr > 0: + curr_state = path_history[t_curr - 1, curr_state] + schedule_reversed.append(curr_state) + t_curr -= 1 + optimal_path = np.array(schedule_reversed)[::-1] + self.__optimal_charging_schedule = list(np.diff(optimal_path)) + self.__collect_results(moer) + + def __contiguous_fit( + self, + total_charge: int, + total_time: int, + moer: Moer, + emission_multiplier_fn, + charge_per_interval: list = [], + constraints: dict = {}, + ): + """ + Performs a contiguous fit for charging schedule optimization using dynamic programming. + + This method implements a sophisticated optimization strategy that considers contiguous + charging intervals. It uses dynamic programming to find an optimal charging schedule + while respecting the specified length of each charging interval. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + emission_multiplier_fn : callable + A function that calculates emission multipliers. + charge_per_interval : list of int + The exact charging amount per interval. + constraints : dict, optional + A dictionary of charging constraints for specific time steps. Constraints are one-indexed: t:(a,b) means that after t minutes, we have to have charged for between a and b minutes inclusive, so that 1<=t<=total_time + + Calls __collect_results to process the results. + + Raises: + ------- + Exception + If no valid solution is found. + + Note: + ----- + This is the __diagonal_fit() algorithm with further constraint on contiguous charging intervals and their respective length + """ + print("== Fixed contiguous fit! ==") + # print("Charge per interval constraints:", charge_per_interval) + total_interval = len(charge_per_interval) + # This is a matrix with size = number of time states x number of intervals charged so far + max_util = np.full((total_time + 1, total_interval + 1), np.nan) + max_util[0, 0] = 0.0 + path_history = np.full((total_time, total_interval + 1), False, dtype=bool) + cum_charge = [0] + for c in charge_per_interval: + cum_charge.append(cum_charge[-1] + c) + + charge_array_cache = [ + emission_multiplier_fn(x, x + 1) for x in range(0, total_charge + 1) + ] + print("Cumulative charge", cum_charge) + for t in range(1, total_time + 1): + if t in constraints: + min_charge, max_charge = constraints[t] + min_charge = 0 if min_charge is None else max(0, min_charge) + max_charge = ( + total_charge + if max_charge is None + else min(max_charge, total_charge) + ) + constraints[t] = (min_charge, max_charge) + else: + min_charge, max_charge = 0, total_charge + for k in range(0, total_interval + 1): + # print(t,k) + ## not charging + init_val = True + if not np.isnan(max_util[t - 1, k]): + max_util[t, k] = max_util[t - 1, k] + init_val = False + ## charging + if (k > 0) and (charge_per_interval[k - 1] <= t): + dc = charge_per_interval[k - 1] + if not np.isnan( + max_util[t - dc, k - 1] + ) and OptCharger.__check_constraint( + t - dc, cum_charge[k - 1], dc, constraints + ): + marginal_cost = moer.get_emission_interval( + t - dc, + t, + charge_array_cache[cum_charge[k - 1] : cum_charge[k]], + ) + new_util = max_util[t - dc, k - 1] - marginal_cost + if init_val or (new_util > max_util[t, k]): + max_util[t, k] = new_util + path_history[t - 1, k] = True + init_val = False + + if np.isnan(max_util[total_time, total_interval]): + raise Exception( + "Solution not found! Please check that constraints are satisfiable." + ) + curr_state, t_curr = total_interval, total_time + + schedule_reversed = [] + interval_ids_reversed = [] + while t_curr > 0: + delta_interval = path_history[t_curr - 1, curr_state] + if not delta_interval: + ## did not charge + schedule_reversed.append(0) + interval_ids_reversed.append(-1) + t_curr -= 1 + else: + ## charge + dc = charge_per_interval[curr_state - 1] + t_curr -= dc + curr_state -= 1 + if dc > 0: + schedule_reversed.extend([1] * dc) + interval_ids_reversed.extend([curr_state] * dc) + optimal_path = np.array(schedule_reversed)[::-1] + self.__optimal_charging_schedule = list(optimal_path) + self.__interval_ids = list(interval_ids_reversed[::-1]) + self.__collect_results(moer) + + def __variable_contiguous_fit( + self, + total_charge: int, + total_time: int, + moer: Moer, + emission_multiplier_fn, + charge_per_interval: list = [], + use_all_intervals: bool = True, + constraints: dict = {}, + ): + """ + Performs a contiguous fit for charging schedule optimization using dynamic programming. + + This method implements a sophisticated optimization strategy that considers contiguous + charging intervals. It uses dynamic programming to find an optimal charging schedule + while respecting constraints on the length of each charging interval. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + emission_multiplier_fn : callable + A function that calculates emission multipliers. + charge_per_interval : list of (int, int) + The minimium and maximum (inclusive) charging amount per interval. + use_all_intervals : bool + If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. + constraints : dict, optional + A dictionary of charging constraints for specific time steps. Constraints are one-indexed: t:(a,b) means that after t minutes, we have to have charged for between a and b minutes inclusive, so that 1<=t<=total_time + + Calls __collect_results to process the results. + + Raises: + ------- + Exception + If no valid solution is found. + + Note: + ----- + This is the __diagonal_fit() algorithm with further constraint on contiguous charging intervals and their respective length + """ + print("== Variable contiguous fit! ==") + total_interval = len(charge_per_interval) + # This is a matrix with size = number of time states x number of charge states x number of intervals charged so far + max_util = np.full( + (total_time + 1, total_charge + 1, total_interval + 1), np.nan + ) + max_util[0, 0, 0] = 0.0 + path_history = np.full( + (total_time, total_charge + 1, total_interval + 1, 2), 0, dtype=int + ) + + charge_array_cache = [ + emission_multiplier_fn(x, x + 1) for x in range(0, total_charge + 1) + ] + + for t in range(1, total_time + 1): + if t in constraints: + min_charge, max_charge = constraints[t] + min_charge = 0 if min_charge is None else max(0, min_charge) + max_charge = ( + total_charge + if max_charge is None + else min(max_charge, total_charge) + ) + constraints[t] = (min_charge, max_charge) + else: + min_charge, max_charge = 0, total_charge + for k in range(0, total_interval + 1): + for c in range(min_charge, max_charge + 1): + ## not charging + init_val = True + if not np.isnan(max_util[t - 1, c, k]): + max_util[t, c, k] = max_util[t - 1, c, k] + path_history[t - 1, c, k, :] = [0, 0] + init_val = False + ## charging + if k > 0: + for dc in range( + charge_per_interval[k - 1][0], + min(charge_per_interval[k - 1][1], t, c) + 1, + ): + if not np.isnan( + max_util[t - dc, c - dc, k - 1] + ) and OptCharger.__check_constraint( + t - dc, c - dc, dc, constraints + ): + marginal_cost = moer.get_emission_interval( + t - dc, t, charge_array_cache[c - dc : c] + ) + new_util = ( + max_util[t - dc, c - dc, k - 1] - marginal_cost + ) + if init_val or (new_util > max_util[t, c, k]): + max_util[t, c, k] = new_util + path_history[t - 1, c, k, :] = [dc, 1] + init_val = False + optimal_interval, optimal_util = ( + total_interval, + max_util[total_time, total_charge, total_interval], + ) + if not use_all_intervals: + for k in range(0, total_interval): + if np.isnan(max_util[total_time, total_charge, optimal_interval]) or ( + not np.isnan(max_util[total_time, total_charge, k]) + and max_util[total_time, total_charge, k] + > max_util[total_time, total_charge, optimal_interval] + ): + optimal_interval = k + if np.isnan(max_util[total_time, total_charge, optimal_interval]): + raise Exception( + "Solution not found! Please check that constraints are satisfiable." + ) + curr_state, t_curr = [total_charge, optimal_interval], total_time + + schedule_reversed = [] + interval_ids_reversed = [] + while t_curr > 0: + dc, delta_interval = path_history[ + t_curr - 1, curr_state[0], curr_state[1], : + ] + if delta_interval == 0: + ## did not charge + schedule_reversed.append(0) + interval_ids_reversed.append(-1) + t_curr -= 1 + else: + ## charge + t_curr -= dc + curr_state = [curr_state[0] - dc, curr_state[1] - delta_interval] + if dc > 0: + schedule_reversed.extend([1] * dc) + interval_ids_reversed.extend([curr_state[1]] * dc) + optimal_path = np.array(schedule_reversed)[::-1] + self.__optimal_charging_schedule = list(optimal_path) + self.__interval_ids = list(interval_ids_reversed[::-1]) + self.__collect_results(moer) + + def fit( + self, + total_charge: int, + total_time: int, + moer: Moer, + charge_per_interval=None, + use_all_intervals: bool = True, + constraints: dict = {}, + emission_multiplier_fn=None, + optimization_method: str = "auto", + ): + """ + Fits an optimal charging schedule based on the given parameters and constraints. + + This method serves as the main entry point for the charging optimization process. + It selects the appropriate optimization method based on the input parameters and + constraints. + + Parameters: + ----------- + total_charge : int + The total amount of charge needed. + total_time : int + The total time available for charging. + moer : Moer + An object representing Marginal Operating Emissions Rate. + charge_per_interval : list of int or (int,int), optional + The minimium and maximum (inclusive) charging amount per interval. If int instead of tuple, interpret as both min and max. + use_all_intervals : bool + If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. This can only be false if charge_per_interval is provided as a range. + constraints : dict, optional + A dictionary of charging constraints for specific time steps. + emission_multiplier_fn : callable, optional + A function that calculates emission multipliers. If None, assumes constant 1kW power usage. + optimization_method : str, optional + The optimization method to use. Can be 'auto', 'baseline', 'simple', or 'sophisticated'. + Default is 'auto'. + + Raises: + ------- + Exception + If the charging task is impossible given the constraints, or if an unsupported + optimization method is specified. + + Note: + ----- + This method chooses between different optimization strategies based on the input + parameters and the characteristics of the problem. + """ + assert len(moer) >= total_time + assert optimization_method in ["baseline", "simple", "sophisticated", "auto"] + + if emission_multiplier_fn is None: + print( + "Warning: No emission_multiplier_fn given. Assuming that device uses constant 1kW of power" + ) + emission_multiplier_fn = lambda sc, ec: 1.0 + constant_emission_multiplier = True + else: + constant_emission_multiplier = ( + np.std( + [ + emission_multiplier_fn(sc, sc + 1) + for sc in list(range(total_charge)) + ] + ) + < EMISSION_FN_TOL + ) + self.emission_multiplier_fn = emission_multiplier_fn + + if total_charge > total_time: + raise Exception( + f"Solution not found! Impossible to charge {total_charge} within {total_time} intervals." + ) + if optimization_method == "baseline": + self.__greedy_fit(total_charge, total_time, moer) + elif ( + not constraints + and not charge_per_interval + and constant_emission_multiplier + and optimization_method == "auto" + ) or (optimization_method == "simple"): + if not constant_emission_multiplier: + print( + "Warning: Emissions function is non-constant. Using the simple algorithm is suboptimal." + ) + self.__simple_fit(total_charge, total_time, moer) + elif not charge_per_interval: + self.__diagonal_fit( + total_charge, + total_time, + moer, + OptCharger.__sanitize_emission_multiplier( + emission_multiplier_fn, total_charge + ), + constraints, + ) + else: + # cpi stands for charge per interval + single_cpi, tuple_cpi, use_fixed_alg = [], [], True + + def convert_input(c): + ## Converts the interval format + if isinstance(c, int): + return c, (c, c), True + if c[0] == c[1]: + return c[0], c, True + return None, c, False + + for c in charge_per_interval: + if use_fixed_alg: + sc, tc, use_fixed_alg = convert_input(c) + single_cpi.append(sc) + tuple_cpi.append(tc) + else: + tuple_cpi.append(convert_input(c)[1]) + if use_fixed_alg: + assert ( + use_all_intervals + ), "Must use all intervals when interval lengths are fixed!" + self.__contiguous_fit( + total_charge, + total_time, + moer, + OptCharger.__sanitize_emission_multiplier( + emission_multiplier_fn, total_charge + ), + single_cpi, + constraints, + ) + else: + self.__variable_contiguous_fit( + total_charge, + total_time, + moer, + OptCharger.__sanitize_emission_multiplier( + emission_multiplier_fn, total_charge + ), + tuple_cpi, + use_all_intervals, + constraints, + ) + + def get_energy_usage_over_time(self) -> list: + """ + Returns list of the energy due to charging at each interval in MWh. + """ + return self.__optimal_charging_energy_over_time + + def get_charging_emissions_over_time(self) -> list: + """ + Returns list of the emissions due to charging at each interval in lbs. + """ + return self.__optimal_charging_emissions_over_time + + def get_total_emission(self) -> float: + """ + Returns the summed emissions due to charging in lbs. + """ + return self.__optimal_charging_emission + + def get_schedule(self) -> list: + """ + Returns list of the optimal charging schedule of units to charge for each interval. + """ + return self.__optimal_charging_schedule + + def get_interval_ids(self) -> list: + """ + Returns list of the interval ids for each interval. Has a value of -1 for non-charging intervals. + Intervals are labeled starting from 0 to n-1 when there are n intervals + + Only defined when charge_per_interval variable is given to some fit function + """ + return self.__interval_ids + + def summary(self): + print("-- Model Summary --") + print( + "Expected charging emissions: %.2f lbs" % self.__optimal_charging_emission + ) + print("Optimal charging schedule:", self.__optimal_charging_schedule) + print("=" * 15) diff --git a/watttime/optimizer/test.py b/watttime/optimizer/test.py new file mode 100644 index 00000000..02784b54 --- /dev/null +++ b/watttime/optimizer/test.py @@ -0,0 +1,149 @@ +from alg import moer, optCharger + +model = optCharger.OptCharger() + +m = moer.Moer( + mu=[10, 10, 10, 1, 13, 3, 2, 3], +) +print("Length of schedule:", len(m)) + +print("greedy algo") +model.fit(total_charge=3, total_time=8, moer=m, optimization_method="baseline") +model.summary() +print("simple sorting algo") +model.fit( + total_charge=3, + total_time=8, + moer=m, +) +model.summary() +print("sophisticated algo that produces same answer as simple") +model.fit(total_charge=3, total_time=8, moer=m, optimization_method="sophisticated") +model.summary() +print("incorrect pairing of simple sorting algo + variable charge rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + emission_multiplier_fn=lambda x, y: [1.0, 2.0, 1.0][x], + optimization_method="simple", +) +model.summary() +print("sophisticated algo + variable charge rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + emission_multiplier_fn=lambda x, y: [1.0, 2.0, 1.0][x], +) +model.summary() +print("sophisticated algo + constraints") +model.fit(total_charge=3, total_time=8, moer=m, constraints={2: (2, None)}) +model.summary() + +m = moer.Moer( + mu=[2, 1, 10, 10, 10, 1, 13, 3], +) + +# Fixed Contiguous +print("One contiguous interval") +model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[3]) +model.summary() +print("Two contiguous intervals") +model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[2, 1]) +model.summary() +print("Two contiguous intervals, one of which given as intervals + variable power rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + charge_per_interval=[(2, 2), 1], + emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], +) +model.summary() +print("Two contiguous intervals, one of which given as intervals + variable power rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + charge_per_interval=[2, (1, 1)], + emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], +) +model.summary() +print("Two contiguous intervals, one of which given as intervals + variable power rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + charge_per_interval=[(2, 2), (1, 1)], + emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], +) +model.summary() +print("Two contiguous intervals + variable power rate + constraints") +model.fit( + total_charge=4, + total_time=8, + moer=m, + charge_per_interval=[3, 1], + constraints={2: (None, 1), 5: (3, None)}, +) +model.summary() + +# Variable Contiguous +print("One contiguous interval") +model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[(0, 3)]) +model.summary() +print("Two contiguous intervals") +model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[(1, 2), (0, 3)]) +model.summary() +print("Two contiguous intervals + variable power rate") +model.fit( + total_charge=3, + total_time=8, + moer=m, + charge_per_interval=[(1, 2), (1, 2)], + emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], +) +model.summary() +print("Two contiguous intervals + variable power rate") +model.fit(total_charge=4, total_time=8, moer=m, charge_per_interval=[(1, 3), (0, 3)]) +model.summary() +print("Two contiguous intervals + variable power rate + constraints") +model.fit( + total_charge=4, + total_time=8, + moer=m, + charge_per_interval=[(1, 3), (0, 3)], + constraints={2: (None, 1)}, +) +model.summary() +print("Two contiguous intervals + variable power rate + constraints") +model.fit( + total_charge=4, + total_time=8, + moer=m, + charge_per_interval=[(1, 3), (0, 3)], + constraints={2: (None, 1), 5: (3, None)}, +) +model.summary() + +m = moer.Moer( + mu=[10, 1, 1, 1, 10, 1, 1, 1], +) +print("Three contiguous intervals of fixed lengths") +model.fit(total_charge=6, total_time=8, moer=m, charge_per_interval=[2] * 3) +model.summary() +print("Three contiguous intervals of variable lengths") +model.fit(total_charge=6, total_time=8, moer=m, charge_per_interval=[(2, 6)] * 3) +model.summary() +print( + "Three contiguous intervals of variable lengths, but doesnt need to charge all intervals" +) +model.fit( + total_charge=6, + total_time=8, + moer=m, + charge_per_interval=[(2, 6)] * 3, + use_all_intervals=False, +) +model.summary() From e435cd7ade98d7e1be1f4fe05638fd6747f8172e Mon Sep 17 00:00:00 2001 From: sam-watttime <75635755+sam-watttime@users.noreply.github.com> Date: Wed, 23 Apr 2025 15:05:00 -0600 Subject: [PATCH 2/3] Rename Optimizer README.md to README.md --- watttime/optimizer/{Optimizer README.md => README.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename watttime/optimizer/{Optimizer README.md => README.md} (99%) diff --git a/watttime/optimizer/Optimizer README.md b/watttime/optimizer/README.md similarity index 99% rename from watttime/optimizer/Optimizer README.md rename to watttime/optimizer/README.md index 875a3fc2..82a1785b 100644 --- a/watttime/optimizer/Optimizer README.md +++ b/watttime/optimizer/README.md @@ -261,4 +261,4 @@ In mathematical terms, we compute these three columns as follows. For the l-th i The amount of emission you can avoid will vary significantly based on a range of factors. For example: * The grid where the charging is occurring. -* The amount of “slack time” available, that is, possible charging time beyond the minimum amount required for charging. \ No newline at end of file +* The amount of “slack time” available, that is, possible charging time beyond the minimum amount required for charging. From 42033612ff854aed413105614b82dcc18a1932bb Mon Sep 17 00:00:00 2001 From: Jennifer Badolato <32370744+jbadsdata@users.noreply.github.com> Date: Wed, 3 Sep 2025 16:41:23 -0500 Subject: [PATCH 3/3] Optimizer WIP (#39) * region set to CAISO_NORTH, remove assertion error * tested TestRecalculatingOptimizer * added parameter to limit print statements * started requery refactor * requery and simulator class * event loop example * requery functions in a testable state * example type hints * requery loop set up for review * moved recalculator tests and updated readme * adding recalculator tests - 2nd test fails * basic recalculator tests running * evalation classes * evaluation, session generation scripts ready for review * api, evaluator, utils updates * optimizer subpackage * synthetic notebook error corrected, other minor fixes * interval to segment * fit selection error fixed * notebook and battery class updates * Update Optimizer README.md * graphs * visuals cleanup * example notebooks * Update Optimizer README.md * Rename datacenter_workload_1.ipynb to datacenter_workloads.ipynb * requery bug fixed * contigous analysis loop working with conversion to int * all loops in working order * Update Optimizer README.md * Add files via upload * Update Optimizer README.md * Add files via upload * Update Optimizer README.md * Camille suggestions * Main readme updates - explanation + permalink * more permalinks --- README.md | 14 + setup.py | 4 +- tests/test_battery.py | 16 + tests/test_optimizer.py | 449 +--- tests/test_recalculator.py | 103 + watttime-python-client.code-workspace | 7 + watttime/api.py | 681 +----- watttime/optimizer/test.py | 149 -- watttime_optimizer/Optimizer README.md | 261 +++ watttime_optimizer/__init__.py | 4 + .../alg/__init__.py | 0 .../alg/moer.py | 2 +- .../alg/optCharger.py | 83 +- .../api_convert.py | 4 +- watttime_optimizer/api_opt.py | 751 +++++++ watttime_optimizer/battery.py | 314 +++ watttime_optimizer/evaluator/__init__.py | 1 + watttime_optimizer/evaluator/analysis.py | 87 + watttime_optimizer/evaluator/evaluator.py | 372 ++++ watttime_optimizer/evaluator/sessions.py | 324 +++ watttime_optimizer/evaluator/utils.py | 164 ++ .../cumulative_avoided_emissions.png | Bin 0 -> 326002 bytes .../notebooks/datacenter_workloads.ipynb | 251 +++ watttime_optimizer/notebooks/ev_simple.ipynb | 140 ++ .../notebooks/ev_variable_charge.ipynb | 181 ++ .../notebooks/evaluation_plot.png | Bin 0 -> 516590 bytes .../notebooks/synthetic_data.ipynb | 1905 +++++++++++++++++ 27 files changed, 4986 insertions(+), 1281 deletions(-) create mode 100644 tests/test_battery.py create mode 100644 tests/test_recalculator.py create mode 100644 watttime-python-client.code-workspace delete mode 100644 watttime/optimizer/test.py create mode 100644 watttime_optimizer/Optimizer README.md create mode 100644 watttime_optimizer/__init__.py rename {watttime/optimizer => watttime_optimizer}/alg/__init__.py (100%) rename {watttime/optimizer => watttime_optimizer}/alg/moer.py (98%) rename {watttime/optimizer => watttime_optimizer}/alg/optCharger.py (93%) rename {watttime => watttime_optimizer}/api_convert.py (97%) create mode 100644 watttime_optimizer/api_opt.py create mode 100644 watttime_optimizer/battery.py create mode 100644 watttime_optimizer/evaluator/__init__.py create mode 100644 watttime_optimizer/evaluator/analysis.py create mode 100644 watttime_optimizer/evaluator/evaluator.py create mode 100644 watttime_optimizer/evaluator/sessions.py create mode 100644 watttime_optimizer/evaluator/utils.py create mode 100644 watttime_optimizer/notebooks/cumulative_avoided_emissions.png create mode 100644 watttime_optimizer/notebooks/datacenter_workloads.ipynb create mode 100644 watttime_optimizer/notebooks/ev_simple.ipynb create mode 100644 watttime_optimizer/notebooks/ev_variable_charge.ipynb create mode 100644 watttime_optimizer/notebooks/evaluation_plot.png create mode 100644 watttime_optimizer/notebooks/synthetic_data.ipynb diff --git a/README.md b/README.md index 2d2801ec..9f8ae507 100644 --- a/README.md +++ b/README.md @@ -144,3 +144,17 @@ wt.region_from_loc( # get shape files for all regions of a signal type wt.get_maps_json('co2_moer') ``` + +# Optimizer Package + +[Optimizer Read Me](https://github.com/jbadsdata/watttime-python-client/blob/5780c09e1a7aaae0bc9746cd0004c64c263ead1f/watttime_optimizer/Optimizer%20README.md) + +WattTime data users use WattTime electricity grid-related data for real-time, evidence-based emissions reduction strategies. + +The [WattTimeOptimizer](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer) is an experimental feature designed to support the rapid development of automated emissions reduction (“AER”) software applications. It produces a proposed power usage schedule that minimizes carbon emissions subject to user and device constraints. + +The feature has four basic requirements: Watttime’s forecast of marginal emissions (MOER) for a particular region, device capacity and energy needs, project usage window start time and projected window end time. The [underlying algorithms](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer/alg) are simple enough to serve as a base for set of predefined use cases, outlined in the Optimizer Read Me, and mature enough to extend to encompass the requirements of more complex machinery. + +Get started by reviewing example notebooks [here](https://github.com/jbadsdata/watttime-python-client/tree/b45fd677cb38ec8e9095b1e4a53f5bb43383820b/watttime_optimizer/notebooks). + + diff --git a/setup.py b/setup.py index 86ba5e47..d5823dac 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ long_description=open('README.md').read(), long_description_content_type="text/markdown", version="v1.2.1", - packages=["watttime"], + packages=["watttime","watttime_optimizer"], python_requires=">=3.8", - install_requires=["requests", "pandas>1.0.0", "python-dateutil"], + install_requires=["requests", "pandas>1.0.0", "python-dateutil","tqdm"], ) diff --git a/tests/test_battery.py b/tests/test_battery.py new file mode 100644 index 00000000..505a0453 --- /dev/null +++ b/tests/test_battery.py @@ -0,0 +1,16 @@ +from watttime_optimizer.battery import Battery, CARS +import pandas as pd + +tesla_charging_curve = pd.DataFrame( + columns=["SoC", "kW"], + data = CARS['tesla'] + ) + +capacity_kWh = 70 +initial_soc = .50 + +batt = Battery(tesla_charging_curve) + +df = batt.get_usage_power_kw_df(capacity_kWh=capacity_kWh, initial_soc=initial_soc) + +print(df.head()) \ No newline at end of file diff --git a/tests/test_optimizer.py b/tests/test_optimizer.py index 2974dd6a..597363c1 100644 --- a/tests/test_optimizer.py +++ b/tests/test_optimizer.py @@ -3,9 +3,9 @@ import unittest import pandas as pd from pytz import UTC -import pytz -from watttime.api import RecalculatingWattTimeOptimizer, WattTimeOptimizer, WattTimeForecast, RecalculatingWattTimeOptimizerWithContiguity +from watttime_optimizer import WattTimeOptimizer +REGION = "CAISO_NORTH" def get_usage_plan_mean_power(usage_plan): usage_plan_when_active = usage_plan[usage_plan["usage"] != 0].copy() @@ -62,7 +62,7 @@ def setUpClass(cls): username = os.getenv("WATTTIME_USER") password = os.getenv("WATTTIME_PASSWORD") cls.wt_opt = WattTimeOptimizer(username, password) - cls.region = "PJM_NJ" + cls.region = REGION cls.usage_power_kw = 12 now = datetime.now(UTC) cls.window_start_test = now + timedelta(minutes=10) @@ -151,7 +151,7 @@ def test_dp_fixed_power_rate_with_uncertainty(self): optimization_method="sophisticated", ) print("Using DP Plan w/ fixed power rate and charging uncertainty") - print(usage_plan["emissions_co2e_lb"].sum()) + print(usage_plan["emissions_co2_lb"].sum()) # Check time required self.assertAlmostEqual(usage_plan["usage"].sum(), 240) @@ -179,7 +179,7 @@ def test_dp_variable_power_rate(self): optimization_method="auto", ) print("Using DP Plan w/ variable power rate") - print(usage_plan["emissions_co2e_lb"].sum()) + print(usage_plan["emissions_co2_lb"].sum()) # Check time required self.assertAlmostEqual(usage_plan["usage"].sum(), 320) @@ -263,19 +263,19 @@ def test_dp_input_constant_power_energy(self): usage_plan["energy_usage_mwh"].sum() * 1000, 180 * 5 / 60 ) - def test_dp_two_intervals_unbounded(self): - """Test auto mode with two intervals.""" + def test_dp_two_segments_unbounded(self): + """Test auto mode with two segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(0, 999999), (0, 999999)], + charge_per_segment=[(0, 999999), (0, 999999)], optimization_method="auto", ) print( - "Using auto mode with two unbounded intervals\n", + "Using auto mode with two unbounded segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -293,19 +293,19 @@ def test_dp_two_intervals_unbounded(self): # Check number of components self.assertLessEqual(len(get_contiguity_info(usage_plan)), 2) - def test_dp_two_intervals_flexible_length(self): - """Test auto mode with two variable length intervals.""" + def test_dp_two_segments_flexible_length(self): + """Test auto mode with two variable length segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(60, 100), (60, 100)], + charge_per_segment=[(60, 100), (60, 100)], optimization_method="auto", ) print( - "Using auto mode with two flexible intervals\n", + "Using auto mode with two flexible segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -335,19 +335,19 @@ def test_dp_two_intervals_flexible_length(self): # Check combined component length self.assertAlmostEqual(contiguity_info[0]["sum"], 160) - def test_dp_two_intervals_one_sided_length(self): - """Test auto mode with two variable length intervals.""" + def test_dp_two_segments_one_sided_length(self): + """Test auto mode with two variable length segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(30, None), (30, None), (30, None), (30, None)], + charge_per_segment=[(30, None), (30, None), (30, None), (30, None)], optimization_method="auto", ) print( - "Using auto mode with one-sided intervals\n", + "Using auto mode with one-sided segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -370,20 +370,20 @@ def test_dp_two_intervals_one_sided_length(self): # Check component length self.assertGreaterEqual(contiguity_info[i]["sum"], 30) - def test_dp_two_intervals_one_sided_length_use_all_false(self): - """Test auto mode with two variable length intervals.""" + def test_dp_two_segments_one_sided_length_use_all_false(self): + """Test auto mode with two variable length segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(40, None), (40, None), (40, None), (40, None)], - use_all_intervals=False, + charge_per_segment=[(40, None), (40, None), (40, None), (40, None)], + use_all_segments=False, optimization_method="auto", ) print( - "Using auto mode with one-sided intervals\n", + "Using auto mode with one-sided segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -406,19 +406,19 @@ def test_dp_two_intervals_one_sided_length_use_all_false(self): # Check component length self.assertGreaterEqual(contiguity_info[i]["sum"], 40) - def test_dp_two_intervals_exact_input_a(self): - """Test auto mode with two intervals.""" + def test_dp_two_segments_exact_input_a(self): + """Test auto mode with two segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(60, 60), (100, 100)], + charge_per_segment=[(60, 60), (100, 100)], optimization_method="auto", ) print( - "Using auto mode with two exact intervals\n", + "Using auto mode with two exact segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -446,18 +446,18 @@ def test_dp_two_intervals_exact_input_a(self): # Check combined component length self.assertAlmostEqual(contiguity_info[0]["sum"], 160) - def test_dp_two_intervals_exact_input_b(self): - """Test auto mode with two intervals.""" + def test_dp_two_segments_exact_input_b(self): + """Test auto mode with two segments.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[60, 100], + charge_per_segment=[60, 100], optimization_method="auto", ) - print("Using auto mode, but with two intervals") + print("Using auto mode, but with two segments") print(pretty_format_usage(usage_plan)) print(usage_plan.sum()) @@ -484,19 +484,19 @@ def test_dp_two_intervals_exact_input_b(self): # Check combined component length self.assertAlmostEqual(contiguity_info[0]["sum"], 160) - def test_dp_two_intervals_exact_unround(self): - """Test auto mode with two intervals, specified via list of tuple.""" + def test_dp_two_segments_exact_unround(self): + """Test auto mode with two segments, specified via list of tuple.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(67, 67), (93, 93)], + charge_per_segment=[(67, 67), (93, 93)], optimization_method="auto", ) print( - "Using auto mode with two exact unround intervals\n", + "Using auto mode with two exact unround segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -524,19 +524,19 @@ def test_dp_two_intervals_exact_unround(self): # Check combined component length self.assertAlmostEqual(contiguity_info[0]["sum"], 160) - def test_dp_two_intervals_exact_unround_alternate_input(self): - """Test auto mode with two intervals, specified via list of ints.""" + def test_dp_two_segments_exact_unround_alternate_input(self): + """Test auto mode with two segments, specified via list of ints.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[67, 93], + charge_per_segment=[67, 93], optimization_method="auto", ) print( - "Using auto mode with two exact unround intervals\n", + "Using auto mode with two exact unround segments\n", pretty_format_usage(usage_plan), ) print(usage_plan.sum()) @@ -564,18 +564,18 @@ def test_dp_two_intervals_exact_unround_alternate_input(self): # Check combined component length self.assertAlmostEqual(contiguity_info[0]["sum"], 160) - def test_dp_two_intervals_exact_inconsistent_b(self): - """Test auto mode with one interval that is inconsistent with usage_time_required.""" + def test_dp_two_segments_exact_inconsistent_b(self): + """Test auto mode with one segment that is inconsistent with usage_time_required.""" usage_plan = self.wt_opt.get_optimal_usage_plan( region=self.region, usage_window_start=self.window_start_test, usage_window_end=self.window_end_test, usage_time_required_minutes=160, usage_power_kw=self.usage_power_kw, - charge_per_interval=[(65, 65)], + charge_per_segment=[(65, 65)], optimization_method="auto", ) - print("Using auto mode, but with two intervals") + print("Using auto mode, but with two segments") print(pretty_format_usage(usage_plan)) print(usage_plan.sum()) @@ -594,370 +594,5 @@ def test_dp_two_intervals_exact_inconsistent_b(self): # Check number of components self.assertEqual(len(contiguity_info), 1) -def convert_to_utc(local_time_str, local_tz_str): - local_time = datetime.strptime( - local_time_str.strftime("%Y-%m-%d %H:%M:%S"), "%Y-%m-%d %H:%M:%S" - ) - local_tz = pytz.timezone(local_tz_str) - local_time = local_tz.localize(local_time) - return local_time.astimezone(pytz.utc) - - -class TestRecalculatingOptimizer(unittest.TestCase): - def setUp(self): - self.region = "PJM_NJ" - self.username = os.getenv("WATTTIME_USER") - self.password = os.getenv("WATTTIME_PASSWORD") - self.static_start_time = convert_to_utc( - datetime(2024, 1, 1, hour=20, second=1), local_tz_str="America/New_York" - ) - self.static_end_time = convert_to_utc( - datetime(2024, 1, 2, hour=8, second=1), local_tz_str="America/New_York" - ) - - self.wth = WattTimeForecast(self.username, self.password) - self.curr_fcst_data = self.wth.get_historical_forecast_pandas( - start=self.static_start_time - timedelta(minutes=5), - end=self.static_end_time, - region=self.region, - signal_type="co2_moer", - horizon_hours=72, - ) - self.data_times = self.curr_fcst_data["generated_at"] - - def test_init_recalculating_optimizer(self) -> None: - """Test init""" - fcst_data = self.curr_fcst_data[ - self.curr_fcst_data["generated_at"] < self.static_start_time - ] - basic_schedule = WattTimeOptimizer( - self.username, self.password - ).get_optimal_usage_plan( - region=self.region, - usage_window_start=self.static_start_time, - usage_window_end=self.static_end_time, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="auto", - moer_data_override=fcst_data, - ) - - recalculating_optimizer = RecalculatingWattTimeOptimizer( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="auto", - ) - - starting_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, self.static_end_time, curr_fcst_data=fcst_data - ) - - self.assertEqual( - basic_schedule["usage"].tolist(), starting_schedule["usage"].tolist() - ) - self.assertEqual(basic_schedule["usage"].sum(), 240) - - def test_get_single_combined_schedule(self) -> None: - """Test get_combined with single schedule""" - recalculating_optimizer = RecalculatingWattTimeOptimizer( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="auto", - ) - - newest_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, - self.static_end_time, - ) - combined_schedule = recalculating_optimizer.get_combined_schedule() - - self.assertEqual( - newest_schedule["usage"].tolist(), combined_schedule["usage"].tolist() - ) - self.assertEqual(combined_schedule["usage"].sum(), 240) - - def test_multiple_schedules_combined(self) -> None: - """Test combining two schedules""" - recalculating_optimizer = RecalculatingWattTimeOptimizer( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="auto", - ) - first_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, - self.static_end_time, - ) - first_combined_schedule = recalculating_optimizer.get_combined_schedule() - second_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time + timedelta(hours=7), - self.static_end_time, - ) - second_combined_schedule = recalculating_optimizer.get_combined_schedule() - - self.assertNotEqual( - first_combined_schedule["usage"].tolist(), - second_combined_schedule["usage"].tolist(), - ) - self.assertEqual( - first_combined_schedule["usage"].tolist()[: 12 * 7], - second_combined_schedule["usage"].tolist()[: 12 * 7], - ) - self.assertEqual(first_combined_schedule["usage"].sum(), 240) - self.assertEqual(second_combined_schedule["usage"].sum(), 240) - - def test_schedule_times(self) -> None: - recalculating_optimizer = RecalculatingWattTimeOptimizer( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=30, - usage_power_kw=2, - optimization_method="auto", - ) - - start_time = self.static_start_time - end_time = self.static_end_time + timedelta(hours=2) - - for i in range(2 * 2): - start_time = start_time + timedelta(minutes=30) - schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) - self.assertTrue(schedule.index.is_unique) - self.assertEquals( - schedule.index[0].to_pydatetime(), - start_time + timedelta(minutes=4, seconds=59), - ) - - self.assertTrue(recalculating_optimizer.get_combined_schedule().index.is_unique) - - def test_override_data_behavior(self) -> None: - """Test combining schedules with overriden data""" - recalculating_optimizer = RecalculatingWattTimeOptimizer( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="auto", - ) - last_data_time = self.data_times[self.data_times < self.static_start_time].max() - first_query_time_data = self.curr_fcst_data[ - self.curr_fcst_data["generated_at"] == last_data_time - ] - first_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, self.static_end_time, first_query_time_data - ) - first_combined_schedule = recalculating_optimizer.get_combined_schedule() - - last_data_time = self.data_times[ - self.data_times < self.static_start_time + timedelta(hours=7) - ].max() - second_query_time_data = self.curr_fcst_data[ - self.curr_fcst_data["generated_at"] == last_data_time - ] - second_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time + timedelta(hours=7), - self.static_end_time, - second_query_time_data, - ) - - second_combined_schedule = recalculating_optimizer.get_combined_schedule() - self.assertNotEqual( - first_combined_schedule["usage"].tolist(), - second_combined_schedule["usage"].tolist(), - ) - self.assertEqual( - first_combined_schedule["usage"].tolist()[: 12 * 7], - second_combined_schedule["usage"].tolist()[: 12 * 7], - ) - - self.assertEqual(first_combined_schedule["usage"].sum(), 240) - self.assertEqual(second_combined_schedule["usage"].sum(), 240) - - -def check_num_intervals(schedule: pd.DataFrame) -> int: - charging_indicator = schedule["usage"].apply(lambda x: 1 if x > 0 else 0) - intervals = charging_indicator.diff().value_counts().get(1, 0) - if charging_indicator[0] > 0: - intervals += 1 - return intervals - - -class TestRecalculatingOptimizerWithConstraints(unittest.TestCase): - def setUp(self): - self.region = "PJM_NJ" - self.username = os.getenv("WATTTIME_USER") - self.password = os.getenv("WATTTIME_PASSWORD") - - self.static_start_time = convert_to_utc( - datetime(2024, 1, 1, hour=20, second=1), local_tz_str="America/New_York" - ) - self.static_end_time = convert_to_utc( - datetime(2024, 1, 2, hour=8, second=1), local_tz_str="America/New_York" - ) - - self.wth = WattTimeForecast(self.username, self.password) - self.curr_fcst_data = self.wth.get_historical_forecast_pandas( - start=self.static_start_time - timedelta(minutes=5), - end=self.static_end_time, - region=self.region, - signal_type="co2_moer", - horizon_hours=72, - ) - self.data_times = self.curr_fcst_data["generated_at"] - - def test_recalculating_optimizer_adjust_num_intervals(self) -> None: - recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="sophisticated", - charge_per_interval=[140, 100], - ) - - initial_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, - self.static_end_time, - ) - self.assertTrue(check_num_intervals(initial_schedule) <= 2) - - first_interval_end_time = initial_schedule[ - initial_schedule["usage"].diff() < 0 - ].index[0] - - next_schedule = recalculating_optimizer.get_new_schedule( - first_interval_end_time, - self.static_end_time, - ) - - self.assertTrue(check_num_intervals(next_schedule) == 1) - self.assertEqual( - recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 - ) - - def test_recalculating_optimizer_mid_interval(self) -> None: - recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="sophisticated", - charge_per_interval=[120, 120], - ) - - initial_schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time, - self.static_end_time, - ) - self.assertTrue(check_num_intervals(initial_schedule) <= 2) - - mid_interval_time = initial_schedule[ - initial_schedule["usage"].diff() < 0 - ].index[0] - timedelta(minutes=10) - - next_schedule = recalculating_optimizer.get_new_schedule( - mid_interval_time, - self.static_end_time, - ) - - # Check that remaining schedule before interval end is the same - self.assertTrue( - initial_schedule[initial_schedule.index >= mid_interval_time] - .head(2) - .equals(next_schedule.head(2)) - ) - self.assertEqual(next_schedule.index[0], mid_interval_time) - self.assertEqual( - recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 - ) - - def test_init_recalculating_contiguity_optimizer(self) -> None: - """Test init""" - - recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=240, - usage_power_kw=2, - optimization_method="sophisticated", - charge_per_interval=[100, 140], - ) - - for i in range(12): - schedule = recalculating_optimizer.get_new_schedule( - self.static_start_time + timedelta(hours=i), - self.static_end_time, - ) - - self.assertTrue( - check_num_intervals(recalculating_optimizer.get_combined_schedule()) <= 2 - ) - self.assertEqual( - recalculating_optimizer.get_combined_schedule()["usage"].sum(), 240 - ) - - def test_frequent_recalculating_with_contiguity(self) -> None: - recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=30, - usage_power_kw=2, - optimization_method="sophisticated", - charge_per_interval=[15, 15], - ) - start_time = self.static_start_time - end_time = self.static_end_time + timedelta(hours=2) - - for i in range(12 * 2): - start_time = start_time + timedelta(minutes=5) - schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) - - self.assertTrue( - check_num_intervals(recalculating_optimizer.get_combined_schedule()) <= 2 - ) - self.assertEqual( - recalculating_optimizer.get_combined_schedule()["usage"].sum(), 30 - ) - - def test_schedule_times(self) -> None: - recalculating_optimizer = RecalculatingWattTimeOptimizerWithContiguity( - region=self.region, - watttime_username=self.username, - watttime_password=self.password, - usage_time_required_minutes=30, - usage_power_kw=2, - optimization_method="sophisticated", - charge_per_interval=[15, 15], - ) - - start_time = self.static_start_time - end_time = self.static_end_time + timedelta(hours=2) - - for i in range(2 * 2): - start_time = start_time + timedelta(minutes=30) - schedule = recalculating_optimizer.get_new_schedule(start_time, end_time) - self.assertTrue(schedule.index.is_unique) - self.assertEqual( - schedule.index[0].to_pydatetime(), - start_time + timedelta(minutes=4, seconds=59), - ) - - self.assertTrue(recalculating_optimizer.get_combined_schedule().index.is_unique) - if __name__ == "__main__": unittest.main() - # TestWattTimeOptimizer.setUpClass() - # TestWattTimeOptimizer().test_dp_non_round_usage_time() diff --git a/tests/test_recalculator.py b/tests/test_recalculator.py new file mode 100644 index 00000000..cbb37fb4 --- /dev/null +++ b/tests/test_recalculator.py @@ -0,0 +1,103 @@ +import unittest +import os +from pytz import UTC +from watttime.api import WattTimeForecast, WattTimeOptimizer, WattTimeRecalculator +from datetime import timedelta, datetime +import pandas as pd + +class TestRecalculatingOptimizer(unittest.TestCase): + def setUp(self): + self.region = "CAISO_NORTH" + self.username = os.getenv("WATTTIME_USER") + self.password = os.getenv("WATTTIME_PASSWORD") + self.static_start_time = datetime(2025, 1, 1, hour=20, second=0, tzinfo=UTC) + self.static_end_time = datetime(2025, 1, 2, hour=8, second=0, tzinfo=UTC) + self.wt_hist = WattTimeForecast(self.username, self.password) + self.wt_opt = WattTimeOptimizer(self.username, self.password) + + self.initial_usage_plan = self.wt_opt.get_optimal_usage_plan( + region = self.region, + usage_window_start=self.static_start_time, + usage_window_end=self.static_end_time, + usage_time_required_minutes=240, + usage_power_kw=2, + optimization_method="auto", + moer_data_override = self.moer_data_override(self.static_start_time,self.static_end_time,self.region) + ) + + self.recalculating_optimizer = WattTimeRecalculator( + initial_schedule=self.initial_usage_plan, + start_time=self.static_start_time, + end_time=self.static_end_time, + total_time_required=240 + ) + + def moer_data_override(self, start_time,end_time,region): + df = self.wt_hist.get_historical_forecast_pandas( + start=start_time, + end=end_time, + region=region + ) + return df[df.generated_at == df.generated_at.min()] + + def next_query_time(self,time,interval:int = 60): + return time + timedelta(minutes=interval) + + # test initializing the recalculator class + def test_init_recalculator_class(self) -> None: + + starting_schedule = self.recalculating_optimizer.get_combined_schedule() + + self.assertEqual( + self.initial_usage_plan["usage"].tolist(), starting_schedule["usage"].tolist() + ) + + self.assertEqual(len(self.recalculating_optimizer.all_schedules), 1) + + self.assertEqual(self.initial_usage_plan["usage"].sum(), 240) + self.assertEqual(starting_schedule["usage"].sum(), 240) + + def test_multiple_schedules_combined(self) -> None: + """Test combining two schedules""" + + new_window_start = self.next_query_time(time=self.static_start_time) + new_time_required = self.recalculating_optimizer.get_remaining_time_required(new_window_start) + new_usage_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=new_window_start, + usage_window_end=self.static_end_time, + usage_time_required_minutes=new_time_required, + usage_power_kw=2, + optimization_method="auto", + moer_data_override=self.moer_data_override(new_window_start,self.static_end_time,self.region) + ) + + first_combined_schedule = self.recalculating_optimizer.get_combined_schedule() + + self.recalculating_optimizer.update_charging_schedule( + new_schedule = new_usage_plan, + next_query_time=new_window_start + ) + + second_combined_schedule = self.recalculating_optimizer.get_combined_schedule() + + self.assertNotEqual( + first_combined_schedule["usage"].tolist(), + second_combined_schedule["usage"].tolist(), + ) + self.assertEqual( + first_combined_schedule["usage"].tolist()[: 12], + second_combined_schedule["usage"].tolist()[: 12], + ) + self.assertEqual(first_combined_schedule["usage"].sum(), 240) + self.assertEqual(second_combined_schedule["usage"].sum(), 240) + + + def test_schedules_date_index(self) -> None: + idx = self.recalculating_optimizer.get_combined_schedule().index + + self.assertTrue(idx.is_unique) + self.assertListEqual(list(idx), list(pd.date_range(idx.min(),idx.max(),freq=timedelta(minutes=5)))) + +if __name__ == "__main__": + unittest.main() \ No newline at end of file diff --git a/watttime-python-client.code-workspace b/watttime-python-client.code-workspace new file mode 100644 index 00000000..ef9f5d27 --- /dev/null +++ b/watttime-python-client.code-workspace @@ -0,0 +1,7 @@ +{ + "folders": [ + { + "path": "." + } + ] +} \ No newline at end of file diff --git a/watttime/api.py b/watttime/api.py index 1476dbd2..bafaa150 100644 --- a/watttime/api.py +++ b/watttime/api.py @@ -10,9 +10,6 @@ import requests from dateutil.parser import parse from pytz import UTC, timezone -from watttime.optimizer.alg import optCharger, moer -from itertools import accumulate -import bisect class WattTimeBase: @@ -545,412 +542,6 @@ def get_historical_forecast_pandas( out = pd.concat([out, _df]) return out - -OPT_INTERVAL = 5 -MAX_PREDICTION_HOURS = 72 - - -class WattTimeOptimizer(WattTimeForecast): - """ - This class inherits from WattTimeForecast, with additional methods to generate - optimal usage plans for energy consumption based on various parameters and - constraints. - - Additional Methods: - -------- - get_optimal_usage_plan(region, usage_window_start, usage_window_end, - usage_time_required_minutes, usage_power_kw, - usage_time_uncertainty_minutes, optimization_method, - moer_data_override) - Generates an optimal usage plan for energy consumption. - """ - - OPT_INTERVAL = 5 - MAX_PREDICTION_HOURS = 72 - MAX_INT = 99999999999999999 - - def get_optimal_usage_plan( - self, - region: str, - usage_window_start: datetime, - usage_window_end: datetime, - usage_time_required_minutes: Optional[Union[int, float]] = None, - usage_power_kw: Optional[Union[int, float, pd.DataFrame]] = None, - energy_required_kwh: Optional[Union[int, float]] = None, - usage_time_uncertainty_minutes: Optional[Union[int, float]] = 0, - charge_per_interval: Optional[list] = None, - use_all_intervals: bool = True, - constraints: Optional[dict] = None, - optimization_method: Optional[ - Literal["baseline", "simple", "sophisticated", "auto"] - ] = "baseline", - moer_data_override: Optional[pd.DataFrame] = None, - ) -> pd.DataFrame: - """ - Generates an optimal usage plan for energy consumption based on given parameters. - - This method calculates the most efficient energy usage schedule within a specified - time window, considering factors such as regional data, power requirements, and - optimization methods. - - You should pass in exactly 2 of 3 parameters of (usage_time_required_minutes, usage_power_kw, energy_required_kwh) - - Parameters: - ----------- - region : str - The region for which forecast data is requested. - usage_window_start : datetime - Start time of the window when power consumption is allowed. - usage_window_end : datetime - End time of the window when power consumption is allowed. - usage_time_required_minutes : Optional[Union[int, float]], default=None - Required usage time in minutes. - usage_power_kw : Optional[Union[int, float, pd.DataFrame]], default=None - Power usage in kilowatts. Can be a constant value or a DataFrame for variable power. - energy_required_kwh : Optional[Union[int, float]], default=None - Energy required in kwh - usage_time_uncertainty_minutes : Optional[Union[int, float]], default=0 - Uncertainty in usage time, in minutes. - charge_per_interval : Optional[list], default=None - Either a list of length-2 tuples representing minimium and maximum (inclusive) charging minutes per interval, - or a list of ints representing both the min and max. - use_all_intervals : Optional[bool], default=False - If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. - constraints : Optional[dict], default=None - A dictionary containing contraints on how much usage must be used before the given time point - optimization_method : Optional[Literal["baseline", "simple", "sophisticated", "auto"]], default="baseline" - The method used for optimization. - moer_data_override : Optional[pd.DataFrame], default=None - Pre-generated MOER (Marginal Operating Emissions Rate) DataFrame, if available. - - Returns: - -------- - pd.DataFrame - A DataFrame representing the optimal usage plan, including columns for - predicted MOER, usage, CO2 emissions, and energy usage. - - Raises: - ------- - AssertionError - If input parameters do not meet specified conditions (e.g., timezone awareness, - valid time ranges, supported optimization methods). - - Notes: - ------ - - The method uses WattTime forecast data unless overridden by moer_data_override. - - It supports various optimization methods and can handle both constant and variable power usage. - - The resulting plan aims to minimize emissions while meeting the specified energy requirements. - """ - - def is_tz_aware(dt): - return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None - - def minutes_to_units(x, floor=False): - if x: - if floor: - return int(x // self.OPT_INTERVAL) - else: - return int(math.ceil(x / self.OPT_INTERVAL)) - return x - - assert is_tz_aware(usage_window_start), "Start time is not tz-aware" - assert is_tz_aware(usage_window_end), "End time is not tz-aware" - - if constraints is None: - constraints = {} - else: - # Convert constraints to a standardized format - raw_constraints = constraints.copy() - constraints = {} - - for ( - constraint_time_clock, - constraint_usage_minutes, - ) in raw_constraints.items(): - constraint_time_minutes = ( - constraint_time_clock - usage_window_start - ).total_seconds() / 60 - constraint_time_units = minutes_to_units(constraint_time_minutes) - constraint_usage_units = minutes_to_units(constraint_usage_minutes) - - constraints.update( - {constraint_time_units: (constraint_usage_units, None)} - ) - - num_inputs = 0 - for input in (usage_time_required_minutes, usage_power_kw, energy_required_kwh): - if input is not None: - num_inputs += 1 - assert ( - num_inputs == 2 - ), "Exactly 2 of 3 inputs in (usage_time_required_minutes, usage_power_kw, energy_required_kwh) required" - if usage_power_kw is None: - usage_power_kw = energy_required_kwh / usage_time_required_minutes * 60 - print("Implied usage_power_kw =", usage_power_kw) - if usage_time_required_minutes is None: - if type(usage_power_kw) in (float, int) and type(energy_required_kwh) in ( - float, - int, - ): - usage_time_required_minutes = energy_required_kwh / usage_power_kw * 60 - print("Implied usage time required =", usage_time_required_minutes) - else: - # TODO: Implement and test - raise NotImplementedError( - "When usage_time_required_minutes is None, only float or int usage_power_kw and energy_required_kwh is supported." - ) - - # Perform these checks if we are using live data - if moer_data_override is None: - datetime_now = datetime.now(UTC) - assert ( - usage_window_end > datetime_now - ), "Error, Window end is before current datetime" - assert usage_window_end - datetime_now < timedelta( - hours=self.MAX_PREDICTION_HOURS - ), "End time is too far in the future" - assert optimization_method in ("baseline", "simple", "sophisticated", "auto"), ( - "Unsupported optimization method:" + optimization_method - ) - if moer_data_override is None: - forecast_df = self.get_forecast_pandas( - region=region, - signal_type="co2_moer", - horizon_hours=self.MAX_PREDICTION_HOURS, - ) - else: - forecast_df = moer_data_override.copy() - forecast_df = forecast_df.set_index("point_time") - forecast_df.index = pd.to_datetime(forecast_df.index) - - # relevant_forecast_df = forecast_df[usage_window_start:usage_window_end] - relevant_forecast_df = forecast_df[forecast_df.index >= usage_window_start] - relevant_forecast_df = relevant_forecast_df[ - relevant_forecast_df.index < usage_window_end - ] - relevant_forecast_df = relevant_forecast_df.rename( - columns={"value": "pred_moer"} - ) - result_df = relevant_forecast_df[["pred_moer"]] - moer_values = relevant_forecast_df["pred_moer"].values - - m = moer.Moer(mu=moer_values) - - model = optCharger.OptCharger() - - total_charge_units = minutes_to_units(usage_time_required_minutes) - if optimization_method in ("sophisticated", "auto"): - # Give a buffer time equal to the uncertainty - buffer_time = usage_time_uncertainty_minutes - buffer_periods = minutes_to_units(buffer_time) if buffer_time else 0 - buffer_enforce_time = max( - total_charge_units, len(moer_values) - buffer_periods - ) - constraints.update({buffer_enforce_time: (total_charge_units, None)}) - else: - assert ( - usage_time_uncertainty_minutes == 0 - ), "usage_time_uncertainty_minutes is only supported in optimization_method='sophisticated' or 'auto'" - - if type(usage_power_kw) in (int, float): - # Convert to the MWh used in an optimization interval - # expressed as a function to meet the parameter requirements for OptC function - emission_multiplier_fn = ( - lambda sc, ec: float(usage_power_kw) * 0.001 * self.OPT_INTERVAL / 60.0 - ) - else: - usage_power_kw = usage_power_kw.copy() - # Resample usage power dataframe to an OPT_INTERVAL frequency - usage_power_kw["time_step"] = usage_power_kw["time"] / self.OPT_INTERVAL - usage_power_kw_new_index = pd.DataFrame( - index=[float(x) for x in range(total_charge_units + 1)] - ) - usage_power_kw = pd.merge_asof( - usage_power_kw_new_index, - usage_power_kw.set_index("time_step"), - left_index=True, - right_index=True, - direction="backward", - allow_exact_matches=True, - ) - - def emission_multiplier_fn(sc: float, ec: float) -> float: - """ - Calculate the approximate mean power in the given time range, - in units of MWh used per optimizer time unit. - - sc and ec are float values representing the start and end time of - the time range, in optimizer time units. - """ - value = ( - usage_power_kw[sc : max(sc, ec - 1e-12)]["power_kw"].mean() - * 0.001 - * self.OPT_INTERVAL - / 60.0 - ) - return value - - if charge_per_interval: - # Handle the charge_per_interval input by converting it from minutes to units, rounding up - converted_charge_per_interval = [] - for c in charge_per_interval: - if isinstance(c, int): - converted_charge_per_interval.append(minutes_to_units(c)) - else: - assert ( - len(c) == 2 - ), "Length of tuples in charge_per_interval is not 2" - interval_start_units = minutes_to_units(c[0]) if c[0] else 0 - interval_end_units = ( - minutes_to_units(c[1]) if c[1] else self.MAX_INT - ) - converted_charge_per_interval.append( - (interval_start_units, interval_end_units) - ) - # print("Charge per interval:", converted_charge_per_interval) - else: - converted_charge_per_interval = None - model.fit( - total_charge=total_charge_units, - total_time=len(moer_values), - moer=m, - constraints=constraints, - charge_per_interval=converted_charge_per_interval, - use_all_intervals=use_all_intervals, - emission_multiplier_fn=emission_multiplier_fn, - optimization_method=optimization_method, - ) - - optimizer_result = model.get_schedule() - result_df = self._reconcile_constraints( - optimizer_result, - result_df, - model, - usage_time_required_minutes, - charge_per_interval, - ) - - return result_df - - def _reconcile_constraints( - self, - optimizer_result, - result_df, - model, - usage_time_required_minutes, - charge_per_interval, - ): - # Make a copy of charge_per_interval if necessary - if charge_per_interval is not None: - charge_per_interval = charge_per_interval[::] - for i in range(len(charge_per_interval)): - if type(charge_per_interval[i]) == int: - charge_per_interval[i] = ( - charge_per_interval[i], - charge_per_interval[i], - ) - assert len(charge_per_interval[i]) == 2 - processed_start = ( - charge_per_interval[i][0] - if charge_per_interval[i][0] is not None - else 0 - ) - processed_end = ( - charge_per_interval[i][1] - if charge_per_interval[i][1] is not None - else self.MAX_INT - ) - - charge_per_interval[i] = (processed_start, processed_end) - - if not charge_per_interval: - # Handle case without charge_per_interval constraints - total_usage_intervals = sum(optimizer_result) - current_usage_intervals = 0 - usage_list = [] - for to_charge_binary in optimizer_result: - current_usage_intervals += to_charge_binary - if current_usage_intervals < total_usage_intervals: - usage_list.append(to_charge_binary * float(self.OPT_INTERVAL)) - else: - # Partial interval - minutes_to_trim = ( - total_usage_intervals * self.OPT_INTERVAL - - usage_time_required_minutes - ) - usage_list.append( - to_charge_binary * float(self.OPT_INTERVAL - minutes_to_trim) - ) - result_df["usage"] = usage_list - else: - # Process charge_per_interval constraints - result_df["usage"] = [ - x * float(self.OPT_INTERVAL) for x in optimizer_result - ] - usage = result_df["usage"].values - sections = [] - interval_ids = model.get_interval_ids() - - def get_min_max_indices(lst, x): - # Find the first occurrence of x - min_index = lst.index(x) - # Find the last occurrence of x - max_index = len(lst) - 1 - lst[::-1].index(x) - return min_index, max_index - - for interval_id in range(0, max(interval_ids) + 1): - assert ( - interval_id in interval_ids - ), "interval_id not found in interval_ids" - sections.append(get_min_max_indices(interval_ids, interval_id)) - - # Adjust sections to satisfy charge_per_interval constraints - for i, (start, end) in enumerate(sections): - section_usage = usage[start : end + 1] - total_minutes = section_usage.sum() - - # Get the constraints for this section - if isinstance(charge_per_interval[i], int): - min_minutes, max_minutes = ( - charge_per_interval[i], - charge_per_interval[i], - ) - else: - min_minutes, max_minutes = charge_per_interval[i] - - # Adjust the section to fit the constraints - if total_minutes < min_minutes: - raise ValueError( - f"Cannot meet the minimum charging constraint of {min_minutes} minutes for section {i}." - ) - elif total_minutes > max_minutes: - # Reduce usage to fit within the max_minutes - excess_minutes = total_minutes - max_minutes - for j in range(len(section_usage)): - if section_usage[j] > 0: - reduction = min(section_usage[j], excess_minutes) - section_usage[j] -= reduction - excess_minutes -= reduction - if excess_minutes <= 0: - break - usage[start : end + 1] = section_usage - result_df["usage"] = usage - - # Recalculate these values approximately, based on the new "usage" column - # Note: This is approximate since it assumes that - # the charging emissions over time of the unrounded values are similar to the rounded values - result_df["emissions_co2e_lb"] = ( - model.get_charging_emissions_over_time() - * result_df["usage"] - / self.OPT_INTERVAL - ) - result_df["energy_usage_mwh"] = ( - model.get_energy_usage_over_time() * result_df["usage"] / self.OPT_INTERVAL - ) - - return result_df - - class WattTimeMaps(WattTimeBase): def get_maps_json( self, @@ -976,274 +567,4 @@ def get_maps_json( params = {"signal_type": signal_type} rsp = requests.get(url, headers=headers, params=params) rsp.raise_for_status() - return rsp.json() - - -class RecalculatingWattTimeOptimizer: - def __init__( - self, - watttime_username: str, - watttime_password: str, - region: str, - usage_time_required_minutes: float, - usage_power_kw: Union[int, float, pd.DataFrame], - optimization_method: Optional[ - Literal["baseline", "simple", "sophisticated", "auto"] - ], - ) -> None: - # Settings that stay consistent across calls to get_optimal_usage_plan - self.region = region - self.total_time_required = usage_time_required_minutes - self.usage_power_kw = usage_power_kw - self.optimization_method = optimization_method - - # Setup for us to track schedule/usage - self.all_schedules = [] # (schedule, ctx) - - # Set up to query for fcsts - self.forecast_generator = WattTimeForecast(watttime_username, watttime_password) - self.wt_opt = WattTimeOptimizer(watttime_username, watttime_password) - - # Set up to query for actual data - self.wt_hist = WattTimeHistorical(watttime_username, watttime_password) - - def _get_curr_fcst_data(self, new_start_time: datetime): - curr_fcst_data = self.forecast_generator.get_historical_forecast_pandas( - start=new_start_time - timedelta(minutes=OPT_INTERVAL), - end=new_start_time, - region=self.region, - signal_type="co2_moer", - horizon_hours=MAX_PREDICTION_HOURS, - ) - most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] - curr_fcst_data = curr_fcst_data[ - curr_fcst_data["generated_at"] == most_recent_data_time - ] - # Get most recent forecast time using iloc with bounds checking - if len(curr_fcst_data["generated_at"]) > 0: - most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] - curr_fcst_data = curr_fcst_data[ - curr_fcst_data["generated_at"] == most_recent_data_time - ].copy() - return curr_fcst_data - - def _get_remaining_time_required(self, query_time: datetime): - if len(self.all_schedules) == 0: - return self.total_time_required - - # If there are previously produced schedules, assume we followed each schedule until getting a new one - combined_schedule = self.get_combined_schedule() - - # Calculate remaining time required - usage = int( - combined_schedule[combined_schedule.index < query_time]["usage"].sum() - ) - return self.total_time_required - usage - - def _set_last_schedule_end_time(self, new_schedule_start_time: datetime): - # If there a previously produced schedule, assume we followed that schedule until getting the new one - if len(self.all_schedules) > 0: - # Set end time of last ctx - schedule, ctx = self.all_schedules[-1] - self.all_schedules[-1] = (schedule, (ctx[0], new_schedule_start_time)) - assert ctx[0] < new_schedule_start_time - - def _query_api_for_fcst_data(self, new_start_time: datetime): - # Get new data - curr_fcst_data = self.forecast_generator.get_historical_forecast_pandas( - start=new_start_time - timedelta(minutes=OPT_INTERVAL), - end=new_start_time, - region=self.region, - signal_type="co2_moer", - horizon_hours=MAX_PREDICTION_HOURS, - ) - most_recent_data_time = curr_fcst_data["generated_at"].iloc[-1] - curr_fcst_data = curr_fcst_data[ - curr_fcst_data["generated_at"] == most_recent_data_time - ] - return curr_fcst_data - - def _get_new_schedule( - self, - new_start_time: datetime, - new_end_time: datetime, - curr_fcst_data: pd.DataFrame = None, - charge_per_interval: Optional[list] = None, - ) -> tuple[pd.DataFrame, tuple[str, str]]: - - if curr_fcst_data is None: - curr_fcst_data = self._query_api_for_fcst_data(new_start_time) - - curr_fcst_data["point_time"] = pd.to_datetime(curr_fcst_data["point_time"]) - curr_fcst_data = curr_fcst_data.loc[ - curr_fcst_data["point_time"] >= new_start_time - ] - if curr_fcst_data.shape[0] == 0: - print("error") - new_schedule_start_time = curr_fcst_data["point_time"].iloc[0] - - # Generate new schedule - new_schedule = self.wt_opt.get_optimal_usage_plan( - region=self.region, - usage_window_start=new_start_time - timedelta(minutes=OPT_INTERVAL), - usage_window_end=new_end_time, - usage_time_required_minutes=self._get_remaining_time_required( - new_schedule_start_time - ), - usage_power_kw=self.usage_power_kw, - optimization_method=self.optimization_method, - moer_data_override=curr_fcst_data, - charge_per_interval=charge_per_interval, - ) - new_schedule_ctx = (new_schedule_start_time, new_end_time) - - return new_schedule, new_schedule_ctx - - def get_new_schedule( - self, - new_start_time: datetime, - new_end_time: datetime, - curr_fcst_data: pd.DataFrame = None, - ) -> pd.DataFrame: - schedule, ctx = self._get_new_schedule( - new_start_time, new_end_time, curr_fcst_data - ) - - self._set_last_schedule_end_time(ctx[0]) - self.all_schedules.append((schedule, ctx)) - return schedule - - def get_combined_schedule(self, end_time: datetime = None) -> pd.DataFrame: - schedule_segments = [] - for s, ctx in self.all_schedules: - schedule_segments.append(s[s.index < ctx[1]]) - combined_schedule = pd.concat(schedule_segments) - - if end_time: - # Only keep segments that complete before end_time - last_segment_start_time = end_time + timedelta(minutes=OPT_INTERVAL) - combined_schedule = combined_schedule[ - combined_schedule.index <= last_segment_start_time - ] - - return combined_schedule - - -class RecalculatingWattTimeOptimizerWithContiguity(RecalculatingWattTimeOptimizer): - def __init__( - self, - watttime_username: str, - watttime_password: str, - region: str, - usage_time_required_minutes: float, - usage_power_kw: Union[int, float, pd.DataFrame], - optimization_method: Optional[ - Literal["baseline", "simple", "sophisticated", "auto"] - ], - charge_per_interval: list = [], - ): - self.all_charge_per_interval = charge_per_interval - super().__init__( - watttime_username, - watttime_password, - region, - usage_time_required_minutes, - usage_power_kw, - optimization_method, - ) - - def get_new_schedule( - self, - new_start_time: datetime, - new_end_time: datetime, - curr_fcst_data: pd.DataFrame = None, - ) -> pd.DataFrame: - if len(self.all_schedules) == 0: - # If no existing schedules, then generate as normal - new_schedule, _ = self._get_new_schedule( - new_start_time, - new_end_time, - curr_fcst_data, - self.all_charge_per_interval, - ) - self.all_schedules.append((new_schedule, (new_start_time, new_end_time))) - return new_schedule - - # Get the schedule that we should previously have followed - curr_combined_schedule = self.get_combined_schedule(new_end_time) - - # Get num charging intervals completed so far - completed_schedule = curr_combined_schedule[ - curr_combined_schedule.index < new_start_time - ] - charging_indicator = ( - completed_schedule["usage"].apply(lambda x: 1 if x > 0 else 0).sum() - ) - num_charging_segments_complete = bisect.bisect_right( - list(accumulate(self.all_charge_per_interval)), charging_indicator * 5 - ) - - # Get the current status - curr_segment = curr_combined_schedule[ - curr_combined_schedule.index <= new_start_time - ].iloc[-1] - if curr_segment["usage"] > 0: - upcoming_segments = curr_combined_schedule[ - curr_combined_schedule.index > new_start_time - ] - upcoming_no_charge_times = upcoming_segments[ - upcoming_segments["usage"] == 0 - ] - - # if we charge for the remaining time, return the existing schedule (starting at new_start_time) - if upcoming_no_charge_times.empty: - return curr_combined_schedule[ - curr_combined_schedule.index >= new_start_time - ] - - next_unplug_time = upcoming_no_charge_times.index[0] - next_unplug_time = next_unplug_time.to_pydatetime() - - # Get the section of old schedule to follow - remaining_old_schedule = curr_combined_schedule[ - curr_combined_schedule.index < next_unplug_time - ] - remaining_old_schedule = remaining_old_schedule[ - remaining_old_schedule.index >= new_start_time - ] - - # Update completed segments to reflect portion of old schedule - additional_charge_segments = ( - remaining_old_schedule["usage"].apply(lambda x: 1 if x > 0 else 0).sum() - ) - num_charging_segments_complete = bisect.bisect_right( - list(accumulate(self.all_charge_per_interval)), - (charging_indicator + additional_charge_segments) * 5, - ) - - # Get schedule for after this segment completes - new_schedule, ctx = self._get_new_schedule( - next_unplug_time, - new_end_time, - curr_fcst_data, - self.all_charge_per_interval[num_charging_segments_complete:], - ) - - # Construct the schedule from start_time - if remaining_old_schedule is not None: - new_schedule = pd.concat([remaining_old_schedule, new_schedule]) - - ctx = (new_schedule.index[0], ctx[1]) - else: - # If not in segment, generate a schedule starting at new_start_time - new_schedule, ctx = self._get_new_schedule( - new_start_time, - new_end_time, - curr_fcst_data, - self.all_charge_per_interval[num_charging_segments_complete:], - ) - - # Update last schedule, add new schedule - self._set_last_schedule_end_time(new_start_time) - self.all_schedules.append((new_schedule, ctx)) - return new_schedule + return rsp.json() \ No newline at end of file diff --git a/watttime/optimizer/test.py b/watttime/optimizer/test.py deleted file mode 100644 index 02784b54..00000000 --- a/watttime/optimizer/test.py +++ /dev/null @@ -1,149 +0,0 @@ -from alg import moer, optCharger - -model = optCharger.OptCharger() - -m = moer.Moer( - mu=[10, 10, 10, 1, 13, 3, 2, 3], -) -print("Length of schedule:", len(m)) - -print("greedy algo") -model.fit(total_charge=3, total_time=8, moer=m, optimization_method="baseline") -model.summary() -print("simple sorting algo") -model.fit( - total_charge=3, - total_time=8, - moer=m, -) -model.summary() -print("sophisticated algo that produces same answer as simple") -model.fit(total_charge=3, total_time=8, moer=m, optimization_method="sophisticated") -model.summary() -print("incorrect pairing of simple sorting algo + variable charge rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - emission_multiplier_fn=lambda x, y: [1.0, 2.0, 1.0][x], - optimization_method="simple", -) -model.summary() -print("sophisticated algo + variable charge rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - emission_multiplier_fn=lambda x, y: [1.0, 2.0, 1.0][x], -) -model.summary() -print("sophisticated algo + constraints") -model.fit(total_charge=3, total_time=8, moer=m, constraints={2: (2, None)}) -model.summary() - -m = moer.Moer( - mu=[2, 1, 10, 10, 10, 1, 13, 3], -) - -# Fixed Contiguous -print("One contiguous interval") -model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[3]) -model.summary() -print("Two contiguous intervals") -model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[2, 1]) -model.summary() -print("Two contiguous intervals, one of which given as intervals + variable power rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - charge_per_interval=[(2, 2), 1], - emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], -) -model.summary() -print("Two contiguous intervals, one of which given as intervals + variable power rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - charge_per_interval=[2, (1, 1)], - emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], -) -model.summary() -print("Two contiguous intervals, one of which given as intervals + variable power rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - charge_per_interval=[(2, 2), (1, 1)], - emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], -) -model.summary() -print("Two contiguous intervals + variable power rate + constraints") -model.fit( - total_charge=4, - total_time=8, - moer=m, - charge_per_interval=[3, 1], - constraints={2: (None, 1), 5: (3, None)}, -) -model.summary() - -# Variable Contiguous -print("One contiguous interval") -model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[(0, 3)]) -model.summary() -print("Two contiguous intervals") -model.fit(total_charge=3, total_time=8, moer=m, charge_per_interval=[(1, 2), (0, 3)]) -model.summary() -print("Two contiguous intervals + variable power rate") -model.fit( - total_charge=3, - total_time=8, - moer=m, - charge_per_interval=[(1, 2), (1, 2)], - emission_multiplier_fn=lambda x, y: [1.0, 0.1, 1.0][x], -) -model.summary() -print("Two contiguous intervals + variable power rate") -model.fit(total_charge=4, total_time=8, moer=m, charge_per_interval=[(1, 3), (0, 3)]) -model.summary() -print("Two contiguous intervals + variable power rate + constraints") -model.fit( - total_charge=4, - total_time=8, - moer=m, - charge_per_interval=[(1, 3), (0, 3)], - constraints={2: (None, 1)}, -) -model.summary() -print("Two contiguous intervals + variable power rate + constraints") -model.fit( - total_charge=4, - total_time=8, - moer=m, - charge_per_interval=[(1, 3), (0, 3)], - constraints={2: (None, 1), 5: (3, None)}, -) -model.summary() - -m = moer.Moer( - mu=[10, 1, 1, 1, 10, 1, 1, 1], -) -print("Three contiguous intervals of fixed lengths") -model.fit(total_charge=6, total_time=8, moer=m, charge_per_interval=[2] * 3) -model.summary() -print("Three contiguous intervals of variable lengths") -model.fit(total_charge=6, total_time=8, moer=m, charge_per_interval=[(2, 6)] * 3) -model.summary() -print( - "Three contiguous intervals of variable lengths, but doesnt need to charge all intervals" -) -model.fit( - total_charge=6, - total_time=8, - moer=m, - charge_per_interval=[(2, 6)] * 3, - use_all_intervals=False, -) -model.summary() diff --git a/watttime_optimizer/Optimizer README.md b/watttime_optimizer/Optimizer README.md new file mode 100644 index 00000000..cb5a19c2 --- /dev/null +++ b/watttime_optimizer/Optimizer README.md @@ -0,0 +1,261 @@ +# About the Optimizer Module + +WattTime data users use WattTime electricity grid-related data for real-time, evidence-based emissions reduction strategies. These data, served programmatically via API, support automation strategies that minimize carbon emissions and human health impacts. In particular, the Marginal Operating Emissions Rate (MOER) can be used to avoid emissions via time- or place-based optimizations, and to calculate the reductions achieved by project-level interventions in accordance with GHG Protocol Scope 4. + +Energy generation sources meet different energy demands throughout the day, and the WattTime forecast anticipates the order in which the generators dispatch energy based on anticipated changes in demand. So, the MOER data signal represents the emissions rate of the electricity generator(s) that dispatch energy in direct response to changes in load on the grid. + +![CO2 Avoided](https://github.com/jbadsdata/watttime-python-client/blob/optimizer/watttime_optimizer/notebooks/cumulative_avoided_emissions.png) + +# Using the Optimizer Class + +`WattTimeOptimizer` produces a proposed power usage schedule that minimizes carbon emissions subject to user and device constraints. + +The `WattTimeOptimizer` class requires 4 things: + +- Watttime’s forecast of marginal emissions (MOER) +- device capacity and energy needs +- region +- window start +- window end + +# Synthetic Data Module +- To simulate the optimizer's potential impact, we tested it on synthetic user data, an incredibly useful approach when device-level data is not yet available or too sensitive to share. +- Working with synthetic data, we can replicate device scope 2 emissions avoidance potential with and without an automated marginal emissions reduction solution. + +The `SessionsGenerator` class creates a unique synthetic dataset by drawing from distributions generated based on these inital inputs: + + - Maximum power output rate: power rating of equipment + - Maximum percent capacity: highest level of charge achieved by battery + - Power output efficiency: power loss + - Minimum batter starting capacity: lowest starting percent charged + - Minimum usage window start time: session can start as early as 8am + - Maximum usage window start time: session can start as late as 9pm + +Here is an example of how to generate synthetic data and test optimization strategies on historic observations. [synthetic data notebook](https://github.com/jbadsdata/watttime-python-client/edit/optimizer/watttime_optimizer/Optimizer%20README.md#:~:text=ev_variable_charge.ipynb-,synthetic_data,-.ipynb) + +![Example Image](https://github.com/jbadsdata/watttime-python-client/blob/optimizer/watttime_optimizer/notebooks/evaluation_plot.png) + + +## Optimization Strategies, Example Code, Notebooks + +### Model Parameters +| optimization\_method | ASAP | Charging curve | Time constraint | Contiguous | +| :---- | :---- | :---- | :---- | :---- | +| auto | No | auto | No | Chooses appropriate algorithm based on input complexity: simple for basic cases, sophisticated for constraints/variable power, contiguous for segmented charging | | | +| baseline | Yes | Constant | No | No | +| simple | No | Constant | No | No | +| sophisticated | No | Variable | Yes | No | +| contiguous | No | Variable | Yes | Segments at fixed lengths | +| Variable contiguous | No | Variable | Yes | Segments at variable lengths | + +**1. Naive Smart Device Charging [EV L2 or pluggable battery-powered device]** + +[Naive Smart device notebook example](https://github.com/jbadsdata/watttime-python-client/edit/optimizer/watttime_optimizer/Optimizer%20README.md#:~:text=ev.-,ipynb,-ev_variable_charge.ipynb) + +L2 charging needs 30 minutes total time to reach full charge, expected plug out time within the next 4 hours. Simple use case. + +```py +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime_optimizer import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# 12 hour charge window (720/60 = 12) +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +usage_plan = wt_opt.get_optimal_usage_plan( + region="CAISO_NORTH", + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=240, + usage_power_kw=12, + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +**2.Partial Charging Guarantee - Introducing Constraints** + * Sophisticated - total charge window 12 hours long, 75% charged by hour 8. + +```py +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime_optimizer import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# 12 hour charge window (720/60 = 12) +# Minute 480 is time context when the constraint, i.e. 75% charge, must be satisfied +# 75% of 240 (required charge expressed in minutes) is 180 + +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) +usage_time_required_minutes = 240 +constraint_time = now + timedelta(minutes=480) +constraint_usage_time_required_minutes = 180 +usage_power_kw = 12.0 + +# map the constraint to the time context +constraints = {constraint_time:constraint_usage_time_required_minutes} + +usage_plan = wt_opt.get_optimal_usage_plan( + region="CAISO_NORTH", + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=240, + usage_power_kw=12, + constraints=constraints, + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +**3.Variable Charging Curve (L3) - EV** + +[Example usage notebook](https://github.com/jbadsdata/watttime-python-client/edit/optimizer/watttime_optimizer/Optimizer%20README.md#:~:text=ev.ipynb-,ev_variable_charge,-.ipynb) + +[Battery class](https://github.com/jbadsdata/watttime-python-client/edit/optimizer/watttime_optimizer/Optimizer%20README.md#:~:text=battery-,.,-py) + +I know the model of my vehicle and want to match device characteristics. If we have a 10 kWh battery which initially charges at 20kW, the charge rate then linearly decreases to 10kW as the battery is 50% charged, and then remains at 10kW for the rest of the charging. This is the charging curve. + +```py +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime_optimizer import WattTimeOptimizer +from watttime_optimizer.battery import Battery +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +battery = Battery( + initial_soc=0.0, + charging_curve=pd.DataFrame( + columns=["SoC", "kW"], + data=[ + [0.0, 20.0], + [0.5, 10.0], + [1.0, 10.0], + ] + ), + capacity_kWh=10.0, +) + +variable_usage_power = battery.get_usage_power_kw_df() + +usage_plan = wt_opt.get_optimal_usage_plan( + region="CAISO_NORTH", + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=240, + usage_power_kw=variable_usage_power, + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +* **4.Data Center Workload 1**: + * (single segment, fixed length) - charging schedule to be composed of a single contiguous, i.e. "block" segment of fixed length + +[example notebook](https://github.com/jbadsdata/watttime-python-client/edit/optimizer/watttime_optimizer/Optimizer%20README.md#:~:text=datacenter_workloads) + +```py +## AI model training - estimated runtime is 2 hours and it needs to complete within 12 hours + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime_optimizer import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +usage_power_kw = 12.0 +region = "CAISO_NORTH" + +# by passing a single interval of 120 minutes to charge_per_segment, the Optimizer will know to fit call the fixed contigous modeling function. +usage_plan = wt_opt.get_optimal_usage_plan( + region=region, + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=120, + usage_power_kw=12, + charge_per_segment=[120], + optimization_method="auto", + verbose = False +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` + +**5.Data Center Workload 2**: + * (multiple segments, fixed length) - runs over two usage periods of lengths 80 min and 40 min. The order of the segments is immutable. + +```py +## there are two cycles of length 80 min and 40 min each, and they must be completed in that order. + +from datetime import datetime, timedelta +import pandas as pd +from pytz import UTC +from watttime_optimizer import WattTimeOptimizer +import os + +username = os.getenv("WATTTIME_USER") +password = os.getenv("WATTTIME_PASSWORD") +wt_opt = WattTimeOptimizer(username, password) + +# Suppose that the time now is 12 midnight +now = datetime.now(UTC) +window_start = now +window_end = now + timedelta(minutes=720) + +# Pass two values to charge_per_segment instead of one. +usage_plan = wt_opt.get_optimal_usage_plan( + region="CAISO_NORTH", + usage_window_start=window_start, + usage_window_end=window_end, + usage_time_required_minutes=120, # 80 + 40 + usage_power_kw=12, + charge_per_segment=[80,40], + optimization_method="auto", +) + +print(usage_plan.head()) +print(usage_plan["usage"].tolist()) +print(usage_plan.sum()) +``` diff --git a/watttime_optimizer/__init__.py b/watttime_optimizer/__init__.py new file mode 100644 index 00000000..3f5ce00d --- /dev/null +++ b/watttime_optimizer/__init__.py @@ -0,0 +1,4 @@ +from watttime.api import * +from watttime_optimizer.api_opt import * +from watttime_optimizer.api_opt import * +from watttime_optimizer.evaluator import * \ No newline at end of file diff --git a/watttime/optimizer/alg/__init__.py b/watttime_optimizer/alg/__init__.py similarity index 100% rename from watttime/optimizer/alg/__init__.py rename to watttime_optimizer/alg/__init__.py diff --git a/watttime/optimizer/alg/moer.py b/watttime_optimizer/alg/moer.py similarity index 98% rename from watttime/optimizer/alg/moer.py rename to watttime_optimizer/alg/moer.py index 4ec3c8e3..f4398945 100644 --- a/watttime/optimizer/alg/moer.py +++ b/watttime_optimizer/alg/moer.py @@ -125,4 +125,4 @@ def get_total_emission(self, usage): The total calculated emission. """ usage = np.array(usage).flatten() - return np.dot(self.__mu[: usage.shape[0]], usage) + return np.dot(self.__mu[: usage.shape[0]], usage) \ No newline at end of file diff --git a/watttime/optimizer/alg/optCharger.py b/watttime_optimizer/alg/optCharger.py similarity index 93% rename from watttime/optimizer/alg/optCharger.py rename to watttime_optimizer/alg/optCharger.py index 0489fddc..51b128dd 100644 --- a/watttime/optimizer/alg/optCharger.py +++ b/watttime_optimizer/alg/optCharger.py @@ -1,4 +1,5 @@ # optCharger.py +import warnings import numpy as np from .moer import Moer @@ -19,12 +20,13 @@ class OptCharger: Initializes the OptCharger object with the given parameters. """ - def __init__(self): + def __init__(self, verbose): """ Initializes the OptCharger object. """ self.__optimal_charging_emission = None self.__optimal_charging_schedule = None + self.__verbose = verbose def __collect_results(self, moer: Moer): """ @@ -76,6 +78,10 @@ def __collect_results(self, moer: Moer): self.__optimal_charging_emissions_over_time.sum() ) + def verbose_on(self, statement:str): + if self.__verbose: + print(statement) + @staticmethod def __sanitize_emission_multiplier(emission_multiplier_fn, total_charge): """ @@ -146,7 +152,7 @@ def __greedy_fit(self, total_charge: int, total_time: int, moer: Moer): Calls __collect_results to process the results. """ - print("== Baseline fit! ==") + self.verbose_on("== Baseline fit! ==") schedule = [1] * min(total_charge, total_time) + [0] * max( 0, total_time - total_charge ) @@ -172,7 +178,7 @@ def __simple_fit(self, total_charge: int, total_time: int, moer: Moer): Calls __collect_results to process the results. """ - print("== Simple fit! ==") + self.verbose_on("== Simple fit! ==") sorted_times = np.argsort(moer.get_emission_interval(0, total_time, 1)) charge_to_do = total_charge @@ -219,7 +225,7 @@ def __diagonal_fit( Exception If no valid solution is found. """ - print("== Sophisticated fit! ==") + self.verbose_on("== Sophisticated fit! ==") # This is a matrix with size = number of charge states x number of actions {not charging = 0, charging = 1} max_util = np.full((total_charge + 1), np.nan) max_util[0] = 0.0 @@ -235,9 +241,7 @@ def __diagonal_fit( ) else: min_charge, max_charge = 0, total_charge - # print("=== Time step", t, "===") new_max_util = np.full(max_util.shape, np.nan) - # print("min_charge, max_charge =",min_charge,max_charge) for c in range(min_charge, max_charge + 1): ## not charging init_val = True @@ -280,7 +284,7 @@ def __contiguous_fit( total_time: int, moer: Moer, emission_multiplier_fn, - charge_per_interval: list = [], + charge_per_segment: list = [], constraints: dict = {}, ): """ @@ -300,7 +304,7 @@ def __contiguous_fit( An object representing Marginal Operating Emissions Rate. emission_multiplier_fn : callable A function that calculates emission multipliers. - charge_per_interval : list of int + charge_per_segment : list of int The exact charging amount per interval. constraints : dict, optional A dictionary of charging constraints for specific time steps. Constraints are one-indexed: t:(a,b) means that after t minutes, we have to have charged for between a and b minutes inclusive, so that 1<=t<=total_time @@ -316,21 +320,20 @@ def __contiguous_fit( ----- This is the __diagonal_fit() algorithm with further constraint on contiguous charging intervals and their respective length """ - print("== Fixed contiguous fit! ==") - # print("Charge per interval constraints:", charge_per_interval) - total_interval = len(charge_per_interval) + self.verbose_on("== Fixed contiguous fit! ==") + total_interval = len(charge_per_segment) # This is a matrix with size = number of time states x number of intervals charged so far max_util = np.full((total_time + 1, total_interval + 1), np.nan) max_util[0, 0] = 0.0 path_history = np.full((total_time, total_interval + 1), False, dtype=bool) cum_charge = [0] - for c in charge_per_interval: + for c in charge_per_segment: cum_charge.append(cum_charge[-1] + c) charge_array_cache = [ emission_multiplier_fn(x, x + 1) for x in range(0, total_charge + 1) ] - print("Cumulative charge", cum_charge) + # ("Cumulative charge", cum_charge) for t in range(1, total_time + 1): if t in constraints: min_charge, max_charge = constraints[t] @@ -351,8 +354,8 @@ def __contiguous_fit( max_util[t, k] = max_util[t - 1, k] init_val = False ## charging - if (k > 0) and (charge_per_interval[k - 1] <= t): - dc = charge_per_interval[k - 1] + if (k > 0) and (charge_per_segment[k - 1] <= t): + dc = charge_per_segment[k - 1] if not np.isnan( max_util[t - dc, k - 1] ) and OptCharger.__check_constraint( @@ -386,7 +389,7 @@ def __contiguous_fit( t_curr -= 1 else: ## charge - dc = charge_per_interval[curr_state - 1] + dc = charge_per_segment[curr_state - 1] t_curr -= dc curr_state -= 1 if dc > 0: @@ -403,8 +406,8 @@ def __variable_contiguous_fit( total_time: int, moer: Moer, emission_multiplier_fn, - charge_per_interval: list = [], - use_all_intervals: bool = True, + charge_per_segment: list = [], + use_all_segments: bool = True, constraints: dict = {}, ): """ @@ -424,10 +427,10 @@ def __variable_contiguous_fit( An object representing Marginal Operating Emissions Rate. emission_multiplier_fn : callable A function that calculates emission multipliers. - charge_per_interval : list of (int, int) + charge_per_segment : list of (int, int) The minimium and maximum (inclusive) charging amount per interval. - use_all_intervals : bool - If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. + use_all_segments : bool + If true, use all intervals provided by charge_per_segment; if false, can use the first few intervals and skip the rest. constraints : dict, optional A dictionary of charging constraints for specific time steps. Constraints are one-indexed: t:(a,b) means that after t minutes, we have to have charged for between a and b minutes inclusive, so that 1<=t<=total_time @@ -442,8 +445,8 @@ def __variable_contiguous_fit( ----- This is the __diagonal_fit() algorithm with further constraint on contiguous charging intervals and their respective length """ - print("== Variable contiguous fit! ==") - total_interval = len(charge_per_interval) + self.verbose_on("== Variable contiguous fit! ==") + total_interval = len(charge_per_segment) # This is a matrix with size = number of time states x number of charge states x number of intervals charged so far max_util = np.full( (total_time + 1, total_charge + 1, total_interval + 1), np.nan @@ -480,8 +483,8 @@ def __variable_contiguous_fit( ## charging if k > 0: for dc in range( - charge_per_interval[k - 1][0], - min(charge_per_interval[k - 1][1], t, c) + 1, + charge_per_segment[k - 1][0], + min(charge_per_segment[k - 1][1], t, c) + 1, ): if not np.isnan( max_util[t - dc, c - dc, k - 1] @@ -502,7 +505,7 @@ def __variable_contiguous_fit( total_interval, max_util[total_time, total_charge, total_interval], ) - if not use_all_intervals: + if not use_all_segments: for k in range(0, total_interval): if np.isnan(max_util[total_time, total_charge, optimal_interval]) or ( not np.isnan(max_util[total_time, total_charge, k]) @@ -544,8 +547,8 @@ def fit( total_charge: int, total_time: int, moer: Moer, - charge_per_interval=None, - use_all_intervals: bool = True, + charge_per_segment=None, + use_all_segments: bool = True, constraints: dict = {}, emission_multiplier_fn=None, optimization_method: str = "auto", @@ -565,10 +568,10 @@ def fit( The total time available for charging. moer : Moer An object representing Marginal Operating Emissions Rate. - charge_per_interval : list of int or (int,int), optional + charge_per_segment : list of int or (int,int), optional The minimium and maximum (inclusive) charging amount per interval. If int instead of tuple, interpret as both min and max. - use_all_intervals : bool - If true, use all intervals provided by charge_per_interval; if false, can use the first few intervals and skip the rest. This can only be false if charge_per_interval is provided as a range. + use_all_segments : bool + If true, use all intervals provided by charge_per_segment; if false, can use the first few intervals and skip the rest. This can only be false if charge_per_segment is provided as a range. constraints : dict, optional A dictionary of charging constraints for specific time steps. emission_multiplier_fn : callable, optional @@ -592,7 +595,7 @@ def fit( assert optimization_method in ["baseline", "simple", "sophisticated", "auto"] if emission_multiplier_fn is None: - print( + warnings.warn( "Warning: No emission_multiplier_fn given. Assuming that device uses constant 1kW of power" ) emission_multiplier_fn = lambda sc, ec: 1.0 @@ -617,16 +620,16 @@ def fit( self.__greedy_fit(total_charge, total_time, moer) elif ( not constraints - and not charge_per_interval + and not charge_per_segment and constant_emission_multiplier and optimization_method == "auto" ) or (optimization_method == "simple"): if not constant_emission_multiplier: - print( + warnings.warn( "Warning: Emissions function is non-constant. Using the simple algorithm is suboptimal." ) self.__simple_fit(total_charge, total_time, moer) - elif not charge_per_interval: + elif not charge_per_segment: self.__diagonal_fit( total_charge, total_time, @@ -648,7 +651,7 @@ def convert_input(c): return c[0], c, True return None, c, False - for c in charge_per_interval: + for c in charge_per_segment: if use_fixed_alg: sc, tc, use_fixed_alg = convert_input(c) single_cpi.append(sc) @@ -657,7 +660,7 @@ def convert_input(c): tuple_cpi.append(convert_input(c)[1]) if use_fixed_alg: assert ( - use_all_intervals + use_all_segments ), "Must use all intervals when interval lengths are fixed!" self.__contiguous_fit( total_charge, @@ -678,7 +681,7 @@ def convert_input(c): emission_multiplier_fn, total_charge ), tuple_cpi, - use_all_intervals, + use_all_segments, constraints, ) @@ -711,7 +714,7 @@ def get_interval_ids(self) -> list: Returns list of the interval ids for each interval. Has a value of -1 for non-charging intervals. Intervals are labeled starting from 0 to n-1 when there are n intervals - Only defined when charge_per_interval variable is given to some fit function + Only defined when charge_per_segment variable is given to some fit function """ return self.__interval_ids @@ -721,4 +724,4 @@ def summary(self): "Expected charging emissions: %.2f lbs" % self.__optimal_charging_emission ) print("Optimal charging schedule:", self.__optimal_charging_schedule) - print("=" * 15) + print("=" * 15) \ No newline at end of file diff --git a/watttime/api_convert.py b/watttime_optimizer/api_convert.py similarity index 97% rename from watttime/api_convert.py rename to watttime_optimizer/api_convert.py index 5109d056..048c6a64 100644 --- a/watttime/api_convert.py +++ b/watttime_optimizer/api_convert.py @@ -22,9 +22,9 @@ def convert_soc_to_soe(soc_power_df, voltage_curve, battery_capacity_coulombs): # Calculate differential SoC for numerical integration delta_soc = np.diff(soc, prepend=0) - charge_per_interval = delta_soc * battery_capacity_coulombs + charge_per_segment = delta_soc * battery_capacity_coulombs # Energy is voltage * charge - energy_kwh = np.cumsum(voltage * charge_per_interval * 0.001 / 3600) + energy_kwh = np.cumsum(voltage * charge_per_segment * 0.001 / 3600) # Normalize so that State of energy goes from 0 to 1 soe_array = energy_kwh / energy_kwh.iloc[-1] diff --git a/watttime_optimizer/api_opt.py b/watttime_optimizer/api_opt.py new file mode 100644 index 00000000..2007074b --- /dev/null +++ b/watttime_optimizer/api_opt.py @@ -0,0 +1,751 @@ +import os +import math +from datetime import datetime, timedelta +from typing import Any, Literal, Optional, Union + +import pandas as pd +from dateutil.parser import parse +from pytz import UTC, timezone +from watttime_optimizer.alg import optCharger, moer +from itertools import accumulate +import bisect + +from watttime.api import WattTimeForecast + + +OPT_INTERVAL = 5 +MAX_PREDICTION_HOURS = 72 + + +class WattTimeOptimizer(WattTimeForecast): + """ + This class inherits from WattTimeForecast, with additional methods to generate + optimal usage plans for energy consumption based on various parameters and + constraints. + + Additional Methods: + -------- + get_optimal_usage_plan(region, usage_window_start, usage_window_end, + usage_time_required_minutes, usage_power_kw, + usage_time_uncertainty_minutes, optimization_method, + moer_data_override) + Generates an optimal usage plan for energy consumption. + """ + + OPT_INTERVAL = 5 + MAX_PREDICTION_HOURS = 72 + MAX_INT = 99999999999999999 + + def get_optimal_usage_plan( + self, + region: str, + usage_window_start: datetime, + usage_window_end: datetime, + usage_time_required_minutes: Optional[Union[int, float]] = None, + usage_power_kw: Optional[Union[int, float, pd.DataFrame]] = None, + energy_required_kwh: Optional[Union[int, float]] = None, + usage_time_uncertainty_minutes: Optional[Union[int, float]] = 0, + charge_per_segment: Optional[list] = None, + use_all_segments: bool = True, + constraints: Optional[dict] = None, + optimization_method: Optional[ + Literal["baseline", "simple", "sophisticated", "auto"] + ] = "baseline", + moer_data_override: Optional[pd.DataFrame] = None, + verbose=True, + ) -> pd.DataFrame: + """ + Generates an optimal usage plan for energy consumption based on given parameters. + + This method calculates the most efficient energy usage schedule within a specified + time window, considering factors such as regional data, power requirements, and + optimization methods. + + You should pass in exactly 2 of 3 parameters of (usage_time_required_minutes, usage_power_kw, energy_required_kwh) + + Parameters: + ----------- + region : str + The region for which forecast data is requested. + usage_window_start : datetime + Start time of the window when power consumption is allowed. + usage_window_end : datetime + End time of the window when power consumption is allowed. + usage_time_required_minutes : Optional[Union[int, float]], default=None + Required usage time in minutes. + usage_power_kw : Optional[Union[int, float, pd.DataFrame]], default=None + Power usage in kilowatts. Can be a constant value or a DataFrame for variable power. + energy_required_kwh : Optional[Union[int, float]], default=None + Energy required in kwh + usage_time_uncertainty_minutes : Optional[Union[int, float]], default=0 + Uncertainty in usage time, in minutes. + charge_per_segment : Optional[list], default=None + Either a list of length-2 tuples representing minimium and maximum (inclusive) charging minutes per interval, + or a list of ints representing both the min and max. [180] OR [(180,180)] + use_all_segments : Optional[bool], default=False + If true, use all intervals provided by charge_per_segment; if false, can use the first few intervals and skip the rest. + constraints : Optional[dict], default=None + A dictionary containing contraints on how much usage must be used before the given time point + optimization_method : Optional[Literal["baseline", "simple", "sophisticated", "auto"]], default="baseline" + The method used for optimization. + moer_data_override : Optional[pd.DataFrame], default=None + Pre-generated MOER (Marginal Operating Emissions Rate) DataFrame, if available. + verbose : default = True + If false, suppresses print statements in the opt charger class. + + Returns: + -------- + pd.DataFrame + A DataFrame representing the optimal usage plan, including columns for + predicted MOER, usage, CO2 emissions, and energy usage. + + Raises: + ------- + AssertionError + If input parameters do not meet specified conditions (e.g., timezone awareness, + valid time ranges, supported optimization methods). + + Notes: + ------ + - The method uses WattTime forecast data unless overridden by moer_data_override. + - It supports various optimization methods and can handle both constant and variable power usage. + - The resulting plan aims to minimize emissions while meeting the specified energy requirements. + """ + + def is_tz_aware(dt): + return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None + + def minutes_to_units(x, floor=False): + """Converts minutes to forecase intervals. Rounds UP by default.""" + if x: + if floor: + return int(x // self.OPT_INTERVAL) + else: + return int(math.ceil(x / self.OPT_INTERVAL)) + return x + + assert is_tz_aware(usage_window_start), "Start time is not tz-aware" + assert is_tz_aware(usage_window_end), "End time is not tz-aware" + + if constraints is None: + constraints = {} + else: + # Convert constraints to a standardized format + raw_constraints = constraints.copy() + constraints = {} + + for ( + constraint_time_clock, + constraint_usage_minutes, + ) in raw_constraints.items(): + constraint_time_minutes = ( + constraint_time_clock - usage_window_start + ).total_seconds() / 60 + constraint_time_units = minutes_to_units(constraint_time_minutes) + constraint_usage_units = minutes_to_units(constraint_usage_minutes) + + constraints.update( + {constraint_time_units: (constraint_usage_units, None)} + ) + + num_inputs = 0 + for input in (usage_time_required_minutes, usage_power_kw, energy_required_kwh): + if input is not None: + num_inputs += 1 + assert ( + num_inputs == 2 + ), "Exactly 2 of 3 inputs in (usage_time_required_minutes, usage_power_kw, energy_required_kwh) required" + if usage_power_kw is None: + usage_power_kw = energy_required_kwh / usage_time_required_minutes * 60 + print("Implied usage_power_kw =", usage_power_kw) + if usage_time_required_minutes is None: + if type(usage_power_kw) in (float, int) and type(energy_required_kwh) in ( + float, + int, + ): + usage_time_required_minutes = energy_required_kwh / usage_power_kw * 60 + print("Implied usage time required =", usage_time_required_minutes) + else: + # TODO: Implement and test + raise NotImplementedError( + "When usage_time_required_minutes is None, only float or int usage_power_kw and energy_required_kwh is supported." + ) + + # Perform these checks if we are using live data + if moer_data_override is None: + datetime_now = datetime.now(UTC) + assert ( + usage_window_end > datetime_now + ), "Error, Window end is before current datetime" + assert usage_window_end - datetime_now < timedelta( + hours=self.MAX_PREDICTION_HOURS + ), "End time is too far in the future" + assert optimization_method in ("baseline", "simple", "sophisticated", "auto"), ( + "Unsupported optimization method:" + optimization_method + ) + if moer_data_override is None: + forecast_df = self.get_forecast_pandas( + region=region, + signal_type="co2_moer", + horizon_hours=self.MAX_PREDICTION_HOURS, + ) + else: + forecast_df = moer_data_override.copy() + forecast_df = forecast_df.set_index("point_time") + forecast_df.index = pd.to_datetime(forecast_df.index) + + relevant_forecast_df = forecast_df[forecast_df.index >= usage_window_start] + relevant_forecast_df = relevant_forecast_df[ + relevant_forecast_df.index < usage_window_end + ] + relevant_forecast_df = relevant_forecast_df.rename( + columns={"value": "pred_moer"} + ) + result_df = relevant_forecast_df[["pred_moer"]] + moer_values = relevant_forecast_df["pred_moer"].values + + m = moer.Moer(mu=moer_values) + + model = optCharger.OptCharger(verbose=verbose) + + total_charge_units = minutes_to_units(usage_time_required_minutes) + if optimization_method in ("sophisticated", "auto"): + # Give a buffer time equal to the uncertainty + buffer_time = usage_time_uncertainty_minutes + if buffer_time > 0: + buffer_periods = minutes_to_units(buffer_time) if buffer_time else 0 + buffer_enforce_time = max( + total_charge_units, len(moer_values) - buffer_periods + ) + constraints.update({buffer_enforce_time: (total_charge_units, None)}) + else: + assert ( + usage_time_uncertainty_minutes == 0 + ), "usage_time_uncertainty_minutes is only supported in optimization_method='sophisticated' or 'auto'" + + if type(usage_power_kw) in (int, float): + # Convert to the MWh used in an optimization interval + # expressed as a function to meet the parameter requirements for OptC function + emission_multiplier_fn = ( + lambda sc, ec: float(usage_power_kw) * 0.001 * self.OPT_INTERVAL / 60.0 + ) + else: + usage_power_kw = usage_power_kw.copy() + # Resample usage power dataframe to an OPT_INTERVAL frequency + usage_power_kw["time_step"] = usage_power_kw["time"] / self.OPT_INTERVAL + usage_power_kw_new_index = pd.DataFrame( + index=[float(x) for x in range(total_charge_units + 1)] + ) + usage_power_kw = pd.merge_asof( + usage_power_kw_new_index, + usage_power_kw.set_index("time_step"), + left_index=True, + right_index=True, + direction="backward", + allow_exact_matches=True, + ) + + def emission_multiplier_fn(sc: float, ec: float) -> float: + """ + Calculate the approximate mean power in the given time range, + in units of MWh used per optimizer time unit. + + sc and ec are float values representing the start and end time of + the time range, in optimizer time units. + """ + value = ( + usage_power_kw[sc : max(sc, ec - 1e-12)]["power_kw"].mean() + * 0.001 + * self.OPT_INTERVAL + / 60.0 + ) + return value + + if charge_per_segment: + # Handle the charge_per_segment input by converting it from minutes to units, rounding up + converted_charge_per_segment = [] + for c in charge_per_segment: + if isinstance(c, int): + converted_charge_per_segment.append(minutes_to_units(c)) + else: + assert ( + len(c) == 2 + ), "Length of tuples in charge_per_segment is not 2" + interval_start_units = minutes_to_units(c[0]) if c[0] else 0 + interval_end_units = ( + minutes_to_units(c[1]) if c[1] else self.MAX_INT + ) + converted_charge_per_segment.append( + (interval_start_units, interval_end_units) + ) + else: + converted_charge_per_segment = None + model.fit( + total_charge=total_charge_units, + total_time=len(moer_values), + moer=m, + constraints=constraints, + charge_per_segment=converted_charge_per_segment, + use_all_segments=use_all_segments, + emission_multiplier_fn=emission_multiplier_fn, + optimization_method=optimization_method, + ) + + optimizer_result = model.get_schedule() + result_df = self._reconcile_constraints( + optimizer_result, + result_df, + model, + usage_time_required_minutes, + charge_per_segment, + ) + + return result_df + + def _reconcile_constraints( + self, + optimizer_result, + result_df, + model, + usage_time_required_minutes, + charge_per_segment, + ): + # Make a copy of charge_per_segment if necessary + if charge_per_segment is not None: + charge_per_segment = charge_per_segment[::] + for i in range(len(charge_per_segment)): + if type(charge_per_segment[i]) == int: + charge_per_segment[i] = ( + charge_per_segment[i], + charge_per_segment[i], + ) + assert len(charge_per_segment[i]) == 2 + processed_start = ( + charge_per_segment[i][0] + if charge_per_segment[i][0] is not None + else 0 + ) + processed_end = ( + charge_per_segment[i][1] + if charge_per_segment[i][1] is not None + else self.MAX_INT + ) + + charge_per_segment[i] = (processed_start, processed_end) + + if not charge_per_segment: + # Handle case without charge_per_segment constraints + total_usage_intervals = sum(optimizer_result) + current_usage_intervals = 0 + usage_list = [] + for to_charge_binary in optimizer_result: + current_usage_intervals += to_charge_binary + if current_usage_intervals < total_usage_intervals: + usage_list.append(to_charge_binary * float(self.OPT_INTERVAL)) + else: + # Partial interval + minutes_to_trim = ( + total_usage_intervals * self.OPT_INTERVAL + - usage_time_required_minutes + ) + usage_list.append( + to_charge_binary * float(self.OPT_INTERVAL - minutes_to_trim) + ) + result_df["usage"] = usage_list + else: + # Process charge_per_segment constraints + result_df["usage"] = [ + x * float(self.OPT_INTERVAL) for x in optimizer_result + ] + usage = result_df["usage"].values + sections = [] + interval_ids = model.get_interval_ids() + + def get_min_max_indices(lst, x): + # Find the first occurrence of x + min_index = lst.index(x) + # Find the last occurrence of x + max_index = len(lst) - 1 - lst[::-1].index(x) + return min_index, max_index + + for interval_id in range(0, max(interval_ids) + 1): + assert ( + interval_id in interval_ids + ), "interval_id not found in interval_ids" + sections.append(get_min_max_indices(interval_ids, interval_id)) + + # Adjust sections to satisfy charge_per_segment constraints + for i, (start, end) in enumerate(sections): + section_usage = usage[start : end + 1] + total_minutes = section_usage.sum() + + # Get the constraints for this section + if isinstance(charge_per_segment[i], int): + min_minutes, max_minutes = ( + charge_per_segment[i], + charge_per_segment[i], + ) + else: + min_minutes, max_minutes = charge_per_segment[i] + + # Adjust the section to fit the constraints + if total_minutes < min_minutes: + raise ValueError( + f"Cannot meet the minimum charging constraint of {min_minutes} minutes for section {i}." + ) + elif total_minutes > max_minutes: + # Reduce usage to fit within the max_minutes + excess_minutes = total_minutes - max_minutes + for j in range(len(section_usage)): + if section_usage[j] > 0: + reduction = min(section_usage[j], excess_minutes) + section_usage[j] -= reduction + excess_minutes -= reduction + if excess_minutes <= 0: + break + usage[start : end + 1] = section_usage + result_df["usage"] = usage + + # Recalculate these values approximately, based on the new "usage" column + # Note: This is approximate since it assumes that + # the charging emissions over time of the unrounded values are similar to the rounded values + result_df["emissions_co2_lb"] = ( + model.get_charging_emissions_over_time() + * result_df["usage"] + / self.OPT_INTERVAL + ) + result_df["energy_usage_mwh"] = ( + model.get_energy_usage_over_time() * result_df["usage"] / self.OPT_INTERVAL + ) + + return result_df + + +class WattTimeRecalculator: + """A class to manage and update charging schedules over time. + + This class maintains a list of charging schedules and their associated time contexts, + allowing for updates and recalculations of remaining charging time required. + + Attributes: + all_schedules (list): List of tuples containing (schedule, time_context) pairs + total_time_required (int): Total charging time needed in minutes + end_time (datetime): Final deadline for the charging schedule + charge_per_segment (list): List of charging durations per interval + is_contiguous (bool): Flag indicating if charging must be contiguous + sleep_delay(bool): Flag indicating if next query time must be delayed + contiguity_values_dict (dict): Dictionary storing contiguity-related values + """ + + def __init__( + self, + initial_schedule: pd.DataFrame, + start_time: datetime, + end_time: datetime, + total_time_required: int, + contiguous=False, + charge_per_segment: Optional[list] = None, + ) -> None: + """Initialize the Recalculator with an initial schedule. + + Args: + initial_schedule (pd.DataFrame): Starting charging schedule + start_time (datetime): Start time for the schedule + end_time (datetime): End time for the schedule + total_time_required (int): Total charging time needed in minutes + charge_per_segment (list): List of charging durations per interval + """ + self.OPT_INTERVAL = 5 + self.all_schedules = [(initial_schedule, (start_time, end_time))] + self.end_time = end_time + self.total_time_required = total_time_required + self.charge_per_segment = charge_per_segment + self.is_contiguous = contiguous + self.sleep_delay = False + self.contiguity_values_dict = { + "delay_usage_window_start": None, + "delay_in_minutes": None, + "delay_in_intervals": None, + "remaining_time_required": None, + "remaining_units_required": None, + "num_segments_complete": None, + } + + self.total_available_units = self.minutes_to_units( + int(int((self.end_time - start_time).total_seconds()) / 60) + ) + + def is_tz_aware(dt): + return dt.tzinfo is not None and dt.tzinfo.utcoffset(dt) is not None + + def minutes_to_units(self, x, floor=False): + """Converts minutes to forecase intervals. Rounds UP by default.""" + if x: + if floor: + return int(x // self.OPT_INTERVAL) + else: + return int(math.ceil(x / self.OPT_INTERVAL)) + return x + + def get_remaining_units_required(self, next_query_time): + _minutes = self.get_remaining_time_required(next_query_time) + return self.minutes_to_units(_minutes) + + def get_remaining_time_required(self, next_query_time: datetime): + """Calculate remaining charging time needed at a given query time. + + Args: + next_query_time (datetime): Time from which to calculate remaining time + + Returns: + int: Remaining charging time required in minutes + """ + if len(self.all_schedules) == 0: + return self.total_time_required + + combined_schedule = self.get_combined_schedule() + t = next_query_time - timedelta(minutes=5) + + usage_in_minutes = combined_schedule.loc[:t]["usage"].sum() + + return self.total_time_required - usage_in_minutes + + def set_last_schedule_end_time(self, next_query_time: datetime): + """Update the end time of the most recent schedule. + + Args: + next_query_time (datetime): New end time for the last schedule + + Raises: + AssertionError: If new end time is before start time + """ + if len(self.all_schedules) > 0: + schedule, ctx = self.all_schedules[-1] + self.all_schedules[-1] = (schedule, (ctx[0], next_query_time)) + assert ctx[0] < next_query_time + + def update_charging_schedule( + self, + next_query_time: datetime, + next_new_schedule_start_time=None, + new_schedule: Optional[pd.DataFrame] = None, + ): + """ + Update charging schedule and contiguity values. + + Args: + next_query_time: Current query time + next_new_schedule_start_time: Start time for next schedule + new_schedule: New charging schedule to add + """ + + def _protocol_no_new_schedule(next_new_schedule_start_time): + """ + 1. Confirm that charging is not in progress and sleep delay is not required + """ + if self.is_contiguous is True: + self.sleep_delay = self.check_if_contiguity_sleep_required( + self.all_schedules[0][0], next_new_schedule_start_time + ) + else: + pass + + def _protocol_new_schedule( + new_schedule, next_query_time, next_new_schedule_start_time + ): + """ + 1. Modify previous schedule to end at "next_query_time" + 2. Append new schedule to record of existing schedules + 3. Confirm that charging is not in progress and sleep delay is not required + """ + self.set_last_schedule_end_time(next_query_time) + self.all_schedules.append((new_schedule, (next_query_time, self.end_time))) + if self.is_contiguous is True: + self.sleep_delay = self.check_if_contiguity_sleep_required( + new_schedule, next_new_schedule_start_time + ) + + def _protocol_sleep_delay(next_new_schedule_start_time): + print("sleep protocol activated...") + assert ( + next_new_schedule_start_time is not None + ), "Sleep delay next new time is None" + s = ( + self.get_combined_schedule().loc[next_new_schedule_start_time:]["usage"] + == 0 + ) + delay_time = ( + self.end_time + if s[s == True].empty == True + else s[s == True].index.min() + ) + self.contiguity_values_dict = { + "delay_usage_window_start": delay_time, + "delay_in_minutes": len(s[s == False]) * 5, + "delay_in_intervals": len(s[s == False]), + "remaining_units_required": self.get_remaining_units_required( + delay_time + ), + "remaining_time_required": self.get_remaining_time_required(delay_time), + } + + self.contiguity_values_dict["num_segments_complete"] = ( + self.number_segments_complete( + next_query_time=self.contiguity_values_dict[ + "delay_usage_window_start" + ] + ) + ) + + if new_schedule is None: + _protocol_no_new_schedule(next_new_schedule_start_time) + else: + _protocol_new_schedule( + new_schedule, next_query_time, next_new_schedule_start_time + ) + + if self.sleep_delay is True: + _protocol_sleep_delay(next_new_schedule_start_time) + else: + self.contiguity_values_dict = { + "delay_usage_window_start": None, + "delay_in_minutes": None, + "delay_in_intervals": None, + "remaining_units_required": self.get_remaining_units_required( + next_query_time + ), + "remaining_time_required": self.get_remaining_time_required( + next_query_time + ), + "num_segments_complete": self.number_segments_complete( + next_query_time=next_query_time + ), + } + + def get_combined_schedule(self, end_time: datetime = None) -> pd.DataFrame: + """Combine all schedules into a single DataFrame. + + Args: + end_time (datetime, optional): Optional cutoff time for the combined schedule + + Returns: + pd.DataFrame: Combined schedule of all charging segments + """ + schedule_segments = [] + for s, ctx in self.all_schedules: + schedule_segments.append(s[s.index < ctx[1]]) + combined_schedule = pd.concat(schedule_segments) + + if end_time: + last_segment_start_time = end_time + combined_schedule = combined_schedule.loc[:last_segment_start_time] + + return combined_schedule + + def check_if_contiguity_sleep_required(self, usage_plan, next_query_time): + """Check if charging needs to be paused for contiguity. + + Args: + usage_plan (pd.DataFrame): Planned charging schedule + next_query_time (datetime): Time of next schedule update + + Returns: + bool: True if charging needs to be paused + """ + return bool( + usage_plan.loc[(next_query_time - timedelta(minutes=5))]["usage"] > 0 + ) + + def number_segments_complete(self, next_query_time: datetime = None): + """Calculate number of completed charging segments. + + Args: + next_query_time (datetime, optional): Time to check completion status + + Returns: + int: Number of completed charging segments + """ + if self.is_contiguous is True: + combined_schedule = self.get_combined_schedule() + completed_schedule = combined_schedule.loc[:next_query_time] + charging_indicator = completed_schedule["usage"].astype(bool).sum() + return bisect.bisect_right( + list(accumulate(self.charge_per_segment)), (charging_indicator * 5) + ) + else: + return None + + +class RequerySimulator: + def __init__( + self, + moers_list, + requery_dates, + region="CAISO_NORTH", + window_start=datetime(2025, 1, 1, hour=21, second=1, tzinfo=UTC), + window_end=datetime(2025, 1, 2, hour=8, second=1, tzinfo=UTC), + usage_time_required_minutes=240, + usage_power_kw=2, + charge_per_segment=None, + ): + self.moers_list = moers_list + self.requery_dates = requery_dates + self.region = region + self.window_start = window_start + self.window_end = window_end + self.usage_time_required_minutes = usage_time_required_minutes + self.usage_power_kw = usage_power_kw + self.charge_per_segment = charge_per_segment + + self.username = os.getenv("WATTTIME_USER") + self.password = os.getenv("WATTTIME_PASSWORD") + self.wt_opt = WattTimeOptimizer(self.username, self.password) + + def _get_initial_plan(self): + return self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=self.window_start, + usage_window_end=self.window_end, + usage_time_required_minutes=self.usage_time_required_minutes, + usage_power_kw=self.usage_power_kw, + charge_per_segment=self.charge_per_segment, + optimization_method="simple", + moer_data_override=self.moers_list[0][["point_time", "value"]], + ) + + def simulate(self): + initial_plan = self._get_initial_plan() + recalculator = WattTimeRecalculator( + initial_schedule=initial_plan, + start_time=self.window_start, + end_time=self.window_end, + total_time_required=self.usage_time_required_minutes, + charge_per_segment=self.charge_per_segment, + ) + + # check to see the status of my segments to know if I should requery at all + # if I do need to requery, then I need time required + segments remaining + # if I don't then I store the state of my recalculator as is + + for i, new_window_start in enumerate(self.requery_dates[1:], 1): + new_time_required = recalculator.get_remaining_time_required( + new_window_start + ) + if new_time_required > 0.0: + next_plan = self.wt_opt.get_optimal_usage_plan( + region=self.region, + usage_window_start=new_window_start, + usage_window_end=self.window_end, + usage_time_required_minutes=new_time_required, + usage_power_kw=self.usage_power_kw, + charge_per_segment=self.charge_per_segment, + optimization_method="simple", + moer_data_override=self.moers_list[i][["point_time", "value"]], + ) + recalculator.update_charging_schedule( + new_schedule=next_plan, + next_query_time=new_window_start, + next_new_schedule_start_time=None, + ) + else: + return recalculator diff --git a/watttime_optimizer/battery.py b/watttime_optimizer/battery.py new file mode 100644 index 00000000..07ecd12b --- /dev/null +++ b/watttime_optimizer/battery.py @@ -0,0 +1,314 @@ +# encode the variable power curves +from dataclasses import dataclass +import pandas as pd +import numpy as np +import matplotlib.pyplot as plt + +@dataclass +class Battery: + capacity_kWh: float + charging_curve: pd.DataFrame # columns SoC and kW + initial_soc: float = 0.2 + + def plot_charging_curve(self, ax=None): + """Plot the variabel charging curve of the battery""" + ax = self.charging_curve.set_index("SoC").plot( + ax=ax, + grid=True, + ylabel="kW", + legend=False, + title=f"Charging curve \nBattery capacity: {self.capacity_kWh} kWh" + ) + if ax is None: + plt.show() + + def get_usage_power_kw_df(self, max_capacity_fraction=0.95): + """ + Output the variable charging curve in the format that optimizer accepts. + That is, dataframe with index "time" in minutes and "power_kw" which + tells us the average power consumption in a five minute interval + after an elapsed amount of time of charging. + """ + capacity_kWh = self.capacity_kWh + initial_soc = self.initial_soc + # convert SoC column to numpy array for faster access + soc_array = self.charging_curve["SoC"].values + kW_array = self.charging_curve["kW"].values + + def get_kW_at_SoC(soc): + """Linear interpolation to get charging rate at any SoC.""" + idx = np.searchsorted(soc_array, soc) + if idx == 0: + return kW_array[0] + elif idx >= len(soc_array): + return kW_array[-1] + m1, m2 = soc_array[idx - 1], soc_array[idx] + p1, p2 = kW_array[idx - 1], kW_array[idx] + return p1 + (soc - m1) / (m2 - m1) * (p2 - p1) + + # iterate over seconds + result = [] + secs_elapsed = 0 + charged_kWh = capacity_kWh * initial_soc + kW_by_second = [] + while charged_kWh < capacity_kWh * max_capacity_fraction: + secs_elapsed += 1 + curr_soc = charged_kWh / capacity_kWh + curr_kW = get_kW_at_SoC(curr_soc) + kW_by_second.append(curr_kW) + charged_kWh += curr_kW / 3600 + + if secs_elapsed % 300 == 0: + result.append((int(secs_elapsed / 60 - 5), pd.Series(kW_by_second).mean())) + kW_by_second = [] + + return pd.DataFrame(columns=["time", "power_kw"], data=result) + + +CARS_L3 = { + # pulled data from https://www.fastnedcharging.com/en/brands-overview + # this is a subset of the cars + "audi": [ # 71kWh, https://www.fastnedcharging.com/en/brands-overview/audi + [0.0, 120.0], + [0.6, 120.0], + [1.0, 30.0], + ], + "bmw": [ # 42.2kWh, https://www.fastnedcharging.com/en/brands-overview/bmw + [0.0, 40.0], + [0.85, 50.0], + [1.0, 5.0], + ], + 'bolt':[ + [0.0, 50.0], + [0.5, 50.0], + [0.93, 20.0], + [1.0, 0.5], + ], + "honda": [ # 35.5kWh, https://www.fastnedcharging.com/en/brands-overview/honda + [0.0, 40.0], + [0.4, 40.0], + [0.41, 30.0], + [0.70, 30.0], + [0.71, 20.0], + [0.95, 20.0], + [1.0, 10.0], + ], + "lucid": [ # 112kWh https://www.fastnedcharging.com/en/brands-overview/lucid + [0.0, 300.0], + [1.0, 50.0], + ], + "mazda": [ #35.5kWh https://www.fastnedcharging.com/en/brands-overview/mazda + [0.0, 50.0], + [0.2, 50.0], + [0.21, 40.0], + [1.0, 10.0], + ], + "subaru": [ # 75kWh https://www.fastnedcharging.com/en/brands-overview/subaru + [0.0, 150.0], + [0.25, 150.0], + [0.85, 30.0], + [1.00, 30.0], + ], + "tesla": [ # ??kWh https://www.fastnedcharging.com/en/brands-overview/tesla + [0.0, 180.0], + [0.4, 190.0], + [0.9, 40.0], + [1.0, 40.0], + ], + "volkswagen": [ # 24.2kWh https://www.fastnedcharging.com/en/brands-overview/volkswagen?model=e-Golf + [0.0, 40.0], + [0.1, 40.0], + [0.75, 45.0], + [0.81, 23.0], + [0.92, 17.0], + [0.95, 9.0], + [1.0, 9.0], + ] +} + +TZ_DICTIONARY = { + "AECI": "America/Chicago", + "AVA": "America/Los_Angeles", + "AZPS": "America/Phoenix", + "BANC": "America/Los_Angeles", + "BPA": "America/Los_Angeles", + "CAISO_ESCONDIDO": "America/Los_Angeles", + "CAISO_LONGBEACH": "America/Los_Angeles", + "CAISO_NORTH": "America/Los_Angeles", + "CAISO_PALMSPRINGS": "America/Los_Angeles", + "CAISO_REDDING": "America/Los_Angeles", + "CAISO_SANBERNARDINO": "America/Los_Angeles", + "CAISO_SANDIEGO": "America/Los_Angeles", + "CHPD": "America/Los_Angeles", + "CPLE": "America/New_York", + "CPLW": "America/New_York", + "DOPD": "America/Los_Angeles", + "DUK": "America/New_York", + "ELE": "America/Denver", + "ERCOT_AUSTIN": "America/Chicago", + "ERCOT_COAST": "America/Chicago", + "ERCOT_EASTTX": "America/Chicago", + "ERCOT_HIDALGO": "America/Chicago", + "ERCOT_NORTHCENTRAL": "America/Chicago", + "ERCOT_PANHANDLE": "America/Chicago", + "ERCOT_SANANTONIO": "America/Chicago", + "ERCOT_SECOAST": "America/Chicago", + "ERCOT_SOUTHTX": "America/Chicago", + "ERCOT_WESTTX": "America/Chicago", + "FMPP": "America/New_York", + "FPC": "America/New_York", + "FPL": "America/New_York", + "GVL": "America/New_York", + "IID": "America/Los_Angeles", + "IPCO": "America/Boise", + "ISONE_CT": "America/New_York", + "ISONE_ME": "America/New_York", + "ISONE_NEMA": "America/New_York", + "ISONE_NH": "America/New_York", + "ISONE_RI": "America/New_York", + "ISONE_SEMA": "America/New_York", + "ISONE_VT": "America/New_York", + "ISONE_WCMA": "America/New_York", + "JEA": "America/New_York", + "LDWP": "America/Los_Angeles", + "LGEE": "America/New_York", + "MISO_INDIANAPOLIS": "America/Indiana/Indianapolis", + "MISO_N_DAKOTA": "America/North_Dakota/Center", + "MPCO": "America/Denver", + "NEVP": "America/Los_Angeles", + "NYISO_NYC": "America/New_York", + "PACE": "America/Denver", + "PACW": "America/Los_Angeles", + "PGE": "America/Los_Angeles", + "PJM_CHICAGO": "America/Chicago", + "PJM_DC": "America/New_York", + "PJM_EASTERN_KY": "America/New_York", + "PJM_EASTERN_OH": "America/New_York", + "PJM_ROANOKE": "America/New_York", + "PJM_NJ": "America/New_York", + "PJM_SOUTHWEST_OH": "America/New_York", + "PJM_WESTERN_KY": "America/New_York", + "PNM": "America/Denver", + "PSCO": "America/Denver", + "PSEI": "America/Los_Angeles", + "SC": "America/New_York", + "SCEG": "America/New_York", + "SCL": "America/Los_Angeles", + "SEC": "America/New_York", + "SOCO": "America/Chicago", + "SPA": "America/Chicago", + "SPP_FORTPECK": "America/Denver", + "SPP_KANSAS": "America/Chicago", + "SPP_KC": "America/Chicago", + "SPP_MEMPHIS": "America/Chicago", + "SPP_ND": "America/North_Dakota/Beulah", + "SPP_OKCTY": "America/Chicago", + "SPP_SIOUX": "America/Chicago", + "SPP_SPRINGFIELD": "America/Chicago", + "SPP_SWOK": "America/Chicago", + "SPP_TX": "America/Chicago", + "SPP_WESTNE": "America/Chicago", + "SRP": "America/Phoenix", + "TAL": "America/New_York", + "TEC": "America/New_York", + "TEPC": "America/Phoenix", + "TID": "America/Los_Angeles", + "TPWR": "America/Los_Angeles", + "TVA": "America/Chicago", + "WACM": "America/Denver", + "WALC": "America/Phoenix", + "WAUW": "America/Denver", +} + +MOER_REGION_LIST = [ + "AECI", + "AVA", + "AZPS", + "BANC", + "BPA", + "CAISO_ESCONDIDO", + "CAISO_LONGBEACH", + "CAISO_NORTH", + "CAISO_PALMSPRINGS", + "CAISO_REDDING", + "CAISO_SANBERNARDINO", + "CAISO_SANDIEGO", + "CHPD", + "CPLE", + "CPLW", + "DOPD", + "DUK", + "ELE", + "ERCOT_AUSTIN", + "ERCOT_COAST", + "ERCOT_EASTTX", + "ERCOT_HIDALGO", + "ERCOT_NORTHCENTRAL", + "ERCOT_PANHANDLE", + "ERCOT_SANANTONIO", + "ERCOT_SECOAST", + "ERCOT_SOUTHTX", + "ERCOT_WESTTX", + "FMPP", + "FPC", + "FPL", + "GVL", + "IID", + "IPCO", + "ISONE_CT", + "ISONE_ME", + "ISONE_NEMA", + "ISONE_NH", + "ISONE_RI", + "ISONE_SEMA", + "ISONE_VT", + "ISONE_WCMA", + "JEA", + "LDWP", + "LGEE", + "MISO_INDIANAPOLIS", + "MISO_N_DAKOTA", + "MPCO", + "NEVP", + "NYISO_NYC", + "PACE", + "PACW", + "PGE", + "PJM_CHICAGO", + "PJM_DC", + "PJM_EASTERN_KY", + "PJM_EASTERN_OH", + "PJM_NJ", + "PJM_SOUTHWEST_OH", + "PJM_WESTERN_KY", + "PNM", + "PSCO", + "PSEI", + "SC", + "SCEG", + "SCL", + "SEC", + "SOCO", + "SPA", + "SPP_FORTPECK", + "SPP_KANSAS", + "SPP_KC", + "SPP_MEMPHIS", + "SPP_ND", + "SPP_OKCTY", + "SPP_SIOUX", + "SPP_SPRINGFIELD", + "SPP_SWOK", + "SPP_TX", + "SPP_WESTNE", + "SRP", + "TAL", + "TEC", + "TEPC", + "TID", + "TPWR", + "TVA", + "WACM", + "WALC", + "WAUW", +] \ No newline at end of file diff --git a/watttime_optimizer/evaluator/__init__.py b/watttime_optimizer/evaluator/__init__.py new file mode 100644 index 00000000..faf2b222 --- /dev/null +++ b/watttime_optimizer/evaluator/__init__.py @@ -0,0 +1 @@ +from watttime.api import * \ No newline at end of file diff --git a/watttime_optimizer/evaluator/analysis.py b/watttime_optimizer/evaluator/analysis.py new file mode 100644 index 00000000..c2e22b92 --- /dev/null +++ b/watttime_optimizer/evaluator/analysis.py @@ -0,0 +1,87 @@ + +from watttime_optimizer.evaluator.evaluator import RecalculationOptChargeEvaluator +from watttime_optimizer.evaluator.evaluator import OptChargeEvaluator +from watttime_optimizer.evaluator.evaluator import ImpactEvaluator +import numpy as np +import tqdm + + +def plot_predicated_moer(df): + df.pred_moer.plot( + title = "Predicted MOER", + ylabel="co2/lb", + xlabel="Time of Day" + ) + +def plot_charging_units(df): + df.usage.plot( + title = "Scheduled Units of Charge", + xlabel="Time of Day", + ylabel="Minutes" + ) + +def plot_scheduled_moer(df): + df.emissions_co2_lb.plot( + title = "MOER - Forecasted Usage", + xlabel="Time of Day", + ylabel="co2/lb" + ) + +# 4 seconds per row, mostly API call +def analysis_loop(region, input_dict,username,password): + oce = OptChargeEvaluator(username=username,password=password) + results = {} + for key,value in tqdm.tqdm(input_dict.items()): + value.update({'region':region,'tz_convert':True, "verbose":False}) + df = oce.get_schedule_and_cost_api(**value) + m, b = np.polyfit(np.arange(len(df.pred_moer.values)),df.pred_moer.values, 1) + stddev = df.pred_moer.std() + r = ImpactEvaluator(username,password,df).get_all_emissions_metrics(region=region) + r.update({'m':m,'b':b,'stddev':stddev}) + results.update({key:r}) + return results + +# 4 seconds per row, mostly API call +def analysis_loop_requery(region, input_dict, interval,username,password): + roce = RecalculationOptChargeEvaluator(username,password) + results = {} + for key,value in tqdm.tqdm(input_dict.items()): + value.update( + {'region':region, + 'tz_convert':True, + "optimization_method": "auto", + "verbose":False, + "interval":interval, + "charge_per_segment":None} + ) + df = roce.fit_recalculator(**value).get_combined_schedule() + m, b = np.polyfit(np.arange(len(df.pred_moer.values)),df.pred_moer.values, 1) + stddev = df.pred_moer.std() + r = ImpactEvaluator(username,password,df).get_all_emissions_metrics(region=region) + r.update({'m':m,'b':b,'stddev':stddev}) + results.update({key:r}) + return results + +# 4 seconds per row, mostly API call +def analysis_loop_requery_contiguous(region, input_dict, interval,username,password): + roce = RecalculationOptChargeEvaluator(username,password) + results = {} + for key,value in tqdm.tqdm(input_dict.items()): + charge_per_segment = [int(value["time_needed"])] + value.update( + {'region':region, + 'tz_convert':True, + "optimization_method": "auto", + "verbose":False, + "interval":interval, + "contiguous":True, + "charge_per_segment":charge_per_segment + } + ) + df = roce.fit_recalculator(**value).get_combined_schedule() + m, b = np.polyfit(np.arange(len(df.pred_moer.values)),df.pred_moer.values, 1) + stddev = df.pred_moer.std() + r = ImpactEvaluator(username,password,df).get_all_emissions_metrics(region=region) + r.update({'m':m,'b':b,'stddev':stddev}) + results.update({key:r}) + return results \ No newline at end of file diff --git a/watttime_optimizer/evaluator/evaluator.py b/watttime_optimizer/evaluator/evaluator.py new file mode 100644 index 00000000..198e5eb8 --- /dev/null +++ b/watttime_optimizer/evaluator/evaluator.py @@ -0,0 +1,372 @@ +from watttime.api import WattTimeForecast, WattTimeHistorical +from watttime_optimizer.api_opt import WattTimeOptimizer, WattTimeRecalculator +import pandas as pd +from watttime_optimizer.evaluator.utils import convert_to_utc, get_timezone_from_dict +import numpy as np +from typing import Optional +from datetime import timedelta +import matplotlib.pyplot as plt + +class ImpactEvaluator: + def __init__(self, username:str, password:str, obj: pd.DataFrame, region:Optional[str] = 'CAISO_NORTH'): + """ + Evaluates the impact of a charging schedule. + + Parameters: + ----------- + username : str + API username + password : str + API password + obj: pd.DataFrame + Watttime Optimizer results frame. + """ + self.actuals = WattTimeHistorical(username,password) + self.obj = obj + self.region=region + + def get_historical_actual_data(self, region:str = None): + """ + Retrieve historical actual data for a specific plug-in time, horizon, and region. + + Parameters: + ----------- + region : str + The region for which to retrieve the actuals data. + + Returns: + -------- + pd.DataFrame + A DataFrame containing historical actuals data. + """ + + if region is None: + region = self.region + + session_start_time = self.obj.index[0] + session_end_time = self.obj.index[-1] + + return self.actuals.get_historical_pandas( + start=session_start_time, + end=session_end_time, + region=region, + ) + + def get_historical_forecast_data(self): + """ + Retrieve historical actual data for a specific plug-in time, horizon, and region. + + Parameters: + ----------- + region : str + The region for which to retrieve the actuals data. + + Returns: + -------- + pd.DataFrame + A DataFrame containing historical actuals data. + """ + + return self.obj["pred_moer"] + + def get_charging_schedule(self): + """ + Extract and flatten usage values from input data + Args: + x: Input dictionary containing 'usage' key + Returns: + Flattened array of usage values + """ + return self.obj["usage"].values.flatten() + + def get_energy_usage(self): + """ + Extract and flatten usage values from input data + Args: + x: Input dictionary containing 'usage' key + Returns: + Flattened array of usage values + """ + return self.obj["energy_usage_mwh"].values.flatten() + + def get_actual_emissions(self,region:str): + """ + Calculate total CO2 emissions in pounds + Args: + region: eGrid region for API + Returns: + Sum of CO2 emissions + """ + moer = self.get_historical_actual_data(region)['value'].values + energy_usage_mwh = self.get_energy_usage() + + return np.multiply(moer, energy_usage_mwh) + + def get_forecast_emissions(self): + """ + Calculate total CO2 emissions in pounds + Args: + x: Input dictionary containing 'emissions_co2_lb' key + Returns: + Sum of CO2 emissions + """ + return self.obj["emissions_co2_lb"] + + def get_baseline_emissions(self,region:str): + """ + Calculate total CO2 emissions in pounds. + Assumes device did not follow an optimized schedule. + """ + energy_usage_mwh = self.get_energy_usage() + N = len(energy_usage_mwh[energy_usage_mwh<=0]) + moer = self.get_historical_actual_data(region)['value'].values + + return np.multiply(moer, np.pad(energy_usage_mwh[energy_usage_mwh>0], (0, N), 'constant')) + + def get_all_emissions_metrics(self,region:str): + return { + 'baseline': self.get_baseline_emissions(region).sum(), + 'forecast': self.get_forecast_emissions().sum(), + 'actual':self.get_actual_emissions(region).sum() + } + + def get_all_emissions_values(self,region:str): + df = pd.DataFrame(self.get_forecast_emissions()).rename({"emissions_co2_lb":"forecast"},axis=1) + df["baseline"] = self.get_baseline_emissions(region) + df["actual"] = self.get_actual_emissions(region) + return df + + def plot_predicated_moer(self): + self.obj["pred_moer"].plot() + + def plot_usage_schedule(self): + self.obj['usage'].plot() + + def get_timeseries_stats(self,df: pd.DataFrame, col:str = "pred_moer"): + ''' Dispersion, slope, and intercept of the moer forecast''' + m, b = np.polyfit(np.arange(len(df[col].values)),df[col].values, 1) + stddev = df[col].std() + mean = df[col].mean() + return { + 'm':m, + 'b':b, + 'stddev':stddev, + 'mean': mean + } + + def plot_impact(self, region:str): + act = self.get_historical_actual_data(region=region).set_index("point_time") + df = self.get_all_emissions_values(region=region) + + x = df.index + y0 = (df['actual'] > 0).astype(int).values + y1 = (df['baseline'] > 0).astype(int).values + y2 = act.value.values + + # Create the main plot + fig, ax1 = plt.subplots() + + # Plot the first data set + ax1.plot(x, y1, 'b-', alpha=.2, label="ASAP Schedule") + ax1.plot(x,y0,'g-',alpha=.2, label="Optimized Schedule") + ax1.set_xlabel('Time') + ax1.set_ylabel('Usage Fraction (5 minute interval)', color='blue') + ax1.tick_params('y', colors='b') + ax1.fill_between(x,y0,0, where=y0>0,color='green', alpha=.2) + ax1.fill_between(x,y1,0, where=y1>0,color='blue', alpha=.2) + + # Create the second y-axis + ax2 = ax1.twinx() + + # Plot the second data set + ax2.plot(x, y2, 'r-') + ax2.set_ylabel('Actual Historic MOER (co2/lb)', color='r') + ax2.tick_params('y', colors='r') + + # Display the plot + ax1.legend(loc = "best", bbox_to_anchor=(0.5, 0., 0.5, 0.5)) + plt.show() + + +class OptChargeEvaluator(WattTimeOptimizer): + """ + This class inherits from WattTimeOptimizer + + Additional Methods: + [] + """ + def moer_data_override(self, start_time, end_time, region, local_tz = None): + if local_tz: + time_zone = get_timezone_from_dict(local_tz) + start_time = pd.Timestamp(convert_to_utc(start_time, time_zone)) + end_time = pd.Timestamp(convert_to_utc(end_time, time_zone)) + + forecast_history = WattTimeForecast(self.username,self.password) + df = forecast_history.get_historical_forecast_pandas( + start=start_time, + end=end_time, + region=region + ) + return df[df.generated_at == df.generated_at.min()] + + def tz_conversion(self,time,region): + return pd.Timestamp(convert_to_utc(time,get_timezone_from_dict(region))) + + def get_schedule_and_cost_api( + self, + usage_window_start: pd.Timestamp, + usage_window_end: pd.Timestamp, + usage_power_kw: float, + time_needed: float, + region:str = 'CAISO_NORTH', + optimization_method: str = "auto", + constraints: Optional[dict] = None, + charge_per_segment: Optional[list] = None, + tz_convert: bool = False, + verbose:bool=False + ) -> pd.DataFrame: + """ + Generate optimal charging schedule based on MOER forecasts. + + Parameters: + ----------- + usage_power_kw : float + Power usage in kilowatts + time_needed : float + Required charging time in minutes + total_time_horizon : int + Total scheduling horizon in intervals + moer_data : pd.DataFrame + MOER forecast data + optimization_method : str, optional + Optimization method (default: "auto") + charge_per_segment : list, optional + List of charging constraints per interval + + Returns: + -------- + pd.DataFrame + Optimal charging schedule with emissions data + """ + + if tz_convert is True: + usage_window_start = self.tz_conversion(usage_window_start,region) + usage_window_end = self.tz_conversion(usage_window_end, region) + + # Generate optimal usage plan + schedule = self.get_optimal_usage_plan( + region=None, + usage_window_start=usage_window_start, + usage_window_end=usage_window_end, + usage_time_required_minutes=time_needed, + usage_power_kw=usage_power_kw, + optimization_method=optimization_method, + moer_data_override=self.moer_data_override(start_time = usage_window_start, end_time = usage_window_end, region=region), + charge_per_segment=charge_per_segment, + constraints=constraints, + verbose=verbose + ) + + # Validate emissions data + if schedule["emissions_co2_lb"].sum() == 0.0: + self._log_zero_emissions_warning( + usage_power_kw, + time_needed, + schedule["usage"].sum() + ) + + return schedule + + def _log_zero_emissions_warning( + self, + power: float, + time_needed: float, + total_usage: float + ) -> None: + """Log warning when zero emissions are detected.""" + print( + "Warning using 0.0 lb of CO2e:", + power, + time_needed, + total_usage + ) +class RecalculationOptChargeEvaluator(OptChargeEvaluator): + ''' + TODO add notes on compatibility. + ''' + + def next_query_time(self,time,interval): + return time + timedelta(minutes=interval) + + def fit_recalculator( + self, + usage_window_start: pd.Timestamp, + usage_window_end: pd.Timestamp, + usage_power_kw: float, + time_needed: float, + interval: int = 60, + region:str = 'CAISO_NORTH', + optimization_method: str = "auto", + constraints: Optional[dict] = None, + charge_per_segment: Optional[list] = None, + tz_convert: bool = False, + verbose:bool=False, + contiguous:bool=False + ): + if tz_convert is True: + print('tz converting...') + usage_window_start = self.tz_conversion(usage_window_start,region) + usage_window_end = self.tz_conversion(usage_window_end, region) + + initial_usage_plan = self.get_schedule_and_cost_api( + region = region, + usage_window_start=usage_window_start, + usage_window_end=usage_window_end, + time_needed=time_needed, + usage_power_kw=usage_power_kw, + charge_per_segment=charge_per_segment, + optimization_method=optimization_method, + constraints=constraints, + verbose=verbose, + tz_convert=False + ) + + recalculator = WattTimeRecalculator( + initial_schedule = initial_usage_plan, + start_time=usage_window_start, + end_time=usage_window_end, + total_time_required=time_needed, + charge_per_segment=charge_per_segment, + contiguous=contiguous + ) + + recalculator.update_charging_schedule( + next_query_time=usage_window_start, + next_new_schedule_start_time=self.next_query_time(usage_window_start, interval) + ) + + optimization_outcomes = recalculator.contiguity_values_dict + start_time = self.next_query_time(usage_window_start, interval) + while optimization_outcomes["remaining_units_required"] >= recalculator.total_available_units: + new_usage_plan = self.get_optimal_usage_plan( + region = region, + usage_window_start=start_time, + usage_window_end=usage_window_end, + usage_time_required_minutes=optimization_outcomes["remaining_time_required"], + usage_power_kw=usage_power_kw, + charge_per_segment=[int(optimization_outcomes["remaining_time_required"])] if recalculator.is_contiguous else None, + optimization_method=optimization_method, + moer_data_override=self.moer_data_override(start_time,usage_window_end,region), + verbose=verbose + ) + + recalculator.update_charging_schedule( + new_schedule = new_usage_plan, + next_query_time=start_time, + next_new_schedule_start_time = self.next_query_time(start_time,interval) + ) + + optimization_outcomes = recalculator.contiguity_values_dict + start_time = self.next_query_time(start_time,interval) + + return recalculator \ No newline at end of file diff --git a/watttime_optimizer/evaluator/sessions.py b/watttime_optimizer/evaluator/sessions.py new file mode 100644 index 00000000..cd573cc4 --- /dev/null +++ b/watttime_optimizer/evaluator/sessions.py @@ -0,0 +1,324 @@ +from typing import List, Any +from datetime import datetime, timedelta, date +import pandas as pd +import random +import numpy as np +import tqdm + +class SessionsGenerator: + def __init__( + self, + max_percent_capacity: float = 0.95, + power_output_efficiency: float = 0.75, + minimum_battery_starting_capacity: float = 0.2, + minimum_usage_window_start_time: str = "17:00:00", + maximum_usage_window_start_time: str = "21:00:00", + max_power_output_rates: List[Any] = [11, 7.4, 22] + ): + """ Initialize with user behavior + device characteristics""" + self.max_percent_capacity = max_percent_capacity + self.power_output_efficiency = power_output_efficiency + self.minimum_battery_starting_capacity = minimum_battery_starting_capacity + self.minimum_usage_window_start_time = minimum_usage_window_start_time + self.maximum_usage_window_start_time = maximum_usage_window_start_time + self.max_power_output_rates = max_power_output_rates + self.distinct_dates = None + + def return_kwargs(self): + return self.__dict__ + + def generate_start_time(self, date, start_hour: str, end_hour: str) -> datetime: + """ + Generate a random datetime on the given date between two times. + + Parameters: + ----------- + date : datetime.date + The date for which to generate the random time. + start_hour: string + The earliest possible start time (HH:MM:SS format). + end_hour: string + The latest possible start time (HH:MM:SS format). + + Returns: + -------- + datetime + Generated random datetime on the given date. + """ + start_time = datetime.combine( + date, + datetime.strptime(start_hour, "%H:%M:%S").time() + ) + end_time = datetime.combine( + date, + datetime.strptime(end_hour, "%H:%M:%S").time() + ) + + total_seconds = int((end_time - start_time).total_seconds()) + random_seconds = random.randint(0, total_seconds) + return start_time + timedelta(seconds=random_seconds) + + def generate_end_time( + self, + start_time: datetime, + mean: float = None, + stddev: float = None, + ) -> pd.Timestamp: + """ + Generate session end time based on start time using specified distribution. + + Parameters: + ----------- + start_time : datetime + Initial plug-in time. + mean : float, optional + Normal distribution mean (required if method='normal'). + stddev : float, optional + Normal distribution standard deviation (required if method='normal'). + elements : List[Any], optional + Options for uniform distribution in seconds (required if method='random_choice'). + + Returns: + -------- + pd.Timestamp + Generated end time. + """ + random_seconds = abs(np.random.normal(loc=mean, scale=stddev)) + random_timedelta = timedelta(seconds=random_seconds) + new_datetime = start_time + random_timedelta + if not isinstance(new_datetime, pd.Timestamp): + new_datetime = pd.Timestamp(new_datetime) + return new_datetime + + def synthetic_user_data(self, distinct_date_list, **kwargs) -> pd.DataFrame: + """ + Generate synthetic data for a single user. + + This function creates a DataFrame with synthetic data for EV charging sessions, + including plug-in times, unplug times, initial charge, and other relevant metrics. + + Parameters: + ----------- + distinct_date_list : List[Any] + A list of distinct dates for which to generate charging sessions. + max_percent_capacity : float, optional + The maximum percentage of battery capacity to charge to (default is 0.95). + minimum_battery_starting_capacity: float + The minimum percent charged at session start. + user_charge_tolerance : float, optional + The minimum acceptable charge percentage for users (default is 0.8). + power_output_efficiency : float, optional + The efficiency of power output (default is 0.75). + start_hour: string + The earliest possible random start time generated. Formatted as HH:MM:SS. + end_hour: + The latest possible random start time generated. Formatted as HH:MM:SS. + + Returns: + -------- + pd.DataFrame + A DataFrame containing synthetic user data for EV charging sessions. + """ + + power_output_efficiency = round(random.uniform(0.5, 0.9), 3) + power_output_max_rate = random.choice(self.max_power_output_rates) * power_output_efficiency + total_capacity = round(random.uniform(21, 123)) + mean_length_charge = round(random.uniform(20000, 30000)) + std_length_charge = round(random.uniform(6800, 8000)) + + user_df = ( + pd.DataFrame(distinct_date_list, columns=["distinct_dates"]) + .sort_values(by="distinct_dates") + .copy() + ) + + # Unique user type given by the convo of 4 variables. + user_df["user_type"] = ( + "r" + + str(power_output_max_rate) + + "_tc" + + str(total_capacity) + + "_avglc" + + str(mean_length_charge) + + "_sdlc" + + str(std_length_charge) + ) + + user_df["usage_window_start"] = user_df["distinct_dates"].apply( + self.generate_start_time, args=(self.minimum_usage_window_start_time, self.maximum_usage_window_start_time) + ) + user_df["usage_window_end"] = user_df["usage_window_start"].apply( + lambda x: self.generate_end_time( + x, mean_length_charge, std_length_charge + ) + ) + + user_df["usage_window_start"] = user_df["usage_window_start"].dt.round('5min') + user_df["usage_window_end"] = user_df["usage_window_end"].dt.round('5min') + + + # Another random parameter, this time at the session level, + # it's the initial charge of the battery as a percentage. + user_df["initial_charge"] = user_df.apply( + lambda _: random.uniform(self.minimum_battery_starting_capacity, 0.8), axis=1 + ) + user_df["time_needed"] = user_df["initial_charge"].apply( + lambda x: int(total_capacity + * (self.max_percent_capacity - x) + / power_output_max_rate + * 60) + ) + + # What time will the battery reach max capacity + user_df["expected_baseline_charge_complete_timestamp"] = user_df["usage_window_start"] + pd.to_timedelta( + user_df["time_needed"], unit="m" + ) + user_df["window_length_in_minutes"] = ( + user_df.usage_window_end - user_df.usage_window_start + ) / pd.Timedelta(seconds=60) + + user_df["final_charge_time"] = user_df[ + ["expected_baseline_charge_complete_timestamp", "usage_window_end"] + ].min(axis=1) + + user_df["total_capacity"] = total_capacity + user_df["usage_power_kw"] = power_output_max_rate + + user_df["total_intervals_plugged_in"] = ( + user_df["window_length_in_minutes"] / 5 + ) + + user_df["MWh_fraction"] = user_df["usage_power_kw"] / 12 / 1000 + + user_df["early_session_stop"] = user_df["usage_window_end"] < user_df["expected_baseline_charge_complete_timestamp"] + + return user_df + + def generate_synthetic_dataset( + self, distinct_date_list: List[Any], number_of_users: int = 1 + ): + """ + Execute the synthetic data generation process for multiple users. + + This function generates synthetic charging data for a specified number of users + across the given distinct dates. + + Parameters: + ----------- + distinct_date_list : List[Any] + A list of distinct dates for which to generate charging sessions. + number_of_users : int, optional + The number of users to generate data for (default is 1). + + Returns: + -------- + pd.DataFrame + A concatenated DataFrame containing synthetic data for all users. + """ + dfs = [] + for i in tqdm.tqdm(range(number_of_users)): + df_temp = self.synthetic_user_data( + distinct_date_list=distinct_date_list, **self.__dict__ + ) + dfs.append(df_temp) + df_all = pd.concat(dfs) + df_all.reset_index(inplace=True) + return df_all + + def assign_random_dates(self, years: List[int]): + all_dates = [] + for year in years: + y = self.generate_random_dates(year) + all_dates = all_dates + y + return all_dates + + def _get_date_from_week_and_day(self, year, week_number, day_number): + """ + Return the date corresponding to the year, week number, and day number provided. + + This function calculates the date based on the ISO week date system. It assumes + the first week of the year is the first week that fully starts that year, and + the last week of the year can spill into the next year. + + Parameters: + ----------- + year : int + The year for which to calculate the date. + week_number : int + The week number (1-52). + day_number : int + The day number (1-7 where 1 is Monday). + + Returns: + -------- + datetime.date + The corresponding date as a datetime.date object. + + Notes: + ------ + The function checks that all returned dates are before today and cannot + return dates in the future. + """ + # Calculate the first day of the year + first_day_of_year = date(year, 1, 1) + + # Calculate the first Monday of the eyar (ISO calendar) + first_monday = first_day_of_year + timedelta( + days=(7 - first_day_of_year.isoweekday()) + 1 + ) + + # Calculate the target date + target_date = first_monday + timedelta(weeks=week_number - 1, days=day_number - 1) + + # if the first day of the year is Monday, adjust the target date + if first_day_of_year.isoweekday() == 1: + target_date -= timedelta(days=7) + + return target_date + + def generate_random_dates(self, year): + """ + Generate a list containing two random dates from each week in the given year. + + Parameters: + ----------- + year : int + The year for which to generate the random dates. + + Returns: + -------- + list + A list of dates, with two random dates from each week of the specified year. + """ + random_dates = [] + for i in range(1, 53): + days = random.sample(range(1, 8), 2) + days.sort() + random_dates.append(self._get_date_from_week_and_day(year, i, days[0])) + random_dates.append(self._get_date_from_week_and_day(year, i, days[1])) + random_dates = [date for date in random_dates if date < date.today()] + random_dates = self._remove_duplicates(random_dates) + + return random_dates + + def _remove_duplicates(self, input_list): + """ + Remove duplicate items from a list while maintaining the order of the first occurrences. + + Parameters: + ----------- + input_list : list + List of items that may contain duplicates. + + Returns: + -------- + list + A new list with duplicates removed, maintaining the order of first occurrences. + """ + seen = set() + output_list = [] + for item in input_list: + if item not in seen: + seen.add(item) + output_list.append(item) + return output_list \ No newline at end of file diff --git a/watttime_optimizer/evaluator/utils.py b/watttime_optimizer/evaluator/utils.py new file mode 100644 index 00000000..c6266ef2 --- /dev/null +++ b/watttime_optimizer/evaluator/utils.py @@ -0,0 +1,164 @@ +import math +from datetime import datetime +import pytz + + +TZ_DICTIONARY = { + "AECI": "America/Chicago", + "AVA": "America/Los_Angeles", + "AZPS": "America/Phoenix", + "BANC": "America/Los_Angeles", + "BPA": "America/Los_Angeles", + "CAISO_ESCONDIDO": "America/Los_Angeles", + "CAISO_LONGBEACH": "America/Los_Angeles", + "CAISO_NORTH": "America/Los_Angeles", + "CAISO_PALMSPRINGS": "America/Los_Angeles", + "CAISO_REDDING": "America/Los_Angeles", + "CAISO_SANBERNARDINO": "America/Los_Angeles", + "CAISO_SANDIEGO": "America/Los_Angeles", + "CHPD": "America/Los_Angeles", + "CPLE": "America/New_York", + "CPLW": "America/New_York", + "DOPD": "America/Los_Angeles", + "DUK": "America/New_York", + "ELE": "America/Denver", + "ERCOT_AUSTIN": "America/Chicago", + "ERCOT_COAST": "America/Chicago", + "ERCOT_EASTTX": "America/Chicago", + "ERCOT_HIDALGO": "America/Chicago", + "ERCOT_NORTHCENTRAL": "America/Chicago", + "ERCOT_PANHANDLE": "America/Chicago", + "ERCOT_SANANTONIO": "America/Chicago", + "ERCOT_SECOAST": "America/Chicago", + "ERCOT_SOUTHTX": "America/Chicago", + "ERCOT_WESTTX": "America/Chicago", + "FMPP": "America/New_York", + "FPC": "America/New_York", + "FPL": "America/New_York", + "GVL": "America/New_York", + "IID": "America/Los_Angeles", + "IPCO": "America/Boise", + "ISONE_CT": "America/New_York", + "ISONE_ME": "America/New_York", + "ISONE_NEMA": "America/New_York", + "ISONE_NH": "America/New_York", + "ISONE_RI": "America/New_York", + "ISONE_SEMA": "America/New_York", + "ISONE_VT": "America/New_York", + "ISONE_WCMA": "America/New_York", + "JEA": "America/New_York", + "LDWP": "America/Los_Angeles", + "LGEE": "America/New_York", + "MISO_INDIANAPOLIS": "America/Indiana/Indianapolis", + "MISO_N_DAKOTA": "America/North_Dakota/Center", + "MPCO": "America/Denver", + "NEVP": "America/Los_Angeles", + "NYISO_NYC": "America/New_York", + "PACE": "America/Denver", + "PACW": "America/Los_Angeles", + "PGE": "America/Los_Angeles", + "PJM_CHICAGO": "America/Chicago", + "PJM_DC": "America/New_York", + "PJM_EASTERN_KY": "America/New_York", + "PJM_EASTERN_OH": "America/New_York", + "PJM_ROANOKE": "America/New_York", + "PJM_NJ": "America/New_York", + "PJM_SOUTHWEST_OH": "America/New_York", + "PJM_WESTERN_KY": "America/New_York", + "PNM": "America/Denver", + "PSCO": "America/Denver", + "PSEI": "America/Los_Angeles", + "SC": "America/New_York", + "SCEG": "America/New_York", + "SCL": "America/Los_Angeles", + "SEC": "America/New_York", + "SOCO": "America/Chicago", + "SPA": "America/Chicago", + "SPP_FORTPECK": "America/Denver", + "SPP_KANSAS": "America/Chicago", + "SPP_KC": "America/Chicago", + "SPP_MEMPHIS": "America/Chicago", + "SPP_ND": "America/North_Dakota/Beulah", + "SPP_OKCTY": "America/Chicago", + "SPP_SIOUX": "America/Chicago", + "SPP_SPRINGFIELD": "America/Chicago", + "SPP_SWOK": "America/Chicago", + "SPP_TX": "America/Chicago", + "SPP_WESTNE": "America/Chicago", + "SRP": "America/Phoenix", + "TAL": "America/New_York", + "TEC": "America/New_York", + "TEPC": "America/Phoenix", + "TID": "America/Los_Angeles", + "TPWR": "America/Los_Angeles", + "TVA": "America/Chicago", + "WACM": "America/Denver", + "WALC": "America/Phoenix", + "WAUW": "America/Denver", + "NL": "Europe/Amsterdam" +} + +def sanitize_time_needed(x,y): + return int(math.ceil(min(x, y) / 300.0) * 5) + +def sanitize_total_intervals(x): + return math.ceil(x) + +def intervalize_power_rate(kW_value: float, convert_to_MWh=True) -> float: + """ + Calculate the energy used in an interval from a power rate in kilowatts + This will return a value in units of MWh by default. + If convert_to_MWh is false, it will convert to kWh units instead. + """ + five_min_rate = kW_value / 12 + if convert_to_MWh: + five_min_rate = five_min_rate / 1000 + return five_min_rate + + +def get_timezone_from_dict(key, dictionary=TZ_DICTIONARY): + """ + Retrieve the timezone value from the dictionary based on the given key. + + Parameters: + ----------- + key : str + The key whose corresponding timezone value is to be retrieved. + dictionary : dict, optional + The dictionary from which to retrieve the value (default is TZ_DICTIONARY). + + Returns: + -------- + str or None + The timezone value corresponding to the given key if it exists, otherwise None. + """ + return dictionary.get(key) + + +def convert_to_utc(local_time_str, local_tz_str): + """ + Convert a time expressed in any local time to UTC. + + Parameters: + ----------- + local_time_str : str + The local time as a pd.Timestamp. + local_tz_str : str + The timezone of the local time as a string, e.g., 'America/New_York'. + + Returns: + -------- + str + The time in UTC as a datetime object in the format 'YYYY-MM-DD HH:MM:SS'. + + Example: + -------- + >>> convert_to_utc(pd.Timestamp('2023-08-29 14:30:00'), 'America/New_York') + '2023-08-29 18:30:00' + """ + local_time = datetime.strptime( + local_time_str.strftime("%Y-%m-%d %H:%M:%S"), "%Y-%m-%d %H:%M:%S" + ) + local_tz = pytz.timezone(local_tz_str) + local_time = local_tz.localize(local_time) + return local_time.astimezone(pytz.utc) \ No newline at end of file diff --git a/watttime_optimizer/notebooks/cumulative_avoided_emissions.png b/watttime_optimizer/notebooks/cumulative_avoided_emissions.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e8552507460b21bd244654c7f4fe0f9cc58dd6 GIT binary patch literal 326002 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≪MazG}dVIuz-|#F)`rqoR#1fdr*qN&P?my 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

8oeZ$=|^odRRHCOE&K9b^OocFJu! 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 z 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

hRKSi8A@m?V?#UvowU;}0 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%0DAg`@=+?IB_(#nGrWJ02XIoM?kpCBbh z&~q7&T~u<2wyjBHV-F&|2&#YpWb8OtP}G?W;jdV5RpHK*ok*{WI;rP#=hCrF+mU)2NdE=}QeOqeo0=ojSGC z-~(HcSz1b{fp0|=G2Js(f~ZWqk@x&K9lqV_{fX}(--%~{38_1C3B#EJa|t2hu0|0) ziVY8DTK=|{6xP|Z*VD|)1Bk0n93fk68s` z!3m9Q{G_Hn20?Sg*L&~O$z>XW3!=}cPQ8+w@W5{;Y!%%aaY?%P<2QO0AAfU(k*ucP z$R_{7&RCosp_P-JtifH}^)I5Sqaa#^nkWdez=4uVBKc;Y*dVD($$Bdno>F_|(ga`& zHBe6av(h`RZoKz#HP=SkDI>*=g(35BU?U(UU_4a5*m{L3+N&M2JzPV1wymP20J?Xi z^r4;*;hbA9$(izBN)W+<bhe~a%@_RBZ^u6IV(Z&K)41C^RKpka z@R4K7S>NxF(>9Sqd@K`|*(7jI`1}MASj^6lK3f$!j)LoZo;8AMw;yn{+hQw;zKe93DKmiGC3TlQ)y}K(D)#{=lyh0WC$wj}eK4P8 zH+PyBuw+}$Q3BE=Wjx~n^b^ZBWknHHpe|O1ON1N#k9p} zOZ_<;k~CT4p(Stl(%)WfD0aNYiOvT4B4SHdSYhxAhFFC=eCdv^N+_@MW|~KJZm+ zxqZ7O-^GAb?V>fB!WsD<=MUP-xJWH?>B}sX1Y!*aD$MgK9z{ND)v1OUP`NKdnb}uQ zrY@SF3Fkl*&kt>*hw-fjo(y);T)Su45@Z>gjpLpCL3Qc&p8Y;(E?6(u|Bzq(Nx@CC z*hONt0cRalwj2ovbr>dtgi3l$N<#+^<|@3?m#jbUo%Ezz*qibq%J|&6XnW1TXAvfx zT9FpqJ8?DaepKQ6A^=#QsXBKxc$iBZhrFG`^pflvr{&4`s8@7v*6PXZ$7u8y)Zr*AN?2t z0waihK0r{fSkR|w&WQWOFldsvNXu7M3!r~{|Eol|UI6&cx*n?@IXj0~{jwN4(kF(Q zf4vth!Z2y>ugAh!;yqTDkf!Z2B{ggg!md0W6^Fs_>*ZM95811oa2=|=R-xlR4%|l8NXQCG`)=*NK9&t8WawO29tB)dSMn42 zOj7K`Yk9!QEh_%;!w6R{za8{>w*Y{DP(C9Fea&Y`plj}cjt#c20EXn~!SXWOUB}-B-{wK}tw@Qre zV`bXJ94lhq+CjN2`FH1Kc*Cg`eL+vuH@L2xLZP z5h3uP#;=G`DkD(Z&`eza3{P^fjD~QW3O(nqV&}oU|FN=`+aTI$`z2I?B+JT011ad_ zI7kU$E>ekPCLm}A-Tm<=oZ{C4AhEe7c~h^|F?uWS`;cg0Xe)4&;LD9(D0D1hggZwR zHOPQgc`~je!7bnyX~X>k7L;!eG)nSB2(hd9*CP>mnSqh=;2Nfb=ZMF>wSQ?|dC4G2 zfhH11HR}QT8CuaC;<$LYQ8oMR8UZZLCmQmo^IWQeGhm4p`mE=MZO78S@&1fI{Lw44 z&Ykw)UKAd<`Yg4~ii0kI#2y$2eX2FZ_GgC~tv2JMfU{{m zvWKo`PdFNVx-v>akLNJRf1^{|cP4)0ySnt4Z@RcqqwGA;3$b1+ zru^*%6mMZ|{u(b`T@^meR_;b0HTiGU0Dn}c(ewby7UvH9$EWtD@pBF!)+G-}n7M9KceTHSL8A7#BJ=UR@EVc9$Xje^smT3L15Z>{RTgXJBK6)wWC5j3~z>MN1v zLToiKE0`dP#TWBOYo*UR2 z6KQ~9?T`0FzTMjdb8|+{J$~(V4HC(*Z9THZ4rbntdH~r47E`4LN#_GNc?SzV%t6}H z0LUqesB0i95=xhy34G@j+AbhjfVE^AtL=Yp5C5K}?{qjRV`Q(&G99^0ZsAD-o>8=Fd1YDfW|;^$_z{vvk0&a&}95Qoa(8`Ya^hGF2d%r(^VD{m$ovGs&y9cP~0^Ky*(Liy4T^mlY5rW^p zx5`^^vYpTO7(1KhC59bzWk;DU|9t<^i)mDS6umZFXE07b@?BNR^0LQ=u~X@Lioi7o zkQ4sOOp$p}F1*%UcU{1ShW3mQqAWtJxD7~=#3ls8&^2VT&LMs*R2M0N%PH> zU|7{@S&CF6hq)X-X3szw7Cm&4SDno9hLMrED&%;myu7?)Rs$M0(lw%LDChEJ0~#t) z9m3i{wJe?r*SW5^)bqEtH{6W%zP%@dr=#tcaHXGdz0=4^xti>r;P_Yx52tHUDF< zEGvu_Em0Zn-1aKZ)_w8RLbMMT3NNSrXDIBPyIDk=a@dzo#(L}C5DOmTzmi3E%3g>7 zaLM)eIVjSoj{z=3hITBfNL~l^BMjkhZ=i3RWMj0a`V~f-oo}ByQZo~pG~9WUupi%X;r(HkN||n^{>^EE zaLn>-w&iR>ZIus?gVQp-3ug{3Jk9L%OqH8Q7T;cT_p-s9^%X0MEc#DC^#U)~HizGr z__9E|)<<-m2xde%KBT~@KfqJiZ&9X7E4-dpF~T#dL5Ql3Q7{y##rTl_c=gL(aj{~7 z{|vp9^QzinukDdiUXg4;=BoGWlbeaZH_@lAmJBmC-4Fk?ol2+p#AufTM;7q$pzZYL z*dI#mO`xWGW!~Z(*LW~FWYiECDMb!YxtSixnW}du7NfQ6l}^nm7cbhMjl6NjVLECx zhv~*Ob}ei7D^y3(CBh#(C?BEW;lIsuwKW0#XF^@}Q(=$P`Y)P0t|1KIGOW1sPp3Mx z=WYdC!Wb?^*K?Hi@w0;aTkAIB3aZf#?U26Um^c4v*;P?UY&l7(bfBVb#v%s^fy9-O-=jtWHw>-X=Ha%Yb7DxI#j)8qtfs4N@R1D}U(; zjr)n*b>Q2oYL-+On$Vtr@HB7QPc7|rbWnv16!xD$nlZCaSe7c ze$IC8fTkgD-VVbMNL6TB(3w~Q+bJo7ly7YA_NI(ofCf7*g6d8Yy5nw$t z-|1=p@avERTje!o<9ATc_iGg(slaws9?;33F7fBS(iL84DRTVTX9(OYr5&&KJPG(v zyN+tQTvs2_BUbe5j=)PNgcMqDJ$EkdnhVk#aQhQUihX_3&=xEXWnCisX&$zK6Sj7)Og3L3xN4>P^rq{HM20 z680rTWZ z#^MRdAvz4@*ocTZ_ol+h7ehB01~^>}=zo?MS1 z1sQa?nMi+82pBMSqDhYut2NfAH^CZpy{H5i`GbGC@&9XLxlLhq)~<`C1a5*2P%UFFfVcX+A&i|w;JDdQNRds#zvtJi zf*kVycYclN!BtBFMDs2g)}vC&d#h`}l$3s8Wf6Ta$_CzDy zvyz2wZT@b{9E$)mmh_(L&sO$!ks54|SL^?OW!L|D03h1)I-9JUoJe?^H*u~Qu*kxu z?p=0a+9dtqUafQeQ>LdF22q~pS8waj@`mogcj~3rJrfjnO%>`+J&auiH8q;Ld8lr` zQf8NiI+HQX{{Fz-Q&sZ&)2UovT+G-VwVgK-;&LB%$zDHw>a&n8KDE1c|NE_z<^qen z3WK;gpR2i;_QS_U)8jHDJwa_{Qx&g`EgZl0G-O$-A^bJdy=63!$KLV0Jv*t8{Z&c# zkwqft%1`p*>zvRksIkyt@?L6PY!CLxBgg zJzBsrYxwa6@r#EQPVfe&VOrx)y;@IPUXmSm(DB#vN2(p4oUQjl~ci2G)f+Bf87k;@{3x+S_BxT;*M?4gf{wJV2l|anu z3*TB=Epm54J?s1bIRaWr3tS+$`U8L-rr<4`v z8hE1D>ky)_?C()WuV9R*Yof5B9AjRimbkscTlU~rS^LQ!*X0#UHr`W^Yd;A>c`-Z3 zZWK!`KUo{`G<)YlEFrtoc2*a89F2RLZt!?~$}yeC;SldN zRECut972tHkl~Lgc-^jhw!BOKb-u3Iw9h>y?j2W=1We#90Vif#I#kw^reJWYWTD~K z$Stwayr||c@sjW11ySFP<50_v8QO}l;d1ZtBfzH< z0E1Ei?IKVWOwCzJxLS4X3WwEG2P6 zO5WuGZ5~kN!hH93X?)IJ*ro4$B;p&AvJlmI!5R}S4PBA`Esr_oQ$`-YBa>%crN)kZ#(I@vhif;CNt6BLz z#iB#E%4lus*1io?u|EGz8Y~ql$fBM4_AwM;7?+#Y^awwv}0-s&~sRgn{9B!F5og|98}RAEL5oo$Y=NqVzE`75;OdDal>XaGv69=Y?+0AJ>^o z`u()Sp!BZC8fUy7n=ck83um|Xys3I=JLYR2XP8izj^XVfwRSwAKk$s-7Gil^y3vdX-@W!3^LYmU10gE@V5w6q5KtbUNAp|6=DB1E-J z9j*iSmeQd%oWp%ulE$?j9`rxK=03*pFzclQg2;5y+R5+VkL68%Hi*_4{;hkun-hGc zCFaTzS<#fr#;>h(CU549W{S@#847_0weoT{2#Ug@)cnur#^t*%h=nD{@MOmX z&MmsoA$5wct9=SQcZd(VkzeOb?#etEVVJGTG8l9~92d9zOzx(}PEjY!qWIM*4=B6g z>X}lo2X&co&BuD0TH0}IU-43GUTb@|+)*{u^e9e!At2+xo#n`#FX+lpXz8@K(0nsm z+eu+^g(lQyxTqT=?_^TnoVrNsKm z$M6RITCLsHg1mxS^Z2(iDKhewQ6stuWRjipN7=hyt99arCnYp{H4<}a?JSCeX6g-E zM)tl3x&L#r&IEN;O-)f)_Y%SdJ4eT2DPe1?&$%jlJg6`Kbp`mRci7D=DGc;+|J|R& zLfHjE<(xmxH+x?lldCK8t=u|=^Ly~#)k2QOr z*=UMpKXGA+S13^3X8%jKUYZfZFljw zlYq$n+O^@+CjdC8hVdJPxN$Mk^FGaCm^l3W+3^so;(*|NvvK82=kwo8E3(+uLX;cq z$ZTWbl-r(XP6p3@TA@5s*>298wjWc$iWB4SU(QD>Ml+y-zM`+cGZf&$1#%%H>8+3U zh~p;8vF4wb+)kt4-QnE4#DZyDQ}`hmU2dZN^p4ODTDwY2(0F%{=YC%F9g!NtOG9EG zIrVp}>;-MbGcNBt=}t}37q~lofBArg6Oz4OJWRX3zCJiPS@ONhVJLsOUdUQ1+D>C8 z>{S|ug@wh))Ra$ISs9pgT|YWHqK{^Nnc8JD1IKJYXs;^6Lk0xbnG}{78By+3{2$V( zLMw3Z-|+J<)W|U3Rw|^P&6Q4W_}QDt7f%R~kbNfH7b2QS*=BCe4J-$g0rkW+Sgp@} ztUxRyk$=|X$G&uT3C~xw$-xh?s;c*9%4cfR*jGsEtYG{RYnT+h*;0`MDu2|mI#gy- zIv1R8j6iOL?wzfJWt zAmv#xR#LlnS2(EtCLpO1QqSDTL>Qj+Ydg>0181eO%PoM4#GplKiKlkk2;5iN)H5d* zG==g$_iCR6-(^BIiNXr{ViW0K_ngkqbQ`36;G|!Xjwi|_js|N}&FWd#)bv;`&wKQ~ z3xcA0uh36~_`RTxmUhzH5{d4+9d_G^;@nPZ!NVsOEm^^(k!k;ASjq&w8S+BF1-}`c zl$7)p3SH$B%PoI|E%KnPG+ zUS5l}VL+w14tpZ5zI{80-m4P7hgv1LdEW5mrU4yU^&c&i7X8G7Q4W0J|A)1=4v2Dn zyG9j7MNp(eN=gZbp+iD+=un1MxPlMZIgsVlc&Zb}1>t<-rWTFJ2Q37QoNg%cxByH>48< zR@nWz-WAD=IXUt5nSq>hfM@;V*DrZFnf?_l=ik?c1>MnKL0tG#8gpiavoN$12eRyt zPm58XUVp+XFvD~fq^2ug!48d-r`HdV0SC>PvjYq=tWHf|f1*(ZdB({C4)q3BVJcLr zQAvzxtzk#I6;JdqBWGV5=Ler_XawPfZk_&p;8K(TPtf_mcztnRbjRl8Jd02GY)o8g z4jW8Gq(5d;pU_<0e1(u`eImJ{j!zvAB{vDgDY95-3BlQD47vhZ-{Z^6#}`=;cy#3T z0r(0>OwItW6&AHk1?lf(hVrU}kFOh(|MQrpDd2}O>z4SGaZ~oV=)$>&DcJ=M5bY8RhZB5ZfLPeemKSA^FTxO;c2 zFlyyicbdQQEh+fNDXn&zht2<(+s`Q}`Mog_>TG^{souZx@P_--rwyZ{qZfKT!Qheo zuii($#kcA1O$+{SEdT5gjsmfkl9as?*YEtv;KF1MXFt&z!Oy9+r;^9%Np|Y^|@8@0^ydNi?R81Y!8dWp-+co00oi z_1?Wm^_8$KJ*box7S_&34`{Tk0&_)5$>i;!TZRW+seJ3Qo*tVU8zT(w&b0U{tEj~G z^{Mvs_s4_g;+XARoMpTty(QRVr2NZ-;0yjdDHRpf(Rm6RiYe;4%w|xBtZlbGwXt3l zvlPpm85mIaNssP|^o^*tvb0<~y2245GHv*H?x6L&Z|!MnvGYGap5YM-tJ&GxTQ~pK zP8!D#hi4wXQf+r@#4EH|ACdcrnPW+26NY|#6z=V^JEE9Y^~+{1KDzjWy_X!SlaC(l zc;0THZGkT{N_lCugjep+5(9@_a-)`P&#!K8z&CAO=c^V0Sj5%-7iIn+g*&8j4Xwp z`6!pxEz@(sVB?~@<^=>+7s7DB{H;6EcZba((HqiJf!{8X&|VjL?_Zzvb7=lIO+&*H znWxw9rH@(}T3Y7LJZ`@vVMo7At6By2AYNRqkn%aI6cQCBuFh_G??~$oCV~Ri0}N@L zUUQ9}$in5(XZ*BvwD>D7Q>?;5Os4E@>;ciI*sfq_E5Qmk$vVg!8@T_iR}_=*=fum0 z*yR)ketPBugs+ZiX7q06&9mKvD?xRxsAdn+txnn(+nr`&nFf6|q1y~j&&w}nQ?8Xm zi%(lUr}Z;W!)L%UBFU2jd@|vHDOj*jubTJ@e^aqM+#IZ}zYZ< zsR@Cj;;zrU&%SMX_I~T5mbHn(a7RaCfUIz~dn7>3LYOt_o6mm(4%ig%9ltP{90PzQ z0s>f4Sx@1=Z?&9wcGTKCMBf2`l2c4?F3$2IxS5Tw3;)?J@G|vlFLNL}MVgT%;VK9d zEA2(4p?JYcR8mYlXOFEA3_m1nKK2_{VF<;d-(4FW%>?WXEd&wz}ac|jCh$3-ko0m?wq0#+b0 z6z~cj-(qMQ^e96Oy#EQ*ja)KdNy`%Oewk903)zG;KUWAv=KPOEo#u))?c2}F>%&cl zuESxbl;->yJP51tu`%26kHN3izXq;_5@IbAx!Qc2jGD<0bc_;fnCyT7wFMkbJd#6rB}{{bQZWPqlaIZlB`ni>7mI zRl;4OylXOr8=SJ_KtRl=!Z7I&h57{j!r9HYUVW%|dR1?G2)Df2(`nuDJL zk$o>%HsHEL=D3WlV5uOIKiB(vNnvjs*Y{37UkwZe?%PaP#=okBFNZ_50nxjF3b=-r z_m(%cy9vCh^6u#xANA(QQd;kLl9`i(M2I#EE?CYNb{BqUbP3=ii@ z4xXIz=G5sCXVAvdunDl?+FU4JpO2lU2(8)TY%R;hk%p zZVM>C&3)W21e(kTvUxccdDvW2@X6f&QQ-j-#6=*J8M9?4>#Vfur>_ItXt$08?GOdc zo6@y<(Z1io?yCvxIV5x2*@MOFG6ha;DL#j^k_7JOS*8P@4M!*&1kc1j_s@P#yHI)W!5h|Gff;{s8MS(SH zPKOvPQc0S}bu@^8J=nT6C(?f2Bg?A&<2;(jd(7-8MvxOBHvKFRfj; zD4WAMz}SUj-5gT%~tDW{GSE#RWbg@;jypPUqvPdFoy7J6)_Rhu|X|*O_ z&q^uv!`x5yL7b;R49=nTR|Wuw-C+4F%k5+2`QY2nB-8_pR8w7^q3SlA_>{+5eTHB8 zDyAAExm8487u-)Mjfz==!?v^46aLvjFO1HlPhGb4&DH_)`si1srRf5uxZa)ETla(+E+7{-<+d z5e>j(tV@WbxOYM17a6E%KM0&P>3zNX^J}IT!`^(4ahBY{@UZvj3ZY7%z-JTMa2nI= zN zqkdez6?76F^~K*!m~@Y;*xU-1JULXCh{`p?u)HrSWK)fL!_eT8l!x>}xGD zcN&CX$8#$7^Z%DNRP5<`z~)JV0E~1qb}vu9Cj-f<5{D93=||}!`D3xUn6%b<0|*{= z>mbsQ9Zb4x`#~e06&4RJ`gL?g-@{VhH!=DCiR{m)w*F2;i9f}1eTNu&&loKAlbE8^h>j)>v&ix3 zJOMj$ibecnwvz^JN~7gV#Lq3Y2b?Pdd#t9XRDm0x%*}~{odzB3YjMY71sj^8LvM2# zdW;aPYdCbiI;Fg(yj&xKNvbd4WgWsNhg57TM31dpbClA>7` zYxMcjC0G`OI{a?z)?t}aFW;AfRad3zJs_m>_6qc1G8t<4?nVD(oCW>Dr}5 zXj7kqgvp6SpIgx3RFnw0RbH^S|EuR$*A&S@ZTcy$tFO8S!MVu_g1cdf6zIx@KVNb( zTqXXTi_QJO^~mmbC;bAhpY=Ynd{V&`+cXBdULCxm%9X-ri*t;RD=ZYgg(0Z`dk@+ShsV6Jry~Vfwg20?~#f0 zOilLI=4~Y;Xf%0znmcqS42(wU>~t0hz>I?MHSe$sNRunw`k%zkt{18IriWse#CvWg zvxf2oq3R5jtp{Ql=rQ>B_=mD=U^HPPMV+y?H~vIOw;l!f+vy zN;n)^r5&Kdo9;emHjw^J@n9qF4s*b{?9*Jv8D8sLAL?B4MWn90JQI6HLkbT2Mvo9-4Gh|>%R}7A;zqbigB1VC34f#}o~Hc?9`THZ1Vu1t_kSsMZ1CU5 zT9kI5Hw}B08aWf28aUo}F@RwNXfcE@HH7~O7wDxXPd_PDnc5S5jmA;8ZZC#u^(2YP zfyt@V+uOMjxhT5)((>Z*QYRCA#do3r8OuDw)^a-n43)yqfmkyqf{>9#>lB!os3;5yuTN1Lk$v|d0 zN*bCCw9?NTrvpDR2$!*kNjILqOF`UsH^=d1Ypv(D)p6a)Fs7Lu7)uW?y*s$-^xX8Y z$oN=UL1Q6^jF$O|ey#h~1D{D7Jo!1MFv&1kut2&}gc^v^B3Ex{(B`6N!a8daQ;%|@ z5R~i#T+WxfyZ2blDBarh5YzX&ED|)iC8$;c$|+VN6nmj1*OB40GUb_SCP$D#=+#PS ziNlu{TwxE2USe~p;)9(+!AR0jr@J#nj#r;Uo>@z*L5-ugr zj42jhC%GPoS;#-Lxs}M>BsG~_07r1*1%QmqU1L^V5; z>loF}vZ>-ABlAIF>3O}c;xB`P74P<43L1S6ANbmSM$m~BS-T*Xh~jJ7iJ4n5{lM>fvu3r#0En$yY}{g0b9zZ$-oT7Rb{5X&yZ1I@4RxL@7FvZOLQR%L z7YZ~=?LPxPop&K0%F!VXQ>IOTlSU^{bFNrWSCS5uz(dJiUBtp+(Rnn1aB77Af=?e^ zNb~J=!^TKyK^M;m$1~x$Aq3~X#4^gxdF-nV=E7J1R*pBk;}oDhyPl{YtOC9O=3Rx} zJ)-+v=?hkt7?#JEu}cXpJb34f%F&5}(Kn#le~(=n)pr4fgYzZZkXOE!h@{U&gD#=N zXuG-pm|M!eYlt(AyL#WXq1!XMZ_RV6vG1WCFCE8+IZ@>?#p4I&H5*s;FyxyhLNKXK z8JD{>qNAolA31L!+sxz^Igs}j+Cvn1aw1-?Js(3nZe@9v^!zm!to1s8{{)WKK7Ssc zI(^!P?bfYZ4``I{Dl0lS*QfOMksOz)lOG$G#K$E^6%(ib zOo?AXr-;$PQIHF1O4+t3faO497v6?3Gl2!L>Lv)YPV1`~w%*PCE(k>1YNLAYb2$n9 zKBW&IKG@nCuu8xawBBQDJ7ywZ6BlT93BpW2Uh`@wEmen{a2%wwm}t}C2VdKR^}?C^!Jzs1`hIlp1fo6ymV#ZfVU2ytxGg4JXXjC=a<*?Wl=&ijVVI+vcU%~J zuSYieZ@}2!7>xZdPJr)K%4S6ZvZ{j3-g|k|*Ye*$lfLf*wvY_cPso0ZEjcevIHlwQrSng%$}bMyVk^I8HDZul#F< z%oC0i+hYzRNQ|#N?G&aWbe=38paqJp9YQV(o#h3^Q-n|t_Au}nKVQ)K_+atPI~%h% z$&DW*M}{D=F|VX4;9KCuad7D$gOROmaDA5mz#7bCTRy%eVI$wxY3mS@=NxWjCFJRS zc6f1w+=`h*wUH@}doR@ZXO=JNP;z-r$T6Uf6liv~c{gYk>WvbOP+4u@_*#lJXPCfh z1O+eOoowbY>>Til%VtyPO2Io1rb`_eM4#+|MX8kL^meplzf5M@#1q{r@U*n;-E-9r zDe8nzk9KU+sA(ikd(EB~1lzbL7QsVI7g>i#Y3IrM8xG>IOLCMElI6nc;z%}PRLm(p z+SHt$ibl@c$6jiwyMGg;LTFB}iy1BImr*@;5!SBo+u)h1wJ$9i!!G#?Z;UZucr2z; zJwYdwiF#-P;?yPk3D2po&&Q3{3hl-U%o^0IyG;~Yax8L{#!09otDFlh`n679TX(Ba zzP7OhI2a?<|8-&TlYR##$tjIj*wW2q5ge-Y6o%rZ`V?JzZ`XUEhKa7kKwx25hcwTIbk?n;W5P= zRFbX`N8#CZ(TnGe&w?uM>YK}|9PtO z%0dknKRV-j?;!|dc#-`iGVkvYr~b4Tuq`&5KEA!~R7&&=F*5 z|CwBT+DexbBLL&mW+K7$r-*JS%JvPRK?76_t;L1Fc(8_)N_LTb`JG&^j`wL(qlYZF~f$GRUul3 ziY)iZtQ#g`7~vVa^h_XC?{PEa`WHb<_%Nr?=WFYEw;`Edhl9I~t%)j>D?6o6np6fa zNg6eQek9xcR}PuNEI?7(;|`sOd(R}8GDzol6K>yC zt74eU3&XwmkyEf&X~B(mo-1_oiomUHQ(p*Iar*J1s!rt@zO2EUB6p{?)OSs4B9{$z zYfn_s_%24eYV;>bPvQL}<`qiiIcNeu@O>u^OxtJvp0+C!uzzGd-Eii<9?5BMQ&VB@ z_k^;bO_;sl;tY15`XAn~?oZ}0KJ3+XO&;0Xb5EPwfiM%18J&^`xg+V2EB4gK${6P5 zLCDLwtMw})c@0`t&kRYf6y@YzO51~XxGlw+b&)I-s(MUHRS{^jtE#35{^UBoV;ck3 zOMFv}mN;t9&vh%VuB&HAB{K&PA?;{{>&xd)cgJ)iADy~dEd;wnWX;qrpe}wF=a&l- ztDjFBb*DNYF{M%M?=XV~0s6s*>$e%Ft+8w~Z0{e_W0$B4z*N`VA>6{Ez1AQ*3`d1L zjdxZ?X)TR9QC@DoKnvcr2_tp>@?}6OF|lreAkc)Zs^O=3cWc-=c(jM}ER^;(S-G^h z%=ssBF;D|H{rA*c>DgHW_J0n|>fhbNaxA+dLbUq6U7)zM)u-Ju7w{qI&{oY(3)miJ zAp%&IjQ}p4uTB$+#tr&>c9E#!iSYTcRkH*+1hEiuM|4WY!RMl)cg%|a_5wgsyUZ@k zM6XjWU6bQk?w@ITTEn8vi)=8H?t^Uo0mbk2w3eRUYwcSJ0A)aC%`1qb>pMbL`vU{d z`7oio0|2LGcb%UNrdFtzVh>wJK;YYzGl^{SraQQTD0!;vi?%6LL zfKmLn!>@);MDJ=P53o9*KKUjThOz_<)_I+T)sJlNo#3*h?s zGb*{l(L~W}Ln6mvP<*YxHuib7w0K!wsY;K!Cf4$mYF*^On9_9mMOT6S@gq#2O z2sh>wQLW-1hQujjJ&5b~JOhj%BA?9r)QE7KUS_o;FHj;|(*uqsnx(9EWPy5`nz0d= ze*!>?73|C$=fo!qKiZiIh5vk7W08{UWg+J;nU_F30n=1^?buw|yxfdXWhWVQDbb<37IT-ZCOXZYC0>H|qCc}7X zF-1AfJr|Qs<10KC&o||1kCt6)?P39gwWFt~N0 z{c<2v0$3an>Ac)Wm&9)#$Pz;~6p3yO&=0i1jgRXTl$MS!a|{r1;sGe{NBH9|nE%E~(O%pqXACKG~|8ctDRqUy*a=9H7xiUzXhILHsgFtab_2rgHL-2aI+0){+y`mMq|{6(;mF1SdxvY!rw#1&RcF_GYG%+n`K)|-btt?3 z+kxph=`MA7_4A<@A6}&dJcavSAzPKK;LK}$s?H?KjCe6_9z1JAiwT;W$zy|EwJT&d zJbvvq5TXrYG95AIeXZ)|XVTdZsGpY%G56L321ze%bmK}j9fliA0lw$t5gwT z$jVC2NjnuzI23BttVo*-zs7%_qYv9nnRn*Q83})~f`|N1@Soa)pv@3d3_?qL6)a>>5dQTr*cAC#y zsVy#(;IIY!Z(TdQ^D-+fCRZao(>MF^SGjkfe?7hN#zT~5-%xwe@`+l5ki)H;v-uB} z8k2tsh_lHJhrV@Nv^=Rm_T0ejvVV^`s-h0~&!IzB5==Q&q1`Vj!RRb73&<1ciVAd{ zC^eMeCdy;WqPis^QRx}n>~BjXNH!FU4h%32R>T4(mtpF8L8Osl%L8L$K0u3^Si8qB z%E@|FgR>727bMPylFX8hmZ!F2>8%Mt$W6naa1Q62T~^GAk#o&aDzaObPgAT3IVMvJ zzM+axH2VdH+DB%H+)vMr-^=&i6rTfp#>7m;l3O~;AHMa{erX!o!ZyQ|h8!OUCSAq( zOUq3eq)vcQRe`>Fght$pLjf|`N7mm`e77oRgMFYZ+1eXv39@8lQ=3R97)pf4Q|@oG zfoKB#-~$K9k{sCMS@!p?%ashC8hCB@ODHv%I33VAF?$PzYN z3%&re1>y9<(F#TJN1~m)Ah_K4&%wpt1Ki{s#1w)yboC5^wv88YmVLOfZRgI;H4-@D z9vB5Pe@Ou_Bb>~QXyi&@e*BQl0L@aXJ;Dc0rjf@*%4Kevb8Ve`skQs;)i_Zv*=hAO ziQGs&9-i2?wmY-#w3*Swtd}*I_qr~|QZAYQ>P9QKx26gXJZU6ciKu@(kob$j!OfX& z)-f(z#9TPlykO9~^s!N55M?n)7^S#Y?^j}^w}>MkYDE`Tv&DVtb4PRF^_}72;jB_Wi3?u&bB1bmDQeShQ;YUh?1 z@TjF^={8H_?rgxKXa&TVi+?GM^}~<%OCpP_uI;-0)K$wwGJpVg77DC zHm0-VB}haxo5iE10EunCtv{1>(vMJJAIJ#Wx2v}N~f1w zn*mRJLU)!d5ld3JtEB6eqE0pKQz3UQ`RUHFUY}EvV40!-kJcLmDj}kBvt%Qx6=rF_ zAd?tpyRLB3`>rD^92du~)USqdwRFu}vRvJd9j(@*29FZ+pYQbPa21-D-C2wrf1boy zOGuhKjD|#dokXNl1Y80U0j7^^px};_c%haAKfUhJw(5~dd^UMwpnE6{4%=6n4K|M< zz$57r(6s^2^}!n>T;~-q0#rL}sP~%<#?Mz{o=5nu=`34Le||e$gzQRZrj3aMh(92_ z*vchMJ!4pBifVqFCNL=;Tg)EI6-4DVRp(xxRKPRgIo z`bT_)X9(^8d{h6caJd8_WVw;#Bi< z(S&yRFLO!ELX(6G8LB* zV{bpcTfe5nEoYCk`;LBIP@T%$@q_JAVMs+^`oo+sm8tp+$TK4 z=7!#Jty=|^x48Re;^tJ9O11q5R319JklBGP?cwNthBC!S+ zRt|aB$O~fhOJW*j6bhx<)%i64H^o`2(QR4h7>t2Jd2ze`;2{Yu$3Fq`=)}zm-U$^D zd@z;z6S)@vYT6Slbqi1q0ayH8ZL!w2!GK}8a!B5AZ6oE~W@ZKg2EP|0y1w>n_vbT7 zD)*K4d#G(^HS&>N?na5V$SR%L47CA8Dukw$IxcqRP?OzUIYFK3)?_ZppiA0t_A+*} zz;?pcTCmrd{UIHO5U0$MEp$C^1RQAo|NTH;n!QZ&TE^<=C?`K(VgC`YHfKSGt7*E* zjuaBx)YKA1fI<3w=hF*%dC*izXm8HobO3t%fRg2(P|LQyi`$~b;IoKYdtWeSxW<-}n4AKm z>#gk5anW7oK-;EgxtkMAY&cXqT?kh4ES!uK+ZH?muU1 z0(uPW;?Po-n&0J1mxy#4Bi#7^NDlbTrC{kllD01u`GP8>Q`6jW{L=A)%hcrL4TVUi zG3}dRC8V;l@>z}d2dd83PPc$A<#=3#L!QPs1(|@ z6LdC;j>zdN&~nkG4(l@%m+0hO?p4*`w60FZJNF)~#b`%chtTdvgL#GdXC46H0*T=N zEV*yvhvlwS*eDSFp)xa2g-2e*6TX1*MmbRVRfUJ0KR|=inLS{l$*KBGA{{Qlv`X-N z+-29&>ip|tJ#^9bJ}oq=Im;PdHn!T0+djkn z)kLxBm2YDzzp%o03}y|jf_Ru`mA@uPyROY;HSLwVVNq1MRXpNi&RW9DDi~UpeC>na zMOWnyDp2fE`!8nx|HLSM#~zEJ2=WUJ(DxDNre~(Y5}#vsJC|YxID?O_(vf~817}bn ztu;?I@syjSsjK9BLV}V@yT~fPG6C4Wa+Lrq==^z0dO*!aiG!^jNdn>6T;fT6i_{B1 zFF|pDDAe(clX7Dm{;rcI0DI_4Kl$mzR7qJ086A6wtaYrn803x`O%+m7R~fRFF78w7 zbNNuhD*SNn^_Z=Bxl9-?<`MVU$xAl<6j*d^FsR)B|IhMM^aE=`0g**az-tLbuH6FYI(<8bQau@-_aDF zzBYP+qtdg0*R3RHw>Mh3A$T`rG7HDU{xCOQP5s`Gyft#_R#&*R&-xRg=;(?63+e_& zkCd#T?s0#lZM_;p2e08q@PpTala$k75Ha2D@eCT>K}C#Z8$eu$vhmMhS8N{H-;YlC zQDv)NOtGXp+HsZ*0-!tEUUn1n?+mvO3my>Y1^G`e`Dr;`en zu-qN~E^yXT|K?~J6;++bUjl+ZXaWDS*>3^nDxWk65ZsY+4N89);S4_~7T20c;Ew*i-i=GI#ZoC9y!IWBXkz(52rf+moVCM7BW zD8E_&_Wj7MqB;1l8>6Ph>??Emh>@N?28)#!_u6^w_}QP37~-D;I<>s7;o5$z$&Wjr zvAyIlalIp0vxR6V{FMyRy4Vi+SE^@#7bFhER1vk3b=LVi`+Lf^OT6Ix9elrpMDhz3 zHvQ}IR+j0vk-5*Q#N@ee@*>;ii`rdO05^^dV<1!Db*UHHYX+yYjjOXlVIXs{) zP2$w&CeX}JViaEC*u9m!+WpAISaST?_229UtmT^@ktM+P>Yqq&rx5H6?@pAk)L%ld zivL9j=HTQQ1FDMLqmRUHb-yuCDUl<{c$vI{rIs4`q+#hdoy6 zpknwtBd51Kz@^Fl^}l5VBTaISq9mceR8ToD7e)v?T0f3Nn7%awg&#H`_|{<@h{n(l z?7^XO__QzpqgZ{0^8C4qM%B3l?YKW#zX3HTxR^`2Dr;fAuc`kIF^5*I7Bl`NY z=dAqh*6fTGt?Z@=ye3i23G6TBjawkbS~^e3AkGtPzo5Rd5TXnja!n z?b5L0?q2A5lPAY{%~`+t6FrrWIM2WHhRU1e%cPe#E~wDPpXry9_+Ej(pS{DwMxip^ zN5C~Frs=#)spMR*%v_WOV}n#s*jt0YwSr&Zp9INSPDetDI-r&QqlfsMiCT-kq2HhL zSEA#*Ntr?Yj`&=LJ4p%^1%SypRcCtgK@@_1U>SPK&7PR%iF?v*>mmWzJtm+C7-F2x z&3|hclK)#O0GswGi5seQtvj#Rhyh)bmr{ybIG{+H8sWBk-!XhHb{ zBF$V8G$hSy7ey=xKu96Fjlb3m2)0LgJd;sMfB=8}bYzf(dgj|IIlvkMq?7K4PKr;S zHc-aji`C~|a6ZJUA$7!W6{`O;E3156cF(Yj4+PjMNVYck3f6mh_KDX%a4!gO2x`aJ z8enryH8jhrzC352&n{e>Myi+c!GK)x0z|TVLrXv#1Ie=OH}1v-Z>DYtvDcbYn8-A6aVr>L%|Oecx0IW^MOF;qdow|ywk!HH#edq zmRq+T_V)I&U%zf`kXu<~?3ym^^Wec4A^8AdmsxALUvW=Q&(sA)HMOyoAm{Dx-(BmH zl9K$lqKSKp3JRj<=8Sp<2QmKs1Wo>Gi^C%$Y{2Zb-iYCabDnw{v~D;iK7N;U$-S^n zdVOPqaOJ!?E9ioNqGs0@C@F%1PhXA>we@@OAUU&1tn~G3#TsU}g=09(ccg5>=Sl*q z_fe_QSQqiRGR3z{q98*$-nUFL0-DAq)_$)U_S=jNN*K#&j`w4wj;Rw`wm^Gub^2_9 zIk9s7IvR&7ZIaC!NT$$c|7T;w;o)LxAkv)03e#R(I=p6SpstHuqM~BMT8f0>;%)#; z_&*)b-`)|jejOvV#igYQkZ=VUl;*ay7<2RRKwIXb#9gxZT;(^G!Fu}d9TfMvOAQ+; zxzOh2?y_V0c^&;D4G@^!Hz!|h%+@$%h}?xptvIkW*|iR?z=i>auQ+J&wYIkQ)U#9>zh;A{ zTUAH3&>-3wQaF6PQui)3fb8O3O6-lSig7S-1}56WT?;?kY7f*}jP_;0NTRIHOPiUG zwh?-vfZ1Fx8*k|a`~!AFgf>vIz}te;Fu?(HTQm$e1z5sN-abXHLhZG@@%lh89G~JC zSMYX4o=WMTwH49a%x61GgXRY}73rS(nkWk77u-H?Xfb*&Cw0P)tDg>OPIQbq}OKfo_1^y>l zRf22?4L^Bfc8laTf=5S7s~eJs^u%xo0L>JmM(}ZYBQOd44pFJpQ^j6QKL(^(T)61m z>-|XkZXkGU~M-kefJzVcw%{ zvOJzFrsF*0vbrE(wvk+< zyDQtG%D+hEFpd`jCAe)C?;vP&%Rr-xc?i0|n(m63;47=2Z7|rW5v1GWGKQIIxv3O- zj+R=4fx>*;V9sGP zLP@x@yGw-ZVI|*&{4lDkMHs~|;wgT#vJ2ay_=Ij!l0sqNJ!ob;`^SooAccj|kd>4= z1#p((?ET&dqA8Sp>g1kDxC1O9?ZWfV5tnTXi{jT`{IK{nuA5WxEp<_iYn%*I)+CkU+-!I^oiJZJ86t5b1GgEg({8?dM^ul$>fB}A*>RqM@W~q!(AftzkL>d+JKLn z*fRIQQ+y=+7pm>}7tHMl2P)9k)%-V=75Q)PCJ&AmXn_{XI01CRG19USt74saC!fdvV4I6Y(hQOo)&Wm0MclB$fcwW_3b4DTYqOI zmj-9`YX~^2-4WNG$r_XXTsd!f@biss{-U0g&5sKi(Vo`?1%}-uhQF!yEaq4!DJi>2 z_BvHyE!EV*4N#p_{-dQH2nn6-TzjEYXDG1jSy%Tz&lY9V@=q)QbKTdGkgWyK0k;~& zf=#foqH`X1uZSPM(pHVrm`}P+4Isqy+W{1c93`d0;A0mL;Z*n%L~AOG(S>ah2QVy z@~6(oE7+?qj-Tq->+6A}XS%l5A$f0Il>djYy|o-;P)XOZPqWlID8NsOBWh=Utk35x z&FJ@V-54z}n`qw90UjNnrK<-xPe-(fJV!mzCE7_1M0q{{#Ln*fd|-CZr6;K7Jj#Hv zB}|HmQNjx(T!!z5fwJdL=#QvVL}JR&_#H@YWc1#+?^LPyD3rMFJrSF7tRcP|_FCe3 zD3;cUb>Y6kXRa5H#U8ygJCaGsy4O7E4kMB=vBI$EbJQ9kR-Fb>I>f^rX3a|8*MP3X zWoq?svP(J-WWYGU8kHy{Ba2CNq2RKFww>9&xDp)?C!e04u0kCifAKR`xZAwn^kvM& zZh@AT6diyVz20{op}-n`bM6QD<+7D|1Y!wDg^N~d>}_r9Xi-E!3$_TNk#-%}NSU2X zs!3_ZGj+TedvD$Ow+R%Wv%99ji`yy_2Qv=6@iVpt!1JTm`Wa25>>5|~NC*H&dQrXe&e8^s&KBJ9!|ndz3SZV%`DFfTdd;UdMc$!|L0IZ?D z-c^f(l?B>^p&XPPdj`wK$`XB91e8{Gj~-RY9zcvHex-4F_Bk*n8zC!1`yzyv0o&|6 zo}|%8h4V$XQIn-6;>qRtNqV}`xbiR@ zAe^MZsJ8-7U(6;a18A&@iVEcN5bStCm9Ez0ot^Z&4KQJ$$HYue{ifg~4l zv4#*DDaECm-Rfck+y;f9FP>_dH4Q2dN~2Z&)aay01orm(_exaV=jCaT!{CKV|7?;I zKK8#vefTL~;+h8RM)sfO0HcxCLT5%)l2IJsLx$Cc$q_6!vxejJY*5Ug?NNXEDX$t&E^yn z(O@~#FBp0hQLl}--If|qjz%jt{!07et&s2R11^8ryaKmEj)UAHejx3Z+xqyzf>|0p zHJ51%VE#Qiv+a`cBQ+wiPm{(z@#!{LaT*22KPCAkI-^0J3$mMN0Yeo9a71CKWXXjt0wd){M_ntcyojF+Ei2?3hC6IJ+lSZ> zL$x_5I?DKMf6*IKo$e1nS5Wf$@x%Mzg+bTaMUr6jn}_Q``o!5Iuln5VI;E?ahLgQ4 zq4d&(uuTT3t|iEzjhmV`#E$&G6$PdS)%G&ktS~@8O#_B18VQFOwJ|ab9ruv{$E}+n zTwHyLUm%7AvrBU9-gf|)K?Q*sn^+Fb&U5_Q#Y3||ehf^uAkGC~YgV210L3G57I(Ql z$O`bFC1Av{Ba)aPI_nxM0t5R|^dX-%^}+hbpYGIwJrRU1+N@Q)$QH-RH?rf!`fOl3 z5Lr&V&(4s-ZyoZY0oW8gON}18a6uQ_#zZO3taU zV^b~Gk}W8aH8Br=Fq7_w--PPye+5C3|1Aj4PqQ)J?4PQgIh>%$IgQQjJr^JjE2}+L zw={r7{EwISbl?X5`%Oy&vj|*-w36obgXOYB3361ya)T<+a>Nq+whQC`w4e@Rq55x8 zjh(>)DRnWU&lYlCgD35nQC(zuw_>L_q3~GoZpdqC-b5FE4!K-kZO%zO5j{t*bk+W% zsKzjFhXirUM9+Bc@nbzdq4&QUxhN z74Ef}fJBe~9(+Chy*$Toe_LfE5X$au{9b~!ZDr)MJ2u7Axko2xwVDTBt#K3_Vd@QT zyl%dqupi|PUP9GtnlTxvy+pr zyIAboBRRoHWQUdkJ19i^nCNc?=mSu~mef6d^aiS|*2@r14lVUMTlSCW_+iFJZ&Qn; zIo8&Ls^2C6@2`heynu4MN`GPG5U`Fkoqqf>s6y3ctJj0m`C<#S|J_lIOO^nmRuoW< zMZ=xi2aIp~9B9_%o~{!~>UBxb=YeFE;al)~894D%Tn zzvOv3BP(*)b0zE^WI2PtxE;iaY;CJWAULvUL>*^tC{o>Wnv?7&2;^jCnfLwS;D9u9 z>H2Wu8ZbUIx8jZ|3ZCo}1JliTI|t6SHn5p6gh{!PAL$uVRhvrMl$#QsncsdvlJW5}(fdtw?A3R!)x$m4@SLj6946 zxbXtomb`a5mIC+Zcm!!~hT94K&mj6)3!58K%V4t=UkNEDA8y`f4RGN zUoc2|+&6iA@`=>%z019}*8xcfljf1OI>rZWG?geK&GM!uLxqQJjo!e$w5rwfcy~et z7{5p}1>#$N;#zE8P@c2!I_hS=f~}pYune`IYt+w2zmyGeee;^w){Z|vckL=|iosm4 z`(CJT)8|;o;?-rhP}&IYA(y;c3ug3gFSv0#AQ@~>*^c8m!Hiz5o_8AdTz2=xT>8M} zG;a4F#DhH_fQOgd@j*2p%U=D`Xlw<`L)l`u_V@WfZGN(q0-$9MCI-VCIy+d!zq=lwcWNm9?~(fmAFe)lQ{{TQ)`?~>l*cQ7!U zQ=$#ilaP>bP1f~BNgb_bAMHBS%;wRxT67r1W&pp_UC9KrSAZT1^<8c?$EXGOFB|JaVvA@Ux3b4|etSJ8r zrZf7#!*p=5_k2x;hQN+(*?OrjnCk0vUy8|$WHdE3Nz{J_J|F&-#jnq=nXL3Bu|Z4lq{nlN$^>sh>2!s`p>szmGb3 zer9>3)1RModwe12qS3F%9nrC7*Ioe#JTR|_;yVI(QEiUDPos2WsE6(E5|I{ed~8m4 zERcS4Z|-1Z#Cds=Oi5Wi2B5@^N9p^-Bz@g4!Dy^?MHaI2E9oL{XlmMp!!{IvB}{9r zYV3?$XN;6}N3ALl&=TARpkD1k8$@>TBqPcIouP-^KZ)5pLCj&e*@h>N+ON2%&H4V= zssQziO2Nlv>8a3TGBTnwSMpfK-8RP8(26^j8ObhZ)=a*gfYQfezS#$=AlEPS00hc5 zdmE}IcUf*01qTR8OxC-BreNM{<7OJH8mxsdfw9JK09cL(tJiq~XN5B_L(79(Pi~Ns zrJ}PsPJqJthvkQgRpV4J=HHxCaokDq<@;a~^aOsCgIa^@MTUTpzCxyc_@>zl^qIWoM!cLmSUGPQRzv$|kDV(g}{dUfRCJcq;64ei27 zoi(R*;4Y`tqk**?um>~d#UgP&P(!nl|AvitD{DysY?S>sAL_S1&ii8%gSM~j3~_{n zgcZKWUX0?l92XD*kU45$VIj2Id$^0mi`K%~2o?uNVP{d>;u zydUnlU+zcd3wvg-wf0)ide*bJqxI;Dh7g`H7&f(24q66O!VR0?4XN|iNe_nuQlK|6-`>gIs0oiBTXjR0+Z|EOD zqK4%5|NaYc{Qd)2%>_E$Nl;rcLBTE~auFVDgXUDMc$*}r`^}f0n6D|I32_1=N=OS2 z`0kYaN(@WoB-2pUv9Zue&6nfNQtXDRSwa^UZr^TW z9Xhq0)T2Xv8uy5rWHm%-S~J!Gb-R3uQ_sc~se{*YRSp0hcW^u|qqf*ODbpX$9R@i^ zMb&KP1#lkh2OOsWx;_2j^U@zT)MSwThbI`a-AUsuSS%NXqdI;+j@5BNsO!E0nEDXy z^%1O&&uO%o${H@nMJ_X9(Q8i2iSwjbrbXoZ`#TjQ;v^v32=B-G8$GAU2DV4a^tVTP z)`V59-Uc*Uz$AnHqU4$1o@>MFi9$Mc6#aZVd zpyewZavAmMy^*~ACS&fm_~!?y1XS-9Km%d#ELDVullI4(h`mZ_@*fWfsIK+B9%fxv z%XgT6?rp26`=c&`x>mZ3JaAd%IiCUCmTK!wP}`Ftxy_gM86II4XF3abu4ku6p;T!g z`!~DhV|NCAp6yMXTB{w<*6I+qBkG~Rcy+|5FI9q;^2o^^m67K%68_a=+i1jR=-jC8 zX-hlP#-C9plKl^&TUkiJ7Qz{ICmMB5O>sG8%s;*JVXvsVqJy44QQS4s?!%o5nG}%h zhF|Fgne!{F|9gY>sy=uR_a!7HwVj+kWG3~~#oKD(gmUTLOicnYezg31UG`;ps_%`h zhKSGKkJ($U|7gp|U}AoimYyzq_nP17vNyXQ&@Ca=Ne&rGAUV*ue?LP*LnAEvto^)i z1Bie{$Vh`cw%RP}(E4Mu6&;3fkFp!hqfzr#9OMv?_;lKR6~I@F(Z`k{q;?=53O zE^$G-o3S@mr}yDu(O&sF0b@Rp8yPX3;_rCGpQuo#2`1#lLDTx-K$`L2R0_yy|6fz7 zenExu%5d{V$vm2%%b90hZ_;r|UoDVE;5z`8TN-TyB4z z-hVCSHEFKkYU>7Bkm@Mcn-R;HgjoakKjF@UHK@0dzeae<>CBLxU2G zNLDIDY2mN&NN6;*v^v_Elpn`hz`3SPfxBD!hptCrAutl|jk#yw;8Xs50qZY#tnV?* zQI=UFEZoQ53Ye^UbhLLGwJx+%3l6v*?ImbB=$`W!x#C|UPSXAI=QNX^W;rKJ-nU2a z2m-0T`_0uq(#*M5)ByZdfC62A^?&2GG%Ao_H!$f3dD~i$*KcbL|4VME@AdrPASJG*KA+PbBur{D6qRA{5cySA~@eZH6r*Rem zY5MB}WqHG9scqm{hzqIu>`t_235ZtiBj#gptv>|4W+`}yrMYm=-w4!-ab<37As`$h z0{&@4eGPx9uZhI{%JDyE>P}v?7MK>>DJ1Ts&&^1^XRK_WsU}kqReq4DmDEE&=rs2$qJ&<~JvR|xmFOCtMQtEx>j|j?T*Si#8 zA{A)8{9N&VpbHoj06>%rCXVT%Yf8rwmu+!dC&1}4IRBnb2@U%DY(P*{W}<@Y*bU$%qU%oac43L{HquSD536GJ|e`h6fp`rc89# z8&^{blpvR&lzu!`%`EY5QkE!d+Y|gg1-pYpi6x@vnEcM%5}G&Vwc?M~8WK zbeD}f;=Vg$eK+GC}@o;HD=e~OA z6P*23Khts;EeHniX8XQcqP&U8 zk5%bo)tdv2B%NYQ>R0Xp;WNFPIr$EDe>&e=E~Qp+ZGzKHiaW&EQZ2i#nDo5{C>;fA z!lcwAX!)z%-T4(6_%6*g9d&o_fu{dwKff2fr=3#bP>K5=dFiCz5teaFcrX6ty#M9R zl_~&cP>DMAQ=7)BfVTn_@ZTYU{ZnIt_9<2N`!Q1B{uUC=?{Tf9aq^QCS(f>|{O?*Z zgD>RbE*+|~T3*7&B9oQjb@U@&Fje+djXTls)|?nkEtWs{FDx5N;UR~E#SYoOK!EhS z{zL6=fTZQ79?JD?Vl+J~2}lIMuoi57#+@6mq^>CmJ_`p;`>UEXb9^DAd7bF9U%!A* z;Oa_3KYdE&N$4}DIk7U$g6ltW-BgAw3kpaDNqEUZ~w~*$#1|X?s9fLi~MVa{PjnrOu!0DHHKN_fECJB zqsyj%6$Y(R)H-kgD~vFh6MaI3)ped6Kl>5xKJuHJ`z|?Z zOsnH3!2KukyDHZy=^VjK%;P6raEUhiPwA^3K7d#7ZV`|?&bSK_4LbqomHHn`%xMV( z&dkL9Kb;u~oY`=tLWK6OGb54>5K)VGu88fb9WC%Lc!}b}+ERcsgWq$U9XPWJn^|-o z?&CP-gmq#0!X@KGH!_AAM*puT8W8LRO)4`x{)>xvmp4cula@4SoxWC(29Q#& zC!^ymfz@L_=(+;XhAToFtJgxr+u}OSh2@2Ty1ur)Mwl*t797=t6@w(!?&1=6n8%mh zUp0v<|8MRL6}L$5mAT3XKsVg0+AQ=0pZh^tii{_5ft6XB9iVkZzbgHQoI!JcJPeRC z4F5&WSiS*gPGKSOO!#}(YD6tHjuu;3tIOg7Szsc>*9QU4=-%?P6HFB`%YmsPX>CaB zLM*M6(_H13(%X>$ftyWV1-7MTZw%1N536}W%q>05@>pF6(v06RI*?X-eV0?s?+blA z^nXI!(@K}n*YD*7iQJm=Km;xRQ#cf`H){YW?&p88-2QP9*_W*a4wZIlNnHP-j-}`8 z2KY-0`vi_jINu`$K0?RlPCErI8~Z^j8MtJ!d*i>wVP3qk9kHlncVDZlr+-Co8y984 z%-jvHbh`y0H&h~iFTn{b#2xw?PalaJ^2dwtgF8qx zR*CP@$liqEFrW7u53x@GicZhB7_kAoIWZlNhaiO(1ayTntMAnM=M0p6asR{{M|gl5 zs5GE|D~G6KT_)i%_Edx7k3q)U0lES52dl9cNY97SnPj|%d#TCOt^BP`^x*h zd#O=>V>Voy@1q*%1A$!Tm*9Ck8NFzD{aRp2b_@z+}oVGjClfF|ZPj5t#3P!&Y6$&+p zP5aQ*HV;r`&+2`m*V zBHk{e!9j(qd==L-kuNftuarwWna@12zP3cd<(Htj(?*u8|G_<3#oC4PrbHL5+7c6* z+i4xd?=+R8t!{CMiL|>v6p?|RHc0tcS@(+n`fWV%Am-w?wfpBU#TG{s=HwHbAN(!r zAkYT43WC6LbL@`b)oC_XjYa>+`RbXN7Fn|cpe7}W~?JiiB z^wwj@Z`FYw>E2L|>7MMU%9q4pSvk4Vy1J3W`iefGkL!ENIHSt-IhULopR36~UgoLC z?6}M*w4qrhdS?K=N_`5TleV^P2l6AMri^{|U{&VD3BU0>9|gX~%F2FAvEFS1IK!u! znq$dq(ZENpu7{()g4V9CnVOh*Rh)nA$q(j3RbF9LTsu``21~OhpX^1g_J;WliygZ< z(yrfRe7X>@N4%cPbQ1M&kC}0o*5#4sX3Q!dj$B2aKPak&sTy<2k~RDtg9Za*wuZ4^KM=b6>@4+nG`)k);KX#(!a&_F9=z+9&_}d|(^>tj z?)`q|Kabs~ckFb?(c>P?vW!e*kTFUQgYDebU@~!gD@O8FEhGi0 zoW!eN3zQ2+6S;MqyVE6ta#^ho0BdW6Jore39A^Wx6wT}XYHqu&JVF{FxjPq*fM9Y! zn&91%a-d|MSNr(40C^GYeV(2qhDPL1x71WM7Nx8OGALz3I}2UwoUF&;!mM;^;MyTC z!RFm^0HTfoAqi}3utdZ^E%k+5^D# zQI|y?jzIVJ0$GPNdO*v~Z2{}dZCwdEXFr3bZWydOJC5Hh>v>35@5jK?gAqU(RmfLZ zF`|VsRft|d^Ks#@7@*v+?xi*dghWmx!)mvr#-);Pjsc45jF*zfe0bPcj_yfh8T?*3 z=2MEdtz3X~L@A=Rh^t!Lmi{OKW6vOzCuyIDJdu+Dt82i`HS8njfN5NEiC=Br-Gw*C| zSst*Aocg&MR<;K}T_$6RZLN6^~#)kaF%|*0n0cf4O zU}-ikK2!>8DZ9G^`g^-zUMW9xr8m3O;KKzR}s1 zRn~an=RcpI5pb+^By>mSWkUVSMdV~{0H6u@0Z{1z04A2$>ClnvSJcpnxLbNV^!L)UI3Jd#hXG%`e33t^Bc0ScaX1> z39hpe4ydpG+4KV8<@}LBXWQP3Psyc)wOzprI0Yrhvw!{|0Jd|J==^pPjQ0vlc`0Mo zE(NMEj-|G9hSPa))?U)(;?^5^r`nh|V%_R>z9}=D>Z3A;a=K|6{dNj9+~#;UE*^eJ z?h$+mn<$0P?mYb!F?Dnp$m%@C$* zY>8`NTTDn8t?ozhh|EWve+aCU^Xa!jtJC{pR?(S+1+zHVm>_X3V0R12WqU)JBf zd9nj3m&$HlDq6zQbkElul*BOthb@3M_l6J6rJW!NRj<=WB9Y<{T9-&g1cY#&1x5+8 z(-I=G`wCce=P!s`AgJM&@4o?=kP)nj`HVqV9p(C>qG^}A>6+@v^YMPb>||Q$+(5hG zL{VdN8$w9`qG9*#rjJ4UvFe!E!Buy9jwj+FI-{?;9ci~Dj;P}q0=LV0;jQx3co+Q* zK>YT|FTB0wQ*-Ni<&;{Y5z9gD)DgQRv3llFl;*6V zgS+fAB0uO9Wt6dgEwJIQ5l;ePK(~0g%E(ap!d&3Bk=&`Va?p5|tnA(EczQ6nrO)K! z2j3S~IKxVRogaXWzoCO@%`QXP@0vFWGRJl2)ORd7~D+drHP2w)Figw&-pJ0|w}Jc|yli zHtN3HXE9G8%_1v}PbNO=V7M;{saEjpxE8n!_42oHNg)ik>Qs54L0Dd|QU&>YHk*hT zvD7=f0ug)Z$v6hkyD#~8+3=TeI8yf-&kx1|eN}DtpSV`9*L{rz+(CTU$Hu*pb79ot zwS9(B=Di$tu#45}C^D7p*pHwO*qHqDf{U+#m9A4m(a&WIr zJeyjdF_4^2e6O6%CTB%<)pxW0@Z==-oPAv&A!o#BW9vt0uq_w3m$k@T5eix{$X>>)rr{WcXY_D|wm3J(oKczM6lntF* z>M;5NCtxt(aO;hK44*-?Rj5>~ z8NqaAaerat{ppnAzeRCmW}!2!(mVaOae)-yGGTG%M|?tN(WOI zj*zvnh1e40pDk-B?K~2MlBotzw0w&S>^MmyjzQ0%w9lsD9M)@_CHY58mAQzspk z;ArOa##1g6y@cUc1hG+QBXzQ2kkH-4aqvpHBO!j!>pzpO{0hl48pV`UPp!_abxJmm zL})6K-#O!@ztDJEDo5a!Cit|&p!kr=s0H>V#N%iKOC;E&%6Y504a6b zQd@T8BNE}%_q5VYv!Pahq=M$8z6xuM;bot+N;S-|D>jfja{9%EH*#UP%cD;$eP-}Z zQNhQw67qfMXJ49ATaH?52EsOw?yZ87Yx=m{S5w-(ogqlO@!6YKm8Aol?nbj$ z6TN}VVrArgE*Cv}&VkbSdY)Pzo?ChsjYCFfLBN9~OS~=Pkgl`GCH=dFAaMyEEuKFU z1W9aTYccyJaeLfuS;gbK5KO3~U#TXIZW%BIn*h3++MGn!n zQM1E0I@4keJ)d*YSd001QG9NMCy#b^+yz^$zXlDA>emkUl1zKdl2w&xPwyBto%ql$ z3gE#{uWGXDgm6(4PA3v-8DT1MuK5=}x6jR3=H%%K!MRMqH)FnA`$SG zPiFA@_coPk;UK-y!N$`sjp9bFFiL2ssuheV34&s85x5k=l1BH-qfQCK_5F<4tb!SP zae7-@UqDs)Xebf6tdE{NQkuiFiW~S+tz`UXXfkkR;sWBZt#z<9jbr#Rnp{~Ym(kY^ z=B9Z*9OI6oWGDYE=;+G2AJ8F$*REpa^<7Q(piz_S5e27K{M*rMyBHPXxZ z-|rP)hvLmQ5{19#h*XbAMp8ji+odvNjPd)WdSTa)21l}uS%_P3Jm`4!r^VpY?s+@^3 z_mOfUw-IL*jl1YO6>~1LF;yjgwH)v&3Ng4;`@0`Tat`5)^MvZV*m`BX_dx5DsHxRK+O*)#s@aUSlt1 zwTXN>>Q0ra3uT(B9h0G^Djif@Q@BG_Av^kMbV-DUDrI&^y9|UHDNan9>+*BKYaGgF z&W53N;}ClDY`r{5U+IyMzxP7_*IbKl<<#B`lxI0g=O1X{l^vV)KOfTwZ6~1QZ>D{J zErgzL>jrvPE9X&na*^3n7wc08iYa7h+#al3?v-z1g`ew{E>6lWKOgGn9t~@1>2Uo+ zJZ6ToE9Sgk2b{=s*g0Q^`*25OO^snCfn6UhzxQG}*j$2|xF z7jXebZ4M4)4uz)^w{wN#X-@{eoHs2kQ_bPbja*(#U5+t~zksryO%t4>k?PSx*nMP{ zRmx{g%7Y@p|2qvq~8s$?`Odmv@jVd|6=r*%IAdrrx` zL=NmnHR+?W@ZTbT95Kp5Z6nUQ?Yq1|OmTjY6pXhOyul8lic={=qA4hizrGWwa0BlW zNny?7&Mer@+}WcKiJqnq1K+2cPvojsUF6V#AE07m6W~g+rTQ`z$bi5+UIf)e>1!}UTw6t9W1HI!KA;$ za9i=^N5-fl5@(Zyh7;~o9Pu{1Ag74Ym}jI&0B?g*;&bXZ)*5R+-LvVkll((Y-bZ;x z5cBjW#K;2LuZce>wG@tE83{D|PL`+XhuzbgM=i?8KHAio;J$XlY@z9kxQpeuua{wb z%cQ9NV~T_v@QZneJc8Wkcy~G$4m%6g*^h){DPu#=9ZflOMtaw=63hhG`{p24t;Df; zR0$KbLrS%lbg(Z!FQGssofA9dxhieUQ)hs+F}ktmz%--h?0Vl!~la)n#o* zKwjjnH@7-cZah2DVTI&jI4v}!l==G514PbTlt)>Y$6583Zt%W2)d0$o$*IsOE5^}V zUwkhU;sUCo4t7& zb7ikz*602(t9_fmiYi?(p4hH^{m{wH45`N~nN z##+!KX+`FKUY`9748EM#znGteP#fI|b>e$*Gb#usFs354qULLx2 z4%o4dB_SQs(CV-2wPOM2$gXpE%f5c_i7~lw$XH-a)B)AL_5dHbe!Pv`XK3Q)mrcb@ z%W9}U^rM;iH3)Gzmxl+Nh_0+ZK}vyF2djrQ2c_vyk60 z*gv?z8eZrC-p8QR;#Ug5*iv}&wL(0ZuOK9!-T#1tQZy;SL8%CYn*IJ-AvweIsnwpf z$VP(Pz33W_l+`30SDpxAQJgTT6>?Khd453YVovEKVxP~^4)%tRGdDYR_#sCYktfe$ z!~yh4B@_n1(>=hUmWk6WoTO0eV@&6zfIw8eCuWR9cV1B;n;D+!?(N3ODlg`-p1-%m z5g*m!h(ijhawJevz9&NGFy-nwx=J!4DTbSRrn^p;)%_zrau|^q;P!IEk_q9{j;?N6 zZ$e-Ql|9aQ|yX|-|LMu@R+RS`)|~z3JlW2$8=5=;=*-| zNN~PFMUgj@IrwEpo;SL&WJmDb4^B63 z-43+4sdDmi^Wc;FW$uGzrOy=Z9SZI0zL#^sXXL@bIr`E)F9_J}g#)eSp$HF4vWIy> z@^%n|@9^czUKMiRKt9w@O^5FDA9YA24m#-Y_|M@8Z)m}(6Rl$C`nJ?byI1rzpqaqJ z^($-Ytb1yY?X^2){CV)j&&%yOhSBocMNouPbhXw@1`;HT#~QR{osVSse)+okU~@+{ z_uA*BN>M#S;B1UL>C2YWPxeBR5uJk)uMCmF4#-heqN-n>C)cwA=839r_a|ISMB$wtGhVAMqs=Xnqotr_ z@w;@h={U)fd&v;Iu)fr$YHdc-0jRF|fj@(F^5Zt^=6^~~?|dPnU!=qQc>LkMc%Q&K z(+77m&kn`3&Jb)j34U;1bWfedWSLT-zan@8Iq>icAXmYz*350oi||oMuV@4r5=X3D zk~=|HHY+&~y9o>oU3&ksMOCr474ZhH4#XAHOKR)p) z0}RuYY$^{hipb{R6aCAMZ}E;Yx{EmEAd!B>n_vP;!E1eYMw|x-s_hHcOHlL^j>2+D zr^@8Hdco^MLEVQWy?y?P(nu{NPaDn_cVf{qF49$mcU{DiHwsqpVcWTSRPey7Wm#0x zrd9WY8`YXtscXbN)qd!B_z_<2+@~XG&<~{&DAz7SBYsI03m3(+BjRil$Q8`-&&y+_ z(;K;}*Kimr6hyB3Wl&cuvm&Vv$@Zr=ou}N2j6))@;7;84?*x$T%PsQD=`P#brho8> z7m4Bgn_s5RKU(s>{*2~*bO9Nv#dRg$WV&}2zuZ}sO!t2j>ymfQ+=_5OhSb7Iz8sVx6 z@rUNWhut536WCJ##xooFr?hoSurq^uERB5$@k_49Ty4VlgRIY_z|YUeu2Qta5<%fL zJ*-YYry{LAIVsRC)lL6SGc1TKX8mEb1ys%j<0iu$~kq`7Dl_d1S+?0tjE zY|M)XC)1M3c92gOFGw$U+uk;E5eXIXAa#sbaAvj%kQBWl%5-ev*^zt_NQ!b|>5e+# zuUpOBR+Q5NtZ3YE9OgQQhU0G6lhZ96)+6MmXhPOFXTCJPn~~y*K@u)%JWlDPFD{@C zBYyHNJ)&9=C4|&@%4Q;P$U+X=i%s2lAX)U-H}5&i>3{hk|l{*1AoiOxxUBp^2-;B@V@OvzcU_OFLk_G5J`xTm2yvtCJsgq2zMSZXU7nEc^k>? zD57HC^9>%@!rl`3TR}xaI((4a2@jDhPn3Cx0UXgCBSI%D5GCz}=$Ri_+9O9;m zpp1x&p$ndMjy9ARxp{iIv3b!Gr(zvr(fa)Ah_))bNW5rdMN-A=3)ZvjV7KSn1cX{& zAg`*U_TDUm*rC+tEh<^5!AV>9I=MW6<+e<8a5;_e9B<$fI~hjgQRL|uB)2-L_6#I) z^^FHAtS7xK2R4O3mc~eA@E1+>bd6EVVy@lx$ELPqK%Y4Iu-F9R1#?Ew=g(+RBSw8_ ze5|hyJ$4t9Elxh;cRMjCtv{c|m#g&;laLx1d%sQP(p0mGC>~ameArLDx~y1ur{dqQ zmoZXnVq;g)#Cg@Juw>OSsIISY2*yC8P-4hI z>KT4-`JtXmdMOv=8V7Tlw8IYLz1}JOREQpoI3j#LfM*Z-3JD#IvUQQ3=9vz^Q=ysx zRnKFjS|oj{`<*;lfMyGWt7H{&p#JHqueSfK;(HuDkZk36XXBQB7JPc|(H548BPKpr zJ6mOvX0g(7lG64*LX`F>$;41y8Z?%6ncRC>(Hg(+dEMT7VY6uyh z_B^)HXf`&<)y7T}hvC!INoG%-0e57mN1)^3&4+@7iI4575cHU#@_zzSG z5^p{GZbo?Ab3f?aY|!aaHW!#k+%jdE`lhns}qGNfI7@Q|Nv zsZE=Or|M85D4R6>5Th;kQAf;0_n~3q;y7xvGea0TNh|oFHw0C(-Ht|PEs-E#&c4eq zHVrOzhQ`y0%>(6FK79`M(=oqKtRn5dZs*VAh4=GX*;y{&PJg3&-Wad<+MO^vygqmR zGuR4J|M5IUDxMX3SId^vjz=^aLgF=&c zwhK4(?EeH81&5vw(-VX@Jhc5WH>KE$o}5Dz9h$B;R)R;y!tCJsr^)ug&GfFvH{w zL#5U97ushlquEpWc>7}x>zsAh;us`4H6Bvri1w=TPA6*hJ22<77x3WR4cFytP6*e< zK)3LHln1COtduhxkCkCP3!$Lgzi^tmz{1R8Y~+vVL-5%>r~r2Q11ou>=pj!0oexKu z*oqC0Gkb>|ExNVv#7 z?DlGCMg`+attD8E#9Gkp6FR|% zA`ofVj&b$jQ~k1)C%5_a*QY3V@oEyXx}`p9xja@UGqFVq!w8mY@^$*MaKeQqQWj}z z1^q!YZf40j?!Xz@PFv?T9;6S4#3R8hPk6#wwK!Gy&w(M`tduV4l%h@3W{2^g^1u$MMC%K_h4kZ$<+Ke{Czcv~H>amcP9ShgU$Uv-$xC2Xr>ER}veUW}`< z{+$Bv2q1f30P1DLD=v)lXdnNN>oHG&~Jy^GuGp zN#T6`HZTrsI_ammf7*C?8f25X_f&V>b>j1H4QkQ8D+Es+~nWO7F!k`$60UZiyNLTO7RR5Hw)vJ?+7jo?T{;^cqCV>qs%nW)opb|=X8 zfWnTL{d);YyC@K|PO874S0Sd($N-Kkq$lJ<08(coaGEANwgz5Di{?eF0oKsg9V0rj=+14j$*#r>GWXz zLV7=2klYyb=LJWR%%EeRvTMefyd4+5CkIFBoZ(IrPhS9VYZEG$Zp+!;o8Fiu|KhApQ57!@w`ng{P7rS zNWX9?!Bz55R;W1E;h`h}8n=~7oEVQrR+PnN5P^`nHI>5;O7!)cZ;CrM^G648-tUCo z;P0I^`kpyy;M5J@*$Hs?6q733*;@8yh7&HR5m%n`4fM#WOjBuT(QEqL%tS=7<0niM9ud|dYIROhPd6hvOjz3jnj*fxkfA^U8MmNy4~ z+I->lPWEP^-sUSl*-ShOMM>1LNEmW{E>3BKcPB!`rkRBf!end1>H`Jpb3~3e)8#p& zpfu1Yi+mm2D7?T*W@ING;noY3!tx78Q(|pQ)U*vkc2 zr^TfC8-50US7@o%;$k(3^1pJGrk~nVu{`npqYdLx0wkwwCEYZoV9&H z2h$@ZTb!jFQF0*>MQf6iANOEPnR3rQhDFHV*>1cTy4<;Xd~v#YSaj!9Cr!r;;$ZZN z@@DK?fS|-36A01ipyTMnZhg@#&@t~#ep;II09YM#^wq~T)nJb+PC+m^`cHJm+f<{+ z*e3oMX>UZF6^^sIpJk72fGrc(t)y+r+r4v{{u|pxpJZs!vZ+{JSCeD%qSH2aNY@Q> zO_x=D;N!u6mhX*Xd0i8?9$QL+_Gp!%))KWj6tiId^SoIN@ucD;sm*0T8nX~1$>=8I zd0<~;a~$~Y2WLxd`X5$JfUn^2=g+kmWbaR#$(=XfbQ&>romhV$Y2#57Q}6v5AjqyM zwi?6b6xSNecBXy|679~8c)a*gkbF=GR4`pm3qJ4b4vX`%dh_(BWjNR{#kb=sxrJy2 zJh{d5D@}ykp53YXRr0F``uE_VA735d@cB=N z5C8~O5273*2uf49*du*h8s$V!sHkde0_7f%5ZPMiVV?IIdfbz zq6sj-vVDu5>*OB7Qojcox^={5U0}HTkT*#_+LI(Sjq4!42R!eJ_e(pCAs`92!d>g* zjqT$ZRpH_^i1wn0@Se|PFTEaooM5_qr(&R^HC1_!vpmi}{i)L4D^cXZoaHj1Bew@* zJv0P*&*(~aoTj?bqS(VgEa2>91cQZSrb)I6ezg5+6N5l<+LGE{Gn|b!tshgn!E4LD zK6`&Hwss(5lS(L}HaZLJT{!5aY;Siz3nvR^OQ)2p2a0~R&o(WlOce`tN7aJs@csJ; zoU83RD9IhQ_;nPRSbyAw&kb1J(B7>%Vrj_b_4?(^T~jIy63amTyq`KZferBA({f?b zgdT4z6R-F%P(u(;f-aQK7*P8ghrjrw$gAxhkfSqj(Q9i)#ltt~v|YjrKw^2%V`U!3 z-|M$r^452yT>skGME|1{st?XfHP6|D`!|gVb#ovtO^aTs7q*AvVLXmie z3cA@z=~s_5xu}rH4)@%4h!hgfNJgwqkGKuY-H(2m-2WKm)V@tFB8N<>Sw!+BUSXVYsTX z6s0NiH2*M3udXrg-Q2Z#uA?lSfI)hlky?GfACZ4+-SwMB+Sw8-9mnRdW=ORDOcg}@ zEapbB(%B4oeK2Jo!5)qg^w-H45~2FjU4cItdXM$EUE^$j-1f+ulJSraL%!7(_~ZO$ z{T{iwHDhjOof0xg{!Y2`h*+>?AAT-*$Rkw|syeMH7Qbcotje0kgFay+4NnCpCDDn^dusmXW>R*6WlQ_PLw8xHaoH6xufC6Gd33T2X5U}Z~+flG>)A zwA$%L$9;hB49A72O5_r)?u2ghRYz@$j=~k&ej=kCyI!y;tDju4`@RYOV41j8FCX7@ zuj2*NaCAeM*fzxpLpFCH)ItpZ0M91R%Wn5GhzQQrd@Y_^oFQFC)fuDFupP_eoBZI( z7qVY1S_ih_Zg4C3R|zI!^t{&hTa`CP4Kc{9^jN|cf?9Q{HJ|g?S*wGg9!X}74i>@~ zf=`px2_oMsuO_H}@LvdzL$5u4{Hb#rzHD9aCfH-z<9q(&#vbnOq|1krM%dv0qa;o- z1@^)S+2O%a9qw&2%j%{~O`ViWs?DBDsEnDHr`l20VdJ1W?~Cy5A$T1Rqk!Bx(auf2 zBrQb@XsNwlkMR=5zL%43LFKc&MTqNF8^Ov@q zbgLKkj;rHDBTwj1=va5WnBm;@+$*EBqpz|m49U-99!E{>yZi5vZoML9Q_f>wdYelR$w8-<#_vU>)A5@Elu(8$Vw7($}iMd-}s!ZA(h zhFQ{$7GwX(CEurrt>05C2U+Yo&T`j0?Q!{SxP7SioX(MKHjAT{wlRd~Q9NtVk#!dQ29?3j z0=)-Gig?dilhZGG3hV%dS8FAu)?>>uq^sIYZN1|zcqnSMSH9i=*u?ETlYw^t+KQVK zc()ssgNb-S;Jn(p6!3i^EibI}@c^B9wfEa@_ad9ZA8&=-%t-Uz_uLfB-hS3gS&WqD z>-8SDR~!rYN`T0GyzO*9_Wqh!0-)`hh_@XP>K3P5KBQ6lAxMmPIH-}O4dsv5!26%K zO{5J)gdQZ`O?I>xq~~H5jc0z}<5xm1zl9XCY>*s~~QC0(hBxi47`?m9%GpMC{9_Fysg-hM=o zO{vF1@U0oR^nZA%Wk45-aM~mJK}~B&m%X5~z;xwlhEWU6Px)dQ4M0j>o@6D1D({W#N~5+CUB4@5O}Q)f;djd8T*0zf zf*6Zl;ec<-a*y*ZfUWgdifde;2o^;A@+>!SMP&#UIW-f5b|Fbf<|IHvaM|A;*5v(`CK2I4spzNH+qJ&H9zw zhEGB~4_s+<9WT)V+t{ z7SESm1gMv#=P(PIvb64I4y6Q)#MZZl~=ip<(2jI6JRWgEIYj$-=MUlWbZzXsGxvAWu5NQo>BJr z`6uu+Sv+jCnfybrdCj)7axMJq)AjD4mZ$eG{995hOXN6|;7+?J-KB`i@r(X4kbagt zlgTA^s~dgzMFL(ZjId)~(xpIg+uoMA!I!-)#h26g$S6DSV|O}pwezH8(_e-C|>X~ z(3arK1&MSxonIOQ9(FoPzIS@YzH3reZfFIwFu*_#Z@Zr5%*jIn{Hf%B@h3d^?(B1c z8|1{vUoKw*cPALqQcE~#dP6M!ouy8o2d|02nTteTFo^@*1%iE#|R^+FvL|a3RD!pJ^iwf zrxUB6URge29DT<)LX~E$YPQNl#LGC_WT@{sPG8sQ=YV#z9AGmi{)_?G_-*IYz9R6} zWBY4tBcN>fx%6w<>08lJc^NeNe}8&JDwll7BFVk*m+x}g4P;ND@b?M^9+u};Xi_Z1 z$){xZhY;%lcYzNzkK;fLnb{m}ZjzdI>rer`Rw3QU#x8MU`1wZ{^%LR&GKkaBnd8Wp zHPn4k&Fr!XHv5ce8XH=@(2rua`wpLRJ5E{@b_2>_z|$8{&-tld-%TDi;>`@%ar``F zAf7oEJR@2V^@f2#@13{S-_IzC)!+>upqSKqeK!)+R|hUpZHpCpU}{f2RlIh20K~JcsYt5N0i-{<6 zlo@gChR;;E;>ebZTq?uAu|I8{^SE7P|M8J|!m&u@%mXvz^sP$iLp?CEC&~MtBYSFW zs5gp=df&o$wbo8e;In!e8gUtI+t07bf7H^o1l2{Pz#F(y3<%J)SMI5QF#=^qPv2r2 z0Wazt>fn&ivo$+hs@^O5Vqsoc9j>Hi1ZOb3!ig(>jBd5Y?|xT6tph|;Ik|$@2)YI5 z)rzQk0}43fq^J#ZuCe2N{cQbSM$okO+D^an3NgL$v??_M9?8=DD);Cs)j(f|cyMZ{V2FHam^5jZKZwjnCFct{C(BJOus+MU?0!cA<(YdNy zIjwb3&g`cA0Ckr#)zoCF3qKszDts$3$TcbX>5Tc7Bf8XldeiN8FmwWN)!(k`0FYqx zH%Rz1@_OTWtM%Jd?T+g?vUNu;ASHx}sdbX~QB1~PL3D>@12sAkDK2IWghyQ)N}=o5 z!F?C|k`qB*6i9+`ajYJ~)YZUf5PmbDP+ILS( zVrX*p{oES{3Zv!smHy2b+Va_<-pv>c-FG_SEXzF5l?C^QYPd$AH^M-Ue@pkDIsP^& z^4G`}eP7FeV$$mmSw(Co)9P>T4y4=%k7o5HJ5Cq$U5i+s(|!y(&HPj19P9I1$y3BU z2X-6lz9=GDMw;Y<16-g6aui}dw78x3bedIO0akfc@>Lu)or-GV}$CJu~nT< zmza$nu-it}03ojE>F)i)6fNs}yf20q4{u)$V9z0izyy`{whp*mZQOs~E(Z8+I>jI* zmj9(@LE?M9zi!vSv=nD5CwN@()eHk`Xyid6)!jfGdfa}vy}l%P+>PzNkq+(jwf&o8 zM}rd6u?Ahps&++Wk4brF{X`O`!E<#p(ga{I^`tvrLN7A@!nbubE;7z;ZG|2l!iJKd znh`Pi@N1R@>6v0*{y23)xTv5{L9L`_>0nl>y(mS`dZ+jzcy1f=|NoyG4^`)~#pr2q zL@!Zg)sW_c2Tm;&X3Ky8&L`w*#?+rTcozTyFUpz4zDB;Ut~uY6JkvHDOlw#i%Su8$ z&28tfF)T=fZe|Dl#|kF*4C6q`75c+TA!wW833SqLkhlNE0*655q!1DO{A^r-_3yur zuFw-rWm__kPBj|x^hcmRAdTzxeZfxucmbp)Xn=&USQTMR2l!N1$tHJCSK2(8AE3Av zIk}1}}p8v?^+i zFs;ykc?BE|&{(lqT-I4Af`h^aEeRr=oBcrXhyuN-^A)3W$_G4sa0WT(Vf;pEJ*bttM0=xLk z#-1LHmfv?yE(}qyN{^f0w&}XeDC6H4pe{e4*fh{9_Z>MkrI5M;Hq}&vN$bNJl>Y*W z(|gRL<#-<5qMV$ZmKk^c90I$osn^}C+lx?jWtR zN+uy^I+(X0dYQ#_DKGH&iENm=965MluH(BdemHRN$D6;O3BN5z#hA~!oeDXuq_kR- z7iDp^>w{~L>~QzL2BQ9Qg$9H5h|ZXWZ7owR2%?^E-OInjO;_A&2eSz=LJ=QLW)J9t zaOemB!*>oRgF84lIDskuU0|a+{8q|m1q|y?-X&lo5+yj}(tNve_s8EO<-%Y)4aJ>a zfYQPI_wTcP=gG#AODvL)@VdYfl&N0e+s7zmAFrMw`pu>%#SWSP2S%C)%lYU-u%~8q zc?#>A`R(ng@MyYMzf3N`Du2)JL)+!FR=JyO!qB`{0 zoK6`l51vamL4?lvgg%1p=OWpm+LaX$LP}5*=gEfRyZvP$zC?gRATAchqZP1;Wge~{ zd5$w~&Gz~FhU*3Eff`L{kV-G-x>C4Rl*Jkydo-JkUYF5wiSVO?ES#3(Y!lP+87 zS$wYf5P!#!ijI4_c#B}mhie0vfW1wZ+3NWct)jeoC>(B2DcWoV0>Ruo59Z$FCm@BX7-$0=Z-^!ZAZvW%Iu3%3u&?Z z6=8aQm!KZ`yLU`=P@wV+AO2XYSr=dKF{m++?eHFLm+4zDoYX;pX}U-afeRnL%snV) zoBk_jBd)eWBhxn5HQ#Q3h3r&?Vf5u>Joh!zq@8^B)^-A^P){a2hDLzlfZrYVX{zZb zGwoz1*smvSZbM+CxBI!uA-&Ff>Nm>b!$y@hBhcofD_GytgZb4j*VDFNZGT`rEsO5@ zc{s_qQ%QrbvVHwkg8FnttA69H!S5pv`r(1NkV1S6JFTk`d8i(vptkJn zI;Y!$x(eMwo6VMmy-~Y69Ane z*PuYF0O!Y`C3b5nEz3T=&UcagP-~5Ix}r2Z6ovO_Xo#%Nk0p@R&di84R_QY|6wAV7 zNi&!x>3@vH7siiQjAGibGh^VtKmCLA2ILI?J7EfJDqyh(Mf8}W)#d{qp9YddS?vrS zqhx5q0gHv3Bmx;*vJ2c=H`z9Udv`e)bPxJ)MWmH;*}0;JD_}%UhSv3sc162%yVudq zR2K7{^2F=9TH~&~Z;bU-bjU$!)ln%(u>_b}AatqVHV=qn$~^gQ;rW5b*w;&iYmRh} zL_PZKrzY*I;WM$-@CI=(fi5y-(}2c>I1G+>2jLvE2fRUXGwT9X65IKB%Shn{54Z`k z-FoY-c$&0l`v57HDMPPZd*e^Q(xYoi1c`|aN=!4r>7)t|-kY|3VDjn`r@k`nv3u2# zj^YK@ANWkNC4#pWDK4(!V@?}`M`?)tv%*XppOpKpSg}^p@fjeA^ok7YoW_JH;8VU^ z>S>n}^-5CinJCey#?M`s-XLo^<&=%778ogWu(i!4c^%(7U*z>g%n{6ZZ1-!9f!Mxs z-hBTV)y~Kiz0UACfsB*%CKbA|w5N5f%XNE)`0Juebd4QXa!V|(sMI)sb5)U}`ymx* z2zCD(4FOcf(@{>+>MN%LF5;*WXWe-Km<#bR9~6Phc=tKIv0J>Ls?X#_b^3!7&k!~Awn>Nts96!r4xwhE^w-0o>MhNgJ z_$SUrlO&3N=oMDix+lgD`pdel+Fn!&WMRA!?ZFY0==UIv>U)B)r%pm-5pe3f!6O|n z@O!N8aqbCdPb!Dh0Dl3s(FPzXw(QOU^I50KM(^E4&4AIt64N7%fQm9T7Ze#DwBO-G zJjn>@zY*_veoR1v3dNeXu?@yUMP~b)$59nQL-0A z1CS0bbI#qdGJZk{!&G=g(tfT5QOTFDXmbmkD3P?Kf)zO)HW_$)UxDon@)W6y*zvXZ zbIsi@#r2}05Njb=ZW^)+)9obQ$>d#jhRbZUZ)VD&$*{O zC|AXOA{x+x0Twx5-;!-L=VePcY<7LCSvkBSY`y!4QM|}D^%F-Dcx_g(X+qp!+rT4} zTIU^9Y<#KOZp-Q6varXJ9tB)^L)`!P3B{dCyR=qoVczU{rsG7Z@u@1cX}3mwL&Kvy zJ6KS4wjsVRVBVW{wQ+}lk{oN17Ef}9098%2F$SEa*%kLbqYnM)l|^08N49tvm-{bp z3U|DBk)X<|Bg8CEMA!1Fr!Wj53ZzIN8kQ{y&VvP`OoR7q0s880&@k~b!CXumCxj~! z!e5Xh6(XsB(GkNl3l^$D2}lf;fbl}0SbNaGjFqg~dfBwyWhT+sP{MY?ou^s3A9 zx{*aCy(X&cYmh2NSUAjy4fTaXW?3&(uRK}UX>%DFyS5W0vG$vC8SJLp32*@(0VZG} zp!!?M5dgPVg9bq|^fSKS+LNc9>A3&<2L>TTj5;{p>h-yyLO!DDzZvJ*Ej09Sg~h>` zpz}T-&3%D?C5k+cY{rg$F%C|Sf;k+femU2= z-2sob%#*FmLKOiZQBJij6d7+qrZh731p{q>;eZ!S76^zC_q-KzdI3Ho=z$}|l-6Z? z7(4bAjj$l$MqZgCO7h5GIYlMBIRFJk8hZ}XP^2484*I7s4=u-m>L|W*7 zL0(fg2je6_errh#$iqty>=JwYYk&EcH_tTn<@%>P_6;E0NA4^R|NUx)lff+-U_6(SPV=g z$JzAkIw0Y7rwWX>Dva|jA7c#v*F@?^=oqmBdjI3xB^X?y*v+z9-xLp{{vn=MnD^0Z zLt5<1f{Y;mb7&C|%-Nl;u=V>~^Gm})^!rjX+KWC*Mp=I*u{Mj)f3vZ&GIup0A%SJL zj;UbKkYM;ff^WXTM1Ghf{ysjZ(Wh8pd_nwRU$LKlz_TjgVtPG*kCMY234D051H}ks z0+FCs$JQjz2yOyFWLAbm2bi#TfOR`okXe%x*dWPJO8hjIcNYMH8-t`^99U){+IES} zI3y1TKs8VZdd{B=gT)cmbsmz5a8rAzIalgow_cPqP95L(8F-`dFzAgYi_o3&o=gig z{wlaB2I9~cyZl&k(BfbFJE`#FPiR2AG+#x{Ea+qXZBGsY_*hbs<4l(kIAf*(ajn*y zv4!mfpt7sQgB6C~<)du1#+^QOAVAi8FL#FNgWmq7FI+(RYky#-4g3O3w>3a@PXJZ- zo%F~)_vR|>*-E3ydTa}4^+Am}o(%J9^CEj_^lwTEEJIssS7N}rr?bR!UL5h3yA2u zDX#v*@Nd&I|I5b2owIt0C^zA%d_UF1(oEmphjlEI*4Y!PI;u~{keToY|*3s zea3R5*9^Uhj0kv>r5QQW>}HOhqKf)|RwQN10CKlZU&m_!yU%b*Wld#;l)|UKsDISG@muGqfW!-8TMPyylIQ{FJMcwjEi`N13qUXz>mrvC~~SP z_Oz~7REx(oHImPMO~#Fv@MBzgMLhZf68wMXOexqum;%4^Xi!114;q*`5!N|RVj$}; zS*9SKxlexQ`_M@FiH{U^yl#=x!Igqq^R@5~#5#ssY{U^^i47)h(2Ko>D1#le^ z3}cEihuS91z6aJZk*@DJ{XUc+^eaN=poztia;r}(YYpqWRG8(#;;kEc)7052R;tNo z^v2b0S8~aV9o{YVQ%uV76hGa32Yw7|K|vQlY-a)hv0YCC#PC*rNvDPi=&#ryJX#4< zrEA#IZ?$fUBmq(40S*iRWzufM#Sio5T7be*;PpVkBT8~S-mxeVquW%NG0m&_R(zi# zs|viWoVtW`!JV^X{8LzxW!6H4rTM=;BPcAb$7u_*o>}{K4h|Yju@3IBXFFC24##gP zF&q_|pL90wR+k>+^?((Pek{lmWL=**BQd6^6xyZv-nseUmwzfPTBX1^JABnJr=23F zJAh_=8jlzVNkV}aIDPKRJW(BVx5t9Pb3PGnYY-8$9i^(JxY=YbsVul8(LHj`YaxYu zHEw1I5yEpdD#ZeE$<8!bwaSfw8fl;ykLBJG2a-uW(tfyRwi_rTjMEiOB*=O+?q(tQ zY012hWVCCbunuW+4gaYwTA;aCaGV9MH$Gm-x14>Z3cHRU1r>jO4^D7U4GahecnR2~ zcYm-JYN2idB!IN(3RnrV3brX$kzi7$`uf~lBXPNJpLUv`foYN9iz4G+U25^N!J@Zq z2ULbp$;m=3HFKj{P}RY@^~J6&5O0S+Z!6~%J6K7#*S}vo*(?lBFrM0N=(71qc>9V-oXe~&@|9TJawAfTlwk2_3E!P(+z>3oqs_!%c1z6ntS z=2n$5im9Tm83M*tpPy^6{Q^tUR?9!JRATXJTEyK~+=%;rwP0#*wEXE8FsF+!toQ#- zuj%t$6107{JRj2Hq=lMAH>wP~zW_|3p`n@(F9T$B$tSJ$wJzng<^-TnE04<^W&(&I zJbAtBfe-=aKo?Bl{;xM6Yxp>~8X%8~sqFBHr@#(!bQOk03IMRV{72mUPs|DRMY zZF{bI`tIrR#;4VVZ<(jVuWwrUUhz9w2OEuRzzVd_05{CuzRiN?=>J?U+N~0^;)?v%q%2Hl*{u?H-uHfmCK*5+<#jM$m1`xbpM8u>|nF zRB(_a#HOt1c9{7srxIWmZ@)2)4*{{Nl2SRB))c?h`sfS2!=$-wqzO0xH{mmV#jauo z)0?-B{?d4|zL7xJ+T>r?`W~<~b#f|p8ZLVe7(&}D&(zztQ4rP?4mdsbH_gh=|8no+ z$0XXN0<+X{jH3O0S(^pH>-efc={wG=7f0{< zRE%&tfa@YXu~PQngRhC(qN1?JVu}~7Qu0}Ie??m(FUGathCO{V{r?L9nE0{Ma|wnW zx3JX&7v43t+pNCLVA2z#Pm1IctXJuR*w!t0Ij@o|J_TH}8gyfLc+#VchHO4CVT-sR ze+?j?@;-(LvVURef1GV^DByVm6Wg1fPC9JG|Hxtk452dbXCh zKmx>~+tCYws&I4m^|Qt83~oHE@kMI}|d zgV;vrdKld2%C$cUms-IEO1LfmO1Nae;OHpRUP&RyZEp$yo!E`U?Su^0#>L7oF5IDwjjgR?U6RCj zkkeeKzrPLy*MWvoTORP@Yc(vWMcs~O|E^-M5z7w+yv0{hb(c^h??@D32LC5?&xc_MdOB|jgP*tpp@I^ zz|@0M5H9cL|BaOWul#fq{5&wf&4K?J`D+mh zK;ftc{I#aGM-T$xP||6(sn7ULUPTCk+BPtL1;LF~?4f?9!Uz*+Y*?MxBSX?paunRe z2l0)IEh8LY%8Av9L2oGZg8u`$mth3(LXey6gQ2)~MPI%YTm)|Pzb?WB(EfzY;#HRY z`yx=I67=Zbu{P%4iMX1O4W5QSq|YuN3L+|%dD=Iji$JTE%OD@Ln@BI=1M-^huB~Th z5H3bY2te+pBR^r^6c{|h^0K}-H+Zf~D$=G%HUOU-8!256mZ%(LE@7DlX*!o76_z3Lt*S{Y(6>0pfqKVnGzgKk>09!z7N^_I;-1Y3gTT_$|R7X3%QA}1D zAy&g6#xBZOT*L`ni+&rb>gx=kHK8sq$AP?9R?(qQXb>M>JG|Vo?kQJRI@h4N2mX*dm{~vT9a`nroN-6o8T8*cGRs{{c#Z4z#tX z0=8@aT-DE}I)*R7Rqf%h*SY}S*vM$1J&MTY(=FQ- zV0itZuz(4RbY7nHX(7bK0a*-HnAi3m@D_javK;sHd+RO0@!p!Q_!6pTrbM?4$WxD8 z0CTSW2_*lY+YbJ>tp*E^94d1T#S1<1EzJp$gKM=v*cC?|fdV(t#99_ZLj;eoy7FE8 zGIZ<|q)bh?iF-Ui@dc>5Nkdx?K*&&`ya93LBJt;|PIfLd0lL#0qC5X9m0q}pdgJA# zM@+`^cPf=zi>@z+*tfO;YEg@)@ zcaZVxe2(j+Vwc1=o;FjEg9rjExIqTp(RUf0K>uJt*0>wvnx7W>ES6QXI8|NyfGoHV za+VQDr>B47NA0brf*^iO{wsdm1My>mS^uuwKk?&LLsrRU5I>-xb{U*AD|EK5E<}ey z&*}ykmXzm@>a(WF-D?QpjFQ;#pP)uR@wtc+`y`JvJCkmmdkEkMR$uRj1%Ry*_lZ6H zu7Ps$*!8K|N8P4m;Cs5lx3(G@iizkb*O}%fy1urK!K*x@NUiuErR; zz}}?l3D6MU3uKW$2KuoJykId&jt^WE6O1aIiLI^K0%+)TN9%(w9U7O^V!*$j`_oR{ z6#UHu>VYi%Pa@~O-1M!p)4Z#(|1@kpY~=LI2BpgXgCC1w`gzpIzycUv9_9lx$)LeZ z#IlGm@v&i1RnnLKqVJ)jufyUTzr}JAU_wMRk+-qe@=V>J0-a8nhX&x6a*l zka8a!k7Hj4MUJV;cjj`HKNudJfr0pNg@2WCp{>>re08cXnEm}u&#m(;^52zt(r?F5 z%_{+7&d6d`Wgn#arFv=?&VbT7Di_lOk0LN-W*!_IA0ULMorW<3%)+PmvTEt3Rk2N{ zUf~;|shnPOZqP?WlRwA=jp_V#rk|ijCY``Y|H^hLXzRF)kEyNuqnA4V=}Qodk#_+d z+}y$c%5)KT0&&0P%d)dOmX?=`%getRo0t@TIQhM}2K2+*19LW|d3j}k5HwL&kBnp# z={d_jL3%-BxB`A3-Z~Z~yzi;Mf;7?Bx6V|It^u1f_FLjR6r|ME)lUy~b2Sb&kAu#i zWjc4}xi3F{$t2dN5P8)a^6=l$g?}Qc{H8eib$r~>!^7j$rNM-iV-%w$bCOK~7}%<% zCHtuo3*D-FB$K_bZ+>ttze*zY+T=bmEj^Zep^0B>A9?C_p+%N6^~s7|3vwQMx&58=n^Wj9)ZoXadQ5kK)i3 z>~IJ;0T%s!Ep`sTjD09aM-&W9>hTQ2Fv6j(Q8#V=D7M9`aS^fgIZ#N6cvruq2HHpd zY6^hVCs2e*m=M>C<72uFfPs$rIpo^t55b)l+=R=oB%Xf9zCH(_+0LoZB^T$3mo7l0 zUp?7CAV00>)G7>)k2zWb*E19tfm=DwI6a04zsvt4;m5gZ=ipHJoP=U@xwOSu!fS0C z@6zRu^TRJZ&sm5DoccoRE(E~d2++gi2raCD+)<$(rzZ;}$Ck4s)Me*~NmmGe37FJ$ zK~jh+(*Ei+E91_}WYd^=3t$K+zC)kw{8yU$;y}nH6h?xT@Ic8MSH*j@og`WsR25hY zwoM$Iu8&lH3S`7XPBU51qDWEMEfEt>*+j-s&%2XFdY7L`w@MtI0ru(ZhsLAzmMI6K z%RfgK6aw-IQ=xtIr4nChE`L79@l(9B1yFa;s@w`7k{uoTV4gcCi@4Na%>75qw}30% zNM{0HX0GXO(pJmKs*BGAG(#UC?eSHkbv4B$gi~Q~}om56%((QHGQ0$bxr6*^u||0DsP|0sxx|-@h*F zfGH7VK_XwNr&rxn$!c-8^vvembymP}zSyKJJCXv}dm{of)+Mic;R{a~U* zojeP2qPMGlIZ6j@xQGHUogG?hQ6DJ;zm7%Y2ER=_4HSpn|L;SE0`Nrpdf^dxvz}lp z@Q|b^M>zE(WfQyGzh807PSeX?oUR65DHIfSYkcMh;SeFnVsP#=8J6Ji;JV~Q^tEYD zDsO0~33w$Vgkl*YL7}oTr|WWB@x|NqkDt+3MB!qjeig$&Q3NHy4UHqH) z^8UFl!d7VBC<-ihxCZmH&0V2fRrbLzUH9(wkqn-bI*kbJl|Cx^v-YCpmzV#%*M$WU zr_nnUzU4xJv^TI|0+~W7C~Dv$9?@>-g25p=v{f~b(~pRST0Jb3$!gZveGJlZ)_W{V=4A^! z3gX%(wuo%OYk<~Gvx{%Vr5$JOU4&VJ;gpI%X~9r}AO42z);Ga2CQu2V{>j|{nV-?? z`h8E02jzWMyq?$raN0eOTJ+C#8gmo`o{GL>hK4`^Oo+f~uXLKm87AAnZG~vO$__lOkrFqLg6Cr{>haE!2&3lL) zAwwDtw-TXXrBazNkmCFut&t9CEP>G8S|ek)#MV_UV^-IIx3sKToxU1W9nR zpQ5B@!8m=<94~Zrs%2^&PX}-4XzI+L0xQZYOCHE>zYeu|1^(f3NrLah1$3bwaWwIy zU-x@PpD3Z~6>JI}-0; zIg)54tUlSk_5S!lX(f^#;Re*$p#=p-{6xfSONKjyB?Ru}O*$PPHxQ{Nq{M(erQ|J) z@`ZY3F%`VElptuHe^;>twYkhfZ7y+I>0>7v%Z~_=&S19VrbHE3k#Wh3f_CWTW7T3& z)R(Im-FX2@tePAuL7Ng_M0$jc{w*cqo-{&aeccB?=SbYe>OpGI*8t@E_tu!z(aN!* z3{HoxUNALys~&7G(n+5t|H+6vG-)7maT)EN{64YukSr9Rz~BOo0Qn2=*STAgPWbWo z{m=@OL$qo-47CES;Ly5=R&Hm1brDbb4#zHW4t^opA5s=bFnIhHFo{^x38 zN|6!lH;yITNz1$2iT~Pv)xrFBI>)#0s3VuyXZ$^`B<>bl{I)r zrcSd8G~#@uUbB`*<_sy=8~smW9Ufd_V!elOOk^xV1|R9X7kO3N)XHk&UO^y^O4oKI zUTg~#9WL-{HdXNLY$t zA2I}NFtBt@JnofZk&U@ThbP~DZ71|G{_6!6o!nS)PayNMAgQmBBH1JP1Hy)Xj#J(w z!yX?FwX9{5@tlE_Smm?cG?Xh7Ngz7C$k652L5gAxBbuuwk zZQ|1OJy$F;Iq6Q;XFuRd?`y9Y_|sPA$jDsKPIr;=x{>H*iBaW82ic#zzt5}ZM{MF{BcxBkikB@r$DlCZx&x@Gbtf`sSRJfc z!^7a~&|Eo8UHAR;!G4AKYZF)#)kKeYXz2x$3mSs_s$YCBx_5Qx(#gT2q$o0E&X=nj zV{J{Gs4M0orZJZQq+Bd}ZXA;gs0MQC=>IlMKAdV1hVeYwNHH(kQ ztasd-lp??|#Gij$q(bNOhHsG&g6PEnqW>|Jr{Ar~Q7H6c%dM{CnKD(z`i`>7B3}qL zRJdWIMOPjqzIku0-_6Z9&o-m9_nck%$rlcP((bcOOv?)Ui8Qc+JXBJG9V;=b_z^nc ziRpC2PR8dolo3{CjNt@Z90QJO1D4q-f*#^&zz&pnfRxFEt1@7x3N4cVBIB6F&3SeE z#|zdP3FKA%42GZpSK+?&wb5!Eh9o_+u{Yp!OPV}(D6q>>Sk^pXI(Al8X;fXs*!Oa3 zSj`1-+X51)Z;8w3JH$Dsz(}{IC8}C3D0yUIuwkWn5PJcb4%+_H_AG79Z}-e-mip_< zDM~vsB^y6&ycH7Z-}ojK50x`cM;azN{L@xN^;bL#PP@pbhrn29^|##r8oBiYBT%a* zjLbaDfB?z1Ds*$^nXV|ToIR`bn$&iq9Xb`XCYwv4jMb7=l0z5CR(<(q@vtJuc2@RA zO*t#dcan8|e_rwTbE_5G6|3h?t^1#e2-^a`5L`phk}4CuOVN%h49=SJUDH{fwD$C} z@scy#t9>U_DK+uEws}uN==)Bw4-Ra_N#4#g*$hF|X}*Xm@o71^)n@H7lx1Z&RIO=F zhOy&PvG6cFVtoBU#~v@C|HM=k#NjPJ8`U)0m}6q;=a;yN4-_(va-38cQcS!et)(=hB|Ft~(&qsO zIP)$+04VFoo)ezCfI?6V8hWi6rlG=QRm6=^zY>%Thz!e0_~cwcz;GU^ur`>2;zG>m z?)c;0>ciMrI+nR-ChBTSG;p!B3g!H;C(6NmJif|Csso&9RFPp=pO05;?+YaFqx){)x|3&{33!=XPu-UIPPsl|?25wnlNCy@m-fuKZu%y*UtJxk99!*q z$ZHvi8%mSK9)B$ufmb$L_Xa)ZpK)^;iz<0sI!O(WQwj_oR9KEyB$OVvLlpTol(kv*sb5LLEFS@tqN^g{zY`R)2 zN?x|O`sh*1gAWt?kGZg?9~A3tvYZ88p_EBprN*a0?!LvY%G>PusuWV&S`lUJ%)And zGT!n`Kc&8*(MgUTWSDr(C0&G|P6w=20PKvr$Rzp|cDq-6nLmP~NHuVafR74IYD4OR zV1vb9!>cgha=2(|F3l(m`f8xi)pY&oD{iHgdl#%P>Uef?W%Lip@GcBqN5Z5lYUZF? zMvg5t9$G`z{-CdCkZU)F1v5}Z`t}SMeL3*hD1TSU;>x%#op-)=wCuAy_NVbu$7sg> zD)3OM&C|}19znNqv~5=4;FX_^qOJ?c7wL;`MF*=!BVLz2oxa%bQc+KhzhS6GdIf(& zD=}XkQm8C4_SSm&LU8$-k~%_Wea)(dLtdZp>0Rpzze|_sM!&r(8ePe5 zZ6ZW8aBA@UUO+n?{xdyrT{_x!oQ2xv+Q2&FK~l`@Zna+d7Cj6ptbLTc@u0c>E^=b> zasvla_?(m}AJNqy+2)H{CC_B76_IV$?}Am4YS&-o-GkwWp*iUIV$eY39en>89fW>f zB&K{-Tc-uK5R-Fnr)4>_71FhwE`8gfNxy6?N(O6%T=&y(x)0}G>=9F*Nsl#~$2cGV@#)V(nm8Iea{ z*^U^m^-q;b|Dg6&rcy0H_Dw`xzS(99U^mzPcP?Wc3c=x-WUv-*qB~7yYA}YV7Oedk zK@3=uV-UGPQu}ORMf{ASBj_s2BkKii76k{_cpuKsK7ZBIU7bpvuVGiAPtj<%>AAVY zd&#Rfz9~=wkPe;wFaiIT1BYgGz)tAJQs*IodVtHhw4P61#LVprr}IFbwhbXwa?w2ck;1?XC|}j{IK($+ zA_Qx;mco%$a!dQR9pQ8aB#y1pouAg|1&r@clw%I#X6Swlt`7iOZEwkVmim1RS|dX~ zOfSo9>S%ILEx71IQ9-nC@K0z~$XMqfHiNE(Ru}sdKPYuaj0(P}g_04cEV5GhIj?*@ z^`Rx)(#90#sBcZ+ALk%JhoYl#s%LpZvpU&ssBx^`7(rutcSGdcn!5U2`|JQ#d?CC| zH*wG?<%`zNs1=1i87B4Vt{Wl6Rj0PO!6tR&QI9Dn^4#j8`<2pN5!2I4bv392U}`~z zIkJJlZ?{-NS+8) zdpKTGY!Z%)lVgZJ=|Pm6Hh3EU5HQxuL3S@lzY#c+!#IuBJWjopVYKYIs?Nk)CHs^8 zD%BL46oIv}byCm?DKT$pUXohor}p;twJ}xh`vNAhhOgy;zWtU8v|O;HP62hf5-ke> zTO0e(#uciUMZM^0A>Vxz%}pNGyB8i@2)e+iWT>i_yPie;9i55_S@;BCd*7PO)9ptz zT8z)htdGRqTr%JzR7fM+Si`8tEFKn8ioqX1yTq_#`{NFJ_?w{M8!s1(cz;kAy=QuG z*nG5Bi8d0v%C1Fo;0-2nl36*yZUglE=uAYQi|YM`gmvoV!9;Xv%R?g%qV}n!Ckv%z zl#~GHNO83=y6uTM(VRP{KV?KhYlYg@NlV%@!!QPCa4 z^!dM)u=@TEk}rr|qHj&v&GC_bb^SrYR&}vq#DNCx zK$Beb_DWD`Pw#m=g#^Dh1I46;h|7nDFfOVRXv>HQXrY(T`1upm>UQ(jkg?=70cWT5 z0%7T&4qtcQdd4@yKLg9aXf|9mW$!PesFqnYg$hy#}z&|Ux z$K9@QLM4p8m9^G|RiVlWcX5=lR05Qw#F`)g2SdtGMpqwAZn-muR#!MSl>fehVKaWdV$=C$tjv2#n%A_*NuyG}1c`TFa94 zf9{^n9h)D|FmQFg^_ukdl!kG9EBglZYTMjy)p~;Wc)))6f;Eku@sHXesKakun560?>D%S*7!7*jrv# zcquWc(@`>6HB#O4&|T+O%)XBfy#Wk-7&Y)=RDQT=+eG4a656a;gK^Rcpy}Nx9gP!A zc>`_;HHllbJ{6`8mc11$8$<=rt4ai$?2CwrS;7^1*Edwbl%@7GW#lVw&oR8PIOw|F ziv>Neb{^v)@tDusjD#8)utgjrh|au}ZR?iUW3>-kcRN zhu5TIbujhTV@kRa3u4}z54}JZH?D_D-67_*FgN)-=NNq3E^rQh<&fKvIopz1eH^V{ zg?#ejGVTC!z{`Gb9jVpHc;}H;!tc-C=;}(FZZ}QIjo|MXH_;cgE$DoRX3x{>JE0~H zzfXP%{W*JAvnr~?H!ab#;PvIiN=K>Ri8Ou_4dtZhmPmQ6Aq)-vMs3Q%@??mdtR$Q^ zmN%D{ls|Q=+-Ei|x{i}I;8AZmDTX~-da`ZRVGanf(HTcQxyE^umrxT3e}@{z$Gi3BDuupDQ0qTtq+e|->3 zGYj&&SdKZKnK9tS;v}V-!547YpO&N*f>I8iq*7#h@QmF-tAd_uNA7ch>ep~`%o(Wk z`8U_E%N&GdTM}n3?98>1wR8hL;RLJ-@Br3V@4_OBT*ZJ&5OJee6^r0M{u!sKc7tP% z*V=W$^%L{_C9sB1P+nZewkBH@lcdx|aR3Nq7uYp3JsZ+U{tPvJ-%?OOn8nnHd$FkOWVhO$7UOOC-eh5m8 zD=dJyz43k%FrPx#Fx*;1-#MJ^>~dolB$nFuY5Yn zv)lXPWI`v7-w5{J7Ya7eZOM3~t&cC(?~V*biXMs%Rot_!W!qAlx^sI(j|!vw+g*Gq zeOH9pUqeNJkKXCdj|x~Eucr$a9>I@_*_ft@8qbD_<7{epQ`!j@3s5uKEF_SU`wGE< zu&f;w(E_U6#}}m}7NR&&o)fHGO-wcg*teNA(vH;s(LAGEuGX2ecux!XEi*@lX zRp)QkHcq)Q(0N(l8H_{LB(+(Wnl+89i%dMUQ+{06{BHhLc*1A7rQRL|USk*=)s*kg zbQy{t(0ryVFuC-Udb(Zqx$kzbWPdq}Ew~t#d=A#s`Qg9AhF{<<43SL)oSg{35`1Q8 z%09C6b;9lg-KYQf!-qLKL*#?D8=f-^YZ0%GU&tK4hqgJVK3&RBY)gEse6l2uSPHzD zb;P;D7gLPzfgxin68BJ4=G1csJre7~-ot7{{4sB`KFU+d4-=gaR@eFXj3Fj>-@i2w z-@xFWANBllU!O+D2uWmlcdZwgg}h8VptvFOj~9T4Qys|cxRAy*6H<`s<@k_S#C^WzsaFhHu@~n@^;{uWp$` znD6y4;M2g(LH`9Px=%t--UtP(qu`HQ;n}PV7}OPc`E}^~kp1iXD1h(d@~P2#i=RAN zNu0$(X(Rl8h-m0<`F6HN4P|DPEM@}EWmQleO1%AR{1t<rFGr-p>7r#k>5Z9Mo`KrI)gWMY|$epRxxWgKw zQi+6}KvLDsLK9 z!F_8%t3xy#iL-`h@d+y$?mg{&zQ4gNi2sL$bX$BfDk zFbBQ2Ho9uOYribcVs^#VuFd*ZGS_($Jexkp{lG8M*8)K<=*~ux*Iv> z!VFEhA`uG#t%C@42>Nr#jgVBwEHzFT#oY^cX@bJ5-jOh&0+&ZBbHmjm%EvGl59{C&SLm+sR3YzsLrphCl{180Q6V$z0H z#YkfiNFC`N%X_a=Z&`opuHdc@F%SMgdW=FDwqTYmIk*I-K|dw6DLPR) z{0cOF!_|~DTT>>C{>HHvq{~7aZcHd_rjM}kCl0h(f zQI*$~*LqnXV$UovhsiM=xfINr>EH#Erq+%)L)UODQBTd>6GkWv;-F;AL=~T+Dn%)J z@-$8RRL3PlfvPdhcT<_hm&#oc^b#yuN=X|$A@~yu@C>bspSi48eY7@s;(p^7c!M{+ zUUd~hutnp^_5(Ij^rs+E6&o9Q+2d~Vh)d_5fzyi4e3*01qHRtu7^l`g*Q3^M9qp%v ztYY!<;fUWcDs;e*T?WBVB;7Lf^1@I55n;jO7#N*)^nz?(u3NOF zv-YH`3qqPT8y%e|v9m>mk)DY^RMdTU=+;WfguN6~33@0D7z8gI*6$xaV{G`8;x;VG zdZG0ye;w=I?y}aQ+cDqX>}Vcq*wqeJK+jDEG+!G2=;N!(Jc2!^O_E#|)08 zVeJ4X#ltYk=Kol*UHh26;}f}NtITBYbTGDC;i`GCO~%6}Y;s@$R|PrBkO~v#?!?Q> zd79JK9afyRpL~BPr@(T?wO~9I+Zo;x_Smj~m*X_2bK<>WjioZ^Wd9K>1aF~)OE8V{ z(YV%)3CLm{^YzL_N22*uuovEfW!;pd6hXd>=~biz?$}`|=_fVgZPx!6bMF}yRky5- zDj+l>&qpyZYyL6M9kCFh)@Afg17C^-s977!6cGLl4c5|9kH zmhahTzk8o^&;9NkKdG1Z+c?U9JHYH^ z4=}`G5;$;W9T~y*f@}sq6=j14ODEoOSLW-lmYHsfKw#Nm!pRtuBE@|DUp)6Tq=;np zeKpzt+)LbD+66D+tQX31HBDpo+ag(|r#)ik2kpNpimN2l#c1fR37au0Yr4V39kGp} zr+)dtu3wJFyStA_}UuULdrxF{!ct!M`?|>tR3xoD(_Kk#prGLM$ z*aBnzr^huemXqAyl%EwOASlDwisadabzB{Wv`l%R&CW9{PYwD1eMA@N+u{E;+JSJU zD|JO;dmJCB>6aU~ML$2ez91J4tv%eJQ27`%aysU!N>XG0+}6ztU7H`0?{>XT*PFB! z-GAPz6I`dTX;C%L&iJNdOd%(4JNa_N>l}$m>#BW*rv<-hwo5b-$iVC%4}F zD{mUmJj12tGYG@}^R**aVb|@|=lP0z3T89bIzw3*zi{O5;g&?_!HOHZ6!J2+k^9Zj zo3yRkPbnFK`(1xnHP3qZx?}8Bf1huMa4njroCQ~AyF{L^L{)7Q=c~A)kIY~XYZ?R; z1ULQvW$|MtiY7`%K*|OIHRzT;iqoyK&l)Zqz z9(T2&o#c4O3t8g*_||Gylf$0|)y=IwRx>|;$nmXsE<3^bIgiJ=ys}B_9`U67-N3rJ zUrw{7Fl<{t`O6*ZpO({26p=KTkb~g%#5{X&#ePHmA9J1!O*oKZmi(7pREIc$^xT#A zgQeyP!ywHw3Muo|rr@xE{-RcY#HYco6Ub@yI&F`850UxL&aFu9m-Q=H#BGX{f_ArZ1kix5EU6_06E~^>EaL48cI^F({1@sWs zKR%}LrimJA2W9zDhEKpLL31^gFb2Fy>qQ*a=a(dGEBF^vbQ}qkDqO{|ILGYMJX}L7 zjv;+KwwEZS&`UmeqVK!to*CO4 zlKWxBPR6=!;QKaNGP|R5|ok_1oTWp{#bYBEjxVk(sX_}5_ zK%V;Jaz1jz>mJI?*QU!1KEd_JpataqKYsQZk_kI-K3x6o1PvyTKTCnN1R%NpVJ#V# z^oG#}N&d0N?5N8@OVdxs!}83HwaDP9MLaX^+z)}h8kq-iG&*AanBtojGMEQPo~Y|E z4~IWt9=OHu;u@w;Y8Kkm?9opYNptn{u;Q#(C+!aSWpVBkEPuT5Vr<-TDQ367J7cf2 z5I}7mph{c*@*KB!v{Of)j^~lHxG_F}A->`wSN1Kyb6b~5YFC_qplJ&Io{i328lpDR zvkc_N;VuYx+ipa75+|%+aaJ~|)>0J~b3>#NsDwRE^^00Nwzk9xFGT*C{QJ-I0t*F? z;tj>ow^68!lsY);(<;Oa=;afAAE>(FKkezcos2Ip%3cP~U+55asskUwL-GRqM~g7q zMl%#=V~N1*7!Brni&zURWlh5rd2v>`r+J3SR(_V14lhw#e?$r+mzn1Q)s+7 zY34CPPHyjG3_OkzSGc(5<^CfixJKC^ zE=~U4a93GF6U%%UO#E+2KvIa9h5r^Yqfm)9J9;MB1NZ34s(&t_d8*x6a6C?(LpLj$ zBK|l_RBn8j6tm&qXTN?4_Wm1(1e)jmWA8ut|7P#E(uYu7rUF+`uYNLt8#iqD#}_8E z;hrAtBJ<9OsX2L^k<*8eZM7C9J$M*JPERhm_zl9H{h!f`a+@=i z#m1FCHuwMSvkx2&QkUDdJb;LA0nL+KT_#;^?AtL48D0*&#~&kE@`wDDAFYBWC;2H0BbCLYsdhW!sibt})?-#%x}btH zDweu%P`S5Q9N{4JmgbB%BF@qI8M4Y%P-jdU6vKA%KP!9vua-M37&>%`PIj{sw?0sTk1)QUO`5;^pIuejUM%kf!D4;?FYDy;fA#RAku29C#rp z`j_p~lZt4fhvbQ3{6$;HQ@=2k>s_l}dBp%OvE?sz|k}^-t zt7p-Aa7}MR<|4o+-W+^{MD9dBR7JiK-1cyHdl#62iXVVM>>8?BsOA`+*;^`4Mbs>Z zK_;&A4Wzvue|>XHxc=Ak$DeJ980;g1a!~o*q)}U)!ejQ(WiSdvAu1O}tINgUJ4loL zQH9+_Av+TJ``o4}=_YS7Q-b?M6jmStX0v|%j%U((*Y!mPZAhKMFVm+BSjIQ~TMBP0 zx04BYUzd|jT0eDTy5E`O+u`?2kf&dx;Me_vN@$2fvymhWfMh+r-T32mtQ z1||gBv)%~htG8Yqujg3AxCI7&B<};!gppt>E_zIejA@Z7;nr4EGRhB?kbWb~PC9^0 z@OZ4tk17_N9l6X9*ihAl-FE$3GHmxRocW+UuS83Py_indFn6hyehLip!3@i`8lxi? zht$BA>Yyma(C%PB{2JVS(Nk}_X`d-yV#*PK-RHd!WWAieb#Z2|;#c|I#Ei_83sf&M zYsvT7y&>11c|&iDivau%%k8^or==wKxoLh?S+hWDi6rQC`vpO`l7;C%I2i<+u>56p zjY16Hgq{jM<~2WaP1ZEGMHs$DJ+;3>{GFWly75O~6Ii>;UL?z&4zP6Ebwo z^EY>UL1<@)i{cQ{$KoNM2+|qE9JNF>3DkYR0be31 z(s{rzK;(0y25-2XyW23BvQjJ#;Q2u%sPgWxk8Ozfio_I7<}M(F3qq~*0%Z+kEuhdz zJ}OOq)wthl6jF8bDq>5QL(tQryouOV6%ZLclvu8q8iCaMMekBjJ$Uks^^xNF@2zol znQz6m8SG`lN%~n1PWA>!u{_N&AIg4aE>LiXWAfMIa{Ijp`A-5gfW~lq?2jLy zrc}>Iqwz|yNMX60xuCx?l;GpFdQ1B%afvfbR6OQ+N*sxN#X4+9r|lc53p`*Ujxrst z5`|RA+?7Gm3tK&B#Zq7>Rmp5I$D`$C7axQv^psH?1R4a`1Qi4(epHcRlcH~6!l-0; zvtONuT7c1(_*_N|Qe9jKzcPsmxh+$HlwB4dr_mv#0LqO5%mhUtC^{VNuUi4ppQC`{ z)i%<{^)oANtb8j@NZ;Bb-J&l1O;aE;BWjXC;GF?S2z zrvlJsFrwn-NiE;cBs>)#80P-~wgTdCd4pIF^pc&B@FFod^u0I8aC{48>O_*~e= z=p9IX$ken{z9=1xcM?|nyvC=sPTRNWSTWq^O*s;*8!xSEtnUMyq zM5S&ASE8l!>8Q~#L7oQLZ_`){@F(p0F2FEVe3Cg=p;0qbWeIMWO1ZBp{@#|Yv_F~c zy=sS2+op_&^lyX}Oq!5zppz2iA@G&#My$PE4*l}${iNv^tG*u}M8$USDn`7j&co%Hl zr|8BCPM3GDe>kDq@0#%B){me2JL{db=UzBBv`YYUfRsG#PS6jwo@kW14XX)H)EiW@ z-iPpbrt+=vrscY^ftjV>XPP>HN)5%_5>x-Umz~?de9Va*M@^_0r}h*ExyLA9j2aFO zWHTDbZQ0bR$vviE1n7`< zM%z3}UcRYhd9+&d`@1r{+AAvacYHgL3goQ9{2j-%OX+lTnnx=~hh5ln7zWIhF35l= zo~NVY*+F3JcEGQ&->@qO0ZZY>Kb7_jT|lamn|33~Jm0pJ$-}izkTd7r^HwGq9SP9a zEu&^{V8<@_(da!izul*PYI43WPgnWl!GiwLBdLWCUijRk1PfZ&Q%1t)ofNKyR46u` z$FoM!jhJkWSzE;03=a03XI*V|utj%0&x;4;78fQU1*YV<;>DIF(D=E%#18iR_)XCF>65NVzpxCI7^IDwN zsrbQF0D)7*StEENz6y&oh*#FnzmQE2($py>WhuY3$$vtU`=sPRo`^b1n^) znwJK44EZYhUh8RA0ma9w;JP`^U~GeI6rT9qEFHQ%(K7`lvP6oYn?u_BomHu>Dwoe~ zN~2^e*tvNY0{silTC?MZcHd?wo3fhlAI8|6^&o82m&LV=-74Y}1Gnsmv%h=_Mv!lx zjcehCq*gBACi>FP&^`BC;aYtT?8-=^+T zw=g=SNmCgtOLxcXqJUi$w^jKnwx46*jta~OM)ZnDy-$$PM+M55ym08#F6%S8he^;wv!$)4 zIDIedEz5NX8dqpy$E2a;2ebq8UNvOaZ9zp*slb>)QLTjsWQ!JAQ@G9j!x^s*VU-oA zI))OdWfyqE*K%e;j@*qPRhoIXFt{T0l0)a^ZLSIaWxZ&(e?PPsK^CPI$)Ze!!YSs# z%Ez)@I8QG~%cr&yd!;OtS8}iSRR=fIjfPVtk1hw_%U9?ywUP_z8f~Gb%2!YQoqtsC zgPYN#;GwcrSa_|BLU~2Aj{Ajq%fVUu;#(WyOAk3PeXo_C-CvN44vs6O)pnw|gtje^ zi(sT?m!H=pXoaTFnv^F2^aBlC&8Jy^AUrvORz#7=66CD0VnNHsas&WG*f_5hROULL z_2$!OB;**1>A&ZcLI?Y0P?k&$)qV3^o1oi@3_*NuK<`kpV841%iqAao{t76Jp89%Q zMzM=(d$MkfKE@_1utUmq=BBDYqqCw{(X#4AFr51=Id+O(U^pjZ9U|^Sk(7qcFiu|y zxssMs6oQzPg|E6h3uaq9hBn^5aF{=Bx{N(}fD0_Hff zKH7v-54}?RXVC8;+UtTM49Zi?YQv3szmCv{plIx;NVUKabUVm7=%EOZ2`SG8MH;h8 zp)oNJulFPsF;00N$F~^0q4wg}4sb9n!xVec7;QcrFO%Tt_I-ZKmlAM7@hET5qqkuY zwYPbb;+RAy=9rs8t`A|{tyK42vykWSe?%)PjWiPS5@6jankzs?obm#>$PcvBS~Jb? zlU!acPE0{z1G__uDXeL2eU~M{a??&)MH-j6%mkg!j%uygQvoGwA3h*k2o!suNI(yn z5Y89TDT81g#jnzgUct%9fAajGHVvGH@6FB@S0E{pQR$+0JTPokU%DUIN*i>29wl3g z{@Aeuk^a{5cfg6g9@QQ3?xL=KotHG|d|@h+#l(Q?@@IG4CC$;7U$!EopWLLPBjWw& zfA>%PWS*^+5cH}{r9;S_psafIS^t-^c9nicxzjAVA=KRb*EAeLtU8BEY`6sk?41Q| z^ZB0L&w06y2}30U>yh6OZEFMW$O;r8!#DT$_aMzHg5}lLjJ7WVo~R?R|1M4Z$}9g~ zv|I2~9}ZC$qkBS}adP*xLw>#VA+tM|VjunIFp(G=Vbez52RL6dp~!q{!!9Q^6{$nPbt|Al~Gh!YKzQdF)T*ehCwEcLQxkm?ugtq7MX zLM7zv$pAOq1~xnn?E=!X{7oEM89QDqr;jp6Rn~-;PNAv~C#?q#V>aVpW!{(i2s;9c z%dN7Ix=BfS)BweU)RjW{j?rPK>Y8Vll=|NX>6V+-B$wN~cnrXy%VZPTEmVLKYqA== zKtSQ`Nh4$j7+-20f$cA5myQd>2*vkDmW3|fVc%aIQLU7G+@ZnEa9#!TeVcb7US!1A zfqUoLW4%J5x_CA-m1}#80+i^Q$V$+a&wi^wAnz*-06ad7h{tA*{vd6a`0GVLzvrgX%rckBF0r;p zHAg>T502!_L@2nODPsNMlp;^2<1~k6pqB0qs$=CJrDR048r0WgN{VIf zl$m{Pxwr*@(EHkr6f7%nyuRc`VMuA1z<;F<>`{ZzB&H#LY9u{USK3dpz^5ZHKH}={ z#LVv}#O6OgO@03$MFq>vTfN91LVJRI9^If3!!!`Oq~73yk=?v99^)iNMU-wLO@+6r z*|d%60dd5)#{S5Y2|Xj)hd)wc786A88db??`+-F0 zUX}f&;{j8G!h|M;C&V}dG#AG!Xd=-rXhr$yAm!!(fHAlpK)17t%^X537A)J$!M+qx z8cgx~1^}D7a*b_*sQ%Zp2QLcc8~z3z49DVlfTdly%qFJl7wE7Z@lkQ5!{YrWjG+2? zrZN4;oq`;TvUS%ObMCLddey*gdF;G{!ZR`3NttpG1s1mZA>SCZQPq*a>xAGqOGzF) zxAlij0;k^l&}}5Bapu)}dEpr-BR;yQVq2p}e#&+;bg}&eBoJw0?NxA4Nt~KLI~Yd} zh9vQDZlnS%tEH2*=o}OHG}kXZm9~%r>|DkmISPI;3DFA#CxeekP4#3dTISUuXJ=0z zo4|*GHa@rIlaypaDOIl20~@4Z=s<+L+pgaG#B!MMcbh<|KoNRr8@8&@&9xh$XC}z5 z?c3-Yq1Rr&M#;#~m@i`G{t5hYdBwhlprT& z;VmW3ueFpoTy^4?{?Tqip3e?Kr}VvgDo9WNz@Ra#Wx7Q1hUwDekRbWrdWIMdsu_;K5IW~FS8YkcR|@0 zaw7I8XR?|kQ?;;&t$!)HK!K3F+YLJh_;}v{D%|E2Suqc*W7Oxk*jyQfr-f0E(fyba`I%k7^gTlfJFglz!C9Mj3wGX> z*3h$eN?CC~i@u%aaoL=owyK)raDrpTjNOy^t~SjI0;bw`IJs=yS|1s)7@n=P5S}6h zyzxpt%BWpXKCgyETt5=~VAXb>Z%XViQgh)|-9FYFR_B+knLiB)qIRl?FQ3jq z!8V*t^wqL_JK5?eK+k1O*q*%I9ZG457p1hqJuFDmf)>&u%85 zK)wT{N*x(iZ|3_3E8lClpN7$~=tMVA)kkh5*}|@aRHx`8@K)f++1l~UOT>QN0MMebUnJ1Cg_W-F)JRiVf05utUsm;GdCeN zqehfkmiSgaUoppqm|8|uz|3>y66Ki>OWq_r1uJ}5zO1yt?b@%@U-X!5D7@O(h-$l# zh)33g<@9<=_!PD9VLa`h40=oH-7TLwD9!nmE#G+vj!=p<``1k*^?0+y;oW`68PJeu z$LXGgD{3!uT~3pL32J@J9s!KXp{d;9Klhm%ERv0lDx!VBRO})MbU)aw#3vX3(zhl3 zTqZ+i!*CrFg`$uM4x4hf1b(DTCjw`6{Ql< z^Y5^Lj-5VnQ}W#2N)DC>-!4fh4>G!W-cr_hfOI4MV#dFt2$7z?w+s;;Tp<0Z&A$mR z)cxay&gF~$+;3?8j_LFHGWa%(?f(?E+MNHk+(db+L|#D#m4?M|qVW|5+pD}}uKo%R ztbeLwk;@f0;1#$At6@l_U*Dr9Z%OW~-l}AxjJ@mTH_g$p!{5S`*F+*_Reag7wFQ2G zyaXyTy$ku(pM5)LhwjO=u(;bTEArMDr+tlZ-(VGn&K1>~5>a}WYrC(W6_8cXV)gHAP6J_t{pF=(Jyt+z?(LU&@8E6CPf2x=XO=2i~i)j{1!x3q=p zzS#MP3JJLIu#ajSlox?#N#Id?OMj*QA(92hY(5+#W2;Rp)55c-Qc~6YmPmla{U!->|%A7 z6n0b2pLkIvX9i1OF{FH1LkldsVKS?y-3MUHj3W;H4Pe>SgmQ6ejBw@Gcz!iCAw&>j z;YdsD@jhMa(ilWTTIa7=vqZtv)4_T`J#y1l)-&*O(@o!|v7^H+>P$x@U5>6WZlj<( z!_Lmuz=}P!pcfqj$oa8gfS{ez8i<~xwbz+J_;M6IUXn0 zoQF=IyGg-u3?=t&y@B0(5mAW|8gZTqQzwn2u{scpy`C<6RhuZ1I}1*T>!g=gYHZr} z>@2n^FpQT-3!}H7k`%}^h*rmN7E*m?j(1^Pe-=UiQ`A?uZsx*=sNi@9{qZ(jB%u;*9aVWG&*0;(j+}Yp~Mq#c0t4mr`}_6yLaP8Vjh-53^j0& zc7i3Ix#B)hT*fTDdqFMUeA++^Pnm}fkJOt)%;&>C!)QUmZt?4%2wgkswTvf)pFgMi zor)$?ndAA_uSgR}qCYTxPhh3Jq?0ODx3zuS>M~yWmo3#NQZLV-GUDn=?gW;h5=!dd zKcEPvNsj4Lq4E)%=7||Q>z?}T;fEIA;~cb2Zbg!nwqFmXAk{%fe(hthKg72}r-biO z@dAp&c}KeM2f#X#ne;@(^uPhF{R+r!gACV6x_Iz7Xj3&<3 zkM8PId%^1W1+53}Ya#ktmj`xcQmrwe89!wz*!(UEvHXs@A0zl1dM;|@(KBfW*gSzu z&$HXxi2Q?Z2c(O1+3uB+JlgTuLo#S(G52FP`P1os7YS6{x_f?3mbYd@Er+JTr1Sdy zYvU0w+h%&}<@nhzQGm-g?H%pE7X0cviB|ccby_z5vA``}JB3*C8s%=We&^yqHwt4FfWmX>0^iUe|f4bm@- zuPQD>P5h#;+phf<_zw|i*3nm9Yhr$rVj}Qu>ri~ILu)0@Y0xBLQ0Lj;B5U&ks5U&- zrK2>A2F6+}D!{e-+RhJ3#fc}Y^+eUhpG7+WXIG+gDdQJg9y=cAdE5@2OCYrg!!_(J zyFoVGPj9uQnGE&qEQTn5w+8aMTbC3!-qEnmbCFJr$Zb;CHgDnhpje2A7&BZ#Wo>?MARgI~BM=%?x`zdT^aNE`FSMi4#tGy!{+}`pEB# ze{h!svqfl0_UQ=Y%ZGyyc=-eT2>BB*|IxB@i~ga~I+oHU3NS|9Yak3b;(767_xADlW+ zr@=Fu=Dl|k+O~(BT{}`buQR#As;z}&otFk?W44hT*O**Ufjg|1-Ag@Z*8n9D_RiW^ z`v8Vu(2T>t`EV+hlKUwY3>h54c!&N%D>wy(ddR66~MS?D{8e`Ud-n#u?H!_1| zBUw&TUgt=-TZo7nbuPQAHSa#{{&L&t_iT%8n#dbSwMM06NY$*h&@D-1e9WtCVee-} zZJ!Q}{g!p-O|~G9`Rn+w?_5n=y;QCPAMm4ebq`U@IMBZD=U`Jx5&iZDN-71F_COA) zU8s0eDPup*Nu?Mg22q=GKkX#umxV;8;Mhb)=^c%Ff`ciKa;=0X&<{*Qpr_giio)(O zu|;CnKdTt1H;oa93d*Wec-;B1NT8`Mu2S&$&TYXp;S(wm9|4H$N`BS+1t%yv?{q8)?)uek z_UT$KeN^PB%$RrYT|n4Xkbn{@jCD~;Sr5$T`N?^vpTa!Z|sbuwH`pwQFNl<_hq`e8P_9B3cGl~bXSQs*Wv5V zskZEQ+sPL_UY80@+Ui_Q4SgC?*S2b;W6pB;`rCTjTR5|f0)C6$4KKw#=W^v#g7y6W;NA&SGUH6e4j70cjAR*x3gwR*+QFFnH)T)$j`2h!$~h|a$ugRy^?N}M^8$&Vr#0spXVdYbSG|&plJZj| zWlz>kDUYpGE$}GPIfJ56(lPm@KIjsZI5!gDQq;megUJ+eT+|v?pc+n-B?*aU%e-KI z58HRo<6yH)&lFmpEj~Ue^@+8VL4OwEI&zfRFq-4ASFmXm2W@U>1?_jgh^}pWWo9&+ z@&@k2RzBYY`2(Gs!%PRWa%Dd`%A8-76jsdq$w7D`IS3o5CEAod5#Ldn*#jcBNwn{p zKkKvMIL4KdUkDo4$^x}=5h?75*R@UFBxusV#9|DaR%Fe&;j4I)g>q8wSYUYkX9Wir z!65@n_zys^x_`eS&9`H5d-g5*;c2{6?i6#f8Eoe@wROqsVLw5|AlM+{=Wt*ZwL{dr z9$@@Hyj(37yu^U-LOs)lDfVr?FRZL@3@am|#C!=-FH80nNetBh0E-!kqBljF6efkXWP(| zj2Jjz+_EHX2UuFwE9rnLYu70{GDC{`lig7_LLaty>`yT*gB(P`bz8zl=twh%77iNv zA<_K{Lyzq1Q3)fxa-N?Nmhr)ghZ7J23uPYz80G8o;45jOa+3~fAXreeiomy*T`rcR zxAhH5l_<5mF4=ZE+8W=NS(0I&Her9X&`2(X-sIqV-=0!~|GUAf61`BYr4UaJ7X`p@ zZAxa!5M+TwQp%FbB&s-UMF-G&+!OD7J688OLjISyA~J}T=&k>KEciTYpfW~zQu|Hx zM|r{$Cy<25(mea=hBJbOBaRA;0z6qkDf_`t%;ozTPmzu!nKo_+s0WmYb59X!Ylo2A zlB{7SVjQ>?1cqx|oap%8U}L=oT6Gd+)Ulq}+eNQAFjB592Z4Pur>38_i;R2XD=}y6 zOIbmh_q+Qln_cWv%EDk~&yVe*z6t|x&sDbuh$>Vlc|Z878c?#H;22bv;uwr_9O`{* zGuKa{LPXb)!@eJ9bN0oUu`N5^5deypi^u7|vTgU08o?F8@HdBkBD0%?&)1$vDkQ$CrhE zw35B@6$Bivg!d}!mzZVoEvkicX}(jP8`>v5fLhVDqL5X%oqYP%>taTr;T*gu(Ftk& zC#~i0G#p2dnH)M}UiQUwW&R%nbdFTUZYY$b0B;4x&*xas?T@wu=Y7wo5n-5~m~`F< zmlJNfRa=4!nN2jzWt}41u>IXjKqnb>uwt<`IpxcM2lIpdU#lL zdU!CZUA`3G6-z>oXg)lKveUjBJ4qd22lh;q?AhpH0ok~+E1JszEQ5j0jlu(7*xr+; z?h6NBEheZ7n>O}f}Oq|Gj_m3KYWO+^2^xn*AjMdb!M|M*hN*E`Lk5+ zQZ&YtlG^Glas)k}^lQr(m4uk>M&A_XpS_;S8Y`ODgqrnw)#SP0cmg7EZqDZya+}}> z*a>mvTqmK3qiUf3iXHKRm@iezsxT@ccsVDzF)%8QFX^&j{<%M;gJ#J_a<0lTyf8D* zhrN|AK5`H!r9IzH4(pN{dyDTNm1trV~DIrT%nl*|J-gLQ?9tg{Z|X zF%JyS&Wq?W(WFTchVSHc@lOp@y7ARh z6-OV>Z7xP%n5yJam#}Z7MG3Ths>BI~JBocAC@(2N$;+$ma;sBrACr&jb?V$}kk(o1 zCgUHx^5L8nZXcs_j@NjFW9)aydOt}*k};a2|EdR-?b+8yJyxaL$&Q4+_dM2wEsolD zVXrm%XC(4^ljrU~v;dm*ZJCh>W$`;#tW{*q246U^AscTM@q3|87adQFda(YErE%J$ z0J;h<0K)u%`q|45BNv8B0W2KJkW4Y$te=or>Uc+L@X@yo@NwFt)CU+8OeS-9^fPU6 zYsC#|K3qpmv<{<7zrh=Fre4)G zASv4p{h~5a_@smQzJ3oWzZd4Loo|X}kIS8RQp|h=y~j+P65R`m{=2XHFTV$OA27|U ztqZ?bF3Pyeg}_q^_SwyIAd=B&Z9HNh1&P5KZ#_TBHq34OSO&WT1Cv%+xkjK#kRl`b z?*OS{_?#*722dy=`{#XbXd=u}WbQS9Cz%%>aHLq}<*V3rqUIz3cwQ26iv8HFZx0U% z_eUaa|5RfWM`YeAW*?qGKDVu)VG5t?MBd=%=}aGAXKeZJLQZ+el4l@4O0dTVz7GlT zec0uYq5in(69@WEqzG-})U~$uMZ_c6c6al^@@!m<$^8VMOGe%Rg@h{?J=%um;SJx` zzUUhw>*}9lbI3bKNWpWJX5#|zkUeQ%E=Df=pPNG?_GF}#o{CjavrQdv1CzWax*J;+c3 zl)!SMRk@?~t|E2u5rb++rDu916 z?v;gH;Aj!yt0xU1W9PCUFAixli%7u;ak#@7xDv@iBXc}x`&AVv5GOr9z>k4Q@Nl-N ziUl-lQ-)JDgZ-E5`LZF@S6KTfj=zvS@nar!ELJFM)&e7{{S2;K72iNP_L=C zPx{?2TN0B0T9^NG?EYgMw>rM#Q~n0HdlkE4d_@$ioG8CwQ4PYu{}b%8~Yd1 z9Wg8wHtV*&{{o3YnEo8tZ%4nkLlG52=Lx@MP>**2=!trhi9_N>0$|nsWDIVZGRUQ! z)XdYFh91mQ@>Gh!17OClMT-hdImHvX{H$1>y(tPtEK|u|-LVjSUr1O%J1++q^QCU} z!DgUj{voQLhC)`Rr1lmkxJm26NcGB0@Jrk$+NvcET_6Y!KPGVQp)dN9nR8Fib}wP>QTgQh2h~VufE(92FobFG&?s`0c^q6X3C;; z7PvLi>&pF22;_w4MI-|$_=P+=!PE=XHOJQYNu%N!F+h?dMo4mK5&{sWZenkkMnoKi zMqSrC)f-HJjb&u`CKQeL??Aj~U>w497euKc?)ih%bAYX+-!EJu1lbZsuCndT!&a3? z!r(^j1S3}A^49gYLd8X<-&Mt61KQ{>2cWrZ^Uu6sPkVY zfp0~FWL)1Il0@(R}x-lOHEqC#ew$V)*uH^Z2&6tKUEvj?oV1@7#Vqa^Jaww z+M-Gxu$lK+KBRqujuG}qTk^fp754|_JCIRafnM!XI%O7SBp8~7?-w*tml2;+h??KE zLwwHvtOG_5qcbgeZ|mY|c+OXmcSWX=g+MfKIC7`K1PL&tm<3U=&|3kZ*x?3EIhR2_ zz36GGZOd7!fdWIsRpvvcI;&oaiWEvP!s4lIlOAAbhjb)0B>&|F8d(0gu{OJzCjG)c z0Tz-1f?(^V5CIr9qB#kiOKO7O%cBd4mc@VuML_Vy69~$&=ILh9!w%T5Vw-tJL6ZTg zjgj0GJ(mv;@V^0$3QLxoG>Y);*xr_k2LizA3B3J>mSeS}h~iYZ{o+7(snzI^Ldj`a zDI{R|??~JK>EzhJ&?4Wn>zc!8_sPh31pJ%Sjx{>c<~$?(2r~iL8X6DS>;K~)w;f?H z;zv*L|3AF%?_WopF!{go)&KDk6FJESlfiq;`2S1y^XEhG2xR}`UH|=VSpNU~2;i%#R|3`qWaSvF|H~{P7svVbbpq&0^2ZZD}?vEoY4@FUW0aat*2RnrSY0IapeBKDKN*aXw(<@h9epkTOefHLbC3K?+ zt6NQ+5-hKA*{Xu=qa45`7j(BJZ0KJA*?P!f_Dg-c864u`x=YNyCNhGx0jw1I9&VW(h=C5a zqPdHikC~iV%!G|SrFHtlSvMSdbxFVt-_g0#`U>tf6G=jPvNJtY2mv@glRR_Il?qU~}jX|*URT#bKl zWsJyFiEEgeTkasp0yUTDt7r=b@1@0D0C_Bg+f|JuWIF)~hxEE36xiubj}d~Tj?<4Q zxhj0JD<3u?Ek`(MWLOc3qBu^FifBV2vew&Wknb#aT+*Q=d$Mg3`O}wD#ReK2IYO>$ zEP>GC?PZ3tI4(_uL0ADTYpOxAOzRoyrF}0#Z1pE&m`A)RAvvRkc>bVa`YBOo@%QgR z#$SU>$dIHJ^Bm5%O9;W0>j4}%)vTN%`fpn#iic#iGelGtf-bl=j<)iT72@0+Bj{BWuR5^Nt~;}kH4 zhkV|ZE5AoXVXRQwzjqF{#+(q=tLlp}n_bEcqlu!iCh%Q)ihjoqG%DIuj^gTyEjQTD z&aT0buAwy`jVXVyi zeCNMePZmQGK2vHOYWnt&^$jd-bpK_4Z)>?PFWENXccQHy-qQ0qA1AfMn+>t+p}7WnmGu;}g%WJG*a?iOw=RL6W^n!fkipn42X=hW(PB zFfsLU(!R}YZhD0UF4 zJ|OS1|KOUzhaW3${6(AY(tTft@$JwQ(&fju7!82arcRkw&?tx79ei|ZTwt8|=*c$6 zqs9bGsp864uVdsyu;AYZE$i8Asm|N@3&ouMSrYTYr6e_QPW3RTb#7d7by7E%)BJRXS!9o^^2Igk|Op&%2kaE@7janRPHMjZ7aW{h&bRt1BTMxwV18jGl+X*AiN#SQ=Ea{oJQ4{V zK6ACaxC3ZPW94SZac3{cg^_BPvi4nvF=q?QIPVn2B1&?e$faaM=Mlj};W@D{%e!k_ zX@Lh?1WN)_n35VL8TM6z!(X&1@_E0@dtZ=jxkD~$Gvy);UXbJm5_zPtf(sB{E}9Su ze8oIEQ(}w`yuLf#kucoYhEz3q-mgkIePjvH`f*m^d?~S)D@M}zIj}UZF8=xuq9wn} zjAhbyo;b1a5Crr1(?bKx5n?T&$E-7h>uNo9N?Rjeim;6G=c#&pl{<`B3j7s4o0;P- zQ0?G&!M~m|WkXj_X|*o-*=_s9ZJz#Am*q;1*EdeQbzOM3-gx6fSFee`2!41;+~IZ4 zfD=tNjKNP#q%WuP8G4h7^9N4toMQ~=^tqk46(blJZ192b^Nl<8{AY@t*X|DkhWzQd z$r-4;loJ^YX_nT#dU~zWk#bY|@};zW5J)tn_ZyShi*%cKn;xFcfy+Kn=AoIy3Gm`- zp`=Z1t1$Kp@N8vo1K*Ci;}KK7K)WUKwQ_vFq1v-&$1;8{_)EXrVqvRA14>(Vmi+63 z@wmD<{nb#yuCuxZQcS5kfr@LDI7X!{x3d8T`(6_GQv|CbRZk32?$@AL+G6rz3eElG zwNL*%ksRjho*LFO@pA=L%n_UqTbCAQA|9r|9(u2Pj2RpAK%D;>gKZOrI#8<4 zTY1U)d=2&Q8aAB&(lu>f0&lrv6aLzB;*v;}^*1vFb`KJrrDNF{gbA2?>fZ1F>iBKs z+{T`uRYj9Fc?R9XLGVk~)61H$Gid+SR~e!ZBJGObpqV!)Y5*MuWbTRs;+d>IMdd65 zpEGFrJvXMNWf1LY>dunJ?M57JlOy`}bo(q+*ey2hUkFcnrolnf_04m;;7<7|FS@;L zE0}a5j*{qK>$+pR@uZ%=zJ#H&x!q9ARg|`EKD^H*XHA88$O%_ZS~ZFhewiSPdW1-< zhkBg)zD>+DX}eoN89@8>aQ7{W!{AF_x7Aa<9(Vqi(y5+~@v(yl81WCh4ENJZd&!z! z{5+kc=W!WFY`|IhjLzve$Hd%|`x@)RDnrW;n=*&=*WS>hzC2)`j6USjmYcnX10qE{ z1KXpBRQguqbGy0ki-P`RC2q4{OO)INQ_=NEJSCiQnd1%_#%z`PdSF|Y#fHb=foK9f zW$N|ox>*?JMpW0q`&|i{Uc%ja@r6s3&w_4?kFD+Bx^~7&K;osl&FM=uyzF=q>y%5p zMh`--yMl&Su{!}KK2(-(=f#>XM?4=(oCKd)_ynKZeWB92%nhA^t!SIGWk<#}XcXgd z(`c3v=J8e5)?7W9KU)68Ii@SlACO)`i}l8f1BDzTd@d^#ePG|lT_#*hn)NJc(1+YtyP>parDBG1NF%nSg&MEPfdH^prb)QV$jahJp}gWE>; zZ^_Zh#}ASX+h&k5vZZGX83P7H6w{T|ELICT$IneloHx1Ba!g{{Cfs+=6#xS32cD!^ zerN~hmzg!bOsg?nPu}_ogY0D;!xs7b+-L0{AeuSFeg1> zQBA2&?LmgM=WNz*VVSOTUrl%OZQ|W8nrpBa^w5l-!Q*fvO><2QTlP~dt!w)sg)05k zz#fx~<~b{g0N*Tb7rs8wd!G^Zv&LDMlI7qY4}r7LeGAW-OW3DpE?xs%?8QCO2DY@! z70SI@!h=(esXI4Zc@nnl^($J>(7am|6fO!!x3&B*8G7_$2L!VpwVpXMV(J~cTQ8{k zbu3fLv$hecvyTq+TCiv8u7Y@^#eUzd><1S^CHN>6XPua>qEkX`^@<|j9&pE%N82(H zC$z1mKVl*9mhoh|XgWUv+iTf(W&t+s*7+R$gKSxhESKz$FMt~}7kHd#)^ZGe&2|6w zBT76!DNpU$ql2*{%Pid@;skfk=zt)xmG@sUJC7%W&gl^FHL#|k=|+Bf`4WXA#xC@Q zto)go5CCFzi{sw1_O-qT)a=CzKJxc}9SMvF6|}W93eC-E9mTCDdbJ&sFgJ<1(DG)e zAZ9ZHy^VLA5sR*w=tp3e_`n_tT#(Vn;u^Tuv|@wk@Jdo_V&nyft`6PmA?;qq6n<{x zS-78l5SBdCV;+&p*>Fr$k+C4feRnQCdJjs?rS5nK8fji=9_?R}OV&?!)RvQ6CZcC} z38@s0D`pUM83e|l#FTvRtDSaJ)e~vq_#Qv(QdKAC$(afT`Lh9YE75+S9-zX{@C7^y?SzYg9dgJ^!3&j zCxYX#^0%3u{a@|9Wmr^S+deFz3>FL_A|=C6Dj=aW2n^kb0+IrPvnGgDp1sz-_FC7v@;qe`Oufw=6$l@o zWzAtvsE{LgDZg2X%CQwxie<)^lDw!mECX5|_4ZHCi+etfn9L94di9I!;79FgCw?lR zSeh6UPP_M7qiOuDv+Th)mE9kF;55Xl^0@AXrxVvC9a2|nUfy1G7ENbG~X z`XW-T*S8VO%Sq@*efHeRb*Tb^q$zwcirsd5^ts*bUY>MxpRJhYAWMdn`ZJ>`9+yuE znBo|?KY1tQ@Cf~NRJy!WwSx23KYUEjc!*oynQghI|KGV%7 ziuh2X!7-mFpNPLI1DcJOz>Q#n(8ISq#Q>KYcetf}Lu?%FWGqrD;JS$t*Ih*9pW)gw z2dc*O&jja7Jr2MFngnH2Ogfmzl-{?R441qjLSVgj5RN2q9j;d5sZ6-(tiJjR*XbST zy?G%q3fEu0@gumpRmNnFsT_bDdR!7`%nEk)|Cn$Re7kWcl6xr>`jiT2+_e9t*$ zEBRqx8xMK78NB#&<3#lQNEusJLF#;%Wa{Z#izU<2)TSn9r<_qe)+SXv)xC!=Q_{(G zdG|iD%=iswg^7UsGp7Ffr$biE!n_fZ{C;*zKeDlU#Xe;W`-SkClJjToMa0Y8kf-yi z!8f{o61=FCPSn6iD&lM{o`@DI`C0NQXAUf&-T2KIG%puwOUUsTYo=x?6VpDo-rcF_ zcEO5#Y0n^|UAo&b8Eht>r{#~YN;^k;R|>U+_a(GC!e%LJ#r;il<%RZNFF&FH;fjS1 zs4gs6<_u)>Nxdf#QC%);>+$`(vIZY2le6thB$FrCUwWMQ*ZfJ`cz=HU7>~^*8C176 z-&IL@)AqA*d%j(+2VB4(T{J5?M=~$3a5|6po~M7H-#G6E zt^RYO-cso+0oLgOFE2$(c6<&`kc*<0l-&@!#F<2JS&i&F`&C0;B0_~-gJyO-6l8O@ z@KDVf-(SY)ZeodxOd(QcsYwAruXda3wNknOx4oGW)Z4#N{aD+2W9jUTBj|s-g>wSn z+_m6>tif?AEeIyHJ3Ez~a1_`zHf30=KnIfhqU2ZOJ0`z}1u`jKrBTK4#chb3-dp(~ zdtu%%i7gcF)}=OjqPu2OUX^+5f6F8JKOk zHQRm{=*@rPW7fd_&)L(7R-9Hgj7&lLG+Yv+F6O&~(714NS!+v6NF)ulD&*)rJnm zEKPf;#Y7U`AirjLATUm(F?Wje?#Po9kKPQ0zHwUkP*mKuOZ7Tp=`)F<0uNPI1rok6 z8cdjO4hrr&cgN~?`p=KwpLY*o=0*c?wy@ym(FtNze{MsCi+^?t?F1=~d=}+2>A2l4 z@*yni9bfec(xTJsy==bhG;RoY?-D@gD10;p^>XSWwV7M4-W{3e4tXe+5?Q!Qxu{X6 zEP6}oz1QNqF(al_Kr3Oi`v}1QZ)Olb0*PS=*)v}d5_D$h(fs`#1OV2@Eb^n?#PM!d zq_X1&u<3A79fE~uRs04?>;T#@0AEsj9P3FCfu33^Sb3ORv~K}@)Ic`ng8!6dFgbhE z92qJH@{H*jRYbJ^CD^@S4a^k;&ejvqf-xgNR1FbNzYANY3E?%K(WzqlK>AcOz5BK} zRr{T2|BdukLxU@}1ocU|gbH_AeL=)BGtB;SF4xJco-mCxSnIZ!I#HrzD;)18X=*Hs z0607aW7I!lA)#9VP!Or>tDLt#-~jHblQOUDfsSB5DyrOV(( zH>gPEWrS-14##8j8J)E^-VP+4w_+@8k)Q0 zo=A!-!WA0{xEs!^g6}_c_F0tU;_LY_qZMLHIHpIp)dg3FP5u7vlt?-tuyhURqJXPd ze9+4{qMLJ1o46$WD62ua^;Mwar8z2CpIMUKsOGqZJ*`L8n$9-;M0uwASf6H(7&=P< z?2Jp^VL~&g?2nNj)BPmLX6Zl3$X}tB?G!h@oZzHG5s%4Lhin?i@7^(F^q$|0^^z)6 zh`tPC^v_Gz{n+9!p6(+-yq$G*@GSb5c15VP=h;2hLYZfWfJ?LuTK^70MCqtNdUS?FrXqywsu#vb{>piS=FmZO7TG87xXo#kbl9 zJf4&Hz~i%G8pHBSoS4?XHA$1?H7Py?<+=qp473%pNr!{^9)q-XpV3S10?^H@kDC3c z`Zs)yaN;rPEA4T?H#2AMCO9Q3B{voh=~Wr0CVJp_^NL)CHZWRTitr_+Es}a@#e#>v z{?%>`+m5Hhe9AQIX3x<1X>6JW=AsY5KT)tdKfXanX<)of!utJWgBLFd%jqGOJeMAk zX(OL~0HQXNnCe+udZ9F~tH?`h_bTb0ppUM-^xu!EVOAxXwW5b=Xx$L=RF8k~=%y5b(*Xo3o{h?2Gq-sF=StfS*hs4ByETcxPS^lkDBs*aCj6^C>~L#N zah3iRZ$k3)uO-IGafUigJW9#f+v1Uo-6o((w4`)I8Rgp_aG>n327A)w8aHD=ywe&lA|00IEhTWh_ELE*ho}>_Y2Rq!X4bru zr_`cxp((IsR3JU&*%ra_0xz#iaT#EHSVr+08Dn$|EuP*441q`Li6eL|?kyo9R4eKa zEl!L3m5Ria(jKz3bnBe|%Y=Q!W9TjBc4gQ?~mTXiL_dKw#8SSNSL*Ncn+#rPeV#Rm{A-}no4o78V>?|gf`>RUo+Q= zI^6>vjOq4SewXG2c5zCS7qyQ=qhceS8ad#2loSfV{c=z!cK4o6-}_fRiC(hFz5Xbb zV=5|*j3MG^#3430hBupzUKsU9enOlecsX>osUspxVRH5Yv){FAYt=})AH zXOB`KAQvP&^qr^2(V%}vo4-2U)fGSXdP5_$Ib(*!NUgZuKeo41+NAG{i*k@-ugNJE ztQ_zNI*>xdBG6#7Ry_Dl4;ScX*DE*PrGI#(f}#_KwGn%zQDs3ipMJE*@32IB%>i1B z0+ygfXBQ6qJKj&+8yJa5()mrK{s0smvk%8e=H%Dj{MV&i>L;)52bt?Gize!AyO!#~22+D^svyz{K9I47-$uZG$!H5eJ&lAOZa#dH z&S(V>kA8#4&Xoi8D0mkYTD&WR#KMj@Q{wovV>?^HjT2WW%rHbp$=+FX2E z)hjJoMrI?iYx&(W8Pqhq%6<7TQH0HE4x7!rgDVn66&@+{AmZjtF%)IQ^@g3z zj$C__=OVx)Ded8&?N*hhdF9#}CoIXWewq0yPT2y1=_23O-8w0Bz(CXWAZ|MfCCJgud^8yXM)m~kFw6?FKdWS zongAoQwnRAF)YHlN0;`V4p)}zciHK=v_>rtUQ6PaEcJrHrj~!?Oa_c^Y@sRqU{f~) zNN@_XU>`rJw`5w~jx{AFJTkJTvwIfTGKs-#eQ7OOoq(rKvsa&0XM4mk zU%1}TEuTHVr{tXmImWD&kBYCk%0pySoxlMYdVqJu%ZUkvY$GE?gu3b-kYJlPT6BJ{ zN9@^nOYKj;Ki?`ko?)Y(e0*PQ2GC=#+cyw0Uw2+ApFS=CW!p|w6tO9j3oZjTrX;62 zY`9k*S8qq!%npzI^2&8nIpo5+}Xkh?Lhc6aed_g-&`&kAxQ;msgO+ z{QYpYSDupSM}WwpREInbu5M&HL}s?H-GO6tPnDquP;)hI)vY?ZKZA$KTy^gYbm$dt zBwk`yTs5NIiQSrQ@%ckhy(rm&$MbTdsmiLl!||u%aOIRk)rh?ihyOsEzai1WP~~ri zb!@gMnAh+A)qL-70yuUrP@}ZeI#kuEoT(Da7mBPkd;GiL|%Ge-7REW`X??_t*74OblSTVaj$$R<8V0LqnNZMs~>8Ia1q6Fqu-qFPgs81uV%#WzqkjpNeMjaSjSy<{%p0`AMcoj!-c3*No9lIow;ZcS9R$3DpRi-n& zrm@CQuue!Uq^IKIzi;q+S}NlhPiB)?ZpgJ~{}Sxuss!zJSTMsq^Z?}wErPiq4S#_j zR`tZO|IdOPXUrJzHAVFnoemw0=A{B5eRLTg26^45J7YcW%k{S>gH~8~A&4su!gnl& z%(nE=ozBGPdOGY^Go07Sx7*~Eh?u25QS#^7`wA&b|KbM`iFagpzuJmA~SqP0lSdQEiDj1L1?>D_iY# ze=01({2`8bYB$!$)w8Cp1LWGD2h<5UW~}6|(qBn-AzHv#ToSci(&~D5MOPO@ZPaZ6rN=3+b!m>3ACw}I$TupoH@rnIKLpznb&BhJZqADMI2`Q!c z%szQqRIhij$I4}5v8)uAQSNSwSE7Lpsvw2B@FmnojmUkv9meZ!y<64e$iRZ>_ec*_ z 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 LDk1X34L" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_charging_units(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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f/vb3+p0vURO5+yIjkhNbGVTaqqZoZIUFhaKWbNmifDwcOHh4SG8vb3FwIEDxVtvvSXKy8stzoedVX6DBw+Wz7OVoRJCiDNnzghvb29x66231v+CbahLhkoIIXbs2CH+8pe/CC8vL+Hp6SmioqLEf//7X7Nzarunn3/+ubj11luFr6+v0Ol0IjQ0VIwfP1588803ZudlZWWJkSNHCr1eL3Q6nejcubPZ6r0LFy6IqVOnivbt24tWrVqJW265RezYsUMMHTrU7L/Vq6++KmJiYoSfn59wd3cXISEhYurUqeL48eNm7zd79mwRHBwsXFxcBACxZcuWevf53//+t+jSpYtwd3cXXbt2FatXrxb3339/nTJUQgiRn58v/vGPf4iQkBDh6uoqfHx8xC233GLx3+XMmTNi8uTJIjw8XHh5eQlvb2/Ru3dv8dprr4nKykr5vF27dono6GjRqlUr4e/vLxITE8X+/fvNMlSSlStXiptuusms72PHjhV9+/Y1O6+iokK88sorok+fPvLvfHh4uHjooYfkFaFEzYFGiDrMLCUiInJAUVERunbtinHjxmHlypXO7g6R4jjkR0REisrPz8dLL72EW2+9Fe3atcOff/6J1157DRcvXsSMGTOc3T2iRsGAioiIFKXT6XD8+HFMnz4d58+fR6tWrRAVFYUVK1agR48ezu4eUaPgkB8RERGRg1gpnYiIiMhBDKiIiIiIHMSAioiIiMhBnJRuhdFoxOnTp+Hj41NrcUEiIiJqGoQQuHjxIoKDg82KyF4PDKisOH36tMUGtERERNQ8nDhxotYN0ZXGgMoKaTuGEydOwNfX18m9ISIiorooKSlBx44dnbKxNgMqK6RhPl9fXwZUREREzYwzputwUjoRERGRgxhQERERETmIARURERGRgxhQERERETnI6QHVsmXLEBYWBg8PD0RGRmLHjh02z925cycGDx6Mdu3awdPTE+Hh4Xjttdcszlu7di0iIiKg0+kQERGBzz77rDEvgYiIiFo4pwZUGRkZmDlzJubMmYPs7GzExsZi5MiRyM3NtXq+l5cXHnnkEWzfvh2HDx/G3LlzMXfuXKxcuVI+JysrC/Hx8UhISMCBAweQkJCACRMmYPfu3dfrsoiIiKiF0QghhLPefNCgQejXrx+WL18uH+vevTvGjRuHlJSUOrVx1113wcvLC++//z4A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", + "text/plain": [ + "

" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_scheduled_moer(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAHVCAYAAAAtoIVHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB51UlEQVR4nO3deXhTVfoH8G+2plua7k1DFxbLWsBS9kVQNlFARQcRB1HBDQftCKKoM+IygPwUmRH3QUBR0VFxXwAFBNmLQMu+FGihpS206ZYmaXJ+f7S5ENrSLW2Wfj/Pk0d678nNudcmeXvOe98jE0IIEBEREZHTyF3dASIiIiJvwwCLiIiIyMkYYBERERE5GQMsIiIiIidjgEVERETkZAywiIiIiJyMARYRERGRkzHAIiIiInIyBlhERERETsYAi6iVW7FiBWQymfRQKpWIiYnBfffdh7Nnz7ZIH9q2bYt7771X+nnjxo2QyWTYuHFjg46zdetWzJs3D4WFhU7tHwDce++9aNu2bZ3thg0bBplMhvbt26OmhTJ+//136VqvWLGi2v7t27fjL3/5C6Kjo+Hj4wOdToc77rgD27Ztq9b2yv93Vz4uv35t27Z12BcQEIBevXph6dKlNfaTiJqGARYRAQCWL1+Obdu2Yd26dXjggQfw6aefYsiQISgtLW3xvvTq1Qvbtm1Dr169GvS8rVu34oUXXmiWAKshNBoNMjIy8Ntvv1Xb98EHHyAoKKjG573xxhsYNGgQsrKysGjRIqxfvx6vvvoqzp49i8GDB2Pp0qU1Ps/+/+7Kx5XXb9CgQdK+jz76CP7+/pg5cyYWLFjQ9JMmIgdKV3eAiNxDYmIievfuDQC4/vrrYbVa8dJLL+Hrr7/G3XffXeNzysrK4O/v7/S+BAUFoX///k4/bkuJi4uDRqPBBx98gOHDh0vbi4uL8b///Q9333033n//fYfn/PHHH0hJScFNN92ENWvWQKm89PE8adIk3HbbbXj88ceRlJSEQYMGOTz38v93VxMcHOxwXUeMGIG4uDi8++67eOaZZxp7ukRUA45gEVGN7F/Ep0+fBlA5RRYYGIi0tDSMGjUKGo1GCh7MZjNefvlldO7cGWq1GhEREbjvvvuQl5fncEyLxYI5c+ZAp9PB398fgwcPxs6dO6u9dm1ThDt27MC4ceMQFhYGX19fdOjQASkpKQCAefPm4cknnwQAtGvXrsZpss8++wwDBgxAQEAAAgMDMXr0aPz555/VXn/FihXo1KkT1Go1unTpgg8//LDB1+/+++/HV1995TCatnr1agCVAdOVFixYAJlMhrffftshuAIApVKJt956CzKZDAsXLmxwX2oTFBSEjh074vz58047JhFVYoBFRDU6fvw4ACAiIkLaZjabMX78eNxwww345ptv8MILL8Bms+GWW27BwoULMXnyZPzwww9YuHAh1q1bh2HDhsFoNErPf+CBB/Dqq6/innvuwTfffIPbb78dEyZMQEFBQZ39+eWXXzBkyBCcOXMGixcvxk8//YTnnntOCg6mT5+OmTNnAgC++uqratNk8+fPx1133YWuXbvi888/x0cffYTi4mIMGTIEBw8elF5nxYoVuO+++9ClSxd8+eWXeO655/DSSy/VON13NZMmTYJCocCnn34qbVu2bBnuuOOOalOEVqsVGzZsQO/evRETE1Pj8WJjY5GcnIzffvsNVqu12vMrKiocHle2qUlFRQUyMzPRsWPHBp0bEdWDIKJWbfny5QKA2L59u7BYLKK4uFh8//33IiIiQmg0GpGTkyOEEGLq1KkCgPjggw8cnv/pp58KAOLLL7902L5r1y4BQLz11ltCCCEOHTokAIi///3vDu0+/vhjAUBMnTpV2rZhwwYBQGzYsEHa1qFDB9GhQwdhNBprPZf/+7//EwBERkaGw/YzZ84IpVIpZs6c6bC9uLhY6HQ6MXHiRCGEEFarVej1etGrVy9hs9mkdqdOnRIqlUrEx8fX+tp2Q4cOFd26dRNCVF6z3r17CyGEOHDggAAgNm7cKF2b5cuXCyGEyMnJEQDEpEmTrnrsO++8UwAQ58+fF0Jc+n9X00OhUDg8Nz4+Xtx0003CYrEIi8UiTp8+LR544AGhUqnE999/X+d5EVHDMAeLiACgWs5T9+7d8fbbbyMqKsph++233+7w8/fff4/g4GCMGzcOFRUV0vZrr70WOp0OGzduxCOPPIINGzYAQLV8rokTJ2Lq1KlX7dvRo0dx4sQJzJ8/H76+vg0+t19++QUVFRW45557HPro6+uLoUOHSn07cuQIzp07hyeeeAIymUxqFx8fj4EDB+LUqVMNet37778fQ4cORVpaGlasWIEOHTrguuuuQ2pqaoPPAYB0t9/lfQOADz/8EF26dHHYdmUbAPjxxx+hUqkctr3zzju4+eabG9UfIqodAywiAnDpS1qpVCIqKgrR0dHV2vj7+1eb3jp//jwKCwvh4+NT43Hz8/MBABcuXAAA6HQ6h/1KpRJhYWFX7Zs9l6u26bO62KcR+/TpU+N+uVx+1T7atzU0wLruuuuQkJCAd999F59//jlSUlJqDHzCw8Ph7++PjIyMqx7v1KlT8Pf3R2hoqMP2Ll261CvJffDgwXj99ddhtVpx7Ngx/OMf/8Df/vY3dOvWDYMHD27QuRHR1THAIiIA9fuSri04CAsLw88//1zjczQaDQBIQVROTg7atGkj7a+oqJACm9rY88CysrKu2q424eHhAIAvvvgC8fHxtba7vI9Xqmlbfdx333147rnnIJPJah2pUygUuP766/Hzzz8jKyurxkAyKysLqampGDNmDBQKRaP6otVqpf/H/fr1Q79+/dCzZ0/MmDEDe/fulQJNImo6vpuIqEnGjh2LCxcuwGq1onfv3tUenTp1AlBZgBMAPv74Y4fnf/755w7TdjXp2LEjOnTogA8++AAmk6nWdmq1GgAcEusBYPTo0VAqlThx4kSNfbQHHZ06dUJ0dDQ+/fRTh+Kbp0+fxtatW+t3Qa4wdepUjBs3Dk8++aRDYHmluXPnQgiBGTNm1JjE/sgjj0AIgblz5zaqHzVJSEjAnDlzkJaWhs8++8xpxyUijmARURNNmjQJH3/8MW666SY8/vjj6Nu3L1QqFbKysrBhwwbccsstuO2229ClSxf89a9/xZIlS6BSqTBixAikp6fj1VdfrbXw5uXefPNNjBs3Dv3798ff//53xMXF4cyZM/jll1+koK179+4AgH//+9+YOnUqVCoVOnXqhLZt2+LFF1/Es88+i5MnT+LGG29ESEgIzp8/j507dyIgIAAvvPAC5HI5XnrpJUyfPh233XYbHnjgARQWFmLevHk1ThvWh16vx9dff11nu0GDBmHJkiVISUnB4MGD8be//U06xzfffBM7duzAkiVLMHDgwGrPTU9PrzFI7dChg8NdoDWZPXs23nnnHbzwwguYOHFio0fHiOgKrs2xJyJXs9+JtmvXrqu2mzp1qggICKhxn8ViEa+++qro2bOn8PX1FYGBgaJz587ioYceEseOHZPamUwmMWvWLBEZGSl8fX1F//79xbZt20R8fHyddxEKIcS2bdvEmDFjhFarFWq1WnTo0KHaXYlz584Ver1eyOXyasf4+uuvxfXXXy+CgoKEWq0W8fHx4o477hDr1693OMZ///tfkZCQIHx8fETHjh3FBx98IKZOndrguwhrc+VdhFee4x133CGioqKEUqkUkZGRYsKECWLr1q3V2l7tLkIA4v3335faxsfHi5tvvrnG/rz55psCgFi5cmWd50dE9SMTgotQERERETkTc7CIiIiInIwBFhEREZGTMcAiIiIicjIGWEREREROxgCLiIiIyMkYYBERERE5GQuN1pPNZsO5c+eg0WhqXC6EiIiI3I8QAsXFxdDr9S26HBQDrHo6d+4cYmNjXd0NIiIiaoTMzMxGLxjfGAyw6sm+YG1mZma9lvUgIiIi1ysqKkJsbKz0Pd5SGGDVk31aMCgoiAEWERGRh2np9B4muRMRERE5GQMsIiIiIidjgEVERETkZAywiIiIiJyMARYRERGRkzHAIiIiInIylwZYv//+O8aNGwe9Xg+ZTIavv/7aYb8QAvPmzYNer4efnx+GDRuGAwcOOLQxmUyYOXMmwsPDERAQgPHjxyMrK8uhTUFBAaZMmQKtVgutVospU6agsLCwmc+OiIiIWiuXBlilpaXo2bMnli5dWuP+RYsWYfHixVi6dCl27doFnU6HkSNHori4WGqTkpKCNWvWYPXq1diyZQtKSkowduxYWK1Wqc3kyZOxd+9e/Pzzz/j555+xd+9eTJkypdnPj4iIiFonmRBCuLoTQGUBsDVr1uDWW28FUDl6pdfrkZKSgqeeegpA5WhVVFQUXnnlFTz00EMwGAyIiIjARx99hDvvvBPApSVtfvzxR4wePRqHDh1C165dsX37dvTr1w8AsH37dgwYMACHDx9Gp06d6tW/oqIiaLVaGAwGFholIiLyEK76/nbbHKyMjAzk5ORg1KhR0ja1Wo2hQ4di69atAIDU1FRYLBaHNnq9HomJiVKbbdu2QavVSsEVAPTv3x9arVZqUxOTyYSioiKHBxEREVF9uG2AlZOTAwCIiopy2B4VFSXty8nJgY+PD0JCQq7aJjIystrxIyMjpTY1WbBggZSzpdVqudAzERER1ZvbBlh2V64dJISocz2hK9vU1L6u48ydOxcGg0F6ZGZmNrDnRERE1Fq5bYCl0+kAoNooU25urjSqpdPpYDabUVBQcNU258+fr3b8vLy8aqNjl1Or1dLCzlzgmYjo6nKLyrHnTAHcJK2XyOXcNsBq164ddDod1q1bJ20zm83YtGkTBg4cCABITk6GSqVyaJOdnY309HSpzYABA2AwGLBz506pzY4dO2AwGKQ2RETUcEII7Dh5AY9+sgcDF/6GCW9txZL1x1zdLSK3oHTli5eUlOD48ePSzxkZGdi7dy9CQ0MRFxeHlJQUzJ8/HwkJCUhISMD8+fPh7++PyZMnAwC0Wi2mTZuGWbNmISwsDKGhoZg9eza6d++OESNGAAC6dOmCG2+8EQ888ADeffddAMCDDz6IsWPH1vsOQiIiqiSEwKHsYvxyIAc/pWfj6PkSh/3//vUYgv1VuG9QO6n9T+k52JlxEUG+SgT7+yA0wAfXRAaiY5QGPkq3/TufqElcGmDt3r0b119/vfTzE088AQCYOnUqVqxYgTlz5sBoNGLGjBkoKChAv379sHbtWmg0Guk5r7/+OpRKJSZOnAij0Yjhw4djxYoVUCgUUpuPP/4Yjz32mHS34fjx42utvUVERJXOFhrxz6/TcepCKXyUCvgoZLhYZkbmRaPUxk+lwK1Jekzp3xbrD53H4nVH8cJ3BxHsr0LHKA1e+PYgdp66WOPxfRRydInWoLMuCFFaX0QFqRGp8UWgWgk/HwX8fRSQASi32GC0WGGqsCI0wAfRWj+E+KvqzMe9UrbBiIc/SoVO64v/3JUEtVLhsN8+vdnQ4xLVxG3qYLk71sEiotZkx8kLmPHxHlwoNVfbp1bKcV3HCIzupsPIrlHQ+qkAVAYoL35/EMv/OAWFXAYhBGyiMgj7S+8YCAEUlJmRV2zC4ZxiGIyWRvfPRymHLsgXOq0vdEG+iA72RacoDbrptegQEQClwnFkzGC0YOI723DkfGWh6rv6xmLBhB7S/vSzBvztkz04ZyhHiL8KIf4+6BilwXNjuyBS49vofpLruer726UjWERE1PL+OJ6PZ9ekwUcpR3igGuGBarQJ8UNCZCASIjXYm1mAF747iAqbQNfoIDw9pjMAwGK1QamQo0/bEPj7VP/6kMlk+MfNXWEos+CrP88CAMb11GPumM7QB/s5tBVC4MzFMuzLMuBkXglyi03ILSpHbrEJpaYKlFtsKLdYYRMCfioFfFUKKBUyXCw1I7/EDHOFDWculuHMxbJq/VAr5RjQIQwzb0hAcnwIyi1WPPDhbhw5X4zQAB8UlJnx6c5MJLbR4u5+8fjzTAGmfrATReUVAIDzRSacL7oUBK64rw9HtajBOIJVTxzBIiJvMfPTP/HdvnN1thvbIxr/d0dP+Pko6mx7OYvVhi9Ts5AQFYjk+NDGdrNWpgorcotMyCkqR7ahHOcN5cgsKMOh7CIcPFeEUvOlpdKGdYqAQibDr4dzoVEr8dlDA7DxaC4W/XwEKoUMT93YGUvWH0OJqQK940Pwyh09YDRbkXmxDCmf7YWpwoZ/3ZaIu/vFO/08qGVwBIuIiFrEoezKlSnm3NgJeq0f8ktMOHWhFMfOl+B4bgmMFiv+dsM1eGRoh0aN3KgUckzqG+fsbkvUSgViQ/0RG+pfbZ/NJnA8rwTLNmfgiz1Z2Hgkr6pPMrw7JRld9UHoEq3BgbNF+CEtGy//cAgAMKB9GP47tTcC1JVfi4lttDhnKMdL3x/Ev344hMHXhCM+LKDZzom8D0ew6okjWETkDcotVnT958+wCWDHM8MRFVQ9v8hmE5DLPX9K7FR+Kf7z2zH8cTwf/xzbDTf3iJb2lZkrMOGtrTicU4zrOkbgvSnJ8FU5jtTZbAKT/7sd209eRJ+2IVj94AAovOC6tDau+v5mgFVPDLCIyBvszyrE+KV/IDTAB6nPjWjVuUUGowU7Tl7AsE6RtZaLyLxYhjH/3owSUwVu7xWD23u1Qa/4kGrBGLkvThESEVGzs08PdonWtOrgCgC0fiqM6qa7apvYUH/8c2xXzPlyP77ck4Uv92RBrZSjf/sw3J4cg9HdoqqVeyACGGAREbUqh7IryxR00XEkvr4m9olFSIAPfkrPxpZj+cgtNmHT0TxsOpqHEH8VJvSKwe29YpwWtK7afhrvbDqBIF8VOkdr0FmnQUyIv3Q3ZbC/Cp11DJDdHQMsIqJW5KA0gsUAqyFGdo3CyK5REELgeG4Jvtufjf/tzkS2oRzLtmRg2ZYMdIgIwLieeozvqUf7iMAGv0aF1YYXvz+ID7edrtpilP5/XWlIQjgW3dED0Vq/GveT6zEHq56Yg0VEnk4IgR4vrEVxeQV+fGwIuur5WdYUVpvApqO5+HxXFn47kgtzhU3ad0PnSDx4XXv0axda50iTEAKFZRY8tvpPbD6WD5kMmDWyIzpGaXA4pxhHcoqRV2yC0WJFucWK0xfLYK6wIchXiRdvScQt1+pRVF6BMxfKkFtcDn8fJYL8lND6qRDkp0Kgj9IrblpoLCa5uzkGWETk6bIKyjD4lQ1QKWQ48MKNXAfQiYrLLVh38Dy+3XcOm47mwf7N2iNGi/iwABjNFTBarCgzW2E0V/638t+V221V7f1UCiyZdC1GXyU37HhuCWZ9vhf7sgwAgCBfpVQktSZyGaDxVSE21A/zb+uOHjHBzjptj8AAy80xwCIiT7fu4Hk88OFudNZp8HPKda7ujtfKyC/FfzefxBepWTBdNqpVl/gwf7w5uRcS22jrbFthteGtjSfwn1+PoaIqOovQqKEL8kWZuQJF5RUoMlqqvX6wvwqfPTgAnXSamg7rlRhguTkGWETk6f7z6zEsXncUtyW1wet3Xuvq7ni9/BITfkzLhsUq4O+jgJ9KIS1iXfmzUvq3r4+iUVN554vKcaHEjPgwf6lI6uXKLVYUl1egsMyMOV/ux59nChEeqMb/Hh6AduGto3AqyzQQEVGzurxEAzW/8EA17hnQtllfIyrIt8ZisXa+VXceRmjUWHFvX9z53jYczinGX/+7A58+0B9xYdWr4bubbIMROzMuIvV0ATpGaXB3vziPuIOSARYRUStxiHcQtmpafxU+mtYPd767DSfzS3Hd/21AN30QBl8TjqS4YMhlMtiEgE0A7cID0ClK49Lk+HUHz+PlHw7i9AXHBb1PXyjFMzd1cfsgiwEWEVErUGqqwOmLlV9UDLBarwiNGqum98PfPtmDPWcKceBcEQ6cq7kURGiAD/q1C8XQjhG4NalNi1av33A4F4+sSkWFTUAuA7rptWgbHoDv9p3D+5szUGKqwMu3dodCLoPFasOh7CL4qRRoHxHoNssZMcAiImoFjpwvhhCVX7DhgWpXd4dcSB/sh69mDEJucTm2nbiAzcfycSy3BHIZoKgaxTqcU4yLpWb8lJ6Dn9Jz8MZvx5EyIgETesXUGcBYbQL/252JvZmFUCnk8FHKoVbKERaoRlSQGlFBvogJ8YMuyLfGUahtJy7g4argalxPPebflgiNrwoAMOSacDz91X58ujMTZwvLAQC7T11EmdkKAPD3USBRr0VcmD/yik04V2hEVu4FJ1/B+mGARUTUCnB6kK4UqfHFLde2wS3Xtqm2z2K1YX9WIbYev4BPdp7B2UIjnvxiP977/SQeuK49bkzUIagq6LncsfPFUjJ9XbR+KnTS2SvV+0Ef7AcZZJjzxT6YKmwY0SUSiyf2hEpxqZzIxD6xCFArkfLZn/j9aJ7DsSxWG8rMVuw8dRE7T12U9tlM1gZeGefgXYT1xLsIiciTPfd1GlZtP4OHhrbH3DFdXN0d8iDlFis+3HYKb244AYPRAgDwUcoxokskrkuIkAKgk/kleP/3DJitNgSqlfhr/3j4KOWwWG0wmq3ILzEht8iEnKJynC00wmqrPfwYdE0Ylk3tU+u05B/H8/FFaha6t9Gif/swdNZpIACczCvB/iwDzhUaERXki+hgXwTKLeh1TRuWaXBXDLCIyJPd/vZWpJ4uwL8nXVvjiAVRXQxGC1ZtP401f57F8dySWtvd0DkS/7ot8arL+JRbrDiRV4IjOcU4er4E5wqNyDYYca6wHL3iQ7BwQvcay040Bss0EBFRs7DZBA5zipCaSOunwqPXX4MZwzrgwLkifLP3LI6cvxRoqeQy3JLUBuN6RNd5h5+vSoFuei266esuquqpGGAREXm5onILSquSgOM9oO4RuTeZTIbENtp6VZxvzbgQFRGRlysyVq5T56dSQK1suVvtiVozBlhERF7Onpis9at+1xcRNQ8GWEREXq6onAEWUUtjgEVE5OXsI1hBfky7JWopDLCIiLwcpwiJWh4DLCIiL1dkH8GqofI2ETUPBlhERF7u0hQhAyyilsIAi4jIy3GKkKjlMcAiIvJyReWVdbA4gkXUchhgERF5OY5gEbU8BlhERF6uiAEWUYtjgEVE5OUu3UXIOlhELcXtA6zi4mKkpKQgPj4efn5+GDhwIHbt2iXtF0Jg3rx50Ov18PPzw7Bhw3DgwAGHY5hMJsycORPh4eEICAjA+PHjkZWV1dKnQkTkEtIUoT9HsIhaitsHWNOnT8e6devw0UcfIS0tDaNGjcKIESNw9uxZAMCiRYuwePFiLF26FLt27YJOp8PIkSNRXFwsHSMlJQVr1qzB6tWrsWXLFpSUlGDs2LGwWq2uOi0iohYhhOBSOUQuIBNCCFd3ojZGoxEajQbffPMNbr75Zmn7tddei7Fjx+Kll16CXq9HSkoKnnrqKQCVo1VRUVF45ZVX8NBDD8FgMCAiIgIfffQR7rzzTgDAuXPnEBsbix9//BGjR4+uV1+Kioqg1WphMBgQFBTk/JMlImoGZeYKdP3nLwCAAy+MRoCa04TUurjq+9utR7AqKipgtVrh6+vrsN3Pzw9btmxBRkYGcnJyMGrUKGmfWq3G0KFDsXXrVgBAamoqLBaLQxu9Xo/ExESpTU1MJhOKioocHkREnsY+PaiUy+Dvo3Bxb4haD7cOsDQaDQYMGICXXnoJ586dg9VqxapVq7Bjxw5kZ2cjJycHABAVFeXwvKioKGlfTk4OfHx8EBISUmubmixYsABarVZ6xMbGOvnsiIiaX5HxUg0smUzm4t4QtR5uHWABwEcffQQhBNq0aQO1Wo3//Oc/mDx5MhSKS3+JXfmhIYSo84OkrjZz586FwWCQHpmZmU07ESIiF2ANLCLXcPsAq0OHDti0aRNKSkqQmZmJnTt3wmKxoF27dtDpdABQbSQqNzdXGtXS6XQwm80oKCiotU1N1Go1goKCHB5ERJ6miOsQErmE2wdYdgEBAYiOjkZBQQF++eUX3HLLLVKQtW7dOqmd2WzGpk2bMHDgQABAcnIyVCqVQ5vs7Gykp6dLbYiIvJWBNbCIXMLt33G//PILhBDo1KkTjh8/jieffBKdOnXCfffdB5lMhpSUFMyfPx8JCQlISEjA/Pnz4e/vj8mTJwMAtFotpk2bhlmzZiEsLAyhoaGYPXs2unfvjhEjRrj47IiImhenCIlcw+0DLIPBgLlz5yIrKwuhoaG4/fbb8a9//QsqVeWHxZw5c2A0GjFjxgwUFBSgX79+WLt2LTQajXSM119/HUqlEhMnToTRaMTw4cOxYsUKhzwuIiJvxBpYRK7h1nWw3AnrYBGRJ3rhuwNY/scpPDKsA566sbOru0PU4lgHi4iInI5ThESuwQCLiMiL2etgMcAialkMsIiIvJhUpsGXARZRS2KARUTkxZjkTuQaDLCIiLyYVAfLz+1vGifyKgywiIi8GJPciVyDARYRkZv5cNspTF+5C+UWa5OOY7HaUGauPAYDLKKWxQCLiMjN/OfXY1h/KBfbTl5o0nHsCe4AoGGSO1GLYoBFRORGCkrNyC8xAwCyLpY16Vj26UGNWgmFXNbkvhFR/THAIiJyI8fzSqR/ZxUYm3SsovLKGlhBnB4kanEMsIiI3Mix85cCrMwC54xgMcAiankMsIiI3Mjx3MsCrItNG8G6dAchSzQQtTQGWEREbuRYbrH076aOYBWxRAORyzDAIiJyIycuG8EqLLOguNxyldZXZ+AyOUQuwwCLiMhNFJdbcM5QDgDwVVV+PDdlmpDL5BC5DgMsIiI3cSKvFAAQoVEjIVIDAMhqwjRhEZPciVyGARYRkZuwJ7hfExGI2FA/AEBmE0o1cJkcItfhrSVERG7CnuCeEBUIP5UCAJDZhGKjRcbKOlgMsIhaHgMsIiI3YU9wT4gMBGSVldebMkV4qQ4WP+qJWhrfdUREbuJYVYDVITIQ5gobgKYluXOKkMh1GGAREbmBcosVZ6qmAxMiNVJwlFVQBiEEZLKGryXIuwiJXIdJ7kREbuBkXimEqAyGwgN9EBNSmeRearaioKzhtbBsNnHpLkLWwSJqcQywiIjcgJTgHhkImUwGX5UCkRo1gMYlupeaK2ATlf9mmQailscAi4jIDUgJ7lGB0rbYUH8AjVsyxz7FqFbK4Vt1RyIRtRwGWEREbkBKcI+4LMCqmiZsTKK7gUVGiVyKARYRkRs4Jo1gaaRtMSGNH8FiDSwi12KA1UAVVpuru0BEXsZiteFUfuUyOQmRl08RVo5gZTWimvulhZ55sziRKzDAaqDtGRdd3QUi8jKnL5SiwiYQ4KNAtNZX2h5bNYKV1Ygk9yLWwCJyKQZYDfTD/nOu7gIReZmD2ZV3EF5TdQehnT3JPavACJv9lsB6Yg0sItdigNVAvx46j3KL1dXdICIvsjPjAgCgV3yIw/ZorS8UchnMVhtyi00NOubZwsppxZAAH+d0kogahAFWA5WZbVh/6Lyru0FEXmT7ycrUg/7twxy2KxVy6IIqpwwbmui+7URl0JZ8RdBGRC2DAVYjfLOX04RE5Bx5xSYczy2BTAb0axdabf+lRPf6B1j5JSYczqmcdhxwRdBGRC2DAVYjbDySC0Mjlq4gIrrSjqrpwc66IAT7V5/Osye6N6QWln30qkt0EMIC1U7oJRE1lFsHWBUVFXjuuefQrl07+Pn5oX379njxxRdhs10qlSCEwLx586DX6+Hn54dhw4bhwIEDDscxmUyYOXMmwsPDERAQgPHjxyMrK6tRfeoYFQiLVeDH9OwmnRsREQBsP1kZDPVvX330CrismnsD7iTceiIfADCwA0eviFzFrQOsV155Be+88w6WLl2KQ4cOYdGiRfi///s/vPHGG1KbRYsWYfHixVi6dCl27doFnU6HkSNHori4WGqTkpKCNWvWYPXq1diyZQtKSkowduxYWK0NT1a/qXs0AOCbvWebfoJE1OrVln9l1ya4corwnKH+I1hbq0awBl3DAIvIVdw6wNq2bRtuueUW3HzzzWjbti3uuOMOjBo1Crt37wZQOXq1ZMkSPPvss5gwYQISExOxcuVKlJWV4ZNPPgEAGAwGLFu2DK+99hpGjBiBpKQkrFq1CmlpaVi/fn2D+zQmUQcA2JFxEdkN+MAjIrpSXflXABBRteBzfrG5XsfMKijD6QtlUMhl6NuOARaRq7h1gDV48GD8+uuvOHr0KABg37592LJlC2666SYAQEZGBnJycjBq1CjpOWq1GkOHDsXWrVsBAKmpqbBYLA5t9Ho9EhMTpTY1MZlMKCoqcngAQJsQf/RtFwohgE93Zjr9nImo9dhZVbi4tvwrAAivyqHKL6lfmYatxytHr3rGaBGoZhV3Ildx6wDrqaeewl133YXOnTtDpVIhKSkJKSkpuOuuuwAAOTk5AICoqCiH50VFRUn7cnJy4OPjg5CQkFrb1GTBggXQarXSIzY2Vtp3z4B4AMAnO07DVMGaWETUOHXlXwFAuKYy8LpYZq7XUl1/VOVfDbom3Ak9JKLGcusA67PPPsOqVavwySefYM+ePVi5ciVeffVVrFy50qHd5ZWPgcqpwyu3XamuNnPnzoXBYJAemZmXRqtGd9NBF+SL/BIzftjPZHciapxLAVbtU3mh/j6QyQAhKoOsqxFCSPlXAzswwCJyJbcOsJ588kk8/fTTmDRpErp3744pU6bg73//OxYsWAAA0Okq86GuHInKzc2VRrV0Oh3MZjMKCgpqbVMTtVqNoKAgh4edSiHHlKpRrOV/nIIQDVvCgogov8SEY7klAIC+bWsfwVIq5AirqsZeVx7W8dwS5BWboFbK0Ss+2Gl9JaKGc+sAq6ysDHK5YxcVCoVUpqFdu3bQ6XRYt26dtN9sNmPTpk0YOHAgACA5ORkqlcqhTXZ2NtLT06U2jTGpTyx8lHKknTVgz5nCRh+HiFqnHSft+VeaOpezsedh5dWRh/XH8crpwT5tQ6FWKpzQSyJqLLfOgBw3bhz+9a9/IS4uDt26dcOff/6JxYsX4/777wdQOTWYkpKC+fPnIyEhAQkJCZg/fz78/f0xefJkAIBWq8W0adMwa9YshIWFITQ0FLNnz0b37t0xYsSIRvctLFCNW3rq8b/ULKzYeorLURBRg9RnetCuMsAqRn4d6xH+YZ8eZHkGIpdz6wDrjTfewD/+8Q/MmDEDubm50Ov1eOihh/DPf/5TajNnzhwYjUbMmDEDBQUF6NevH9auXQuNRiO1ef3116FUKjFx4kQYjUYMHz4cK1asgELRtL/wpg5si/+lZuGntGzk3NQFOq1vk45HRK3H/rMGAJWjTXUJD6yaIrzKCJbVJrDjJPOviNyFWwdYGo0GS5YswZIlS2ptI5PJMG/ePMybN6/WNr6+vnjjjTccCpQ6Q2IbLfq2DcXOUxfx0fZTeHJ0Z6cen4i8V0FpZT6VTlv3Ujb1KdVw9HwxisorEOCjQKI+qNZ2RNQy3DoHyxPcN6gtAOCDLadwrpCFR4mofgqq7gjU+l09/wq4rNhoSe1J7rtPV97IkxQXAqWCH+1ErsZ3YRON7qZDn7YhMFqsePG7g67uDhF5gAqrDcXlFQCAEH9Vne3rM4K1+1Rl0nzvtswHJXIHDLCaSC6X4aVbE6GQy/DzgRxsOJzr6i4RkZszGC3Sv7V+9Qiwqkaw8q6S5L77VOUIVu/4unO6iKj5McBygs66INxfNVX4z2/TUW5hdXciql1hVYCl8VXWazqvriT3bIMRZwuNUMhluDYu2Gn9JKLGY4DlJCkjOkIX5IvMi0a8teG4q7tDRG6ssCr/KqSW9QevFFE1RXix1AyrrXphY/voVZdoDdcfJHITDLCcJECtxPPjugIA3tl0EtkGJrwTUc0KyypHsILrkX8FAKEBlcvl2ERlkHUlKf+K04NEboMBlhPdmKhDzxgtzFYbNh/Ld3V3iMhNFUgBVv1GsJQKOUL9a58mtN9ByAR3IvfBAMuJZDIZBlQV+Es9VVBHayJqrexThMH1SHC3q+1OwhJTBQ5lFwHgCBaRO2GA5WR9qv6C3HX6oot7QkTuyj5FWJ8SDXbhmsoRrCvvJPzzTAFsAogJ8eNqEkRuhAGWk9nXJDyZV4oLdSzMSkStU6GxqshoPacIgdpHsHZVjZbXZ8kdImo5DLCcLNjfBwmRgQAu5UUQEV2uoBEjWBGBNVdzT60aLeeC80TuhQFWM+hd9ZdkKgMsIqqBoYF3EQKXio3mXzZFWGG14c8zhQA4gkXkbhhgNQMpD+sU87CIqDr7OoT1vYsQuDRFmHfZFOGh7GKUma0I8lVKI+dE5B4YYDUD+1+S6WcNMJpZ1Z2IHEl1sBp0F6G9TMOlKUL7H3HJ8SGQy2VO7CERNRUDrGYQE+KHSI0aFqvAvqxCV3eHiNxMQyu5AzUnuadK9a84PUjkbhhgNQOZTCaNYjEPi4guZ66wobRqZLshOVgRVTlYF0pMsNoEhBDSCFZvJrgTuR0GWM2kN/OwiKgG9hINMhkQ5Fv/AOvy5XIKyszIKjAit9gElUKGnrHBzdRbImosBljN5PIRLFsNi7MSUetkz7/S+qkalDelUsilKcX8EpP0x1tiGy18VQrnd5SImoQBVjPprNMgwEeB4vIKHM0tdnV3iMhNXKriXv/8Kzsp0b3YfGn9QU4PErklBljNRKmQIynOPk3IPCwiqmQv0aBtwB2Edpcnuu+2518xwZ3ILTHAakZSHlYG87CIqJKhEVXc7ewB1om8Ehw9XwKAFdyJ3BUDrGbUt13lX5bbT16AEMzDIqLGFRm1s99J+MuBHABA+/AAKegiIvfCAKsZ9YoLgY9SjtxiE07klbq6O0TkBgqNDV8mx84eTHH0isj9McBqRr4qBZKr8rC2nbzg4t4QkTtoTJFRO3uSux3XHyRyXwywmtnADmEAgG0n8l3cEyJyBwWlTRjB0jhOBya35QgWkbtigNXMBl5jD7AusB4WEUmFRhuVg3VZvlVogA/ahwc4rV9E5FwMsJpZj5hg+PsoUFBmwZHzrIdF1No1ZqFnu4jLRrCS40Mgk3GBZyJ3xQCrmakUcilPYusJ5mERtXZNKTQaGnDpOX04PUjk1hhgtYABHS5NExJR63apTEPDR7BUCrk0isUEdyL3pnR1B1oDe6L7jowLsNoEFA1Yf4yIvEe5xQpThQ1A4wIsAFhwW3ecyCvBtVzgmcitMcBqAd30Wmh8lSgur8CBcwb0iAl2dZeIyAXso1dKuQyB6sZ9/I7oGoURiHJmt4ioGXCKsAUo5DL0a1c5isU8LKLWS0pw91cxQZ3IyzHAaiH2aUIGWEStV1MWeiYiz+L2AVbbtm0hk8mqPR599FEAgBAC8+bNg16vh5+fH4YNG4YDBw44HMNkMmHmzJkIDw9HQEAAxo8fj6ysrBY9D3ui++5TF2GuysEgotbF0IQ7CInIs7h9gLVr1y5kZ2dLj3Xr1gEA/vKXvwAAFi1ahMWLF2Pp0qXYtWsXdDodRo4cieLiSzWnUlJSsGbNGqxevRpbtmxBSUkJxo4dC6vV2mLn0SlKgyBfJcrMVpzML2mx1yUi91FQ1vgq7kTkWdw+wIqIiIBOp5Me33//PTp06IChQ4dCCIElS5bg2WefxYQJE5CYmIiVK1eirKwMn3zyCQDAYDBg2bJleO211zBixAgkJSVh1apVSEtLw/r161vsPORyGaK1fgCAvGJTi70uEbmPplRxJyLP4vYB1uXMZjNWrVqF+++/HzKZDBkZGcjJycGoUaOkNmq1GkOHDsXWrVsBAKmpqbBYLA5t9Ho9EhMTpTY1MZlMKCoqcng0lb1+DQMsotapKVXcicizeFSA9fXXX6OwsBD33nsvACAnJwcAEBXleMtyVFSUtC8nJwc+Pj4ICQmptU1NFixYAK1WKz1iY2Ob3H8GWEStW0Fp5QhWSABHsIi8nUcFWMuWLcOYMWOg1+sdtl95u7MQos5boOtqM3fuXBgMBumRmZnZ+I5XYYBF1LoVGitHsHgXIZH385gA6/Tp01i/fj2mT58ubdPpdABQbSQqNzdXGtXS6XQwm80oKCiotU1N1Go1goKCHB5NFRFYFWCVMMAiao0Kq8o08C5CIu/nMQHW8uXLERkZiZtvvlna1q5dO+h0OunOQqAyT2vTpk0YOHAgACA5ORkqlcqhTXZ2NtLT06U2LYUjWEStWyHvIiRqNTxiqRybzYbly5dj6tSpUCovdVkmkyElJQXz589HQkICEhISMH/+fPj7+2Py5MkAAK1Wi2nTpmHWrFkICwtDaGgoZs+eje7du2PEiBEteh4MsIhaN5ZpIGo9PCLAWr9+Pc6cOYP777+/2r45c+bAaDRixowZKCgoQL9+/bB27VpoNBqpzeuvvw6lUomJEyfCaDRi+PDhWLFiBRQKRUuexqUAi1OERK2OEAIGI6cIiVoLmRBCuLoTnqCoqAharRYGg6HR+VgFpWYkvVQ5VXn05THwUXrMDC0RNVGJqQKJz/8CADj44mj4+3jE37dEHs8Z39+NwXd4C9L6qaCUy1BhE7hQapIKjxKRd8q8WIYNR3LRMUqD8MDKUSsfpRx+qpYdPSeilscAqwXJ5TKEB6qRU1SOvGIGWETebvb/9mFHxkUAgL0qTLCfqs4yMkTk+ThH1cKY6E7UOpwrNErBVVSQGvZkjPYRAS7sFRG1FI5gtTAGWEStw49p2QCAPm1D8PlDA3C20IiD54rQIybYtR0johbBAKuFScVGGWARebXv9lcGWGN76CGTyRAT4o+YEH8X94qIWgqnCFsYSzUQeb/Mi2XYl1kIuQwY013n6u4QkQswwGphnCIk8n7fV41e9W8fhkiNr4t7Q0SuwACrhTHAIvJ+3+07B6ByepCIWicGWC2MU4RE3u1kXgkOZhdBIZfhxkRODxK1VgywWpg9yT2fI1hEXsk+PTjomnCEBnBJHKLWigFWCwuvGsEqNVtRaqpwcW+IyNm+3185PTiuR7SLe0JErsQAq4UF+CikZTLyOU1I5FV+Ts/G0fMl8FHIMaobpweJWjMGWC1MJpMx0Z3IC6WfNeDvn+0DANwzIB5aP5WLe0RErsQAywUYYBF5l9yicjzw4W4YLVYMSQjH02M6u7pLRORija7kbrVasWbNGhw6dAgymQydO3fGrbfeCqWSxeHrIlVz5xQhkccrt1jxwEepyDaUo0NEAJZO7gWlgn+7ErV2jYqG0tPTccsttyAnJwedOnUCABw9ehQRERH49ttv0b17d6d20ttwBIvI85VbrPhyTxb+uzkDGfmlCPZXYdnUPpwaJCIAjQywpk+fjm7dumH37t0ICQkBABQUFODee+/Fgw8+iG3btjm1k96GARaR57LZBP675STe3XQSF0rNAIBgfxXe/Wsy2oYHuLh3ROQuGhVg7du3zyG4AoCQkBD861//Qp8+fZzWOW/FAIvIM9lsAs9+nYZPd2YCANoE+2H6kHaY2DsWAWqmRxDRJY36ROjUqRPOnz+Pbt26OWzPzc3FNddc45SOeTPmYBF5HqtN4Kkv9+OL1CzIZcC88d0wuW8c862IqEb1DrCKioqkf8+fPx+PPfYY5s2bh/79+wMAtm/fjhdffBGvvPKK83vpZcI5gkXkUSqsNsz+3z58vfccFHIZFk/siVuubePqbhGRG6t3gBUcHAyZTCb9LITAxIkTpW1CCADAuHHjYLVandxN72KfIswvMUEI4XBdicj9vPHbcXy99xyUchn+c1cSburOKu1EdHX1DrA2bNjQnP1oVcIDK9cns1gFDEYLgv25XhmRuyq3WPHhtlMAgPkTujO4IqJ6qXeANXTo0ObsR6uiViqg9VPBYLQgr9jEAIvIjf2wPxsFZRbotb6YkMRpQSKqn3oHWPv376/3QXv06NGozrQmERq1FGAlRGlc3R0iqoV99Oru/vFMaCeieqt3gHXttddCJpNJuVa1kclkzMGqh4hANY7nlvBOQiI3ti+zEPuyDPBRyHFnn1hXd4eIPEi9A6yMjIzm7Eerw1pYRO7vw22nAQA394hGeFV5FSKi+qh3gBUfH49nnnkGt956K/r27ducfWoVGGARubeLpWZ8t/8cAGDKgHgX94aIPE2DEgqys7MxduxYREdH48EHH8QPP/wAk4kBQmNEVgVYWYVGF/eEiGry+e5MmCtsSGwThKTYYFd3h4g8TIMCrOXLl+P8+fP4/PPPERwcjFmzZiE8PBwTJkzAihUrkJ+f31z99Dpd9UEAgPSzBhf3hIiutPvURSz/ozIt4p7+bVmrjogarMG3xMhkMgwZMgSLFi3C4cOHsXPnTvTv3x/vv/8+2rRpg+uuuw6vvvoqzp492xz99Ro92gQDAE5fKENB1YKxRORax3NL8OCHu3HHO9twvsgEvdYX43rqXd0tIvJATb7nuEuXLpgzZw7++OMPZGVlYerUqdi8eTM+/fRTZ/TPa2n9VWgXHgAA2M9RLCKX+/1oHkYv+R1rD56HXAbc1TcWXz86CH4+Cld3jYg8kFOXf4+IiMC0adMwbdo0Zx7Wa/WM0SIjvxT7MgsxtGOEq7tD1Kp9suMMrDaB/u1D8dItiaxPR0RN0uARrOzsbKxatQo//vgjzGbHqa3S0lK8+OKLTuuct+tZlTi7L7PQpf0g8ma7T13Ed/vOXbWGn80msCPjAgDgydGdGFwRUZM1KMDatWsXunbtikcffRR33HEHEhMTceDAAWl/SUkJXnjhBad28OzZs/jrX/+KsLAw+Pv749prr0Vqaqq0XwiBefPmQa/Xw8/PD8OGDXPoEwCYTCbMnDkT4eHhCAgIwPjx45GVleXUfjaGFGBlFdZZwJWIGs5qE5i2cjdmfvonvtufXWu7Y7klKCizwE+lQPeq/EgioqZoUID1zDPPYMKECSgoKMD58+cxcuRIDB06FH/++WezdK6goACDBg2CSqXCTz/9hIMHD+K1115DcHCw1GbRokVYvHgxli5dil27dkGn02HkyJEoLi6W2qSkpGDNmjVYvXo1tmzZgpKSEowdO9blFee7RgdBKZchv8SMc4Zyl/aFyBsdyy2GwWgBADz/TTrya1k5YfvJytGr3m1D4KPkcjhE1HQN+iRJTU3FU089BblcDo1GgzfffBNz5szB8OHDsWvXLqd37pVXXkFsbCyWL1+Ovn37om3bthg+fDg6dOgAoHL0asmSJXj22WcxYcIEJCYmYuXKlSgrK8Mnn3wCADAYDFi2bBlee+01jBgxAklJSVi1ahXS0tKwfv16p/e5IXxVCnSOrpyK4DQhUeOtPZCD19Yegc3mOBL855lC6d8FZRb885v0Gp9vnx7s1y602fpIRK1Lg/9UKy93HGmZM2cOnnnmGYwaNQpbt251WscA4Ntvv0Xv3r3xl7/8BZGRkUhKSsL7778v7c/IyEBOTg5GjRolbVOr1Rg6dKjUl9TUVFgsFoc2er0eiYmJV+2vyWRCUVGRw6M59IwJBsAAi6gp/vXjIbzx23FsPu5Yi+/PMwUAgBs6R0Ipl+HHtBz8mOY4VSiEwI6TFwEA/duHtUyHicjrNSjAqi0omT17Np555hncddddTusYAJw8eRJvv/02EhIS8Msvv+Dhhx/GY489hg8//BAAkJOTAwCIiopyeF5UVJS0LycnBz4+PggJCam1TU0WLFgArVYrPWJjm2ehV3se1l4GWESNVlxeAQD444oAy/6+mtw3Do8Mqxz5/sfX6bh4We2547kluFBqhq9Kjh5Vf/AQETVVgwKse+65B3/88UeN+5588km8+OKLiIuLc0rHAMBms6FXr16YP38+kpKS8NBDD+GBBx7A22+/7dDuyirLQog6Ky/X1Wbu3LkwGAzSIzMzs/EnchX2Eaz0swZYbUx0J2qMcktlPuWWY5cCrKJyC47llgAAro0Lxt9uuAadojS4UGrGgh8PSe3s+VfJ8cy/IiLnadCnyfTp0/HRRx/Vun/OnDnIyMhocqfsoqOj0bVrV4dtXbp0wZkzZwAAOp0OAKqNROXm5kqjWjqdDmazGQUFBbW2qYlarUZQUJDDozlcExkIfx8FSs1WnMgraZbXIPJmQggYqwKsg9lFuFCVyL4/0wAhgNhQP4QHqqFWKrDg9u4AgC/2ZOHgucpp/+0ZldOD/dpxepCInKdJf67l5eVhy5Yt+OOPP5CXl+esPkkGDRqEI0eOOGw7evQo4uMrV7Zv164ddDod1q1bJ+03m83YtGkTBg4cCABITk6GSqVyaJOdnY309HSpjSsp5DJ0b6MFwGlCosYwW224vMrJ1hOVI1L2/Kuk2EvpAb3iQjC2RzSEAOb/eKgq/6qyPfOviMiZGhVglZaW4v7774der8d1112HIUOGQK/XY9q0aSgrK3Na5/7+979j+/btmD9/Po4fP45PPvkE7733Hh599FEAlVODKSkpmD9/PtasWYP09HTce++98Pf3x+TJkwEAWq0W06ZNw6xZs/Drr7/izz//xF//+ld0794dI0aMcFpfm+JaFhwlarRyi83hZ3se1p9V76ekuGCH/U/d2Bk+Cjm2HM/HB3+cQn6JGWqlHD1jtS3RXSJqJRoVYD3xxBPYtGkTvv32WxQWFqKwsBDffPMNNm3ahFmzZjmtc3369MGaNWvw6aefIjExES+99BKWLFmCu+++W2ozZ84cpKSkYMaMGejduzfOnj2LtWvXQqO5VIn59ddfx6233oqJEydi0KBB8Pf3x3fffQeFwj3WGLu84CgRNYw9/8pu87F8CCGkEeGkOMcbXGJD/TF1YOUo+PyqXKxecSFQK93j84CIvINMNKKEeHh4OL744gsMGzbMYfuGDRswceLEZpkudLWioiJotVoYDAan52NlFZRh8CsboJTLkP7CaPiq+EFPVF+nL5Ri6P9thI9SDiEELFaBlff3xdQPdsJHIUfaC6OqBU+GMguu+78NUhHSv4/oiMdHJLii+0TUzJrz+/tqGjWCVVZWVmOCeGRkpFOnCFuLNsF+CA/0QYVN4GB289TbIvJW9gT3IF+lNFq19LdjAIBubYJqHJnS+qvw2PBLAVW/9iwwSkTO1agAa8CAAXj++ecdio4ajUa88MILGDBggNM611rIZDIWHCVqJHsOllqpwOBrwgEAu05VT3C/0pT+8bg2NhiddZpqeVpERE2lbMyTlixZgjFjxiAmJgY9e/aETCbD3r17oVarsXbtWmf3sVXoGRuMXw/nMsAiaiB7DpavSo7BCeFYvO6otO9qgZOPUo41MwbWWTOPiKgxGhVgde/eHceOHcOqVatw+PBhCCEwadIk3H333fDz83N2H1sFe6L7/iyDaztC5GHsU4R+Pgr0aKOFRq1Esamysrv9Dt3aMLgioubSqABrwYIFiIqKwgMPPOCw/YMPPkBeXh6eeuopp3SuNelRVQvrZH4pDGUWaP1VLu4RkWcw2UewlAooFXL07xCGdQfPIzxQjZgQ/sFHRK7RqBysd999F507d662vVu3bnjnnXea3KnWKCTAB/Fh/gCA/WcLXdsZIg9y+QgWULmwMwD0bx/KESoicplGjWDl5OQgOjq62vaIiAhkZ2fX8Ayqj54xwTh9oQz7MgsxJCHC1d0h8giXJ7kDwJ29Y+Hvo8DADuGu7BYRtXKNGsGKjY2tcdHnP/74A3q9vsmdaq3seVh7M5mHRVRfRrPjCJZcLsMt17ZBhEbtym4RUSvXqBGs6dOnIyUlBRaLBTfccAMA4Ndff8WcOXOcWsm9tekZU5mHtS+rEEIITm8Q1UN5hT0Hq0lLqxIROVWjAqw5c+bg4sWLmDFjBsxmMwDA19cXTz31FObOnevUDrYm3fRaKOQy5BWbkFNUjmgtE3SJ6mKfIuQKCETkThoVYMlkMrzyyiv4xz/+gUOHDsHPzw8JCQlQqzkk3xR+Pgp0itLgYHYR9mUWIlrrB6PZirv/ux2+KgVWTesHuZyjWkSXK78iyZ2IyB00aUw9MDAQffr0QWJiIoMrJ7kyD2vJr0ex50whtp64gGO5JS7sGZF7kgqNcoqQiNwIP5HczLWxlXlY+7MKceCcAf/dnCHtSz1d4KpuEbkte5K7L0ewiMiNMMByMz2q1iTcn2XAM1+lwWoTUFf9Zc4Ai6i68oqqHKwaFnUmInIVBlhuJiEyEH4qBUpMFdiXZYBGrcSLt3QDAOw5wwCL6EqX1iJkgEVE7oMBlptRKuToXrVsDgDMGdMZN3arLOqakV+KCyUmV3WNyC1dSnLnxxkRuQ9+IrmhpPhgAECvuGDc3TcOWn8VEiIDAQB7zhS6rmNEbqj8srUIiYjcRaPKNFDzeui6Dgj0UWJin1ipLENyfAiO5ZZg9+mLGNk1ysU9JHIf9rUImeRORO6EI1huKDTABzOHJyAqyFfa1is+BACwh4nuRA6kQqMcwSIiN8IAy0P0rgqw9mUZYK66a4qILk9y58cZEbkPfiJ5iHbhAQjxV8FcYcOBc1wMmsiOldyJyB0xwPIQMpkMyVWjWKyHRXQJpwiJyB0xwPIgyfGhABhgEV3OyBEsInJDDLA8iH0Ea/fpAgghXNwbItezWG2w2irfCxzBIiJ3wgDLg/SI0UIplyGv2ISsAqOru0PkcvbRKwBQM8mdiNwIP5E8iK9KgW5VVd43Hs1zcW+IXM+e4C6TQVqzk4jIHfATycMMTQgHADz/TTre3HAcNhunCqn1Ml2W4C6TyVzcGyKiSxhgeZgZ11+DO5JjYBPA//1yBNNW7kJBqdnV3SJyCSa4E5G7YoDlYXxVCrz6l55YdHsPqJVybDiSh/FvbkHmxTJXd42oxV1ah5AfZUTkXvip5KEm9onFmhmDEBvqh8yLRkx8dxsy8ktd3S2iFmU0cx1CInJPDLA8WFd9EP730EB0iAhAtqEcE9/dhmPni13dLaIWU17BIqNE5J4YYHk4ndYXnz00AJ11GuQVm3Dne9s5XUitBtchJCJ3xU8lLxAeqManD/RHZ50GF0vN+GbvWVd3iahFcB1CInJXbh1gzZs3DzKZzOGh0+mk/UIIzJs3D3q9Hn5+fhg2bBgOHDjgcAyTyYSZM2ciPDwcAQEBGD9+PLKyslr6VJpdSIAPbu4eDQA4dYEjWNQ6XEpyZ4BFRO7FrQMsAOjWrRuys7OlR1pamrRv0aJFWLx4MZYuXYpdu3ZBp9Nh5MiRKC6+lIeUkpKCNWvWYPXq1diyZQtKSkowduxYWK3Wml7Oo8WF+QMAzjDAolaCSe5E5K6Uru5AXZRKpcOolZ0QAkuWLMGzzz6LCRMmAABWrlyJqKgofPLJJ3jooYdgMBiwbNkyfPTRRxgxYgQAYNWqVYiNjcX69esxevToFj2X5tY2LAAAcOoC7yak1oFJ7kTkrtx+BOvYsWPQ6/Vo164dJk2ahJMnTwIAMjIykJOTg1GjRklt1Wo1hg4diq1btwIAUlNTYbFYHNro9XokJiZKbWpjMplQVFTk8HB38VUjWLnFJukveyJvJo1gMcmdiNyMW38q9evXDx9++CF++eUXvP/++8jJycHAgQNx4cIF5OTkAACioqIcnhMVFSXty8nJgY+PD0JCQmptU5sFCxZAq9VKj9jYWCeeWfMI9vdBkG/loOQZ3klIrUB5RVWSu4ojWETkXtw6wBozZgxuv/12dO/eHSNGjMAPP/wAoHIq0O7K9ceEEHWuSVafNnPnzoXBYJAemZmZjTyLltU2nNOE1HpIaxEywCIiN+PWAdaVAgIC0L17dxw7dkzKy7pyJCo3N1ca1dLpdDCbzSgoKKi1TW3UajWCgoIcHp4gLpSJ7tR62KcIWaaBiNyNRwVYJpMJhw4dQnR0NNq1awedTod169ZJ+81mMzZt2oSBAwcCAJKTk6FSqRzaZGdnIz09XWrjbex5WKcvcgSLvJ99ilDNtQiJyM249V2Es2fPxrhx4xAXF4fc3Fy8/PLLKCoqwtSpUyGTyZCSkoL58+cjISEBCQkJmD9/Pvz9/TF58mQAgFarxbRp0zBr1iyEhYUhNDQUs2fPlqYcvVF81Z2EpzmCRa3ApSR3jmARkXtx6wArKysLd911F/Lz8xEREYH+/ftj+/btiI+PBwDMmTMHRqMRM2bMQEFBAfr164e1a9dCo9FIx3j99dehVCoxceJEGI1GDB8+HCtWrIBC4Z0fyPFVU4QMsKg1sJdpYJI7EbkbmRBCuLoTnqCoqAharRYGg8Gt87FyDOXov+BXKOQyHH7pRqgUnDoh7zXx3W3YmXERb07uhZt7RLu6O0Tkhlz1/c1vXy8TqVHDVyWH1SZwtsDo6u4QNatLaxHyo4yI3As/lbyMXC6T7iQ8zVpY5OW4FiERuSsGWF4oLrQy0f0Ma2GRlzNWBVhq5mARkZthgOWF2oYx0Z1ah3ILk9yJyD0xwPJC9lpYpxhgkZcr51qEROSm+KnkheKqamGdYbFR8nLSWoSs5E5EboYBlheyTxGeuVgGm41VOMg7VVhtsFgrf7+Z5E5E7oYBlhfSB/tBIZeh3GJDbrHJ1d0hahb2IqMAK7kTkfthgOWFVAo52gT7AQBO805C8lL2Eg0A1yIkIvfDTyUvdWnRZya6k3eyr0OoVsohl8tc3BsiIkcMsLyUFGBxBIu8lIkJ7kTkxhhgeam2VXcSshYWeSt7DSwmuBORO2KA5aXsy+Wc4RQheSmjhSNYROS+GGB5qbbhlSNYGfmlEIKlGsj72JPcmeBORO6In0xeKi7UH3IZUFxegfwSs6u7Q+R0RqmKO0ewiMj9MMDyUr4qBWJCKqcJT+SVuLg3RM5nr4PFdQiJyB0xwPJiHSIqpwlP5vFOQvI+XIeQiNwZP5m8WPuIQAAcwSLvxHUIicidMcDyYh2qAqyTDLDIC9mT3FmmgYjcEQMsL9a+aorwBKcIyQsZzZU5WGrmYBGRG2KA5cXsI1hZBWUO67YReQNpipABFhG5IQZYXiw80AcaXyVsghXdyfsYmeRORG6Mn0xeTCaTSaNYTHQnb2PiCBYRuTEGWF6Oie7kraS1CBlgEZEbYoDl5ZjoTt6KU4RE5M74yeTlOIJF3sqe5M4RLCJyRwywvFyHy0awuOgzeROuRUhE7owBlpeLC/OHQi5DiakCecUmV3eHyGm4FiERuTMGWF5OrVQgNsQPAHCc04TkRco5gkVEbowBVitwqVQDE93Je1zKweLHGBG5H34ytQL2OwmZ6E7eRFqLkCNYROSGGGC1AhzBIm/EJHcicmcMsFqB9izVQF5ISnL3YYBFRO7HowKsBQsWQCaTISUlRdomhMC8efOg1+vh5+eHYcOG4cCBAw7PM5lMmDlzJsLDwxEQEIDx48cjKyurhXvvOvZSDWcLjVz0mbyC1SZgrgqwfJUe9TFGRK2Ex3wy7dq1C++99x569OjhsH3RokVYvHgxli5dil27dkGn02HkyJEoLi6W2qSkpGDNmjVYvXo1tmzZgpKSEowdOxZWa+sINkIDfKD1U0EIICOf04Tk+ezrEAIcwSIi9+QRAVZJSQnuvvtuvP/++wgJCZG2CyGwZMkSPPvss5gwYQISExOxcuVKlJWV4ZNPPgEAGAwGLFu2DK+99hpGjBiBpKQkrFq1CmlpaVi/fr2rTqlFVS76XDmKdTyX04Tk+ezrEAKAr5IBFhG5H48IsB599FHcfPPNGDFihMP2jIwM5OTkYNSoUdI2tVqNoUOHYuvWrQCA1NRUWCwWhzZ6vR6JiYlSm5qYTCYUFRU5PDxZQqQGAHDsfHEdLYncn7FqqttHIYdcLnNxb4iIqlO6ugN1Wb16Nfbs2YNdu3ZV25eTkwMAiIqKctgeFRWF06dPS218fHwcRr7sbezPr8mCBQvwwgsvNLX7bqOTrjLAOpzDAIs836USDR7xNyIRtUJu/emUmZmJxx9/HKtWrYKvr2+t7WQyx79ghRDVtl2prjZz586FwWCQHpmZmQ3rvJvpXBVgHeEIFnkBlmggInfn1gFWamoqcnNzkZycDKVSCaVSiU2bNuE///kPlEqlNHJ15UhUbm6utE+n08FsNqOgoKDWNjVRq9UICgpyeHgy+wjWmYtlKDNXuLg3RE1jT3JngjsRuSu3DrCGDx+OtLQ07N27V3r07t0bd999N/bu3Yv27dtDp9Nh3bp10nPMZjM2bdqEgQMHAgCSk5OhUqkc2mRnZyM9PV1q0xqEBaoRHqiGEMDR80x0J89mNNtLNDDAIiL35NY5WBqNBomJiQ7bAgICEBYWJm1PSUnB/PnzkZCQgISEBMyfPx/+/v6YPHkyAECr1WLatGmYNWsWwsLCEBoaitmzZ6N79+7Vkua9XWedBluOm3AkpwjXxga7ujtEjcYcLCJyd24dYNXHnDlzYDQaMWPGDBQUFKBfv35Yu3YtNBqN1Ob111+HUqnExIkTYTQaMXz4cKxYsQIKRev667eTToMtx/OrJbp/visT3+w7i7cmJ0Prr3JR74jqlltUjk93ZuKTnZU3sXCKkIjclUwIIVzdCU9QVFQErVYLg8HgsflYn+/OxJwv9mNghzB88kB/AIDNJtB3/q/ILzFh0R09MLF3rIt7SVSz938/iVd+PowKW+VHVnigD16+tTtuTNS5uGdE5M5c9f3t8SNYVH/SnYSXjWAdyilCfokJAHCSi0GTG/tsdyYqbAI9Y4Nx/6C2uDFRBzVzsIjITTHAakUSIjWQyYALpWbkFZsQoVHj96P50n4uBk3urKDUDAB45fbu6KzzzFFkImo9mCHaivj5KNA2rHLJHPso1u9H86T9J7lOIbkpm02goKwywAr193Fxb4iI6sYAq5XpFGWv6F6EUlMFdp++KO07faEUFVZbbU8lcpmicguqUq8QzACLiDwAA6xWptNleVjbTlyAxSoQE+IHtVIOi1Ugq8Do4h4SVXexanpQo1bCR8mPLSJyf/ykamUuXzJnU9X04LBOEWgXXjl1eDKfeVjkfgrKLACAkACOXhGRZ2CA1crYR7COni/GxqO5AIChHSPRPqIqwOKdhOSG7AnuIazTRkQeggFWKxMfFgBflRzlFhsyLxqhlMswoEMY2ocHAmCiO7mni1UJ7hzBIiJPwQCrlVHIZUiIvFTlPjk+BIFq5WUjWJwiJPdjH8HiHYRE5CkYYLVC9mlCABjaKQIA0D6iagSLU4TkhpiDRUSehgFWK9T5sgDrugR7gFU5gpVbbEJxucUl/SKqDXOwiMjTMMBqhbrqK6tgR2jU6Bpd+e8gXxXCA9UAgAzmYZGbYQ4WEXkaLpXTCg1oH4ZnbuqM7m2CIZfLpO3twwOQX2LCybxS9IgJdl0Hia7AHCwi8jQMsFohmUyGB6/rUG17+4gA7Dx1kYnu5HYKOIJFRB6GU4Qkke4k5BQhuRkpyZ0jWETkIRhgkUSqhcU7CcmNWG0ChdIIFpPcicgzMMAiiX0EKyO/FDb7yrpELlZkvLTQM0ewiMhTMMAiSWyoP5RyGYwWK3KKyl3dHSIAl/KvNL5KqBT8yCIiz8BPK5KoFHLEhfkD4DQhuQ8pwZ2jV0TkQRhgkYNLaxLyTkJyDxdLWcWdiDwPAyxy0EFak5AjWOQeLtXAYoI7EXkOBljkwJ7ovvv0RZgrbC7uDRFrYBGRZ2KARQ4GdgiHWilH+tkiPL76T1RYGWSRa11kDhYReSAGWOQgNtQf793TGz4KOX5Kz8ETn++DlSUbyIWkKUKOYBGRB2GARdUM7RiBt+7uBaVchm/3ncNTX+6HEAyyyDWkJHeOYBGRB2GARTUa0TUKb9yVBIVchi9Ss7Dmz7Ou7hK1UvYq7qGs4k5EHoQBFtVqTPdoPDGyIwDgtbVHYaqw1trWZhPYfCwPZeaKluoetRL2HKxgjmARkQdhgEVXdf+gdogKUuNsoRGrtp+ptd2Xe7IwZdlOTH5/x1UDMaKGYg4WEXkiBlh0VX4+Cvx9ROUo1tLfjqGo3FJju98O5wIA9mYW4sXvDrZY/8i7WW0ChUbmYBGR52GARXW6IzkGHSICUFBmwXubTlbbb7MJbD95Qfr54x1n8L/dmS3ZRfJSRUYL7PdXBLPQKBF5EAZYVCelQo45N3YGAPx3y0nkXrEQ9OGcYhSUWRDgo8DMG64BADz7dTrSzxpavK/kXez5V0Fc6JmIPAw/saheRnWNQq+4YJRbbFi64bjDvq0n8gEAfdqF4u8jOmJ450iYK2x4eFUq87GoSez5V6ziTkSehgEW1YtMJsOsUZ0AAF/tOQuj+VLgtO1E5fTgwA5hkMtlWHzntdD6qZBVYMSh7GKX9Je8w8VSVnEnIs/k1gHW22+/jR49eiAoKAhBQUEYMGAAfvrpJ2m/EALz5s2DXq+Hn58fhg0bhgMHDjgcw2QyYebMmQgPD0dAQADGjx+PrKyslj4VrzCgfRhiQ/1QYqrAzweyAQAVVht2ZFwEULnMDgBo/VTopg8CABw9zwCLGq+wrDLBnXcQEpGncesAKyYmBgsXLsTu3buxe/du3HDDDbjlllukIGrRokVYvHgxli5dil27dkGn02HkyJEoLr70pZ6SkoI1a9Zg9erV2LJlC0pKSjB27FhYrZy6aii5XIY7esUCAP63uzJITTtrQImpAlo/FbpEB0ltO0ZpAADHGGBRE3AdQiLyVG4dYI0bNw433XQTOnbsiI4dO+Jf//oXAgMDsX37dgghsGTJEjz77LOYMGECEhMTsXLlSpSVleGTTz4BABgMBixbtgyvvfYaRowYgaSkJKxatQppaWlYv369i8/OM92e3AYyGbD1xAVkFZRha9X0YP/2oVDIZVK7hKhAAMDR8yUu6Sd5BykHi3cQEpGHcesA63JWqxWrV69GaWkpBgwYgIyMDOTk5GDUqFFSG7VajaFDh2Lr1q0AgNTUVFgsFoc2er0eiYmJUhtqmJgQfwzsEAYA+DL17GX5V+EO7TiCRc5QUMYkdyLyTEpXd6AuaWlpGDBgAMrLyxEYGIg1a9aga9euUoAUFRXl0D4qKgqnT58GAOTk5MDHxwchISHV2uTk5Fz1dU0mE0wmk/RzUVGRM07HK/wlORZ/HL+Az3dnIr+k8hrZgy67jpGVAdY5QzmKyy3Q+HIEghrOvtAzc7CIyNO4/QhWp06dsHfvXmzfvh2PPPIIpk6dioMHL1UKl8lkDu2FENW2Xak+bRYsWACtVis9YmNjG38SXmZ0Nx00aiXOFhphqrAhPFCNayIDHdpo/VWI1KgBAMdyOU3YUg5lF8FgrLnavicqYA4WEXkotw+wfHx8cM0116B3795YsGABevbsiX//+9/Q6XQAUG0kKjc3VxrV0ul0MJvNKCgoqLVNbebOnQuDwSA9MjNZmdzOz0eBsT310s8DOoTVGLBymrBlpZ4uwJh/b8bTX+53dVechjlYROSp3D7AupIQAiaTCe3atYNOp8O6deukfWazGZs2bcLAgQMBAMnJyVCpVA5tsrOzkZ6eLrWpjVqtlspD2B90yR3JMdK/r5wetGOie8vafCwPALDrVEEdLT2HfQSLU4RE5GncOgfrmWeewZgxYxAbG4vi4mKsXr0aGzduxM8//wyZTIaUlBTMnz8fCQkJSEhIwPz58+Hv74/JkycDALRaLaZNm4ZZs2YhLCwMoaGhmD17Nrp3744RI0a4+Ow8W6+4YCTFBePY+RIM6xRRYxv7CBZrYbWMfZmFAID8EhOKyi0I8vC8N4eFnhlgEZGHcesA6/z585gyZQqys7Oh1WrRo0cP/Pzzzxg5ciQAYM6cOTAajZgxYwYKCgrQr18/rF27FhqNRjrG66+/DqVSiYkTJ8JoNGL48OFYsWIFFAqFq07LK8hkMnw8vR/KLbZaRxc6Vo1gHeMIVrMTQmBf1qW1HzPyStEzNth1HXICw+ULPft5drBIRK2PTAj7RxhdTVFREbRaLQwGA6cL68lgtKDnC2sBAPueHwUtvySbTebFMgxZtEH6ecmd1+LWpDZOOe6/fjiEx4YnoKu+ZX/vj+eWYMTiTQjyVWL/vNEt+tpE5D1c9f3tcTlY5Dm0firognwBVH5ZUvPZWzU9aHcyzznXe9mWDPx8IAdvbjxed2MnyzGUA2D+FRF5JreeIiTPlxAViJyichw7X4zk+JC6n3CZ80Xl+N/uTBSXV6DcYkW5xYYesVpM6hPnUDX+cjabwP6zBqRlFaLYVIFSUwXKzFZcGxuMMYnR8FE27G+KonILNh/Nx8YjuQjyU+HZm7pAXstru9L+rEIAgI9CDrPVhpP5pU457oFzBofjt5S8YhOeWZMGAC0+ckZE5AwMsKhZJURqsPlYfoPvJBRCYOYnf2LnqYsO2z/bnYnPdmVi4YQe0hdviakC205cwG+Hz2P9oVzkFZtqOiQWBB3GPQPjcUevGMhkMpRbrDBarCgoNeNiqRkX7P8tMeFCqRnZhnLsyyxEhe3SLPqNiTr0aRvawKvQ/PZlVgZCw7tE4qf0HJzMa3qAZbMJHDhXWWA386IRF0pMCAtUN/m4dSkzV2Dayl04c7EMcaH+ePGWxGZ/TSIiZ2OARc1KSnTPbdidhF/vPYudpy7CT6XA3f3i4O+jQIVN4KPtp7E/y4BxS7fglmv1OHOhDHuvCIIC1Ur0bReKsAAfBKiVkMmA7/dnI6eoHIt+PoJFPx9pUF86RASgwiZw+kIZdp8qcLsAq8JqQ9rZygDrtqQ2+Ck9Bxn5pfUqqHs1GRdKUWa+tCj6/rMGXN8pssn9vZoKqw2PfrwH+7MMCPFXYeX9fRHeAkEdEZGzMcCiZpXQiFINReUW/OuHwwCAmcOvwYxh10j77h3YFs9/ewA/pefgqz1npe3xYf64LiECI7tGoV/7UKiVjneJPj2mM77fl41lWzJwMLtyVMZPpYCvSo5gfx+EBfggNMAHYYGV/w0NUCM80AdJsSGIC/PHfzefxMs/HMLuUxcBdGjs5WiUCyUm7D9rwLCOETUGTMdyS2C0WBGoVmJopwgo5TIYLVbkFJUjWuvX6NdNP2tw+Hl/ZvMGWAWlZjz91X5sOJIHX5Ucy+7tg3bhAc32ekREzYkBFjUre7HR80UmGIyWet1J+Pq6o8gvMaF9RACmD27vsC8yyBdv/zUZ6w+ex+/H8tA1OgiDrglHbKj/VY+pVipwe3IMbk+OganCCh+FvEGjO/b8sdQzBbDZRIvmYf3z2wP4YX82XrylG+4Z0Lbafnv9q+5ttFArFYgL9cfJ/FJk5JU2KcCyTw/6qRQwWqzNmof12+HzeOrLNOQVm6CUy/CfSUnoFdewnD0iInfCuwipWQX5qhCtrbyT8Nj5YpSaKvD9/nP4MjUL5wqN1dofyi7Cyq2nAAAvjO9Wa1L6iK5RePGWREzqG1dncHUltVLR4KmzbnotfFVyFJZZcDK/Ze+I3JlRmYe29LfjKLdYq+2317+y171qH1E56nOiiYnu9hGs8VXLIu3LMsDZVV1O5JXgyf/tw/0rdiOv2IQOEQH4asZAjOqmc+rrEBG1NI5gUbNLiNIg21CO575Ox6kLpSi32KR97cMD0LddKGQyGUpNFdiXVQibAG7qrsOQhJorxLuCj1KOnjHB2JFxEbtOFeCaSE3dT3KC3KJyKWk/t9iET3eewX2D2jm0sY9gXRurBQBpWi2jCYnuQggpwJrYJwZf7slCfokJ2YZy6IMbPyoGVOZZ/XLgPD7ecRpbT1yQtk8b3A5Pju4EXxWLABOR52OARc2uU1Qgfj+ah8M5lXlYbcP8ofX3QVpWIU7ml1YrKeDvo8BzN3d1RVevqk/bUOzIuIjdpwpwV9+4FnnN9KoyCTIZIATw9sYTuKtvnBSEGM1WHKnKb7s0glU5LduUkbasAiOKyivgo5Cje5tgdIzS4GB2EfZnFTY5wHr5h0NYUTVKKZcBN3SOxIPXdUDfdu518wARUVMwwKJm99f+8TieW4KOURqM66lHN30QZDIZDEYLtp+8gLQsA1QKOQLUCgSqlegVH9LkL/HmkNy2Mido9+mLdbR0ngNnK/Ogbuoejb1nCnG20OgwinXgnAFWm0CkRi0VdZVGsJowRWi/K7GTTlM5eherxcHsIuzNNODGxGgAwIYjuXj5+4O4f3A73N0vvt7H3nAkFwAwpX88Hh7WAW3c8P81EVFTMcCiZhcfFoDl9/Wttl3rp8LobjqM9pB8m15xIZDJgNMXypBbXI5IjW+zv6Z9BCspNhiDOoTjmTVpDqNY9gruPWODpbwyew5W5sUymCqs1e6orNfrVgVYiW0qa431iAnGpzszpUR3c4UNz61Jx9lCI55dk44zF8vw1OjOdSb/5xWbcPpCGWQyYPboTlw+iYi8FpPciepJ66dCp6qyE6mnClrkNdOrRrAS22hxR3IM2gT7IbfYhEdWpWLGx6n47+YMAMC1ly3sHBGoRqBaCZuoDLIa9bpVdxB201fmdfWIqfxvWpYBNpvAF6lZOFtohF/VVOW7m07i8c/2wlRRPQn/cnvOVF63jpEaBldE5NUYYBE1gL1cw+7TzR9gFZSacbbqTsuu+iD4KOV49PrKmmAbjuThx7Qc5BRVrtc36Jpw6XkymezSnYSNSHQXQuCANIJVGVh1jNLAVyVHsakCR3OL8eaGyrUJnxzdCa/+pSeUchm+23cO01fuhs1W+52Ge6quW68GLptERORpOEVI1AB92obi4x1nWiTAstehig/zR5Bv5WjPxN4xKCgzo8RUgSiNGlFBvkiICqx2V2O78ADszzI0Kg8rp6gcF0rNUMhl6KyrPK5KIUc3vRappwvwz28O4GyhEZEaNSb3q5yq1AX54oEPd2PzsXz8mJ6NsT30NR7bft16M8AiIi/HAIuoAewjWAfOGmA0W+Hn03wlBez5V4lV03QAoFRcGsW6mvbhVXcS5jX8TkL7tGRCZKBDyYQeMZUBlr0u14xhHaT9gxPC8fDQDnh9/VH83y9HMLqbDiqF4wC5qcKKtKqaXQ1d+JuIyNNwipCoAWJC/BAVpEaFTUgJ5s3FnmjerSrRvCHaRTT+TkLpdS8L7ACgZ0yw9G9dkC8mXVGqYvqQdggP9MHpC2VYvfNMDcctgtlqQ1iAD+LDGlYclojI03AEi6gBZDIZercNxQ/7szHz0z/h5yOHpUIg2F+FpLgQJMeHoLNOgxN5JdibWYi9mYXIKzbBZhOwCgFflQKv/aUnetdjwWj7FGHiFYFOfbSvKtVwMq9y0eeD2UX47VAugv1V6KrXoku0Bv4+Nb/9D5xzvIPQzp7oDgCPXt+hWkHQALUSjw9PwD++OYB//3oME3rFIEB96TUuz79qyiLURESegAEWUQPd0CkSP+zPRn6JSdqWU1SOwznF+LSGkZsrLfzpML54ZOBV2xSXW6TRp276RoxgVQVYF0rNuHHJZqkYqZ1MBui1ftD6qaD1UyFArUB+iRnZBiPOF1WeV/c2joFd27AADO0YAaPZiol9Ymt83Ul94/DfLRk4faEM/92cgcdHJEj77PXDOD1IRK0BAyyiBrotqQ2uiQyE0WKFj1IOH4Uc5wqNSD1dgN2nC3D0fDHaRwQiKTYYSXHBiA31h0ImQ7nFiinLdmL36QKkni64aqBxKLsyINJrfREWqG5wHwPUSuiCfJFTVI4j54vho5BjWKcImK02HDhXhLxiE84WGqW7FK+UEBko3UFoJ5fLsPL+6vXMLqdSyDF7VCfM/PRPvPf7CdzdPw7hgWoIIZB6uhAAE9yJqHVggEXUQHK5TFqWxi6xjbZeCxTfmqTH57uz8N7vJ/DulN61truUf9Xw6UG7WaM64qf0HNzQORLjeuih9b9Udyq3uByZF40oKregyGhBqcmK0AAVorV+0Af7ISzAp86iobW5uXs03vv9JNLOGvDMV2l4d0oyMi8akV9igkohqxa4ERF5IwZYRC3oweva4/PdWVh78DxO5pVI6wZeqaY7CBvqL71j8ZfeNU/lRWp8m60SvVwuw79uS8Qdb2/D2oPnsWxLBsICfQBUBqJczJmIWgPeRUjUgq6J1GB450gIAfx3S0at7exrEDYm/8od9IgJxj/GdgEALPjpMD7adhoAkBzH6UEiah04gkXUwh68rj1+PZyLL1Kz8MTIjvBTKfBDWja2n7wAiMoRoONV9as8eTrtr/3jsetUAb7ddw57zhQCAHq3ZYBFRK0DAyyiFta3XSh6xgZjX2Yhpn6wExn5pSgzV1/DL1rri6ighie4uwuZTIYFE7rjwDmDtGRPL45gEVErwQCLqIXJZDI8dF17zPh4j1Trqm2YP8b11CNQrYRVCAgBDO0Y4fH1ogLUSrz912RMfHcbOkQEIjKoefK+iIjcjUwIUfvKrCQpKiqCVquFwWBAUJBn5sWQ+7DaBOb/eAhl5gpM6BWD3l5efLPUVAFflQKKRt6ZSETUWK76/uYIFpELKOQy/GNsV1d3o8VcXtGdiKg14F2ERERERE7GAIuIiIjIyRhgERERETkZAywiIiIiJ2OARURERORkDLCIiIiInIwBFhEREZGTuXWAtWDBAvTp0wcajQaRkZG49dZbceTIEYc2QgjMmzcPer0efn5+GDZsGA4cOODQxmQyYebMmQgPD0dAQADGjx+PrKysljwVIiIiakXcOsDatGkTHn30UWzfvh3r1q1DRUUFRo0ahdLSUqnNokWLsHjxYixduhS7du2CTqfDyJEjUVxcLLVJSUnBmjVrsHr1amzZsgUlJSUYO3YsrNbq678RERERNZVHLZWTl5eHyMhIbNq0Cddddx2EENDr9UhJScFTTz0FoHK0KioqCq+88goeeughGAwGRERE4KOPPsKdd94JADh37hxiY2Px448/YvTo0fV6bS6VQ0RE5Hlc9f3t1iNYVzIYDACA0NBQAEBGRgZycnIwatQoqY1arcbQoUOxdetWAEBqaiosFotDG71ej8TERKlNTUwmE4qKihweRERERPXhMQGWEAJPPPEEBg8ejMTERABATk4OACAqKsqhbVRUlLQvJycHPj4+CAkJqbVNTRYsWACtVis9YmNjnXk6RERE5MU8JsD629/+hv379+PTTz+ttk8mkzn8LISotu1KdbWZO3cuDAaD9MjMzGxcx4mIiKjV8YgAa+bMmfj222+xYcMGxMTESNt1Oh0AVBuJys3NlUa1dDodzGYzCgoKam1TE7VajaCgIIcHERERUX0oXd2BqxFCYObMmVizZg02btyIdu3aOexv164ddDod1q1bh6SkJACA2WzGpk2b8MorrwAAkpOToVKpsG7dOkycOBEAkJ2djfT0dCxatKhBfQHAXCwiIiIPYv/ebvF7+oQbe+SRR4RWqxUbN24U2dnZ0qOsrExqs3DhQqHVasVXX30l0tLSxF133SWio6NFUVGR1Obhhx8WMTExYv369WLPnj3ihhtuED179hQVFRX17suJEycEAD744IMPPvjgwwMfJ06ccGqMUhe3LtNQW47U8uXLce+99wIAhBB44YUX8O6776KgoAD9+vXDm2++KSXCA0B5eTmefPJJfPLJJzAajRg+fDjeeuutBiWuFxYWIiQkBGfOnIFWq23SebVWffr0wa5du1zdDa/Aa+kcRUVFiI2NRWZmJtMAnIC/l87F6+kcBoMBcXFxKCgoQHBwcIu9rlsHWO6EdbCarmvXrjh48KCru+EVeC2dg+9r5+LvpXPxejoH62CR13v00Udd3QWvwWtJ7oi/l87F6+nZOIJVT/xLl8j78H1N5P04guXm1Go1nn/+eajVald3hYichO9rIu/nqvc5R7CIiIiInIwjWEREREROxgCLarVgwQL06dMHGo0GkZGRuPXWW3HkyBGHNkIIzJs3D3q9Hn5+fhg2bBgOHDhQ57HT0tIwdOhQ+Pn5oU2bNnjxxRerFYHbtGkTkpOT4evri/bt2+Odd95x6vm1tLqup8ViwVNPPYXu3bsjICAAer0e99xzD86dO1fnsVvj9STneuutt9CuXTv4+voiOTkZmzdvBsDfy8ao7Vpe6aGHHoJMJsOSJUvqPGZrvZYerUWrbpFHGT16tFi+fLlIT08Xe/fuFTfffLOIi4sTJSUlUpuFCxcKjUYjvvzyS5GWlibuvPPOaoVer2QwGERUVJSYNGmSSEtLE19++aXQaDTi1VdfldqcPHlS+Pv7i8cff1wcPHhQvP/++0KlUokvvviiWc+5OdV1PQsLC8WIESPEZ599Jg4fPiy2bdsm+vXrJ5KTk6963NZ6Pcl5Vq9eLVQqlXj//ffFwYMHxeOPPy4CAgLE6dOn+XvZQFe7lpdbs2aN6Nmzp9Dr9eL111+/6jFb67X0dAywqN5yc3MFALFp0yYhhBA2m03odDqxcOFCqU15ebnQarXinXfeqfU4b731ltBqtaK8vFzatmDBAqHX64XNZhNCCDFnzhzRuXNnh+c99NBDon///s48JZe68nrWZOfOnQJAtQ/ny/F6UlP17dtXPPzwww7bOnfuLJ5++uka2/P3snb1uZZZWVmiTZs2Ij09XcTHx9cZYLXWa+npOEVI9WYwGAAAoaGhAICMjAzk5ORg1KhRUhu1Wo2hQ4di69at0rZ7770Xw4YNk37etm0bhg4d6nBHx+jRo3Hu3DmcOnVKanP5ce1tdu/eDYvF4uxTc4krr2dtbWQymUP1YV7PS642FSM4fV0vZrMZqamp1X4/Ro0a5fA+vhx/L2tWn2tps9kwZcoUPPnkk+jWrVuNx+G1dFTXlOuhQ4cwfvx4aLVaaDQa9O/fH2fOnLnqMVvifc4Ai+pFCIEnnngCgwcPlpYhysnJAQBERUU5tI2KipL2AUB0dDTi4uKkn3Nycmp8zuXHrK1NRUUF8vPznXRWrlPT9bxSeXk5nn76aUyePNmhdguvZ6XPPvsMKSkpePbZZ/Hnn39iyJAhGDNmjPTBumjRIixevBhLly7Frl27oNPpMHLkSBQXF9d6zKKiIowcORJ6vR67du3CG2+8gVdffRWLFy+W2mRkZOCmm27CkCFD8Oeff+KZZ57BY489hi+//LLZz7k55Ofnw2q11vk+tuPvZe3qcy1feeUVKJVKPPbYY7Ueh9fykrre5ydOnMDgwYPRuXNnbNy4Efv27cM//vEP+Pr61nrMlnqfKxt/2tSa/O1vf8P+/fuxZcuWavuuXDNSCOGwbcGCBfV6zpXb69PGU13tegKVicWTJk2CzWbDW2+95bCP17PS4sWLMW3aNEyfPh0AsGTJEvzyyy94++23MX/+fCxZsgTPPvssJkyYAABYuXIloqKi8Mknn+Chhx6q8Zgff/wxysvLsWLFCqjVaiQmJuLo0aNYvHgxnnjiCchkMrzzzjuIi4uTEpO7dOmC3bt349VXX8Xtt9/eIufeHOp6HwP8vayv2q5lamoq/v3vf2PPnj1XPT9ey0uu9j5fsGABnn32Wdx0001YtGiR9Jz27dtf9Zgt9T7nCBbVaebMmfj222+xYcMGxMTESNt1Oh0AVPsrNzc3t9pfUpfT6XQ1Pge49FdZbW2USiXCwsIafzJuoLbraWexWDBx4kRkZGRg3bp1dVYebo3Xs66pGE5f1194eDgUCkWd72P+Xtatrmu5efNm5ObmIi4uDkqlEkqlEqdPn8asWbPQtm3bWo/bGq8lUPf73Gaz4YcffkDHjh0xevRoREZGol+/fvj6668d2rvqfc4Ai2olhMDf/vY3fPXVV/jtt9/Qrl07h/3t2rWDTqfDunXrpG1msxmbNm3CwIEDaz3ugAED8Pvvv8NsNkvb1q5dC71eL33IDBgwwOG49ja9e/eGSqVywtm1vLquJ3DpS+zYsWNYv359vT4YW+P1rGsqhtPX9efj44Pk5ORqvx/r1q2T3sf8vayfuq7llClTsH//fuzdu1d66PV6PPnkk/jll19qPW5rvJZA3e/z3NxclJSUYOHChbjxxhuxdu1a3HbbbZgwYQI2bdoktXfZ+7yls+rJczzyyCNCq9WKjRs3iuzsbOlRVlYmtVm4cKHQarXiq6++EmlpaeKuu+6qVqbh6aefFlOmTJF+LiwsFFFRUeKuu+4SaWlp4quvvhJBQUE13nL897//XRw8eFAsW7bM4285rut6WiwWMX78eBETEyP27t3r0MZkMknH4fUU4uzZswKA2Lp1q8P2l19+WXTq1En88ccfAoA4d+6cw/7p06eL0aNH13rckSNHigcffNBhW1ZWlgAgtm3bJoQQIiEhQcyfP9+hzZYtWwQAkZ2d3ZTTchl7aYFly5aJgwcPipSUFBEQECBOnTrF38sGutq1rElNdxHyWlaq631u33/XXXc57B83bpyYNGlSrcdtqfc5AyyqFYAaH8uXL5fa2Gw28fzzzwudTifUarW47rrrRFpamsNxpk6dKoYOHeqwbf/+/WLIkCFCrVYLnU4n5s2bJ91ubLdx40aRlJQkfHx8RNu2bcXbb7/dXKfaIuq6nhkZGbW22bBhg3QcXk8hTCaTUCgU4quvvnLY/thjj4nrrrtOnDhxQgAQe/bscdg/fvx4cc8999R63ClTpojx48c7bNuzZ48AIE6ePCmEEGLIkCHisccec2jz1VdfCaVSKcxmc1NOy6XefPNNER8fL3x8fESvXr2k8iH8vWy42q5lTWoKsHgtK9X1PjeZTEKpVIqXXnrJYf+cOXPEwIEDaz1uS73PGWARkUfq27eveOSRRxy2denSRTz99NNSjbZXXnlF2mcymepVoy04ONhhZGbhwoXV6g116dLF4XkPP/ww6w0RNYOrvc+FEGLAgAHir3/9q8P+W2+9tdqo1uVa6n3OAIuIPFJdUzGcvibyfHW9z7/66iuhUqnEe++9J44dOybeeOMNoVAoxObNm6VjuOp9zgCLiDzW1aZiOH1N5B3qmnJdtmyZuOaaa4Svr6/o2bOn+Prrrx32u+p9LhPiitKlRERERNQkLNNARERE5GQMsIiIiIicjAEWERERkZMxwCIiIiJyMgZYRERERE7GAIuIPMbvv/+OcePGQa/XQyaTVVvU9auvvsLo0aMRHh4OmUyGvXv31uu4GzduhEwmQ2FhodP7TEStEwMsIvIYpaWl6NmzJ5YuXVrr/kGDBmHhwoUt3DMiIkdKV3eAiKi+xowZgzFjxtS6f8qUKQCAU6dONel15s2bh6+//tphBGzJkiVYsmSJdOx7770XhYWFGDx4MF577TWYzWZMmjQJS5YsgUqlatLrE5HnY4BFRNRIGzZsQHR0NDZs2IDjx4/jzjvvxLXXXosHHnjA1V0jIhfjFCERUSOFhIRg6dKl6Ny5M8aOHYubb74Zv/76q6u7RURugAEWEbUaDz/8MAIDA6VHU3Xr1g0KhUL6OTo6Grm5uU0+LhF5Pk4RElGr8eKLL2L27Nl1tpPL5bhymVaLxVKt3ZW5VjKZDDabrWmdJCKvwACLiFqNyMhIREZG1tkuIiICOTk5EEJAJpMBQL1LPhARAQywiMiDlJSU4Pjx49LPGRkZ2Lt3L0JDQxEXF4eLFy/izJkzOHfuHADgyJEjAACdTgedTlfv1xk2bBjy8vKwaNEi3HHHHfj555/x008/ISgoyLknREReizlYROQxdu/ejaSkJCQlJQEAnnjiCSQlJeGf//wnAODbb79FUlISbr75ZgDApEmTkJSUhHfeeeeqx7VP6ymVlX9zdunSBW+99RbefPNN9OzZEzt37qzX1CIRkZ1MXJloQETUyqxevRrTp09HSUmJq7tCRF6CU4RE1GqZTCacOHECS5cuxYgRI1zdHSLyIpwiJKJW66effkK/fv0QEBCA//znP67uDhF5EU4REhERETkZR7CIiIiInIwBFhEREZGTMcAiIiIicjIGWEREREROxgCLiFxu3rx5uPbaa13djRoJIfDggw8iNDQUMpmMS+YQUb0wwCKiZiWTya76uPfeezF79mz8+uuvru5qjX7++WesWLEC33//PbKzs5GYmFitzcaNG6Xzkcvl0Gq1SEpKwpw5c5Cdne2CXhORq7HQKBE1q8sDjM8++wz//Oc/pTUCAcDPzw+BgYEIDAx0RffqdOLECURHR2PgwIF1tj1y5AiCgoJQVFSEPXv2YNGiRVi2bBk2btyI7t27t0BvichdcASLiJqVfaFlnU4HrVYLmUxWbduVU4T33nsvbr31VsyfPx9RUVEIDg7GCy+8gIqKCjz55JMIDQ1FTEwMPvjgA4fXOnv2LO68806EhIQgLCwMt9xyC06dOnXV/m3atAl9+/aFWq1GdHQ0nn76aVRUVEj9mDlzJs6cOQOZTIa2bdte9ViRkZHQ6XTo2LEjJk2ahD/++AMRERF45JFHpDa7du3CyJEjER4eDq1Wi6FDh2LPnj3S/vvvvx9jx451OG5FRQV0Ol218yUi98UAi4jc0m+//YZz587h999/x+LFizFv3jyMHTsWISEh2LFjBx5++GE8/PDDyMzMBACUlZXh+uuvR2BgIH7//Xds2bIFgYGBuPHGG2E2m2t8jbNnz+Kmm25Cnz59sG/fPrz99ttYtmwZXn75ZQDAv//9b7z44ouIiYlBdnY2du3a1aBz8PPzw8MPP4w//vgDubm5AIDi4mJMnToVmzdvxvbt25GQkICbbroJxcXFAIDp06fj559/dhj5+/HHH1FSUoKJEyc2+DoSkYsIIqIWsnz5cqHVaqttf/7550XPnj2ln6dOnSri4+OF1WqVtnXq1EkMGTJE+rmiokIEBASITz/9VAghxLJly0SnTp2EzWaT2phMJuHn5yd++eWXGvvzzDPPVHvOm2++KQIDA6XXfv3110V8fPxVz2vDhg0CgCgoKKi276effhIAxI4dO2p8bkVFhdBoNOK7776TtnXt2lW88sor0s+33nqruPfee6/aByJyLxzBIiK31K1bN8jllz6ioqKiHPKYFAoFwsLCpJGh1NRUHD9+HBqNRsrpCg0NRXl5OU6cOFHjaxw6dAgDBgyATCaTtg0aNAglJSXIyspyynmIqtXI7K+Rm5uLhx9+GB07doRWq4VWq0VJSQnOnDkjPWf69OlYvny51P6HH37A/fff75T+EFHLYJI7EbkllUrl8LNMJqtxm81mAwDYbDYkJyfj448/rnasiIiIGl9DCOEQXNm32Y/tDIcOHQIAKX/r3nvvRV5eHpYsWYL4+Hio1WoMGDDAYRrznnvuwdNPP41t27Zh27ZtaNu2LYYMGeKU/hBRy2CARUReoVevXvjss88QGRmJoKCgej2na9eu+PLLLx0Cra1bt0Kj0aBNmzZN7pPRaMR7772H6667TgryNm/ejLfeegs33XQTACAzMxP5+fkOzwsLC8Ott96K5cuXY9u2bbjvvvua3BcialmcIiQir3D33XcjPDwct9xyCzZv3oyMjAxs2rQJjz/+eK3TfTNmzEBmZiZmzpyJw4cP45tvvsHzzz+PJ554wmF6sr5yc3ORk5ODY8eOYfXq1Rg0aBDy8/Px9ttvS22uueYafPTRRzh06BB27NiBu+++G35+ftWONX36dKxcuRKHDh3C1KlTG9wXInItBlhE5BX8/f3x+++/Iy4uDhMmTECXLl1w//33w2g01jqi1aZNG/z444/YuXMnevbsiYcffhjTpk3Dc88916g+dOrUCXq9HsnJyVi4cCFGjBiB9PR0dO3aVWrzwQcfoKCgAElJSZgyZQoee+wxREZGVjvWiBEjEB0djdGjR0Ov1zeqP0TkOjJhTzggIiK3UVZWBr1ejw8++AATJkxwdXeIqIGYg0VE5EZsNhtycnLw2muvQavVYvz48a7uEhE1AgMsIiI3cubMGbRr1w4xMTFYsWIFlEp+TBN5Ik4REhERETkZk9yJiIiInIwBFhEREZGTMcAiIiIicjIGWEREREROxgCLiIiIyMkYYBERERE5GQMsIiIiIidjgEVERETkZAywiIiIiJzs/wEgqKlJtIJz5AAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_predicated_moer(usage_plan)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 2. Multiple segments - fixed length" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "== Fixed contiguous fit! ==\n" + ] + } + ], + "source": [ + "# Pass two values to charge_per_segment instead of one.\n", + "\n", + "usage_plan = wt_opt.get_optimal_usage_plan(\n", + " region=\"CAISO_NORTH\",\n", + " usage_window_start=window_start,\n", + " usage_window_end=window_end,\n", + " usage_time_required_minutes=200, # 150 + 50\n", + " usage_power_kw=12,\n", + " charge_per_segment=[150,50],\n", + " optimization_method=\"auto\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pred_moer 92915.7000\n", + "usage 200.0000\n", + "emissions_co2_lb 10.4163\n", + "energy_usage_mwh 0.0400\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "print(usage_plan.sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlQAAAHVCAYAAAA3nGXJAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABiMUlEQVR4nO3deVxU5f4H8M+wDfsogiwqaKYibiluaIjdEtM0rfyJ1sUsybh2S6NNs0W95dItpcUluyqtRDetrDSlm2uSuYBpLpmpoIKIyubCNs/vDzgHxhmYGWaG4Yyf9+s1r+LMmTPPjIPz8ftsKiGEABERERE1mpO9G0BERESkdAxURERERBZioCIiIiKyEAMVERERkYUYqIiIiIgsxEBFREREZCEGKiIiIiILMVARERERWYiBioiIiMhCDFREVpSSkgKVSgWVSoWtW7fq3S+EwK233gqVSoWhQ4fq3X/x4kXMmjULERER8PT0hK+vLwYOHIilS5eioqJC73zpuQzdJk+eLJ83Z84cnftcXV0RGhqKxx57DHl5eVZ8B6pt3bq13naNGzfO6s/X3OzatQtz5sxBYWGh1a89efJktG/f3uh57du3x6hRowzet3fvXqhUKqSkpFi3cUQ3MRd7N4DIEfn4+GDVqlV6oWnbtm04ceIEfHx89B5z9OhRxMbGorS0FM888wwGDRqEa9eu4bvvvsP06dPx3//+Fxs2bICnp6fO48aNG4dnnnlG73oBAQF6x3744QdoNBqUlpZi8+bNeOutt7Br1y5kZWXB1dXVshdtwPz583HHHXfoHGvVqpXVn6e52bVrF+bOnYvJkyejRYsW9m4OETUBBioiG4iLi8Onn36KpUuXwtfXVz6+atUqREVFobi4WOf8qqoqPPDAAyguLsavv/6Kzp07y/eNHDkSMTExmDBhApKSkrBixQqdxwYGBmLgwIEmtSsyMhL+/v4AgLvuugsFBQVYs2YNdu7cqRd8rKFTp04mt80c165dg7u7O1QqldWvTUTUGOzyI7KBiRMnAgBSU1PlY0VFRVi7di0effRRvfO/+uorHD58GDNnztQJU5K4uDjExsZi1apVVu2i69u3LwDg/PnzVrumOXbu3Ik777wTPj4+8PT0xKBBg/D999/rnCN1o27evBmPPvooAgIC4OnpibKyMgBAWloaoqKi4OXlBW9vbwwfPhyZmZl6z7V7926MHj0arVq1gru7Ozp27IgZM2bI9//555945JFH0KlTJ3h6eqJNmzYYPXo0Dh48qHMdrVaL1157DV26dIGHhwdatGiBnj174u233wZQ3b363HPPAQA6dOhgsAvY1DanpKSgS5cuUKvV6Nq1Kz766KNGvc+m+OuvvzBhwgSEhIRArVYjMDAQd955J7KysnTaHRsbi+DgYHh4eKBr166YOXMmrly5one9Dz74AJ07d4ZarUZERAQ+++wzg92V5eXleO211xAeHg61Wo2AgAA88sgjuHDhgs1eK5EtMFAR2YCvry/GjRuH1atXy8dSU1Ph5OSEuLg4vfPT09MBAGPHjq33mmPHjkVlZaXe2CwhBCorK/VuQgij7Tx58iQAGAxx1qDVavXaJdm2bRv+9re/oaioCKtWrUJqaip8fHwwevRopKWl6V3r0UcfhaurKz7++GN8+eWXcHV1xfz58zFx4kRERETgiy++wMcff4ySkhJER0fj8OHD8mM3bdqE6OhoZGdnY/Hixdi4cSNeeuklnSB57tw5tGrVCgsXLsQPP/yApUuXwsXFBQMGDMCxY8fk89544w3MmTMHEydOxPfff4+0tDRMmTJFHi+VkJCAJ598EgCwbt06ZGRkICMjA3369AEAk9uckpKCRx55BF27dsXatWvx0ksv4V//+hd++ukn6/zh3GDkyJHYt28f3njjDaSnp2P58uXo3bu3zjiw48ePY+TIkVi1ahV++OEHzJgxA1988QVGjx6tc62VK1di6tSp6NmzJ9atW4eXXnoJc+fO1fvsarVajBkzBgsXLsSDDz6I77//HgsXLkR6ejqGDh2Ka9eu2eS1EtmEICKrWbNmjQAg9uzZI7Zs2SIAiEOHDgkhhOjXr5+YPHmyEEKIbt26iZiYGPlxd999twAgrl+/Xu+1N27cKACIRYsWyccA1Hv7+OOP5fNeffVVAUDk5eWJiooKcfnyZfHFF18ILy8vMXHiRCu/C0J+7YZux48fF0IIMXDgQNG6dWtRUlIiP66yslJ0795dtG3bVmi1WiFE7Xs6adIknefIzs4WLi4u4sknn9Q5XlJSIoKCgsT48ePlYx07dhQdO3YU165dM/k1VFZWivLyctGpUyfx9NNPy8dHjRolbrvttgYf++9//1sAECdPnmxUm6uqqkRISIjo06eP/D4IIcSpU6eE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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_scheduled_moer(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlgAAAHVCAYAAAAtoIVHAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB6GklEQVR4nO3deXhTVf4G8Ddb0z3dm4YubGUtSynIviibKCCig4iDoOCGoh1BFJ1R3AAZRRxxGwcBRUV/Ku7KooCsskNZZC3QQktbaNMtTdLk/P5IcyG0pVtokub9PE+esfee3J5kaPr2nO89RyaEECAiIiIip5G7ugNERERETQ0DFhEREZGTMWARERERORkDFhEREZGTMWARERERORkDFhEREZGTMWARERERORkDFhEREZGTMWARERERORkDFpGXW7ZsGWQymfRQKpWIjY3Ffffdh3PnzjVKH5o3b47JkydLX2/YsAEymQwbNmyo03W2bt2KOXPmoKCgwKn9A4DJkyejefPmNbYbNGgQZDIZWrZsiao2yvjjjz+k93rZsmWVzm/fvh1/+9vfEBMTAx8fH2i1Wtx5553Ytm1bpbZX/3939ePK96958+YO5wICAtCtWzcsXry4yn4SUcMwYBERAGDp0qXYtm0b1q5diwceeACff/45+vfvj5KSkkbvS7du3bBt2zZ069atTs/bunUrXnzxxesSsOoiKCgI6enp+P333yud++ijjxAcHFzl895++2307dsXmZmZWLBgAdatW4fXX38d586dQ79+/bB48eIqn2f//+7qx9XvX9++faVzn3zyCfz9/TF9+nTMmzev4S+aiBwoXd0BInIPSUlJ6N69OwDgxhtvhMViwcsvv4xvv/0W99xzT5XPKS0thb+/v9P7EhwcjF69ejn9uo0lPj4eQUFB+OijjzB48GDpeFFREf7v//4P99xzDz788EOH52zZsgWpqam45ZZbsGrVKiiVlz+ex48fj9tvvx1PPPEEkpOT0bdvX4fnXvn/3bWEhIQ4vK9DhgxBfHw8PvjgAzz77LP1fblEVAWOYBFRley/iM+cOQPANkUWGBiItLQ0DBs2DEFBQVJ4MJlMeOWVV9CuXTuo1WpERkbivvvuQ25ursM1zWYzZs2aBa1WC39/f/Tr1w87duyo9L2rmyL8888/MWrUKISHh8PX1xetWrVCamoqAGDOnDl46qmnAAAtWrSocprsiy++QO/evREQEIDAwEAMHz4ce/furfT9ly1bhrZt20KtVqN9+/b4+OOP6/z+3X///fjmm28cRtNWrlwJwBaYrjZv3jzIZDK89957DuEKAJRKJd59913IZDLMnz+/zn2pTnBwMNq0aYMLFy447ZpEZMOARURVOnHiBAAgMjJSOmYymTB69GjcdNNN+O677/Diiy/CarXitttuw/z58zFhwgT89NNPmD9/PtauXYtBgwbBYDBIz3/ggQfw+uuv495778V3332HO+64A2PHjkV+fn6N/Vm9ejX69++Ps2fPYuHChfjll1/wz3/+UwoHU6dOxfTp0wEA33zzTaVpsrlz5+Luu+9Ghw4d8OWXX+KTTz5BUVER+vfvj8OHD0vfZ9myZbjvvvvQvn17fP311/jnP/+Jl19+ucrpvmsZP348FAoFPv/8c+nYkiVLcOedd1aaIrRYLFi/fj26d++O2NjYKq8XFxeHlJQU/P7777BYLJWeX15e7vC4uk1VysvLkZGRgTZt2tTptRFRLQgi8mpLly4VAMT27duF2WwWRUVF4scffxSRkZEiKChIZGdnCyGEmDRpkgAgPvroI4fnf/755wKA+Prrrx2O79y5UwAQ7777rhBCiCNHjggA4h//+IdDu08//VQAEJMmTZKOrV+/XgAQ69evl461atVKtGrVShgMhmpfy7///W8BQKSnpzscP3v2rFAqlWL69OkOx4uKioRWqxXjxo0TQghhsViETqcT3bp1E1arVWp3+vRpoVKpREJCQrXf227gwIGiY8eOQgjbe9a9e3chhBCHDh0SAMSGDRuk92bp0qVCCCGys7MFADF+/PhrXvuuu+4SAMSFCxeEEJf/v6vqoVAoHJ6bkJAgbrnlFmE2m4XZbBZnzpwRDzzwgFCpVOLHH3+s8XURUd2wBouIAKBSzVOnTp3w3nvvITo62uH4HXfc4fD1jz/+iJCQEIwaNQrl5eXS8a5du0Kr1WLDhg145JFHsH79egCoVM81btw4TJo06Zp9O3bsGE6ePIm5c+fC19e3zq9t9erVKC8vx7333uvQR19fXwwcOFDq29GjR3H+/Hk8+eSTkMlkUruEhAT06dMHp0+frtP3vf/++zFw4ECkpaVh2bJlaNWqFQYMGIDdu3fX+TUAkO72u7JvAPDxxx+jffv2DseubgMA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d999F++88w66dOmCHTt21GpqkYjITiauLjQgIvIyK1euxNSpU1FcXOzqrhBRE8EpQiLyWkajESdPnsTixYsxZMgQV3eHiJoQThESkdf65Zdf0LNnTwQEBOA///mPq7tDRE0IpwiJiIiInIwjWEREREROxoBFRERE5GQMWEREREROxoBFRERE5GQMWETkcnPmzEHXrl1d3Y0qCSHw4IMPIiwsDDKZjFvmEFGtMGAR0XUlk8mu+Zg8eTJmzpyJ3377zdVdrdKvv/6KZcuW4ccff0RWVhaSkpIqtdmwYYP0euRyOTQaDZKTkzFr1ixkZWW5oNdE5GpcaJSIrqsrA8YXX3yB559/XtojEAD8/PwQGBiIwMBAV3SvRidPnkRMTAz69OlTY9ujR48iODgYhYWF2LNnDxYsWIAlS5Zgw4YN6NSpUyP0lojcBUewiOi6sm+0rNVqodFoIJPJKh27eopw8uTJGDNmDObOnYvo6GiEhITgxRdfRHl5OZ566imEhYUhNjYWH330kcP3OnfuHO666y6EhoYiPDwct912G06fPn3N/m3cuBE33HAD1Go1YmJi8Mwzz6C8vFzqx/Tp03H27FnIZDI0b978mteKioqCVqtFmzZtMH78eGzZsgWRkZF45JFHpDY7d+7E0KFDERERAY1Gg4EDB2LPnj3S+fvvvx8jR450uG55eTm0Wm2l10tE7osBi4jc0u+//47z58/jjz/+wMKFCzFnzhyMHDkSoaGh+PPPP/Hwww/j4YcfRkZGBgCgtLQUN954IwIDA/HHH39g8+bNCAwMxM033wyTyVTl9zh37hxuueUW9OjRA/v378d7772HJUuW4JVXXgEAvPXWW3jppZcQGxuLrKws7Ny5s06vwc/PDw8//DC2bNmCnJwcAEBRUREmTZqETZs2Yfv27UhMTMQtt9yCoqIiAMDUqVPx66+/Ooz8/fzzzyguLsa4cePq/D4SkYsIIqJGsnTpUqHRaCodf+GFF0SXLl2krydNmiQSEhKExWKRjrVt21b0799f+rq8vFwEBASIzz//XAghxJIlS0Tbtm2F1WqV2hiNRuHn5ydWr15dZX+effbZSs955513RGBgoPS933zzTZGQkHDN17V+/XoBQOTn51c698svvwgA4s8//6zyueXl5SIoKEj88MMP0rEOHTqI1157Tfp6zJgxYvLkydfsAxG5F45gEZFb6tixI+Tyyx9R0dHRDnVMCoUC4eHh0sjQ7t27ceLECQQFBUk1XWFhYSgrK8PJkyer/B5HjhxB7969IZPJpGN9+/ZFcXExMjMznfI6RMVuZPbvkZOTg4cffhht2rSBRqOBRqNBcXExzp49Kz1n6tSpWLp0qdT+p59+wv333++U/hBR42CROxG5JZVK5fC1TCar8pjVagUAWK1WpKSk4NNPP610rcjIyCq/hxDCIVzZj9mv7QxHjhwBAKl+a/LkycjNzcWiRYuQkJAAtVqN3r17O0xj3nvvvXjmmWewbds2bNu2Dc2bN0f//v2d0h8iahwMWETUJHTr1g1ffPEFoqKiEBwcXKvndOjQAV9//bVD0Nq6dSuCgoLQrFmzBvfJYDDgv//9LwYMGCCFvE2bNuHdd9/FLbfcAgDIyMhAXl6ew/PCw8MxZswYLF26FNu2bcN9993X4L4QUePiFCERNQn33HMPIiIicNttt2HTpk1IT0/Hxo0b8cQTT1Q73Tdt2jRkZGRg+vTp+Ouvv/Ddd9/hhRdewJNPPukwPVlbOTk5yM7OxvHjx7Fy5Ur07dsXeXl5eO+996Q2rVu3xieffIIjR47gzz//xD333AM/P79K15o6dSqWL1+OI0eOYNKkSXXuCxG5FgMWETUJ/v7++OOPPxAfH4+xY8eiffv2uP/++2EwGKod0WrWrBl+/vln7NixA126dMHDDz+MKVOm4J///Ge9+tC2bVvodDqkpKRg/vz5GDJkCA4ePIgOHTpIbT766CPk5+cjOTkZEydOxOOPP46oqKhK1xoyZAhiYmIwfPhw6HS6evWHiFxHJuwFB0RE5DZKS0uh0+nw0UcfYezYsa7uDhHVEWuwiIjciNVqRXZ2Nt544w1oNBqMHj3a1V0ionpgwCIiciNnz55FixYtEBsbi2XLlkGp5Mc0kSfiFCERERGRk7HInYiIiMjJGLCIiIiInIwBi4iIiMjJGLCIiIiInIwBi4iIiMjJGLCIiIiInIwBi4iIiMjJGLCIiIiInIwBi4iIiMjJ/h8SzNL4qjd7bQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_predicated_moer(usage_plan)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "watttime", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/watttime_optimizer/notebooks/ev_simple.ipynb b/watttime_optimizer/notebooks/ev_simple.ipynb new file mode 100644 index 00000000..b3b900dd --- /dev/null +++ b/watttime_optimizer/notebooks/ev_simple.ipynb @@ -0,0 +1,140 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# EV \"Simple\" Smart Scheduling" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.chdir(path=os.path.dirname(os.path.dirname(os.path.abspath(os.curdir))))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "== Simple fit! ==\n" + ] + } + ], + "source": [ + "from watttime_optimizer.evaluator.analysis import plot_predicated_moer, plot_charging_units, plot_scheduled_moer\n", + "from datetime import datetime, timedelta\n", + "from pytz import UTC\n", + "from watttime_optimizer import WattTimeOptimizer\n", + "\n", + "username = os.getenv(\"WATTTIME_USER\")\n", + "password = os.getenv(\"WATTTIME_PASSWORD\")\n", + "wt_opt = WattTimeOptimizer(username, password)\n", + "\n", + "# 12 hour charge window (720/60 = 12)\n", + "now = datetime.now(UTC)\n", + "window_start = now\n", + "window_end = now + timedelta(minutes=720)\n", + "\n", + "usage_plan = wt_opt.get_optimal_usage_plan(\n", + " region=\"CAISO_NORTH\",\n", + " usage_window_start=window_start,\n", + " usage_window_end=window_end,\n", + " usage_time_required_minutes=240,\n", + " usage_power_kw=12,\n", + " optimization_method=\"auto\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAHCCAYAAADxQ/PgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABiCUlEQVR4nO3deZQU1fk38G93z8IyMMg6DMuAGwqCC6LihiQKYjQucUOjoDGRuIsx4hIQtyH+XPMqGA1Bk6NC4hpXwIQtigYVFYG4IAgqI0KUAZGB6b7vH0NVV3VXVVd331vVVfX9nMMZpqen6nZNdfWt+zz3uTEhhAARERFRgMT9bgARERFRvtiBISIiosBhB4aIiIgChx0YIiIiChx2YIiIiChw2IEhIiKiwGEHhoiIiAKHHRgiIiIKHHZgiIiIKHDYgaHIeOutt3Dqqaeid+/eqKysRLdu3TB06FBcc801eW/rmGOOwX777aegldlisRhuvvnmgn63T58+GDt2rOftmT9/PmKxGJ566inLn1922WWIxWIF7f/RRx9FLBbDmjVr9MeeeOIJ3HfffQVtr1j/+9//cPbZZ6Nr166IxWI45ZRTHJ+fSqXw17/+Fcceeyw6d+6M8vJydO3aFSeeeCJeeOEFpFIpALmPIVHUsQNDkfDSSy/h8MMPR2NjI+68807MmTMH999/P4444gjMmjXL7+ZRHn7yk59g8eLF6N69u/6Ynx2YW2+9Fc8++yzuvfdeLF68GHfeeaftc7dv344TTjgBY8aMQdeuXTFt2jT861//wkMPPYTa2lqcccYZeOGFFzxsPVFwlfndACIv3Hnnnejbty9mz56NsrL0aX/22Wc7fuBQ6enSpQu6dOnidzN0H374IfbYYw+ce+65OZ87fvx4zJ49G4899hjOP/98089OO+00XHvttfjhhx9UNdXStm3b0KZNG0/3SSQDR2AoEjZt2oTOnTubOi+aeDz7bfDEE09g6NChqKqqQlVVFQ444ABMnz4963lLlizBUUcdhTZt2mD33XfHlClT9BCAprGxEb/5zW/Qt29fVFRUoEePHrjqqqvw/fffZz3vl7/8JTp16oSqqiocf/zx+Pjjj7P2OXbsWPTp0yfr8ZtvvtlVWEZ2e2SJxWK47LLL8Ne//hX77rsv2rRpg/333x8vvvii6XmZIaRjjjkGL730Ej7//HPEYjH9n2batGnYf//9UVVVhXbt2mGfffbBDTfckLM9//vf/3DJJZegR48eqKiowO67744bb7wRTU1NAIA1a9YgFovhtddew8qVK/X9zp8/33J7DQ0N+NOf/oSRI0dmdV40e+21FwYNGmR6bOfOnbjxxhtRW1uL9u3b49hjj8VHH31kes7cuXNx8skno2fPnmjVqhX23HNPXHzxxdi4caPpedo58u677+L000/Hbrvthj322AMA0NTUhGuuuQY1NTVo06YNjj76aLzzzjuWYciGhgZcfPHF6NmzJyoqKtC3b19MnjwZzc3NOY8rkSwcgaFIGDp0KP70pz/hiiuuwLnnnouDDjoI5eXlls+dOHEibr31Vpx22mm45pprUF1djQ8//BCff/656XkNDQ0499xzcc0112DSpEl49tlncf3116O2tlb/gNq2bRuGDRuGL774AjfccAMGDRqE5cuXY+LEiVi2bBlee+01xGIxCCFwyimn4I033sDEiRMxZMgQvP766xg1apTU41Bq7cn00ksvYcmSJbjllltQVVWFO++8E6eeeio++ugj7L777pa/M3XqVPzqV7/CqlWr8Oyzz5p+NnPmTFxyySW4/PLLcddddyEej+PTTz/FihUrHNuxfft2DB8+HKtWrcLkyZMxaNAgLFq0CPX19Xjvvffw0ksvoXv37li8eDEuueQSbN68GY8//jgAoH///pbbnDdvHnbu3JkzRybTDTfcgCOOOAJ/+tOf0NjYiOuuuw4nnXQSVq5ciUQiAQBYtWoVhg4diosuugjV1dVYs2YN7rnnHhx55JFYtmxZ1rl+2mmn4eyzz8a4ceP0jusFF1yAWbNm4be//S1+9KMfYcWKFTj11FPR2Nho+t2GhgYccsghiMfjmDhxIvbYYw8sXrwYt912G9asWYMZM2bk9fqICiaIImDjxo3iyCOPFAAEAFFeXi4OP/xwUV9fL7Zs2aI/77PPPhOJREKce+65jtsbNmyYACDeeust0+P9+/cXI0eO1L+vr68X8XhcLFmyxPS8p556SgAQL7/8shBCiFdeeUUAEPfff7/pebfffrsAICZNmqQ/NmbMGFFXV5fVpkmTJonMt3RdXZ0YM2aM0vZYmTdvngAg/v73v1v+/NJLL81qKwDRrVs30djYqD/W0NAg4vG4qK+v1x+bMWOGACBWr16tP/aTn/zE8phc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atUKu+++Ox566CElr89Ldscy08UXX4xYLIb77rsv5zZ5LK2P5cqVK/HTn/4U1dXVaNeuHQ477DCsXbvWcZtRPZaA8/HcunUrLrvsMvTs2ROtW7fGvvvui2nTpuXcZhSP58KFC3HSSSehtrYWsVgMzz33nOnnQgjcfPPNqK2tRevWrXHMMcdg+fLlObfLY2k+loH4/BHkq5kzZ4ry8nLxyCOPiBUrVogrr7xStG3bVnz++efiu+++E8cee6yYNWuW+O9//ysWL14sDj30UDF48GDHbW7evFl069ZNnH322WLZsmXi6aefFu3atRN33XWX/pzPPvtMtGnTRlx55ZVixYoV4pFHHhHl5eXiqaeeUv2SlXE6lkbPPvus2H///UVtba249957HbfJY2l9LD/99FPRsWNHce2114p3331XrFq1Srz44ovi66+/tt1mVI+lELmP50UXXST22GMPMW/ePLF69Wrxxz/+USQSCfHcc8/ZbjOqx/Pll18WN954o3j66acFAPHss8+afj5lyhTRrl078fTTT4tly5aJs846S3Tv3l00NjbabpPHMvtYBuHzhx0Ynx1yyCFi3Lhxpsf22WcfMWHCBMvn/+c//xEAsj6UjaZOnSqqq6vF9u3b9cfq6+tFbW2tSKVSQgghfvvb34p99tnH9HsXX3yxOOywwwp9Kb5zcyy/+OIL0aNHD/Hhhx+Kurq6nB0YHss047E866yzxM9//vO8thnVYylE7uM5YMAAccstt5h+ftBBB4mbbrrJdptRPp6azA/dVColampqxJQpU/THtm/fLqqrq8VDDz1kux0ey+xjaaXUPn8YQvLRjh078M4772DEiBGmx0eMGIE33njD8nc2b96MWCyGDh066I+NHTsWxxxzjP794sWLMWzYMNP0tJEjR+Krr77CmjVr9Odk7nfkyJF4++23sXPnzuJemA/cHMtUKoXzzjsP1157LQYMGGC5HR7L3McylUrhpZdewt57742RI0eia9euOPTQQ7OG8nksW7g5N4888kj84x//wJdffgkhBObNm4ePP/4YI0eO1J/P45nb6tWr0dDQYHrNlZWVGDZsmOmaymNZmFL7/GEHxkcbN25EMplEt27dTI9369YNDQ0NWc/fvn07JkyYgHPOOcdU+Kd79+7o3bu3/n1DQ4PlNrWfOT2nubkZGzduLO6F+cDNsfz973+PsrIyXHHFFbbb4bHMfSw3bNiArVu3YsqUKTj++OMxZ84cnHrqqTjttNOwYMEC/fk8li3cnJt/+MMf0L9/f/Ts2RMVFRU4/vjjMXXqVBx55JH683k8c9Ned65rKo9l/krx8yfQayGFRSwWM30vhMh6bOfOnTj77LORSqUwdepU08/q6+tdbTPzcTfPCRq7Y/nOO+/g/vvvx7vvvuv4+ngs0+yOZSqVAgCcfPLJuPrqqwEABxxwAN544w089NBDGDZsGAAey0xO7/M//OEPePPNN/GPf/wDdXV1WLhwIS655BJ0794dxx57LAAez3zkuqbyWOanVD9/OALjo86dOyORSGSNtmzYsMHUO925cyfOPPNMrF69GnPnzs1ZdrmmpsZym0C6J2z3nLKyMnTq1Kng1+SXXMdy0aJF2LBhA3r37o2ysjKUlZXh888/xzXXXIM+ffrYbpfHMk07lp07d0ZZWRn69+9v+vm+++7rOAspiscSyH08f/jhB9xwww245557cNJJJ2HQoEG47LLLcNZZZ+Guu+6y3W5Uj6eTmpoaAMh5TbX6PR5La6X8+cMOjI8qKiowePBgzJ071/T43LlzcfjhhwNInzyffPIJXnvtNVd/3KFDh2LhwoXYsWOH/ticOXNQW1urf1gPHTo0a79z5szBwQcfjPLy8iJfmfdyHcvzzjsPH3zwAd577z39X21tLa699lrMnj3bdrs8lmnasayoqMCQIUPw0UcfmX7+8ccfo66uzna7UTyWQO7juXPnTuzcuTNrVd5EIqGPdlmJ6vF00rdvX9TU1Jhe844dO7BgwQL9mmqFx9JayX/+5JXyS9Jp0yunT58uVqxYIa666irRtm1bsWbNGrFz507x05/+VPTs2VO89957Yv369fq/pqYmfRsTJkwQ5513nv79d999J7p16yZGjx4tli1bJp555hnRvn17y2lsV199tVixYoWYPn164KcEOh1LK1azkHgsW+Q6ls8884woLy8XDz/8sPjkk0/E//t//08kEgmxaNEifRs8lmm5juewYcPEgAEDxLx588Rnn30mZsyYIVq1aiWmTp2qb4PHs8WWLVvE0qVLxdKlSwUAcc8994ilS5fqM2OmTJkiqqurxTPPPCOWLVsmRo8enTWNmseyhdOxDMLnDzswJeDBBx8UdXV1oqKiQhx00EFiwYIFQgghVq9eLQBY/ps3b57++2PGjBHDhg0zbfODDz4QRx11lKisrBQ1NTXi5ptv1qewaebPny8OPPBAUVFRIfr06SOmTZum+qUqZ3csrVh1YHgs03Idy+nTp4s999xTtGrVSuy///5ZNUt4LM2cjuf69evF2LFjRW1trWjVqpXo16+fuPvuu03Hhsezxbx58yyviWPGjBFCtEylnjRpkqipqRGVlZXi6KOPFsuWLTNtg8eyhdOxDMLnDxdzJCIiosBhDgwREREFDjswREREFDjswBAREVHgsANDREREgcMODBEREQUOOzBEREQUOOzAEBERUeCwA0NERESBww4MEVm6+eabccABB/jdDEtCCPzqV79Cx44dEYvF8N577/ndJCLyGDswRBEUi8Uc/40dOxa/+c1v8M9//tPvplp69dVX8eijj+LFF1/E+vXrsd9++2U9Z/78+frricfjqK6uxoEHHojf/va3WL9+vQ+tJiKZyvxuABF5z/gBPmvWLEycONG0unTr1q1RVVWFqqoqP5qX06pVq9C9e3fHFYY1H330Edq3b4/Gxka8++67uPPOOzF9+nTMnz8fAwcO9KC1RKQCR2CIIqimpkb/V11djVgslvVYZghp7NixOOWUU3DHHXegW7du6NChAyZPnozm5mZce+216NixI3r27Ik///nPpn19+eWXOOuss7DbbruhU6dOOPnkk7FmzRrH9i1YsACHHHIIKisr0b17d0yYMAHNzc16Oy6//HKsXbsWsVgMffr0cdxW165dUVNTg7333htnn302Xn/9dXTp0gW//vWv9ecsWbIExx13HDp37ozq6moMGzYM7777rv7zCy+8ECeeeKJpu83Nzaipqcl6vUTkDXZgiMi1f/3rX/jqq6+wcOFC3HPPPbj55ptx4oknYrfddsNbb72FcePGYdy4cVi3bh0AYNu2bRg+fDiqqqqwcOFC/Pvf/0ZVVRWOP/547Nixw3IfX375JU444QQMGTIE77//PqZNm4bp06fjtttuAwDcf//9uOWWW9CzZ0+sX78eS5Ysyes1tG7dGuPGjcPrr7+ODRs2AAC2bNmCMWPGYNGiRXjzzTex11574YQTTsCWLVsAABdddBFeffVV08jVyy+/jK1bt+LMM8/M+zgSkQR5r19NRKEyY8YMUV1dnfX4pEmTxP77769/P2bMGFFXVyeSyaT+WL9+/cRRRx2lf9/c3Czatm0rnnzySSGEENOnTxf9+vUTqVRKf05TU5No3bq1mD17tmV7brjhhqzfefDBB0VVVZW+73vvvVfU1dU5vq558+YJAOLbb7/N+tkrr7wiAIi33nrL8nebm5tFu3btxAsvvKA/1r9/f/H73/9e//6UU04RY8eOdWwDEanDERgicm3AgAGIx9OXjW7dupnySBKJBDp16qSPbLzzzjv49NNP0a5dOz2npmPHjti+fTtWrVpluY+VK1di6NChiMVi+mNHHHEEtm7dii+++ELK6xBCAIC+jw0bNmDcuHHYe++9UV1djerqamzduhVr167Vf+eiiy7CjBkz9Oe/9NJLuPDCC6W0h4jyxyReInKtvLzc9H0sFrN8LJVKAQBSqRQGDx6Mxx9/PGtbXbp0sdyHEMLUedEe07Ytw8qVKwFAz58ZO3YsvvnmG9x3332oq6tDZWUlhg4dagpznX/++ZgwYQIWL16MxYsXo0+fPjjqqKOktIeI8scODBEpc9BBB2HWrFno2rUr2rdv7+p3+vfvj6efftrUkXnjjTfQrl079OjRo+g2/fDDD3j44Ydx9NFH652oRYsWYerUqTjhhBMAAOvWrcPGjRtNv9epUyeccsopmDFjBhYvXowLLrig6LYQUeEYQiIiZc4991x07twZJ598MhYtWoTVq1djwYIFuPLKK23DQZdccgnWrVuHyy+/HP/973/x/PPPY9KkSRg/frwpfOXWhg0b0NDQgE8++QQzZ87EEUccgY0bN2LatGn6c/bcc0/89a9/xcqVK/HWW2/h3HPPRevWrbO2ddFFF+Gxxx7DypUrMWbMmLzbQkTysANDRMq0adMGCxcuRO/evXHaaadh3333xYUXXogffvjBdkSmR48eePnll/Gf//wH+++/P8aNG4df/OIXuOmmmwpqQ79+/VBbW4vBgwdjypQpOPbYY/Hhhx+if//++nP+/Oc/49tvv8WBBx6I8847D1dccQW6du2ata1jjz0W3bt3x8iRI1FbW1tQe4hIjpjQgstERORo27ZtqK2txZ///GecdtppfjeHKNKYA0NElEMqlUJDQwPuvvtuVFdX46c//anfTSKKPHZgiIhyWLt2Lfr27YuePXvi0UcfRVkZL51EfmMIiYiIiAKHSbxEREQUOOzAEBERUeCwA0NERESBww4MERERBQ47MERERBQ47MAQERFR4LADQ0RERIHDDgwREREFzv8HezT6DsYQ2K0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_charging_units(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAHCCAYAAAAEvXhQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABy4ElEQVR4nO3deZxT1fk/8E+S2ZmFfYZhGRBlE0EdF0ARrYpKpVjrF9R+RRSqFKsibqD+FKgVtUrRfllKZWmrtVhR60JF2iKioCKioqBSBYdlBhi2GbZZkvP7I+Rmuze5Sc7Nzb338369eA1kMjdnLknuk/M85zkuIYQAERERkc25zR4AERERUTow6CEiIiJHYNBDREREjsCgh4iIiByBQQ8RERE5AoMeIiIicgQGPUREROQIDHqIiIjIERj0EBERkSMw6CHSafHixXC5XHC5XHj33Xejvi+EwMknnwyXy4ULL7ww6vv79u3DlClT0KdPHxQUFKC4uBgDBgzA7Nmz0dTUFHX/wGOp/RkzZoxyv6lTp4Z9Lzs7G126dMEvfvEL1NTUSDwDfu+++67muK655hrpj5dp1qxZg6lTp+LgwYPSjz1mzBh07do17v26du2KK6+8UvV7n3zyCVwuFxYvXix3cEQ2kGX2AIispqioCAsWLIgKbFatWoXvvvsORUVFUT/z9ddfY+jQoTh8+DDuvvtuDBo0CMeOHcObb76JO++8E3//+9+xbNkyFBQUhP3cNddcg7vvvjvqeO3atYu67e2330ZJSQkOHz6Md955B08//TTWrFmDzz77DNnZ2an90ioee+wxXHTRRWG3tWnTRvrjZJo1a9Zg2rRpGDNmDFq2bGn2cIgoAQx6iBI0atQovPDCC5g9ezaKi4uV2xcsWICBAweirq4u7P5erxc/+9nPUFdXh48//hg9evRQvjds2DAMGTIE1157LSZNmoR58+aF/WxpaSkGDBiga1yVlZVo27YtAOCSSy5BbW0tFi1ahPfffz8qOJHhlFNO0T22RBw7dgx5eXlwuVzSj01Ezsb0FlGCrrvuOgDAiy++qNx26NAhLF26FDfffHPU/V999VVs2rQJkydPDgt4AkaNGoWhQ4diwYIFUtNRZ511FgBg9+7d0o6ZiPfffx8XX3wxioqKUFBQgEGDBuGtt94Ku08gZfjOO+/g5ptvRrt27VBQUICGhgYAwJIlSzBw4EC0aNEChYWFuOyyy7Bhw4aox/roo48wfPhwtGnTBnl5eejevTsmTpyofP+///0vbrrpJpxyyikoKChAx44dMXz4cGzcuDHsOD6fD48++ih69uyJ/Px8tGzZEv369cMzzzwDwJ9KvPfeewEA3bp1U0136h3z4sWL0bNnT+Tm5qJ3797485//nNR51uP777/Htddei/LycuTm5qK0tBQXX3wxPvvss7BxDx06FB06dEB+fj569+6NyZMn48iRI1HH++Mf/4gePXogNzcXffr0wV//+lfV1FxjYyMeffRR9OrVC7m5uWjXrh1uuukm7N2717DflSgWBj1ECSouLsY111yDhQsXKre9+OKLcLvdGDVqVNT9V6xYAQC46qqrNI951VVXobm5OapWSAiB5ubmqD9CiLjj3Lp1KwCoBloy+Hy+qHEFrFq1Cj/60Y9w6NAhLFiwAC+++CKKioowfPhwLFmyJOpYN998M7Kzs/GXv/wFL7/8MrKzs/HYY4/huuuuQ58+ffDSSy/hL3/5C+rr6zF48GBs2rRJ+dnly5dj8ODBqKqqwsyZM/HPf/4TDz30UFiwt2vXLrRp0waPP/443n77bcyePRtZWVk499xz8c033yj3e/LJJzF16lRcd911eOutt7BkyRKMHTtWqd8ZN24cbr/9dgDAK6+8grVr12Lt2rU488wzAUD3mBcvXoybbroJvXv3xtKlS/HQQw/h17/+Nf7zn//I+c+JMGzYMKxfvx5PPvkkVqxYgblz5+KMM84Iq0vasmULhg0bhgULFuDtt9/GxIkT8dJLL2H48OFhx5o/fz5uueUW9OvXD6+88goeeughTJs2Leq56/P5MGLECDz++OO4/vrr8dZbb+Hxxx/HihUrcOGFF+LYsWOG/K5EMQki0mXRokUCgFi3bp1YuXKlACC+/PJLIYQQZ599thgzZowQQohTTz1VDBkyRPm5yy+/XAAQx48f1zz2P//5TwFAPPHEE8ptADT//OUvf1Hu98gjjwgAoqamRjQ1NYkDBw6Il156SbRo0UJcd911ks+CUH53tT9btmwRQggxYMAA0b59e1FfX6/8XHNzs+jbt6/o1KmT8Pl8QojgOR09enTYY1RVVYmsrCxx++23h91eX18vysrKxMiRI5XbunfvLrp37y6OHTum+3dobm4WjY2N4pRTThF33XWX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2LRpk7jzzjtFixYtxA8//CAOHjwoLrnkErFkyRLx9ddfi7Vr14pzzz1XVFZWxjzmoUOHRGlpqbj22mvFxo0bxdKlS0VRUZF46qmnlPt8//33oqCgQNx5551i06ZN4o9//KPIzs4WL7/8stG/smFinctQr776qujfv78oLy8Xv/vd72Ie06nnUoj45/O///2vaN26tbj33nvFp59+Kr777jvx5ptvit27d2se06nnM965HDdunOjevbtYuXKl2Lp1q/jDH/4gPB6PeO211zSP6dRzuWzZMvHggw+KpUuXCgDi1VdfDfv+448/LoqKisTSpUvFxo0bxahRo0SHDh1EXV2d5jF5LqPPpRWuPwx6LOicc84R48ePD7utV69eYvLkyar3//jjjwWAqAt5qDlz5oiSkhJx/Phx5bYZM2aI8vJy4fP5hBBC3HfffaJXr15hP3frrbeKAQMGJPurmE7PudyxY4fo2LGj+PLLL0VFRUXcoMep51KI+Odz1KhR4n//938TOqZTz2e8c3nqqaeK6dOnh33/zDPPFA899JDmMZ16LkNFXqh9Pp8oKysTjz/+uHLb8ePHRUlJiZg3b57mcXguo8+lmky7/jC9ZTGNjY1Yv349hg4dGnb70KFDsWbNGtWfOXToEFwuF1q2bKncNmbMGFx44YXKv9euXYshQ4aELQW87LLLsGvXLmzbtk25T+TjXnbZZfjkk0/Q1NSU2i9mAj3n0ufz4YYbbsC9996LU089VfU4PJd+8c6nz+fDW2+9hR49euCyyy5D+/btce6550alGng+9T03zz//fLz++uvYuXMnhBBYuXIlvv32W1x22WXK/Xku49u6dStqamrCfufc3FwMGTIk7D2V5zI5mXb9YdBjMbW1tfB6vSgtLQ27vbS0FDU1NVH3P378OCZPnozrr78+rJlThw4d0KVLF+XfNTU1qscMfC/WfZqbm1FbW5vaL2YCPefyiSeeQFZWFu644w7N4/Bc+sU7n3v27MHhw4fx+OOP4/LLL8c777yDn/70p7j66quxatUq5f48n/qem88++yz69OmDTp06IScnB5dffjnmzJmD888/X7k/z2V8gd873nsqz2XiMvH647i9t+zC5XKF/VsIEXVbU1MTrr32Wvh8PsyZMyfsezNmzNB1zMjb9dzHarTO5fr16/HMM8/g008/jfn78VyG0zqf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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_scheduled_moer(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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HY0ePXpUGqZgW1bvz2WfPn3w1Vdf4fjx4xBCYOPGjTh48CAGDRoklWdbXllmZiZyc3M9rlmn0yElJcXj31O2Ze352v2HQagJOH36NFwuF4xGo8dxo9GI3NzcSuXLysrwzDPPYNSoUR4LUMXExCAuLk76OTc3t8pzVrx3uTJOpxOnT5+u24XJoDptOWfOHKjVavzjH/+45HnYllduy7y8PBQXF2P27Nm46aabsG7dOtxxxx0YNmwY0tPTpfJsy+r9uXz99dfRoUMHtGjRAlqtFjfddBPeeust9OnTRyrPtryyiuu+0r+nbMva8cX7D/caa0IUCoXHz0KISsccDgdGjhwJt9uNt956y+O9WbNmVeucFx+vTpnG5lJtmZGRgddeew07duy47PWxLc+7VFu63W4AwG233YYnn3wSAHDNNddg69atePvtt5GSkgKAbXmhy/0df/311/HTTz/hq6++Qnx8PDZt2oQJEyYgJiYG/fv3B8C2rIkr/XvKtqw5X73/sEeoCYiMjIRKparU+5OXl+eRlh0OB4YPH47MzEysX7/+isuRm0ymKs8JnE/mlyqjVqsRERFR62uSy5Xa8scff0ReXh7i4uKgVquhVqtx9OhRTJo0CS1btrzkedmW51W0ZWRkJNRqNTp06ODxfvv27S/71Bjb8ryKtrRarXj22Wcxb948DBkyBFdffTUef/xxjBgxAq+88solz+uPbXklJpMJAK7472lVn2NbXpov338YhJoArVaL5ORkrF+/3uP4+vXr0bt3bwDn/xAeOnQIGzZsqNYfkl69emHTpk2w2+3SsXXr1sFsNks3/V69elX63nXr1qFbt27QaDR1vLKGd6W2vP/++7Fr1y7s3LlTepnNZkyZMgVr16695HnZludVtKVWq0X37t1x4MABj/cPHjyI+Pj4S56XbXleRVs6HA44HI5KO3CrVCqp560q/tiWV5KQkACTyeRxzXa7Henp6dK/p1VhW16az99/ajS1mnxWxaO1ixcvFn/88YdITU0VwcHB4siRI8LhcIihQ4eKFi1aiJ07d4qcnBzpZbPZpHM888wz4v7775d+LigoEEajUdxzzz1i9+7d4vPPPxehoaFVPr745JNPij/++EMsXry40T8Oerm2rEpVT42xLctdqS0///xzodFoxLvvvisOHTok3njjDaFSqcSPP/4onYNtWe5K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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_predicated_moer(usage_plan)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "watttime", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/watttime_optimizer/notebooks/ev_variable_charge.ipynb b/watttime_optimizer/notebooks/ev_variable_charge.ipynb new file mode 100644 index 00000000..1c0550fc --- /dev/null +++ b/watttime_optimizer/notebooks/ev_variable_charge.ipynb @@ -0,0 +1,181 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Variable Charging Curve (L3) - EV" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.chdir(path=os.path.dirname(os.path.dirname(os.path.abspath(os.curdir))))" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from datetime import datetime, timedelta\n", + "import pandas as pd\n", + "from pytz import UTC\n", + "from watttime_optimizer import WattTimeOptimizer\n", + "from watttime_optimizer.battery import Battery, CARS_L3\n", + "from watttime_optimizer.evaluator.analysis import plot_predicated_moer, plot_charging_units, plot_scheduled_moer" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "== Sophisticated fit! ==\n" + ] + } + ], + "source": [ + "username = os.getenv(\"WATTTIME_USER\")\n", + "password = os.getenv(\"WATTTIME_PASSWORD\")\n", + "wt_opt = WattTimeOptimizer(username, password)\n", + "\n", + "# 12 hour charge window (720/60 = 12)\n", + "now = datetime.now(UTC)\n", + "window_start = now\n", + "window_end = now + timedelta(minutes=720)\n", + "\n", + "battery = Battery(\n", + " initial_soc=.5,\n", + " charging_curve=pd.DataFrame(\n", + " columns=[\"SoC\", \"kW\"],\n", + " data=CARS_L3['audi']\n", + " ),\n", + " capacity_kWh=71,\n", + ")\n", + "\n", + "variable_usage_power = battery.get_usage_power_kw_df()\n", + "\n", + "usage_plan = wt_opt.get_optimal_usage_plan(\n", + " region=\"CAISO_NORTH\",\n", + " usage_window_start=window_start,\n", + " usage_window_end=window_end,\n", + " usage_time_required_minutes=240,\n", + " usage_power_kw=variable_usage_power,\n", + " optimization_method=\"auto\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "pred_moer 91710.600000\n", + "usage 240.000000\n", + "emissions_co2_lb 64.521660\n", + "energy_usage_mwh 0.240331\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "print(usage_plan.sum())" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHVCAYAAADfHNDiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABEF0lEQVR4nO3deXQUVd7G8aezsgSCrCFAWFxAVhlAZReHRRDXcQF9EVTUuKGCCqjD5hJkFHEGgdFBdBwVZhR3BXFkUxFRQBAYFwRBISKohIAESN/3D6lKmiQkhK7ULfh+zsk5dHWlcruopJ++v3tvhYwxRgAAABaK8bsBAAAARSGoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqjguLF06VJddNFFSktLU2JiomrVqqX27dtr2LBhR3yss846S82bN/eglQWFQiGNGTOmVN/boEEDDRo0qMzbs2DBAoVCIb300kuFPn/LLbcoFAqV6uc/88wzCoVC2rhxo7vthRde0KRJk0p1vKP1888/q1+/fqpZs6ZCoZAuvPDCw+4fDof13HPPqXv37qpevbri4+NVs2ZN9e3bV2+88YbC4bCk4s8hcLwgqOC48NZbb6lDhw7KysrShAkT9O677+rxxx9Xx44dNWvWLL+bhyNw7rnnasmSJapdu7a7zc+gcv/99+uVV17RY489piVLlmjChAlF7rt371716dNHAwcOVM2aNTV16lS9//77mjZtmlJTU3XppZfqjTfeKMPWA/aL87sBQFmYMGGCGjZsqLlz5youLu+y79ev32HfWGCfGjVqqEaNGn43w/XFF1/oxBNP1JVXXlnsvkOHDtXcuXP17LPP6qqrrop47uKLL9Zdd92l3377zaumFmrPnj2qUKFCmf5M4EjQo4Ljwo4dO1S9evWIkOKIiSn4a/DCCy+offv2SkpKUlJSkk477TRNnz69wH7Lli1T586dVaFCBTVq1Ejjx493u+4dWVlZuvPOO9WwYUMlJCSoTp06uv3227V79+4C+1133XWqVq2akpKSdM455+irr74q8DMHDRqkBg0aFNg+ZsyYEpVTot2eaAmFQrrlllv03HPP6dRTT1WFChXUqlUrvfnmmxH7HVr6Oeuss/TWW2/pu+++UygUcr8cU6dOVatWrZSUlKRKlSqpSZMmuueee4ptz88//6ybbrpJderUUUJCgho1aqR7771XOTk5kqSNGzcqFArpvffe07p169yfu2DBgkKPl5mZqX/84x/q1atXgZDiOPnkk9WyZcuIbfv379e9996r1NRUVa5cWd27d9eXX34Zsc+8efN0wQUXqG7duipXrpxOOukk3XDDDdq+fXvEfs41snz5cl1yySU64YQTdOKJJ0qScnJyNGzYMKWkpKhChQrq0qWLPvvss0LLh5mZmbrhhhtUt25dJSQkqGHDhho7dqwOHDhQ7HkFjhQ9KjgutG/fXv/4xz80ZMgQXXnllfrDH/6g+Pj4QvcdNWqU7r//fl188cUaNmyYkpOT9cUXX+i7776L2C8zM1NXXnmlhg0bptGjR+uVV17RyJEjlZqa6r4R7dmzR127dtX333+ve+65Ry1bttSaNWs0atQorV69Wu+9955CoZCMMbrwwgv10UcfadSoUWrXrp0+/PBD9e7dO6rnwbb2HOqtt97SsmXLNG7cOCUlJWnChAm66KKL9OWXX6pRo0aFfs+UKVN0/fXXa/369XrllVcinps5c6Zuuukm3XrrrXrkkUcUExOjb775RmvXrj1sO/bu3atu3bpp/fr1Gjt2rFq2bKnFixcrIyNDK1eu1FtvvaXatWtryZIluummm7Rz5049//zzkqSmTZsWesz58+dr//79xY5hOdQ999yjjh076h//+IeysrI0fPhwnXfeeVq3bp1iY2MlSevXr1f79u01ePBgJScna+PGjZo4caI6deqk1atXF7jWL774YvXr10/p6eluQL366qs1a9Ys3X333Tr77LO1du1aXXTRRcrKyor43szMTJ1++umKiYnRqFGjdOKJJ2rJkiV64IEHtHHjRs2YMeOIXh9QLAMcB7Zv3246depkJBlJJj4+3nTo0MFkZGSYXbt2uft9++23JjY21lx55ZWHPV7Xrl2NJLN06dKI7U2bNjW9evVyH2dkZJiYmBizbNmyiP1eeuklI8m8/fbbxhhj3nnnHSPJPP744xH7Pfjgg0aSGT16tLtt4MCBpn79+gXaNHr0aHPor3T9+vXNwIEDPW1PYebPn28kmf/85z+FPn/zzTcXaKskU6tWLZOVleVuy8zMNDExMSYjI8PdNmPGDCPJbNiwwd127rnnFnpObrnlFlOlSpXDtrUw06ZNM5LMv//974jtDz/8sJFk3n33XXdb165dTbNmzYo95vjx440kM2fOnBK1wTmHffr0idj+73//20gyS5YsKfT7wuGw2b9/v/nuu++MJPPaa6+5zznXyKhRoyK+Z82aNUaSGT58eMT2F1980UiKuIZuuOEGk5SUZL777ruIfR955BEjyaxZs6ZErw8oKUo/OC5Uq1ZNixcv1rJlyzR+/HhdcMEF+uqrrzRy5Ei1aNHC7SKfN2+ecnNzdfPNNxd7zJSUFJ1++ukR21q2bBnR8/Lmm2+qefPmOu2003TgwAH3q1evXhFlgvnz50tSgXEOV1xxxdG87AJsa8+hunXrpkqVKrmPa9WqpZo1axbozSqp008/Xb/++qv69++v1157rUAppCjvv/++KlasqEsuuSRiu1MC+e9//1uq9pTG+eefH/HYKQ3lPyfbtm1Tenq66tWrp7i4OMXHx6t+/fqSpHXr1hU45p/+9KeIxwsXLpQkXXbZZRHbL7nkkgLl0jfffFPdunVTampqxDXk9LY5xwKihdIPjitt27ZV27ZtJf1e+x8+fLgee+wxTZgwQRMmTNBPP/0kSapbt26xx6pWrVqBbYmJiRGDIX/88Ud98803RZaZnDfOHTt2KC4ursAxU1JSSvbCSqis2uO8ueXm5hb6/IEDBwodL1SSc3okBgwYoAMHDuipp57Sn/70J4XDYbVr104PPPCAevToUeT37dixQykpKQXG/NSsWVNxcXHasWPHEbclLS1NkrRhw4Yj+r5Dz0liYqIkueckHA6rZ8+e2rJli/785z+rRYsWqlixosLhsM4888xCz13+GVOS3NdTq1atiO2FXQM//vij3njjjWKvISBaCCo4bsXHx2v06NF67LHH9MUXX0iSO5vk+++/V7169Y76Z1SvXl3ly5fX008/XeTz0u9vRgcOHNCOHTsi3hgyMzMLfE+5cuXcAZ35leQNwov2FMZ5w/vhhx8Kff6HH34o8KbolauvvlpXX321du/erUWLFmn06NHq27evvvrqK7fX4VDVqlXT0qVLZYyJCCvbtm3TgQMH3PN0JLp166b4+Hi9+uqrSk9PL/XrOdQXX3yhzz//XM8884wGDhzobv/mm2+K/J5DA5jzf/zjjz+qTp067nbnGsivevXqatmypR588MFCj52amnrErwE4HEo/OC5s3bq10O1Ot7jzx7Vnz56KjY3V1KlTo/Jz+/btq/Xr16tatWpub07+L2f2Trdu3STJHZDpeOGFFwocs0GDBtq2bZt+/PFHd9u+ffs0d+5cX9pTmJNPPln169fXf/7zHxljIp776aefNH/+fHXv3r1ExyqJkvS6VKxYUb1799a9996rffv2ac2aNUXu+8c//lHZ2dl69dVXI7b/85//dJ8/UikpKRo8eLDmzp3rHudQ69ev16pVq47ouE7ocHpaHH//+99LfIwuXbpIUoE1hV566aUCM3n69u3rTsku7BoiqCDa6FHBcaFXr16qW7euzjvvPDVp0kThcFgrV67Uo48+qqSkJN12222Sfg8B99xzj+6//3799ttv6t+/v5KTk7V27Vpt375dY8eOPaKfe/vtt+vll19Wly5ddMcdd6hly5YKh8PatGmT3n33XQ0bNkxnnHGGevbsqS5duujuu+/W7t271bZtW3344Yd67rnnChzz8ssv16hRo9SvXz/ddddd2rt3r/76178WWWbxuj1FeeSRR3TZZZfpj3/8o6677jqlpKTo66+/1vjx45WQkKA///nPR3QuD6dFixaaPXu2pk6dqjZt2igmJkZt27bVddddp/Lly6tjx46qXbu2MjMzlZGRoeTkZLVr167I41111VV64oknNHDgQG3cuFEtWrTQBx98oIceekh9+vQpdciaOHGivv32Ww0aNEhz587VRRddpFq1amn79u2aN2+eZsyYoZkzZxaYonw4TZo00YknnqgRI0bIGKOqVavqjTfe0Lx580p8jGbNmql///569NFHFRsbq7PPPltr1qzRo48+quTk5Igp/OPGjdO8efPUoUMHDRkyRI0bN9bevXu1ceNGvf3225o2bVqJSqdAifk8mBcoE7NmzTJXXHGFOfnkk01SUpKJj483aWlpZsCAAWbt2rUF9v/nP/9p2rVrZ8qVK2eSkpJM69atzYwZM9zni5rpUdiMnOzsbHPfffeZxo0bm4SEBJOcnGxatGhh7rjjDpOZmenu9+uvv5prrrnGVKlSxVSoUMH06NHD/O9//yt0ls3bb79tTjvtNFO+fHnTqFEjM3ny5BLN+vGqPUV57733TM+ePU2VKlVMXFycqV27tvm///s/8/XXXxfYV5K5+eabC2w/9DUUNuvn559/NpdccompUqWKCYVC7nl49tlnTbdu3UytWrVMQkKCSU1NNZdddplZtWpVsW3fsWOH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EVQAAIC1CCoAAMBavi6hf7ScRXWzsrJ8bgkAACgp5327JIvjBzqo7NixQ5JUr149n1sCAACO1I4dO5ScnHzYfQIdVKpWrSpJ2rRpU7EvFMVr166dli1b5nczjhmcz+jIyspSvXr1tHnzZu7pFQVcl9HDuSy9nTt3Ki0tzX0fP5xAB5WYmN+H2CQnJ/MHLApiY2M5j1HE+YyuypUrcz6jgOsyejiXR895Hz/sPmXQDgTEzTff7HcTjimcT9iI6zJ6OJdlI2RKMpLFUkdym2gAwcTvOXDsOZLf60D3qCQmJmr06NFKTEz0uykAPMLvOXDsOZLf60D3qAAAgGNboHtUAADAsY2gEnAZGRlq166dKlWqpJo1a+rCCy/Ul19+GbGPMUZjxoxRamqqypcvr7POOktr1qwp9tirV69W165dVb58edWpU0fjxo0rsDjPwoUL1aZNG5UrV06NGjXStGnTovr6ylpx53P//v0aPny4WrRooYoVKyo1NVVXXXWVtmzZUuyxj8fzieiaMmWKGjZsqHLlyqlNmzZavHixJK7L0ijqXB7qhhtuUCgU0qRJk4o95vF6Lj1nEGi9evUyM2bMMF988YVZuXKlOffcc01aWprJzs529xk/frypVKmSefnll83q1avN5ZdfbmrXrm2ysrKKPO7OnTtNrVq1TL9+/czq1avNyy+/bCpVqmQeeeQRd59vv/3WVKhQwdx2221m7dq15qmnnjLx8fHmpZde8vQ1e6m48/nrr7+a7t27m1mzZpn//e9/ZsmSJeaMM84wbdq0Oexxj9fzieiZOXOmiY+PN0899ZRZu3atue2220zFihXNd999x3V5hA53LvN75ZVXTKtWrUxqaqp57LHHDnvM4/VclgWCyjFm27ZtRpJZuHChMcaYcDhsUlJSzPjx49199u7da5KTk820adOKPM6UKVNMcnKy2bt3r7stIyPDpKammnA4bIwx5u677zZNmjSJ+L4bbrjBnHnmmdF8Sb469HwW5pNPPjGSCvyRy4/ziaN1+umnm/T09IhtTZo0MSNGjCh0f67LopXkXH7//femTp065osvvjD169cvNqgcr+eyLPhW+lm0aJHOO+88paamKhQK6dVXX414Pjs7W7fccovq1q2r8uXL69RTT9XUqVOLPe7x3vW2c+dOSXmr9m7YsEGZmZnq2bOnu09iYqK6du2qjz76yN02aNAgnXXWWe7jJUuWqGvXrhEjsnv16qUtW7Zo48aN7j75j+vs8+mnn2r//v3Rfmm+OPR8FrVPKBRSlSpV3G2czzyH62I3lCVLZN++ffrss88KXB89e/aM+D3Oj+uycCU5l+FwWAMGDNBdd92lZs2aFXoczmXZ8S2o7N69W61atdLkyZMLff6OO+7QnDlz9K9//Uvr1q3THXfcoVtvvVWvvfZakcfMyspSjx49lJqaqmXLlulvf/ubHnnkEU2cONHdZ8OGDerTp486d+6sFStW6J577tGQIUP08ssvR/01ljVjjIYOHapOnTqpefPmkqTMzExJUq1atSL2rVWrlvucJNWuXVtpaWnu48zMzEK/J/8xi9rnwIED2r59e5RelX8KO5+H2rt3r0aMGKErrrgiYi0AzufvZs2apdtvv1333nuvVqxYoc6dO6t3797atGmTJGnChAmaOHGiJk+erGXLliklJUU9evTQrl27ijzm8fh7vn37duXm5hb7e+zguixaSc7lww8/rLi4OA0ZMqTI43Auy45vS+j37t1bvXv3LvL5JUuWaODAgW5ivf766/X3v/9dn376qS644IJCv+f555/X3r179cwzzygxMVHNmzfXV199pYkTJ2ro0KEKhUKaNm2a0tLS3IFRp556qj799FM98sgj+tOf/hTtl1mmbrnlFq1atUoffPBBgedCoVDEY2NMxLaMjIwSfc+h20uyT1Ad7nxKvw9g7Nevn8LhsKZMmRLxHOfzdxMnTtS1116rwYMHS5ImTZqkuXPnaurUqXrooYc0adIk3Xvvvbr44oslSc8++6xq1aqlF154QTfccEOhxzyef8+L+z2WuC5Lqqhz+dlnn+nxxx/X8uXLD/v6OJdlx9pZP506ddLrr7+uH374QcYYzZ8/X1999ZV69erl7kPXW55bb71Vr7/+uubPn6+6deu621NSUiSpwKeubdu2FUj2+aWkpBT6PVLep4Si9omLi1O1atVK/2IsUNT5dOzfv1+XXXaZNmzYoHnz5hW7suLxeD6L62KnLFly1atXV2xsbLG/x1yXxSvuXC5evFjbtm1TWlqa4uLiFBcXp++++07Dhg1TgwYNijzu8Xguy4q1QeWvf/2rmjZtqrp16yohIUHnnHOOpkyZok6dOrn70PX2exq/5ZZbNHv2bL3//vtq2LBhxPMNGzZUSkqK5s2b527bt2+fFi5cqA4dOhR53Pbt22vRokXat2+fu+3dd99Vamqq+8vavn37iOM6+7Rt21bx8fFReHVlr7jzKeW9GXz99dd67733SvQH5ng8n8V1sVOWLLmEhAS1adOmwPUxb9489/eY67JkijuXAwYM0KpVq7Ry5Ur3KzU1VXfddZfmzp1b5HGPx3NZZsp48G6hJJlXXnklYttf/vIXc8opp5jXX3/dfP755+Zvf/ubSUpKMvPmzSvyOD169DDXX399xLbvv//eSDJLliwxxhhz8sknm4ceeihinw8++MBIMlu3bo3OCypDN954o0lOTjYLFiwwW7dudb/27Nnj7jN+/HiTnJxsZs+ebVavXm369+9fYHryiBEjzIABA9zHv/76q6lVq5bp37+/Wb16tZk9e7apXLlyoVPt7rjjDrN27Vozffr0wE+1K+587t+/35x//vmmbt26ZuXKlRH75OTkuMfhfBrzww8/GEnmo48+itj+wAMPmMaNG5sPP/zQSDJbtmyJeH7w4MGmV69eRR73ePw9NyZvSu306dPN2rVrze23324qVqxoNm7cyHV5hA53LgtT2KwfzmXZsTKo7Nmzx8THx5s333wzYr9rr732sH/ABgwYYM4///yIbcuXLzeSzLfffmuMMaZz585myJAhEfvMnj3bxMXFmX379h3lKyl7kgr9mjFjhrtPOBw2o0ePNikpKSYxMdF06dLFrF69OuI4AwcONF27do3YtmrVKtO5c2eTmJhoUlJSzJgxY9xpdo4FCxaY1q1bm4SEBNOgQQMzdepUr15qmSjufG7YsKHIfebPn+8eh/NpTE5OjomNjTWzZ8+O2D5kyBDTpUsXs379eiPJLF++POL5888/31x11VVFHvd4/D13PPHEE6Z+/fomISHB/OEPf3CnzXNdHrmizmVhCgsqnMuyY2VQ2blzp5Fk3n777Yj9rr/+etOjR48ijzNlyhRTpUqViE8Q48ePLzCP/dRTT434vvT0dOaxAx44/fTTzY033hix7dRTTzUjRoxw1/h5+OGH3edycnJKtMYPv+fA8cO3oLJr1y6zYsUKs2LFCiPJTJw40axYscJdnKhr166mWbNmZv78+ebbb781M2bMMOXKlTNTpkxxj0HXG2C34rrYKUsCKI5vQWX+/PmFdlMOHDjQGGPM1q1bzaBBg0xqaqopV66c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Sdq8ebO2b98e8X3VqlXThRdeqBkzZmjJkiW6+uqrj7otAIpH6QeAZ6688kpVr15dF1xwgRYvXqwNGzZo4cKFuu2224os49x0003avHmzbr31Vv3vf//Ta6+9ptGjR2vo0KERZaeS2rZtmzIzM/X1119r5syZ6tixo7Zv366pU6e6+5x00kl67rnntG7dOi1dulRXXnmlypcvX+BYgwcP1rPPPqt169Zp4MCBR9wWAEeOoALAMxUqVNCiRYuUlpamiy++WKeeeqquueYa/fbbb0X2sNSpU0dvv/22PvnkE7Vq1Urp6em69tprdd9995WqDY0bN1ZqaqratGmj8ePHq3v37vriiy/UtGlTd5+nn35av/zyi1q3bq0BAwZoyJAhqlmzZoFjde/eXbVr11avXr2UmppaqvYAODIh4xR/AQCHtWfPHqWmpurpp5/WxRdf7HdzgOMCY1QAoBjhcFiZmZl69NFHlZycrPPPP9/vJgHHDYIKABRj06ZNatiwoerWratnnnlGcXH86QTKCqUfAABgLQbTAgAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABr/T8srYLlSKa6zQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_charging_units(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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pk2YPHky3nzzTYPjOTk5BtO5lUolYmJiEBMTg9zcXPzvf//DokWLMGrUKKSlpdWaqt+UNuunyxsrHje1oNzHxwfp6elGn9Mfrx5AgoODER8fD6Cit+vLL7/E4sWLUVpairi4OPz000/IyMjAnj17pN4aALXW8tG33ViRes22t2/fHl5eXtixY4fRdhpbMoHIbKw7KkbUelSvudF76aWXxLhx40RGRoZ0rGbNTXl5uejVq5fQaDTi3Llzta77xRdfCABi5syZBscBiGeffbbBdulrbq5evWpw/I8//hBKpVJER0eb+hFNoq+5+e9//1vnOREREcLX11fcvHlTOqbVakXfvn2N1txUv6dCCJGSkiKUSqVBDVJdunbtKrp161ZvTVO7du3EU089ZXDs+++/FwAM/qyMiY2NFQDE77//LoQQ4oMPPhAAxOnTp5vUZq1WK/z8/ER4eHiTa25effVVoVAopDZV99BDDwl3d3eRn59f7zUGDBggBg0aJIQQYuvWrQKAOHz4sME5EyZMMKjfaUzNzaZNmwQA8fPPPzf4eYjMjT03RM2wfPnyBs9xdHREQkICRo4ciYiICMydOxcREREoKSnBd999h3Xr1iEqKgrvvvturddeuXIFP//8c63jnp6e6NWrV73v2717dzz55JNYs2YNDhw4gKFDh5r+wZpp2bJlGDlyJO666y7MmzcPTk5OWLNmDX777Td8/vnnDa5h06lTJyxduhQvv/wy/vrrL9x7771o27Ytrly5gl9//RVubm5YsmQJAGD16tUYO3YsBg8ejDlz5iAoKAipqanYuXMnPv30UwDAfffdh40bN6Jnz57o168fjh49infeeafWcNbYsWPRp08fDBw4EB06dMClS5cQGxuL4OBgdO/eHQDQt29fAMD777+PKVOmQKVSISQkxOQ2Ozg44J///CdmzJiBv//973jiiSeQm5uLxYsXGx2qMub555/Hxx9/jOHDh2PRokXo27cvbty4gc2bN+Orr77CypUrpZ6RkydP4rnnnsM//vEPdO/eHU5OTvjpp59w8uRJqSdxyJAhaNu2LWbOnInXXnsNKpUKn376KU6cOGHwvg4ODliyZAmeeuopTJgwAdOmTUNubi6WLFkCPz8/aegNACZOnIhPP/0UY8aMwfPPP4/bb78dKpUKly9fRmJiIsaNG4e///3vJn1eokazdroiai3q6mWoqWbPjV5OTo5YsGCB6Nmzp3B2dhbu7u7i9ttvF6tWrRKlpaW1zkc9s6XuvPNO6by6em6EEOLKlSvC3d1d3HXXXY3/wHUwpedGCCH2798v7r77buHm5iZcXFzE4MGDxXfffWdwTkP39JtvvhF33XWX8PT0FGq1WgQHB4sJEyaI//3vfwbnHT58WIwePVpoNBqhVqtF165dDWZB3bhxQ0yfPl14e3sLV1dXMXToULF//34RFRVl8Gf17rvviiFDhoj27dsLJycnERQUJKZPny4uXrxo8H4LFy4U/v7+wsHBQQAQiYmJjW7zf/7zH9G9e3fh5OQkevToIdavXy+mTJliUs+NEEJkZWWJp59+WgQFBQmlUik8PDzE0KFDa/25XLlyRUydOlX07NlTuLm5CXd3d9GvXz/x3nvvifLycum8Q4cOiYiICOHq6io6dOggZsyYIY4dO2bQc6O3bt060a1bN4O2jxs3ToSFhRmcV1ZWJlasWCH69+8v/c737NlTPPXUU9LMOiJLUAhhQuUgERFRHXJzc9GjRw+MHz8e69ats3ZziFhQTEREpsvKysIbb7yBu+66C15eXrh06RLee+89FBQU4Pnnn7d284gAMNwQEVEjqNVqXLx4Ec888wyuX78OV1dXDB48GHFxcejdu7e1m0cEAOCwFBEREckKVygmIiIiWWG4ISIiIllhuCEiIiJZsbuCYp1Oh4yMDHh4eDS4kBgRERHZBiEECgoK4O/vb7BgpDF2F24yMjJqbU5IRERErUNaWlqDm+XaXbjRL0melpYGT09PK7eGiIiITJGfn4/AwECTNl21u3CjH4ry9PRkuCEiImplTCkpYUExERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsMNERERyQrDDREREckKww0RERHJCsONHTmblY9rhSXWbgYREZFFMdzYiYzcYox+fz+e+DjJ2k0hIiKyKIYbO5GVfwtCABev3bR2U4iIiCyK4cZO6HQCAFB4q9zKLSEiIrIshhs7UZltUKrVoaRca93GEBERWRDDjZ3Q6tMNgKIShhsiIpIvhhs7IURVuOHQFBERyRnDjZ3QVg83JQw3REQkXww3dqL6sBTDDRERyRnDjZ2o1nGDwpIy6zWEiIjIwhhu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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_scheduled_moer(usage_plan)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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IiJyeS0iIZo5cybWrVuHzZs3IyoqSjqu0WgAoEJPT25urtRrpNFoYDKZkJeXV2WbyqhUKgQEBDg8iIiIqHVSODuA6gghMHPmTKxduxZbtmxBXFycw/m4uDhoNBps3LgRiYmJAACTyYStW7firbfeAgAkJSVBqVRi48aNmDBhAgAgOzsbhw8fxsKFC+sUCwDWEhEREbUg9s/tGueQCRf25JNPCrVaLbZs2SKys7OlR3FxsdTmzTffFGq1Wnz77bciLS1NPPDAAyIyMlIYDAapzRNPPCGioqLEpk2bxL59+8Stt94qevbsKcrKymody5kzZwQAPvjggw8++OCjBT7OnDlT7ee8S0+7r6rGZ8WKFZg6dSoAQAiB1157DR999BHy8vLQr18/vP/++1LhNQCUlpbihRdewOeff46SkhIMHz4cS5curVOhdH5+PoKCgnDhwgWo1eoG3RcBffr0QUpKirPDaBX4WjYeg8GA6OhoZGRkcJi8EfBns/Hwtaw/vV6PmJgY5OXlITAwsMp2Lp0QuRKuQ9S4unbtiqNHjzo7jFaBr2Xj4e954+LPZuPha1l/rXIdImo9nnrqKWeH0GrwtSRXxZ/NxsPXsumxh6iW+JcjUevH33Oi1oc9RI1MpVLh1VdfhUqlcnYoRNRE+HtO1PrU9veaPURERETk9thDRERERG6PCRHV2oIFC9CnTx/4+/sjPDwcd999N06cOOHQRgiBefPmQavVwtvbG8OGDcORI0dqvHZaWhqGDh0Kb29vtGnTBq+//nqFRbS2bt2KpKQkeHl5oV27dvjwww8b9f6aU02vpdlsxosvvoju3bvD19cXWq0WDz30ELKysmq8tru9ltQ0li5diri4OHh5eSEpKQl//PEHAP5s1kdVr+WNHn/8cchkMixevLjGa7rra9mkar0yIbm90aNHixUrVojDhw+LAwcOiDvvvFPExMSIwsJCqc2bb74p/P39xTfffCPS0tLE/fffX2GhzBvp9XoREREhJk6cKNLS0sQ333wj/P39xdtvvy21OXv2rPDx8RHPPvusOHr0qPj444+FUqkUX3/9dZPec1Op6bXMz88XI0aMEF9++aU4fvy42Llzp+jXr59ISkqq9rru+FpS41uzZo1QKpXi448/FkePHhXPPvus8PX1FefPn+fPZh1V91peb+3ataJnz55Cq9WKd999t9pr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ZQkRX8vm4dYJkV6vFwDETz/95NDuscceEyNHjqzyOkuXLhWBgYEOfw29+eabFdaA6NKli8PznnjiCa4BQdQE+vbtK5588kmHY126dBEvvfSStD7WW2+9JZ0zGo21Wh+Lv+dE7qPVJ0QFBQVi//79Yv/+/QKAWLRokdi/f7+0gNjQoUNFt27dxObNm8XZs2fFihUrhJeXl1i6dKl0DXZXErm2moYlOJRLRDVp9QnR5s2bK+3anTJlihBCiOzsbDF16lSh1WqFl5eX6NSpk3jnnXccuh7ZXUnk+qobluBQLhHVRCbEDcuuEhEREbkZt592T0RERMSEiIiIiNweEyIiIiJye0yIiIiIyO0xISIiIiK3x4SIiFqs33//HWPHjoVWq4VMJsN3333ncP7bb7/F6NGjERoaCplMhgMHDtTqulu2bIFMJkN+fn6jx0xErokJERG1WEVFRejZsyeWLFlS5flBgwbhzTffbObIiKilUTg7ACKi+rr99ttx++23V3l+8uTJAIBz58416PvMmzcP3333nUMP0+LFi7F48WLp2lOnTkV+fj4GDx6Md955ByaTCRMnTsTixYu5uzhRC8CEiIiokWzevBmRkZHYvHkzTp8+jfvvvx833XQTHn30UWeHRkQ14JAZEVEjCQoKwpIlS9C5c2eMGTMGd955J3799Vdnh0VEtcCEiIjc1hNPPAE/Pz/p0VDdunWDXC6Xvo6MjERubm6Dr0tETY9DZkTktl5//XXMnj27xnYeHh64cdtHs9lcod2NtUIymQxWq7VhQRJRs2BCRERuKzw8HOHh4TW2CwsLg06ngxACMpkMAGo9hZ+IWgYmRETUYhUWFuL06dPS1+np6Thw4ACCg4MRExODq1ev4sKFC8jKygIAnDhxAgCg0Wig0Whq/X2GDRuGS5cuYeHChbj33nuxfv16/PzzzwgICGjcGyIip2ENERG1WHv37kViYiISExMBAM8//zwSExPxt7/9DQCwbt06JCYm4s477wQATJw4EYmJifjwww+rva59mEuhsP3N2KVLFyxduhTvv/8+evbsiT179tRqqI2IWg6ZuHFgnIjIza1ZswbTp09HYWGhs0MhombCITMionJGoxFnzpzBkiVLMGLECGeHQ0TNiENmRETlfv75Z/Tr1w++vr7497//7exwiKgZcciMiIiI3B57iIiIiMjtMSEiIiIit8eEiIiIiNweEyIiIiJye0yIiMjp5s2bh5tuusnZYVRKCIHHHnsMwcHBkMlk3LKDqJViQkRETUomk1X7mDp1KmbPno1ff/3V2aFWav369Vi5ciV++OEHZGdnIyEhoUKbLVu2SPfj4eEBtVqNxMREzJkzB9nZ2U6ImojqigszElGTuj4h+PLLL/G3v/1N2lMMALy9veHn5wc/Pz9nhFejM2fOIDIyEgMHDqyx7YkTJxAQEACDwYB9+/Zh4cKFWLZsGbZs2YLu3bs3Q7REVF/sISKiJmXfSFWj0UCtVkMmk1U4duOQ2dSpU3H33Xdj/vz5iIiIQGBgIF577TWUlZXhhRdeQHBwMKKiorB8+XKH73Xx4kXcf//9CAoKQkhICO666y6cO3eu2vi2bt2Kvn37QqVSITIyEi+99BLKysqkOGbOnIkLFy5AJpOhbdu21V4rPDwcGo0GHTt2xMSJE7F9+3aEhYXhySeflNqkpKRg5MiRCA0NhVqtxtChQ7Fv3z7p/COPPIIxY8Y4XLesrAwajabC/RJR42FCREQu6bfffkNWVhZ+//13LFq0CPPmzcOYMWMQFBSE3bt344knnsATTzyBjIwMAEBxcTFuueUW+Pn54ffff8e2bdvg5+eH2267DSaTqdLvcfHiRdxxxx3o06cPDh48iA8++ADLli3DP/7xDwDAv/71L7z++uuIiopCdnY2UlJS6nQP3t7eeOKJJ7B9+3bk5uYCAAoKCjBlyhT88ccf2LVrF+Lj43HHHXegoKAAADB9+nSsX7/eoWftp59+QmFhISZMmFDn15GIakkQETWTFStWCLVaXeH4q6++Knr27Cl9PWXKFBEbGyssFot0rFOnTmLIkCHS12VlZcLX11d88cUXQgghli1bJjp16iSsVqvUxmg0Cm9vb7Fhw4ZK43n55ZcrPOf9998Xfn5+0vd+9913RWxsbLX3tXnzZgFA5OXlVTj3888/CwBi9+7dlT63rKxM+Pv7i//973/Ssa5du4q33npL+vruu+8WU6dOrTYGImoY9hARkUvq1q0bPDyuvUVFREQ41OHI5XKEhIRIPS+pqak4ffo0/P39pZqk4OBglJaW4syZM5V+j2PHjmHAgAGQyWTSsUGDBqGwsBCZmZmNch+ifHck+/fIzc3FE088gY4dO0KtVkOtVqOwsBAXLlyQnjN9+nSsWLFCav/jjz/ikUceaZR4iKhyLKomIpekVCodvpbJZJUes1qtAACr1YqkpCR89tlnFa4VFhZW6fcQQjgkQ/Zj9ms3hmPHjgGAVH80depUXLp0CYsXL0ZsbCxUKhUGDBjgMKz30EMP4aWXXsLOnTuxc+dOtG3bFkOGDGmUeIiockyIiKhV6NWrF7788kuEh4cjICCgVs/p2rUrvvnmG4fEaMeOHfD390ebNm0aHFNJSQn+85//4Oabb5aSsj/++ANLly7FHXfcAQDIyMjA5cuXHZ4XEhKCu+++GytWrMDOnTvx8MMPNzgWIqoeh8yIqFV48MEHERoairvuugt//PEH0tPTsXXrVjz77LNVDn/NmDEDGRkZmDlzJo4fP47vv/8er776Kp5//nmH4brays3NhU6nw6lTp7BmzRoMGjQIly9fxgcffCC16dChAz799FMcO3YMu3fvxoMPPghvb+8K15o+fTpWrVqFY8eOYcqUKXWOhYjqhgkREbUKPj4++P333xETE4Px48ejS5cueOSRR1BSUlJlj1GbNm3w008/Yc+ePejZsyeeeOIJTJs2DX/5y1/qFUOnTp2g1WqRlJSEN998EyNGjMDhw4fRtWtXqc3y5cuRl5eHxMRETJ48Gc888wzCw8MrXGvEiBGIjIzE6NGjodVq6xUPEdWeTNgHzImIyGUUFxdDq9Vi+fLlGD9+vLPDIWr1WENERORCrFYrdDod3nnnHajVaowbN87ZIRG5BSZEREQu5MKFC4iLi0NUVBRWrlwJhYJv00TNgUNmRERE5PZYVE1ERERujwkRERERuT0mREREROT2mBARERGR22NCRERERG6PCRERERG5PSZERERE5PaYEBEREZHbY0JEREREbu//ASAGnWo6NMxFAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_predicated_moer(usage_plan)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "watttime", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/watttime_optimizer/notebooks/evaluation_plot.png b/watttime_optimizer/notebooks/evaluation_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..4417aeae3736848aaf516f40e82ad7aa7272a4e2 GIT binary patch literal 516590 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 z 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

OE33d4dwZQ9DY-__p zgtmkRwfxok+dCT=z7>R^QQ(<|&Z{%KNGl|heL6`H2dpBe;Yd3>2mvBaV#|=vfW_FK zX=_!K6QQo28g@sbKlv+ZG298szwge9v$!^J@CA!$x=(~U&^XoAW8#l&xy0)cKK5nQ)gdB6y9!`E1;7aG`qdbXBI^?$Ely#OL94UFGJy|<-{BGzUw|UrL-~9A zz_18<2Qu+A5|jut{`f1vLP?dvxYhaN1h;#BYOE1Y z3IzQ}Gj9mr5xqHoEDr+X0Kcl`@KNPr5F9j6b0N?|&oe;Yz5JLaVV?q@zE)Y|*d;Y?v`OF38}^I2{KW7E#UA;J6JKqJ*wSa~ zu^86KYfy}#NRST$Iw(>;mO_~G2r_-+mDbnc4MRgaPm3C~3Y(19?*s+D;8QC)wHN>Q zYu34h9j{OVr2lY+aj~CkXSo?It|NrVZ$1FZ!dxBSPXX5XW4c3wX%l-s>)OQV8@+Cw z=dY1KKNGs^anLz>A0aK5=-$@_v>=u-N{+VRJ9LCGvpt70*(y1x()kj~|fxnZ6(F8QS z*@-nQrb_E$GyXc3VI24jz)R8s+KVNN{9CNl%CZg5y(S&YDIF0yog$0g3XPy~Lx{aO~tQJAV$FXA(9P#|?dl zaH}EpJn>^H`X#br-7|s6qHmq2yn&-(B$7YnZjg&~(N%r%&;0n6hDK|PtnyzXhm6vf zKC!7LUHh&em6fhgbX19GQJjWtC(p&S@fTjqrz0)x-P16+2t|R759_)rK_l6bmxTlD zR_IL(>Py$oHo@taoo7fT8q3Dge*SMfO>7Vu%c6-zkU2Z9Ro!7^}N6OougTLMV7mb*z9QaE%6uLeLF-@aAD zefKk`Kr(x;#UU-K!ZOR0af(&sdd;i{UE3Gzn90w+N{i?*%PQ328fl;gGo9z_Cu92& zB}Ay@wxWkAlyUW{-?g@U{uz9Js)HTlp^K2AX}XV9eAd5FOJy!I_rXiDbFiCzU$&L^?! zF~gb}<%#MmBsV|NrS!ArzzEK2mQ9~xK{4BVQv8@>F2nr$CtY!Ho?gH8>J}7sdZ<{9 zyeoi_{cI2@0-bx(+HwiCe9~ujSOi`kI#Vl`WsOKfq2s~0nYSyVTTTKi;7JW`n_uwyWAvn;U>D5jCqJ&&Is!d={TdS3dOCePX7IM6 z>BIUXc{q8YWf}-X}(VspIuE)h2Rud)!$ANMFX;q0>BJP1^*c?tFlZ6IGJ<9Zfr zZC2rFZ`Xb0)|Y2jD<>la-lmmZ@wWY)A~yA3AuqQwG$iH{op>O!H|2|r-Tu`Qb{h5T z_ZPc;v(dxf4HYrKkVuTKn6CTUIS!@{AV6VaPI2 z=IUih5Rn|s83b*wlZ~RX87)d~NO2~Upi+8#8*k}(2mbeykro{aM1w_+9WkLk**lNw zC9CRq&GHU_2@nwC0R-R3h0v#)GglByR{*7(P+{rR4H1G|FT}x~$6f}^+U;w9b)E8! zul!Q@Dz5sO^tt2>-b4=E@0^H?;TWFg_xyr>fNL&fb~Ij(kXT#&nl6I?zX88&`1~DN zaRn<|Z~O0EO{9DXBglxt(WZ2|?rFj@<{QQ0@3)RV%N2oaVS z0=Xyr8tKk)+Ky8@%yWM;d|WWXBx1y{g3&R*tXkC zOP>Hk$@3M7{_~X@4a*w|Rv&5;0}HJzR7-1?wk`BxAV(lBpj?IGBhdzqml4gZdDFUi z`_4=_E8~(>bm|1Hr?zaSKM=-1y$eCfSOSri29=bwz{l1!VtO#Q>#;f4Nsc&6flvCR zzE|zSy}x>da_yxc7qu~R9+y4S`P4f4sC$r&HFnZj`)4#fn#UhH)E9bMo5Gz-WAtEDCGD6?h^BWl{gD9vkR zo6EmFi}#mQPK6t?6cP!ZU9mr{MX%NJ$nePzhdRl%02hAiRs0|ti!p{-JMpYG`!q*o z`-eK72_EX0DswU3*tidfPUJ5YJHSZ(!qoq(>L1_R1~%R(`HJP)?@v_R(;nv~3s+o~ zz73I^3J=M+u5&2K0CwiD+prN>*3wkGcn6?al|b1K4tg}uYzJ|#HTP@oY2T`v;@`iB!|M=mK^R@?h1 z9)ugFuYGMuwy2xqeNSHGOp5O3yCldM?PRmIm39j^lj6(W=qb%z+i)Eajw)zq5{w{=45 z4dB&toHIYZMUDlT+x_Oo`NhVoM72{7DMnqAaTs~(8?SUkgr`Azy?Z6+P5A5_EDb0i=Y!cU2xTT(Ce9t!)4L=vh7_MX7~@^b4T+(*1cN#XvS&(^Ddvq3Y%4f!dVI ztI_vGx?kF(Xo2CjqMU4A#oXv;B}T{h-kG$>r2X;qy3ViOf9X9s|3tCt*ZBNSZ_{=D zWFoIvL@Wnv^IcA~jPty^&%ng4a4Y;KRwU#+H>kPzefX~=N5#KLKOWWUozse*SI44} zW2N1~Cyzkwb+PH~h2N8Zp}Jf06+%G4>tqX|#*f@PqYA$p--i9S4q8;0InCHay8B5! zttq+7H9qb%4kp+$v!*9|aY`^Ilrl&nMEUmpZa~J0$BynN4Ja?Pf8luv(invKE5H== z{LG0fLY0%^H4x)$%{Rp%Dbmx<_t<*6&PlX<7DdRB_}|%#U=aMI!HoOHBd0}L7y)o8 z0X-dNcvsI0jK!SYQF@-%CQ7*MTq*6>zuCmJzJg@e+;3^7D3-|Iu3qzR)(q__M6okQ z5Oh^186u#%+WR+X%s2iiEjzSbp~P2;KG%;E&p~iXGTDRw@_A$bkcb?$*CXjB(jT3# zDVq>|5NLpbz5GZ8O>?6jw~a?#uYarD0)Lz|{xy*hKuP5q6cvNrNuc^0Fv(VWp>4o2 z)Cqz{gmDzC+jsQU5L5h139JZpg~{Z#du^R#uuz)>zCsMjPBJE^T|>cu7@bc%m2;Am zLko>?Gy@8;tGkTDQmR*nO+20l*aS^_+fh>4f3`Geg4_S>o~2bgHa1?do8QTB;XNI{ zvO=VLoFT@lu=|JJKTkdhEA}(l@Kw|SThUV(;d9B>=nLlmZcFrcz{rXQFoxtm5OmA- z5i0`BL@XzDSY!G5i(#1^D8Bw- z=Ivk*(i!i!TSsD%P!!bFphzH|_}eg&BE~NFNPGJe5INl}av$moiAK0H9B?wC&Wv7$ z{?b~L2-c;H1}|EtspyXM*)>z%W03Y8{LkvA7*w!`F491Pe9>2S4E;dI^_>QJ;Y-ZD z>Dulq2mO`Wfk9^N{!00QV-iybS5w&C-)Oh%sFY2Us3+^{_-|PvfRfL2!nP?-KgmZ8sZ; z>O4@NUMI#okaM1%j@MQ-bmUvwY=K$T;MjoHn@XPoph0?k>%4^}QJp$J6o5qexKAfGCpgNxBs7Za_X<|Y-eOdWF^QaM&rOC505LAUEGB%b9gh?UNlF2+* zrZV%^&pB9M;ojQ`;sK@dY$q~R%y_nGh<65Dv9HsB!daWs;bHHI(G9c1bx0x^?z85h z&WW^Owju=AP22x(iv$Hn&%K0#)f@co9EVGy9U&ydxnkn)D3q`n{V6`$Oi<*Vq331o z@haS}crRST*LNa8f8!o=Pt=MjDJ)FjKCc;h1UH73f%arIR?G3FKZTa#7~=j0o0#cz z?WmckdsiB119mYM038gEqLG7y7n*rN%vr2pm_a+%QRi^QMzzhz1SNer$g0Q<6t60o zR)&`Lw`v^7M@P9ljyFY4e^_uj#C8NyrAnS*`sn7C{4W7?V4h+j zMf%2r1hKQ9(GgwM48J`5r>@>NQA5beacvqX%8Zq%_h$$}P<1Ckd__T=i3$iayLEe3D) zhlM`7I)gxf^!9Ht(w%%45%;YOBy<7FKqNLdm5Y@L!w8p!`@-q<+VyQUE%Y&3_ zByMR%kFiHG&^d5HXc9ag$HLh>Ywiv6iphCcXH00?-a$m~$CVv*PuBV-6Db#zofVzQ z9EA&W_^2bCQr=@w>X)8_HQJU?8IYbxAC+t~WwSsNsNiTYxB>B@MdVG!B-edk@iG6b zgrb?X?oo>aVZp5XKe;0g!X>;JPu=7cS8I$n5C?F0%y)M`LsDyr(hLeV?qrSf`k(Op z>^#+g+1+)~5cj3m8bn?ar4tIxXD^TP+hkxBc~sjRI2uGZ)2YfWJ1@LE9}=%ET<_js z-c+4@4hGT1WKx&#nQLdibT~)oy9=%=s9eBk{C!0(qt1S(oXsXG$&jMFW*Bf*Z5OV` z;2$5pbV{twUTA2fSE)buDcymgKV0lT$3mnI!^*kF7damf*2Qz0En4tYKjX0l^W`mH zhf(wAB8tQ23GHq!+#jcpnHj)VNSFGT4+zNWe)Y5YS(|B>g%-R#o+OeX54h2&Y%VKN zEgrsT)6@ArB|Nap#z%! z=kNrV`r%JR$>EQHc#?4MMM418($-Cci7rl|mt@?P2ZDY_1rg#G%?cH%pa&JiO$Ej0 zYkZhG{O4@l z6scOs8D^&e-UIdZFS9-&uW6ZX|FK1Rw-DbTf;tp_iVXdepV;NJzNQs)Ds9(tc9?hT z(9G=rskkFIY)9Y4M+x-Fr2c3J6YYRBOR&i+W!DV5!}IYunPYps32M3T z?f74Gy>~d({U1Mm9D8TW$g%fIR-r@Du{p>dSrwwl-k~Amm?04kIkK~75rs<0E)*Je zD)WTj^W2~B_jg^tKYmyL+}C||-*tJv->=v6`IsLT!%wP1Fm~cY`4y>g9FRVqfA9L1 zSiv>obv9=7aOWkFEIabtS)hsoC+?GDbGIbWJ~5WBMTRc}fu+ZP+KV(}TbhUkJBeGw zVD$tW0UM>0%y`q7Z4EZ4=^b0t*yZ#~-_Iy1GI00J_b>HsK=Bj>mYVLX0%!Ozw3uyv zZ{$QNGxeF1VLD}U7fR7|F+)BZA9}(YR;VAK#OFrnM7PsN&_`o?Ci_cp%2B@Aw=dfW%X)LGfp-LYkVR)J zrilK#f}U3oax2 zV50JB_%_8i=4hG$`6!mm5Dk}UUcZp_0!-FJ4|m( zkPfk>1$C61n4-yAC`Q;o;M$nz2>cK644BZSabuoTqr1-(Z}_69WFb?5=`>0?Wij*w zX6-XAs!>mj43B+E1$}!+)pvMbHKtOs6#f!i9u*$jqHkP=!2eP|IY{f5!FCi%-%}|%z3R?=%7jLs;0Y2x5$=v?*nK&ep##RE8W8+jkNq7w*biDBk z^0!X=8l5~d<|^MWM~MyCpq|lLV7ZQ#iuJZ050$aPjM3q*9O1T zgM$$F-r*bUmQOkhpKV)kd&HF<74DD@bQ{AvwM&f?5nx+IrE2kG8k2Q`D|m+EltN-^Tf^D^wxz~s`O1H^USx2Z*K|9}5~VJf7lOu89GMlvep$_K zs0+nzm`ae2>9sO{0njl6ax-esA~O+c=WZ0m5ILJB0}38-}cJFBEZ3o7Zh zclCa`b*n?+BlBuXCw_xB_1td0{1GMED_W3-0&_zm&y@*sci+}7nz?+O-A&QwX)GV{ z>lCs@N>)=#ctDnE%l!6qhoyzjU$Z)G07bNPBvXw4J#u-!#qvr>j_;wGaDo2cq{1|r z)x4aBhV001=){GK(HezGFSluq2g0H5!g!*Q^cB#Jzuy_`#lYGfEvSH_r9nr`CeL`SJV%D0>fKiY_-NKn(K2S zN%QU%ga%4%<=#&*?(2o`<{iF#tN-5dV&Y7KC505)`hwZo*&pL9AXayyJ#4K50F=JoQ}=Vn3c{?4DJhU)(`A#(ovhgH7r)jVagsSb5i z#AxXOiw&rR9Ck1&56|_U|523h(DH>|yRxy=^8cu1UAo_TPF;YeEG#)W9sd7)KS1x4 zZf5lNG|IzI>HY+LDLSzcpCf}eNL2j?c;{(FShUw3jA}#XHO|1~UU#JUw4A=SVAgai zJkV=oK`k#stx$mog+%o7yzV_Cv>*q=>&0pzT%Jv{!-yWZ#<7Y$lI4sxXP50zlyjkz zA$VrcaH4cqw3^Qggq)urwuP9&gbp&pvD9X0ZcTavTE4v(r%+o&CMv8+9ZR+##I^8a zUeu>PTTld2$v@oITOgOc?6g#Fp#I`LotXz%t2p(IFO3=-zZ`o1Bq9mlx8A}=mK_Oy zNP^{mh%8iXuh7q6-B@yHF)S6oH#{JIu3R=*$6$pV1GcG_h@RqFPnCkIL;`49FEJA`;AyDsU`CWv^(oP8G3Hf#Fu*UzJA0eD!J#ItQt zw}SNk6Ql>NM=Ny(Ym#`m*jUu?$NxZM*}Kn^&~#kA5Wr$v20vn29l043lGd$Z?^2Ih ztR?+vebuQ=vIJ zeSa3|K``K55vCFj&e(Ha$34AxS5yHa3brE$9WkZVIVV9YaF9zWKk-80ih16VECODr zNu^3`RL9glj`W>f%S6*9C-y4z(~0fUmOvsYv?7LihEN}5=sj*^DW}5s)IN~uS*x^q zi!^Didr6Rml+pY{0-QKi>R;WE*-@6R{;OsQmI1ES_DjELxSPq1K|B{H9{>S1}$HdXpXTOdQ)&!duguuWyu-k7?wSMmB3{ugf|RP^5=@1wo;0d`1Vu0Ga=BrLIv z%$<=${`EEG2h-7eu!6`TFrs2$8~+pt-^;XAt_IE(J0$wf!f6Cyy}qEKk|cY~8?z>k zJM9z8{_hJTz~ya+(Bd=BirInz26V+d@DRxoGwrs&`JE3{vV)%JS?PF%u%lkq=iRQ8yV>8*0g37*~;DhXYTOMo*BED~j}2GG2AM3XX$X z=eIwYm0&rppwe4H|N6gK07%K;SxIuNSEJewxo2oEn|_>(in(6pRpG&aP!aY7$2l`y z6vw%Pb}jJlexBcR=1NAl3z;$D#lW86t?AEq!;SWu{aa-p%EnTF;07uVe&n~kCnMA? zj@_ziekO7erTpam@*w>wr21s0NB5CQ{n?0DJ-Mtg2TqTfw_L4jvfk$@bIMrl`Q~SS zcWk>Gr0>6=c2>NM;W?e(l-Sp*Px0eXB;n2(xY)j*nZLhyKte2*M;%)^Q5^ROdfO`*z1MyBA0fX*WR2Q;JR=A_92td_Fdi@wjxVLQeBrK85T72y)k z2`ZE02JOQDpcUL2DNGJ5TuJ*G3CfDxIRLF>G(B^#UX2<3DG@VTZiVRt5XRCkyOxvVRv zxUf!sjWbg(3YvNTm|~(b>t})Hm2lDbj*%xXFe#UfT-JKPkQcmkYfuhevlIhBo>|esrszdIREIudfQ zOBizv2pb?H7?2zQFfC9tqwLQmMxG0V9{^Cy>R{lwssZ3VS(4CaUs4(O*3;?wO{Uj1 z1B&t61ysI&s08RY81p>@*7kSd6yA$j>Mc%*H|aE<77{uP|}kB;HB7CcuGB6RA|Dff;ifE!qfjB_Iuc3*k=cJ0e)!rtZW~!cQ@3Q%${$xkGq> z>(G)4FSMg2vN`t;QgMX)f5(~8ortvxzdIfsZ$A5)=06!LICW_y@CaueQJ_i5n!<0; z`e%#|#@z+m7A=}?;HKLYb%*xurI<{MX*5eue7js#Y79A697jK${mrt-}E4Apl7w|!uB-JNPgw@P5ZUK z#p=}Tgv<|g^cX0$NY{*Z>L`rPe)Hss2=VKUfn)~#e@j2!7i4`&%(5CEeWHx4x(^@W zcwdmYpDoE0XEO7G1J20dpFivpVRIR@-G&)h=X=xb%&jjqWpKp#(-F!cJ+_5jHfICU zMbmnL#!`wM%?WwfOlEKm3akVNX3qSEf@EJo3+HQMLt4;`p`bA*{5LE${x{@1!vSjC z4QKxab5Scgcvd;=($9|-@O|))!7d#@&Z5WjO#17Kv(%#7&~^{>)oyO-^ExuDaPK@L zv*Gt$7VuJwg!6zgT0%t%h~bLf7?VASDby}bRp@>LvfyD+*2td^SX=*`pk?f7W2O_g^R>3G98(cXPww#|zBJeG-pK}kQl{ExhLFw^ z4y|p|75g1vafPX5tp2^+I-~S|gGjjAMkGu=gwB#eZ-VY)NwgGQ0(-g*$mXVJpVfBN zkYO*RVwQgbir$s^c~9VFVGAHAVhF+tXn=?GGWagLN?(O5!Lmw_BXZ+0VAlx3^^=#t zudI2JtY&v0`Kh~?a;#-xtn@RahUBfh>I9?EJIa?91~nphuH5dVF!4%QyIBce4?4M{T|oqbpi9RkCX#kc4Eo z%H#E(neMp@O)t?WCw{$1wins|wZPiyT^LVAC2}_m`;1(2JgU=GEWK1Q?ak3r<;%jO z&YMMWHgOZ5yAm@&m}#H-?&FR*2z$H=f*RZAJXK)I_|P;wp25S%@cKEz_qOs6v*7$d zO2~p@aXCn#NMF}~qu_DtI(+0$nRT;}Tw-{emKO1GHy8Ny?1ZXou3A(4t5ejEM56+s z_BCMc{@Ey4mY(iDY(ioj#RoJe^qZVeTeD>M9NJ{Qg7VWwj27>Uz)ho3jYcDJfe6VH z_E)YVNUqcqGptiP|5=#el#|iU7nuT~EE!OcmvQIxyW5)L&URMfkF~p9ZTbG^Q zwjn6A8R9H7l}=qo!79B=dEez62pfZ2$gvlvT)ex%b2h$RkCv+ODyIYa{r71xm6f1l!5FNP4;jOOtADom2MXXEOE`!n}JV3boi_9 zjqFG|yux1t+us0)L2l zVO4>%GazE0L|B7{c7%<7HQ+x_C!t;D&oyvBmVcFVbi`aQA$j7&qyGGejg4Vok|JF@ zqr;8ANSHKR94&cCj>ICiVfBxKz2^NpQ#Z}ME3EC_Mx{WeSnd_TFf)>3duKA*mK3RI?eV?N$%^SjOO$8Ow1 z>gmpDO0ay6;Yna$K7E`!u-Azme^E9gi45zgC;Dx5!HAKtlpV>SWs0+5!0iu3XOk1c zY48P3LXAC>>1-qL-(8euANf2g~+= zr)l**nEbsV%6<;O=-`uIs|{C#(O=vzjW(*-1LbnoSn!@hF>WO4Vfa}X95qKSpeSvO z13@x8d_ZCp{AP6ikbWj&=EqSUUxTQ!BQ-7ru*NYr-hiE1nD$+jrQPqdDavIjD476S z11d)9EM%j*B{E_y;vI4>k# z-dPP6i8DrLCyG-5-zB&=@nKlbD1Lo+KC{uZf&uT)GYML=pw<*1yiNXR7L+`7^iW=5 zFG#reA;Ca=s=Mm37B5EqwjKB&3-^MqVHrCU6)Dy(QYMS$&s>M(Q`7pGiMhED^$m z#gJHp(5LCzE$ydywPhgim$FURb?vNAg7Vu|#Jioez1WWAK71xM|NZzv6|B zk5xHw{x~TXC+~2eVXo`~esk_AQW9+kuqIyx4L+wsyupSRdZ7tFq zCejd)8XvTl{knQZv@PHPMca)vCyxPRWBvUhd67STT=S7ztygdDH*C&n$ZtBIm4Cq@ z{j`!`>P=zC1$h}&_t%PN>;I==kDH*wx3!h0U=u*`R04`87EnCBsSI?RQl%6H0OiK* zo8xiuY4>v-cobBNI*tdTE81Vyo5p4`W*v6_5&DwaTfZ?$ovuPEYLmcMBQe(|0o?}x z222cV4;lZ~qNQk2%1$hp1OhJXa`!PzLXi&L6MkHqwis>cm8s@>)05yny zG?Uf#m3`?lr5ZYgCiKTxKFEFaw(i~n=L@P!>};OkdaF6nv|(YX?7~XHI`GbOsGR4$ zyrr4CRqtQZvI7-Oq2wc{wUC7y=KPqxH=C|rm_SBM>Nw7;gZ$=Ob<)P-*lhRQkpi2~ z*Vp}LIxC~1#nQswzvmW`u-{(7NirRgB#ROMlPummpYGQoMNoCl;FF0##z~8`_;#N6 zYqKp@ot2687*fcU5s78J6UVpmDy(4fdSUwEZYJKekoBl1bRe0D_kQ=}LU;PEd|~>R z-{0s}74`?Xe1Ni-ovilWptdH-Pdme1wt}ruR+=jNT)_UrUoTO~(9!(L>=!o7haPYt zykXSL2Om~pE*Amq)zxk==a)jVpX@5?3ml<4YRK?W|2WZJ6lkxEkd-3bG$T~0Z+V~x z?Y5!u!j06vM`n<4=>v<&6L<;Bcs=IJc-_4Y1~qWYY1P+TbrKUF9qz`M^H|p3e}*0$ z!xdi;i(&UU%Yd7PpkwIGnQ@c9S@9Cu)=8NbA>cwIA2<?X~1)Gp0mvp30GzH9|C!-n9@MHE6*jyw|>fmKXlT5On8{}5u=b;>}B0CaP z0TXtQS-y1Y?Nh8PzmIT;CN8KA&rgeWL_WD1`wd~)*(p>zD<^X=ewS?lVJ4iOP#UuR zspk4e{!H}7N!lt~=?`Z%RAeWqb4a4`0#K%T6_9t?%$odf(0<@ehHaQA)$!W%w}O%T zEWi?cV3@Xxq-XY2UpaFp;N z$EZG8((iFUByRd@>?qSyT(MW&#Yna>b}V>2W)q;UQwmak@1mtnP$nU9ZF_of8T~aV z>t@H0Q6$Xw_tXeTk=r@L?eMOCgFircCC2jay*UhfBR)il_vcdDb00baJr~UFbOaE6 zZ$JAO<4J+t)WC&7KZ`?Sc&=^TC0XK?PZQRa3q6@+dU#Q4rs~aEh z+yG~iobUc*0Zk^kq*JdLeRkyMJ5@RrAqRH*k{p;Uy^^}Z%dordJH*fN`MI`y|9N4? zNJ{2-bc&>Jgx@M#!{w?{oU^y7JJ)dgcf^B}b5U+~+s{(_h<}AQhmRy;m3c*4f=Vc? zYtp_{D6?{NOGGSv&NAP;RC5h6-WQPGe%<62uZqEyjVjjZfRgjU4&p2g2=7DAL<5Pl3-WZ%J_;D8W7P~-{jU~#LO~Z5b`1W zL)3VMnXA?z$^SpDw+Ef&=NTMGpzlgba^Y0m)ZQ})w7RD-FC1&#iIa~nSOizpBcQXrc}1FyVl^!CC8R2oEkO%yZFOc$ch$% zm^zB&k&;&+5FADs!>SXFtM;qy1I4>hoEZKGe+S%LV@8=Nz(rjZr{guFr@ujlYrER) z9_*vIRcynpc~4{lux16R?RUifdil&3x{9%*Z&hAz4kEkKO}(*qvjpH z9{iHjpsQ8O-kl7#JqL?yR+JHS^H@{kDXFak4K`fyBXRLh+(TV2bB_D5W5&3gBe!~z z(M$;+G@pwyvyIg|M|gTQhs{L_tD|iM?|ySXDe>s%O&2bszvo#Cf+AZ7^c{YMu%hX& z&B%T2R4q9iJ@G$r`BM?}(6#?5X|l;d?3R11Adh4XQ&$gurY2+ z(#}}CTpSXiAx?paNP2bSh@Tl_YKr(ZD3a7tQe-TAAyQ1S4=-00MN@b41IPJG2x4_?ZUn(J&cGNgnWZpnuH3g+nfui+0c5$W*ARpvLFmg9 zV{6U?txtgzi4=)34bb~Fu=5fgP}&qL_YIf?Xt z4xeDowpWr=v6+ioF8@yQwl%Koy0hleF7{B+NCW_l?d^7+q z3*qm4>rF7i)vm_rBqAJQGw-Kp$?elTK9QL!5+VHzhhwS6jv#yAvPWiJ3nHf*5r_OJ$(hkNk-(DQIkJGDrKf{k3dJwtym0BQG!i!0l zyl6C$gUq(`w1nlUpZ}lqnH(m3dDBaG)+ABRD;6`J99Y*;^SC(elCY;8%Ak}0agHH{ zjqodIz?k~Mjy3AAPp}+EOLpC%#C8x~^+D1n$P^$16?|t7Vdo~Uc>tF>B2a(>@9!KN z#*x!+jp`$`-Q#^{g{L4JPR9FI`R4JM|FUSgl>~dI8Wyi>19T&+Iy8D(3g0IBEQwC? z)MUT82Rea0x_|}4|JVb-v<>b+_Ofup-IPeygKrZTR)1E5Ha?+EZ}mQLx8VY zZFXs7pJq~|-fG^?>f8y8`B;qBmpR87u5GTPI#0nP>23QDUgpHAF0F^OVB)WDglFsJ z^;+al93~xFE^gdk;98S|ctWn=$iP3s;4!;amH`NzNs@ndtp}g8Se{Es z6phr<`YX^)EXMlU++eQ8y9|}IPgbn+v?z&(+d+rrW6ktEmMh?67fRfYh&L#V zS}ytKe)H7j%H3U6qiu?E*4DMA$N!eCwOe;)apv0Qw1I~m^3IXp2Bw~=q`h(foh_@~ z`jzS_e)%O@u5lRuKT7FODOxHaofj++E)QeuNj8Ff7^=BrE6{ZMF68(QR#Zanh?sT= zBW_tyKM44W8_c#EbN49YJ_;0MvghrL{g{tFD&6g+z^?SgHMg5%X6mi$&s6EatSbWI zajOK&)wP}9bdsaEp1$kV5PdxUkgQY&XTSja0tx_;`4|y$B}s^-+W&Y81>&ISO-prL z-iu+CJ8VAN|I`DN^7nq`xTmsWB86C2sBp_vxG+*agY<_KYOFa-Z2?qRzTq5PuuI&s ziQCj=)*RR}7cg)k*<7phEwaFTBR(GW93qp9sve0FK6Zm-)fk)b21*}cZK14Cd55DheXeT%I#yxWU(QjcmfYNrV);5O2yQzyEu!xvOIB6cEqW6Yb(+FA7zd%vEB)1pxISG0`{(5)T8EPv@?F2oo?S2!P72$-Bt?Jimr)%Q|%gZTSD_(pkvc&=$&ReJUW zP`ul6qs^6yNGeR^-y-~n`kd0A(L0oo^Ef+k3{%yNUcQJVTpKT7zGn-YBPFJDOHPJ( zTQpOa4BI^G$_||1mTf``8Fp_WKE~^Dcx{`Av6H=B>po31c)s(CTJt26*McKNp9bux zjWUeIS~5TbTB44Wmkf~#w9T`$ZJriFW>okQ+JI`$w-QfquAOZ+@988i=$l`=7j_fz zi2}>y3)QeS_G&3Pbt39=){t&pfkRf7C8k%DKLz>GmhMI8&T^p`?>xSh1sDIza^#2v zB1M4lusiodB~Ia-o<>Peqk9MwN}+Pq1mZ75^kq^MPCv=m^}&DR*|5gmzW@Q*%XWT# z2m^7J>EDmE)=IuDzB?25n>cr8k*k|#u-=2L;W0r;mwT&^t1IFl@ZBl9{e%69OC@+O zw~oJ6fBxt1vtYg*7Q?=_pDk}a)Mc_}c;G;P770-~pV+)Vy?QCI(v-u4ZFwP2I>>hn zK_RKp?xx8)^l9(9Ba957ZI5=<8F}&>z5I0eI!@P(eD|`*>n3`+fH*zwXj1pV z4&|}NIuvW^d;(KvdSw%j_Rb`-HA_0P*X7)h zxtsX|p7#&H>69gbzg7P5)sIIWg-Al%xfhL~m^DEzjNEne-*ya7*^aD|)ffPTc z`E^mskSx5AV2srypbf--as|;GXv1x2^PY6l?*9}voedw(uy_(d?nLXX3ONkbj%03c zcYY5Q{9E(u`h3#@9kp}jDJ1TAg-n87OC;&{x1S&K`M|ih)=a(GR;%&*F4OZzwXY;e zP&qB}Qt2=_F|n3^)sxZTLM}0uU9UA{O>NFq1fj+#KNV;J@q@SFrG|GmeBXR7a2vXD zx6<&Y769*TF~*KkZeFZ{+J%QCKTy!b_B00;fxUs0+;yNP^9z`9j4^K>REx2^g|6r} ztk)CdfUaZA2@-q=KWU^aah9}>=@e^4tT+N{VX#j^`}G{a3{sr9WFNdkYT>^4Rt@! z9L3!_8Joc}_+O6Ph`47W;@zie{XrA6FFNqL+Wm`dmEVZLsWoDU}o1^ z`d!53EG)kV-J69p+MfT6lc#HN_1pTe)nE3ShqOBAtpxN|e^rJ4w;>NI5Oxi~aGxNs zm%l8Tpc=;;{xX_jX5gR5V~`cOF76kHx^^F0Vr+-B$njxq?*F#!J&>|>V$Aq3*(9k^ zX(;2zt=tU8aKn;Uvpt93}D@NTD3vLb$f( zYX|D#w?5l#JMwhL^I*A()?=_T+$xd1BB358;hmyf;h%aM|S*@qM(530F%QMeUe;SRM7uFWB zI`K9}*C^-1Z)W44&(ZB?>m^byYdh@d71wUZwRIogXgqdC`|O_%U9jXWS2b(wr5?Q= zyvJ7XIXc>Gy*+ig{ISn8JNxj%;}~P(Z}H0IP`2=Z%lYqO0#}6F+D`YOwN2EPG$r;= zQ}CN#dL;YS+uHDkEmMfCIGMW;%BcVls8CwWF*DEvd0Q_%l#hiEQI{x!mfZg}0Sfk? z$q#$JTb}$?<`g^1I(donm-Q+1@`6RW-cV25yCa@Jyxai;ccWfMmbXY`uP=h|P$WF^ z1m;D5@~d7oR=G;izIYB^K@5$VNQ8$GL;?Qcx7lVqCz!yiha{Zwh3ZU3I>NVf2hImZ z^4@@MDQ@cYbPYRTa-txXTJF|qAl6qivZuum{>@P8b61suy3K)MQsq4tGMk0SEr5dLy z_%W^1&J{jSo5dlzsZ%eFyLb1L2I#J?f2J@ut#^TtVNCl6r%C^%|8jBoaP@BbSnToq z4F#4L>rXzy((q+ofXnXUY0@8Tr6&LMn)h2rTe!$^Je^>Fn|VV-RtZ`K*lZ=xOCV=W zTdEI#CxvjyV_d#@(N^m$1geYOrwqU0Dvc$|AxBF1iuXh3{!s4sSorvqoO81$uzcRL`Sfs+vahD zl)b&-0_a@o`W$F&b~t=QJM_^MsPJ!0<||Dk(LhC@bMD3jXhAmat`M(MR9tY8LrXD1 zP%ZFd%bR1}H%%!1>5t;}cN?xw$wLP%kJ++N47;xw%(5vDp?W%z!V0NhP0PMwVhPdC z+!7qc9s-^|Kf>B%acyj9uVhN>)QO(y(;y9j!kcnj*aZ7IPICM@?q@Fo8w|cIy@cz3 zyge^mq*e5DSGpXHd&7JdfqBHf@$%B^xAQoEuG^y1KBl%E6IQ4}dwptp z%)syllw0BfJ*TmxL)%b(3NG!VgKij2CC}vkM*-B!n;h|h5mBn_Vx`$o*V5+4Ic4PA zB(S&@DV)mK0PEMofa$*qg1Voy!~#Ok3839Za6$Za&^j`Pa~*k9^8u!?dnAN8Bb5xV z#kq0c^ySgA(i>k5`PoD(DuYtLNnzjuW+rS!+0tt)^*+p2oW!+BZK|4`14Qx|2bKvQ znepe)c1mpIje+g=@9HTqm)bWm4;WAc`$k{^NADkjZMAkOW?w1-R0<2MT>*vh7b|0Q zy!uwr%Xc=Q0Vh60JQV^nAYl0m-T;ee%(`UuO>goQK!k)sy~FDU+_Op(FX;gO-eHaLm`aY1tJ1qXK<7bgb5#1vR_&lT~@HAF&lXnO><&t}? zCbHu!FVzvm#sYG$jXojV?>F2!L{q!%;~YHw_Y2A`?7>>4S+PF|N6ed70{UJ@;RtLY z#^v~OYcb^w#}iJitOk;kS6|^?>d>Ees~x{T=^Z$|r*3$*z-CiGb}va*pz7A+yRJhX zBSK4=i(*AddE8t_%T}AWr{vKuscW`7Rr|kRxZ_OP#voRSo;V1|lxsA6i>30&^RH{fj zuH%_E8eJ`{xZh^aG;aqqJq0C{799PPlKU48RbWuAE4xt7fYD8^(m#$HobU#zA%+L! zQjPHWi?;L1-j!cp_%3IR+LDYJJ&q)p_O)MUB4N|to{B_*#_Lh@D0B$mKtiT@GHPP& zB*cXhx^mpxYe3pay3Auok23zg2>!}%ih>^PHb)`m1FTRm0`s*@wZZipyb$3?!UixG zy(I{&vylCHAk~YB>(sa~gW}*oFwe5$mJ?Xxlwq9CYjN=*=F#GFV#EPp@io?aH!SFo zcU~nsQmLGW59j)UV*5<=Wma2aRb5xT%W!`>uCrm?(0uHD>SBaBDF^_XaBAw9i@mQ> zvZlkoxq{_3Y+(kk)HGOWQ-Jp zLIUwBIiBV*O$jbSJZA94fS_s=$2EqtsfJ8JkyK`VZD}HL#&i8|S!e4$!t)=x#H@DT zqNgXdAu7(~zc~+VLB9)+p#Jo!VBk!k_Ed{vOqd+m-jC>aJciwl?a1Gs=58<6y}Bha zLVa9rI)Pq&?>nz)*KW^)k52;pmo4AH!9BCl^ZT{1+Vh)N!-1ND!;)xX^Nrky8ry*Q z*4o03N$Bn4!CLCqd6vlWkR_x42tViDljOXu$0+#_Wt8_YaJ-ea$d_Ww{OS|XBK62v zSiIrpnuWYnYOEgFE#7c&Sazr0y#JQu+AoZPo|=1?GRRBHsqpUJ~f zBu&xD3djj#Cnfvu@;2SJL@cK`KhFq1`n2 z_1welKilE5iHs?_5Bed*3ENU_inX9b=qC@(=R}O#TFi02L!Ffb=9p&5dC;LQmYdSVH zg^#D7PmQN3$Q;0eIUUa<_29Npq5|D^L|L+98eblsb$ed`A>9&npF+hajYKxr|DdAv zoAInZO1`GrR02mz7U@Vi4H2}~PMeFp%$k6eqP)i`+;`R=e~x%YX?k?HVG9l0JB#}( zvN(WLUO)O1l;a%zC?i$tHzUqK#9z-mkhmroI)Crjb2uR`t{-dkwI`8lb~{;nQ8Pa1 z#9stUkP~@zg=6OYBz0qsd9f~+6W-u+FBzcw9_|>RrQBmI-+%r|1cB6uZ@okpIPVH0 zrIv<)@oI{k9X^|=+QJHwH8^70eKRWIH1er?$H*oZkwhU}wy8!#*~==2AT*2m$Pgno ziICJShHE=VhprexLS%ar4f6h>Lf>&2P}*5 zb&N2#nFI)Zi5Wfbg`B9aykL#QKMqqy(+z_z?&@}7MUzjZJdihv&#%RJPe*$(68c@? zl?b9R0{6y}W2>vzhkdRnDjbi>c9^B=o@7j!NcGH(nj~B0mcut6h~p|qk;A0Rz}9IU zrW_d!*%K+vGgMj_I3tG;4cAkFE~&B;E>iaXMWpi~SJ{t{ZGQ59Z_{&{UT}73R1tXfm|D6X>ABpdf#69nFdbhmB_(Gn zf!=U*^FJv#?^U$q27{+kap(^S%;J{F>XKx}Z?D(W5%OY2KaFhle<~MLzQqFr$Bg8{ z&Syb=Fsjew5ExOqKh5dD+JKD%;FJdMw12;GwWLtPhX|39QeUZ0#F6r*z1U64bSh3` z21IG_U0Hvd=kD$d+(|$9nX@|=DLXmAC`Ub+j^fLS;tiXi+eeG;fi)EJ2!K0IG zxcPV$rEG))U~Olc+WL|A5Y_epm8!AXB~>bwJ4s%2`A!?e84an*B3S{D1+4R^3;Vu=t!IXV7Omk zC<->D7xnUtLtT|yUw<%)l7O)*q4P4ta=J^Gu81KgA=;U+Dtdn*eE*m0aKvFNo~*RK zkQ@^k#iN>h87!DKa!U_k)8AQ3p9u$Rkg}C6B*}ZkjJ}4noh_u^OhV8T5o<;yMi(sH zmr8JnyzN?ILA_>9#?B*mwhia~%;2(5rISPxekC_!b`LL*GEid7y+t~B=m=K=aXNro zWC`MK=}3hyx9kFeQ}pE|ox+6;Fo^nRz>kXUj$F+<3I@+<(ROstJ_ z%WIEdmPEvu@ASdzn*S?R1@hu3OiL_)KD#C`CJHfn+YwDPSj zJrGY<-&H*+bSR3JYyg6Na>Fq}bgrc}MfDfmgi`#1=fI~_Nj?Y^uj`JiJ2#Kd+e3JV+7PS$s)r`uOyztr9b9<9CJ4 z(Zcz5-A?X%{vt()Ted5reD8AeSer}eh@UWyoNukKe$(Givu%F)WKmKs-KLGG& z*T>~8FX&I0a%_djqNl`j&D{?C!ier?*=o#&tyTt`CTjH0Iu z(G!XFvrS-U`yt_^(Ul4}N+PH-Bq8$`y=imlp!@}Fmm;B0fB}c1cQBx_FT2J2p>Sa@ zfj$X}zwzv}G;aU9_rT-O!U&Nm_!H;u$_V3l8qmuR0G%?9CWh{H=AguJ6~2PwQm8RT z`yx4sF`9Ap|EM-K)VK848gswYEp{mN-4EZ0_#emJO0Q-Y@#eC;}`a`jK+r!9!q&TvXc}_FcWECTvW9+CgalD>@VR>uxZgC%VXxjeb|YcKbT- zL}}LASqOw0;e!A2Id| zZtwG(rwaxplAv5X>xVg&0?WyS$05bbv>Dpuo7{9y7oysDV=8zv2<0g!za**$y?rK6 zcvNw&%V!91lO7GZYKMV=ue}9)rx%OFEKRzIa^h!?eAw^qwrkpjF#NKqdxk%c@b(}E zjpx(7?%cWk_%WS+^x5y$xf3@ri`l!c{>$UDV2%Z_5h2AHCrjfG4&cq;3ZSDwUHpHB z&v@ebJUWQ~N>u%&9a9e4RD?mwv3Gx z+74R04)=wSYhL~7(8P6390FqwPb}E_~05 z1dxZ@YCisyTLXvQR^M^`lF&lvU>f=N7s}PxvH!&jq@ul2DPal}J!x?=n@=f~Ma=y} zIp1R4u@jwi?OG75JeRE?L%jY19Q`}9vI|!RvdGhsxWRtJV}uWABywJ^!{%u;%PqQ;w%#^Z6_L5xiZdE;qoxXC|d?p0`0Mg z6m;S%>S5`KcT)I}d|Nj)gi2Qx5FbPE7TOH#9kQ@gNA8 zHa?TU{)(l*nXoSW%agyM_(1&KhgMhq7f$8KP^Q`+o>l|n(`T75H#$83(LPcuI|HEX zu$J2tmvS_(p@VYd2y?rs4m#i<-diF?lm415c$pK%#rH#%;mMAZ%DDz3eJb#kc?x&( z%+y=M#_aZzlNRF{m(M*j(^XUBRv3?raJO%gabag{s1>grDGd;+WjD#8;GOb$H;G~T zFFkc`^_k_z>xFo`JOkbt)iam77sX+!vs4t%;EZ5Ht0!1WxRcn7(@!`4ew68=IYo{M z)NM;1L33d5`yJUB&Amnt%G3~Xl0kmC#J1j0STgch1+{ex&)g~Bddf2e(pB!yH_m~J9Sax>>z)GgSFGU@a2hchvGFVtY`KXx6I3&Q6BM>{iCVy z;T^SV=}+OoR>9;Hn3!DlfOqPKB3Y6HN++fYR&Esh*l#@=KTrtv)Tr;@4qx*&toP5( zQIf=p^r61fq@!X?thTBfO|8XmlFy)3k)Z~|EO+$+1GluSo>XjaR5k{@e?8hjxT8~{ zO2RE}F{apaVi@1%0#bqzBCo%#?@o!W@S@28V*r$pYKE5{!*EpacpTD!GW(G}UZ6Z;fc(e1)2h}vMdtGiX`SaBbb<$2fUrMlzCP9UWt*w^;O8WL|7L$^HuqLs}WLnAFvIva`K5 zS`W}vv9Z%(q1@9#jrHE~A!8jVR>s@eUzqc`lQz8~zlBC3m zQ9ijG^hpKzO&D!>a$20jZu`c?(`*g-eL26=F+63b^c^a2uB>VLj#YvQc)5)Be8H>G z1(?PS+UCpMS$}i=inzg;yLf3+&iR<%=MXg5q#G%)5Buz`%5lroaJQR_ew(Glxz>X{ z<>FF=7(G4@Oemu0L5VW42BQj}spdO$gl-;G7AVPCf{(|HHa$XMA9CpFntxGdef2gt zp)bN2AsOM^D6VnC=HCzknr+fHGr)gy&`)Q7WpyZl*8f&HAFikJ>ftLqXU3eR$LHma z*dVrNpCS>R0`H!|FoQmz~G74QBAjGH+kQ9C3-I8Co%h zqC7|?Gbatsb48{sihIuAIq=N7M!r)2>z_j8FNG&wKdp9jWr^zq(%k339e(R(lS(r%Imo(!%Y?Ipr@=iBy+Bt<=r zz8n2Wg1>ov%@hrTF$K8HI1Th04Y4T7$(M!sFJ@J7w@%YB7si{zJ8fJzWqRC(!p21{ z@Ou)zh-c89{Te?IirVTK zVih2R=hhy>HSM|-M`;+yvAet9ur#o4J+SUMH(7Aq<5>*Xz#Evc~P z3Alsk+lO@6AAi1bgTK8!Kafe(z32E2)vOnGN2LPMykJqN!E7bNQh{)kOL(EG?calOq@4pF_#0kYn(c^J_jF5O( z_3rqpo*;x_$q=v1T!t%VU9i0~Ocxz%*;JNJt(Ku}EV?lg`nSBr&xg zx3e3muim zpO^kUQ??By&j+w`MGBI+WQrj0+0~GNAowBB4D*%(hs;d;OO0>vya>2gp6y|lA#1Jz zr7RS~AC_LC#2QIubLz<(PAV(h_Gxyh?NyP4HU+hh@obxJ?W|dxF)L;E6stV1oDA@>{%V0Vs_J^P;a}m=> zR#tL56KZKOs*^jTlE^T=lCBc)?8ju*Ok5nNT-21(wmN+d^{rT)+YmHbCpJ1%t_yM0 zyc%z6+)ug0M_b~rjQ2+mzRax#o$voc)p^HL-T!g_*eltRkz?;2`Y>s0@Hf2k) zw@CKMCYeW^gKQb4k`a=UP032xBYWMSbN%l7kNeR-*B{rT;rso5KJW2*JzwB(-q+5w z`3|0`J+F4L1I+!<+X$c2^}Ql|s(Els){B+Nn4fFb!q|0Ddw;aXI{M9JXNA|4r1r%Q zr%mvQnS ziR^ffM1s5I>%RZT0syoe)(Q21!Tm(oS0c^cw#IZVCxi0O^^YOQxrE!yFiNpz?`9K3 zjV*TjX^X0oDvku%>Yy!#lMQZNbo)Dd(ZtKI<{uZjNhd z6B9Y&!k3^!;!RTv@_l}>XrZe~p9f&V`OWK%Fr4kV<7=rpa@r@xK%ml7&r9v$X4Q^^ zUyMJ@`m;Nkkimm0wQqlbH7K^*86sq9b1Gq)QNxelbI;9z zgD4(`)0^c3*WGJ%u4WxaVr1hzfTnHd4W|UoUtz!1+#}D4n?zc42m=!Iw6MYO+go9v z`>NG<_}2@;er=$UTCD@ukJ5?*IVNPvbBq{cWj}R4%d7doUIH!LGL;BZE`@n$AO0lM{jdK!JUmutNicl0pHIOfS&zNxG;CA$a8vl3b4eh13nRp0|oM_(zm}WBt2oy%Gun6 zDJT-vaPIf1p6te}1~mjX@?5S(YMSwx9ltmbS7!nw4^WEWoNC60u_VBCPpA8>claj$ z(eI~$Z3Gb1S6>6ghzVWRXWUEpV4)+FX`=h48Y5c?OXTu>Cf(@hOD1bl)5P zdks-;7|!GQ6T1jOx=u90+(()~fJ{f{zs2~a!&_>G2sNtLrzCOT_Lv>3xtOx7U)=uc zy?P}mRWF&xD_73E{wHIOv9D&20c*meFF${KG`Tn~cJcCWsmYlGXWM9}IyGGvyhB=r z(1E_KV2GJ1;VhK90-fl7`2-j{6lZ*hw#sfLd}di$>tw{SHpp7Dq$#v3V#@j~4|c)< zSeHq+S?0C%U}tpTMAvfQKwrBhd0ur>chcL=SJ8@Dd*o(>8B@aMW zuBG3r<^)XfjTtXSWM~5nclxX~i2_qdiU#0nd(;(U;jTN*Ow8}7R-~gxZwvG&QnT~~ zoF{5P$|g}<`|Er3oFy>fCfX`8Fj3=-7tCu1LmOP4=7ty=_keNi(1ri82!PjR=hUx1 zKF0&uFN<5$^0Nn(ArF})Am6F?z@g;P3d z0cSx_=|)BU?%+)1?pAL@nv+gds(`uIozQo&u*6|Po4QL;GK^eyH^`^n_|Uvn2Y#@1 zbSw^Zl~ib5e$7hvh2aOszle;0pwB4v#{P1Js{eB28I88ssU>G#%bjqsz%9~;i%)7P zu|GP(ry2#&V%F@(W3{EbyMq9xWLM9Idv^!w51^C=gxQ(qmrsH5%v^dNC2<*8VPdPJLk*&5_CQ} zI2-}sOwIxhEq{NT3X?kt>J8u(J@f(_JOVA9K!K=H$pmj=v=wkJ7PQenCyGNw;!QaF zLlh7!!$M>dxaopJ0RD~_ZFO7pM-S);5_@}7m>uiR)gC4}J;ka!FtR-+K{}a%GK-I; zBbg-6DjBCsdEf(X_B)p=>7R1V>|7ho07WT603xBY^rk_q+S>KBrp3F87<1Q5MlQeD z!i=aFm%14W{`R_*J0|N?gk3EX;AUhF?g-%FrcLET>G+CrMM;8!J1lAjbjFgczweV{ zPLS4Cr^8mK@lFYOxy)7v%IF(r2$$L)660lTNukf>Hj6ez>K2sE6zygEavzA!`}Me5 z7sj4VyRI>Gyu+W2DJd|UsL?jRPIh^?Cc{cj9>__vJJ{GWArnULuW@)S_EA;WbLTQ~ zyfQn>NN~QHc7p_-HTsyWx4pK})OpQZJL2eLrP7{$-0kPDr!Q$thznz>_|y9INu_K} z=zo3TAkx|TK{fg_W&ddqdm}SlVe`6V4EOtpJtfoI!ddixtDXQLaRxtEUi<}n++hum z;A(({C-H!Glq_4*tRSe$d6%9`A7|j-ergEjh`P(-gi`sLwhK0i`8x4@Q5CLPvkl0#$ykD-HPEhz6Raz7bra2Nh{pGpF0{J zOOZpY8>EucA}jkj;z^3~<&9UStYrM@Q@I*1rxPh6^}jMIT_ZxY?aunWs z8_Zg@WN69k@X|%*Ewx>HB5=Yh0h*G!A9<|K5~$`UJzdPGTYFicOr~S%*aojFjBPD* z?rV)oXi76`_6f?hPG>V}Lzg(ljG+xTl#e5ee^^??J}^$h;&*2 zOk^?!+(;hE@L7hbwPO)Az7^KJQ`J&k!%#&8D!GrmvQ=oDSWAEx8v*zg{fs%f9l+u` zcb94-_hVH*#@^i6^!a(EIDkG+GER)UX{{_D!>UQ)(o%i9+0}&DzU;gafmDrm=}7yUA4V&ePS(E>`6Hk(qbLfeii+n&x>Q%SiS4 zyKs_b2{k(L!!EH52J#YU)Uz@PkP>E3zR9)yHW)8-f6Bb_2G0{K6Q~ ztTRCH=!2K<&xTqE;=`*nV;tbCUE1orvBOVQXGw^W)?ncB^DKf9na1l62Ik!o_^b8{ zFx1wpfe`Z-Tszdy%ia166KZd$fc;!gH@8{7dkXos1#YrZ6;1iM73h}0HedG1@3X~< zSRH3uKg%NYL;?46F?K4PJ6Q93zN3CwaRsfr0(sE6NyS(cha)A#7KT22*P(tIzqQ!q zA7n&pbx@z3Y2!)!M1=63XfQN*uoH*|qnB?oBBylBl>+==!iqv%1-bUoD6hAm7^}-mF34~ACthwx3#%3Mo5qU4 z_n+eb2suK30_0rS;^5D>*X8{OCVs5ET|VB6W>@5|Bw>Q^YBr@j?omkF)6EViHX}CC zXT2?>8M`)II5cfaM`FdmuYq!t>6U2VwBQHZ)H_hK-*qf>;`^k?rfsJUh3`PvRf7MU z@RU+*7%FK2=_1BbBr#&EpyW&G*Kk6iFDM#@j-$WRtjM%)-*$q+nLxKeq*c$M%$xVP zg8*ZgG@%b21D2J_^Cd8Fz?0vF%bHqDO5nQoB!fHf+=8V)1k0x0zM;T!nsHzEkOXW`Wx_qQ?NLf7i~&46&YXBpSim)tnI)i$5opXF_H%vQ=}%g)mg|J*wIxoi;EKe0X;xBp@Fe z_>Jx5RZR#F|9IK%H~nxbD=8B2e)mvfl_v3luRtKsd*I)?&yF4#51(IpLW@ZGAR_?0 znUlje=%ux|Tu#N37hw@kV2LZF0>$90*BX0|m;2TK&hO`l?f>2Kdk6A214Mbj+@a_8 zbEZY)qm-DS7yCp;(V|7_HE{P|=d^@EsdF~D`f$NqV6zJ6uY(OJXi=Y$hd!LUZv6L{ z7K+;|39Bzk-*i$rX^L}q zNf^WsG zg){n)pz~><&E8T`qap7rNv64*ge&U=(Fy@5r0ezR{qR65LXed%)uWbFGbcJU6NvB} zdjMvN_^^Tct8w+Ti=PiZ5MX^N%USqSZS-Hp4Sb<}>G!5lZ;^+V5c>vK0zoiMd+sR2 z5=+kWM4Oqsb66m%RV3w|j;Lyx=;D?1*ih2F4(;KU9BzJtpAmGi^p+~lhiot-%-9}w z*b?y=Qy_fxZyyx><&FdYdal_oGcEM`cj8c99OX_Fy?@wezYquszxUnH(zgcPYfJHT zvvwqL*wU2zN7jteTZ#i`&#xI7=65BpKGk`k(=Di^&q3KqW+0ghi;J~H|DoI3i~+Yq?mki%AQ$h(!4ieB=HcYcuvK4Wq}JsjWqPH+ z&bdoJtu7E|G#0^D*>>{5yFwrY4&j%%UrW90j99b7mHA+a{Zs7d6O@(81u=~BD|u25 z5ptLn%Cys+^p6zjJC0rjl;MnS5MT)0t_t;D(t#J;z7xz4ED2S4B-CF6sZ9k$q0i~_ zRH$I?+1;|9>Ax$0x`#$@MG~vItY-<#>yxe!H2h&QRo^RGM17in_8Vc0=p;+xV<-*g zMkR;nJi-v@$AoTy!+%Z3kjg76{XJA~d<={21KRCw))0u?~S)73oz6GgBMIj7qXs{R`o zSk)l(N19UL0tM?~SMZD~NXY2UlfJ{Q&zl5IxS_T?Ys3pFptiaDhn_rjohTd+(=V*84XWr2h{pdsq2<^e%)`KZD;zlJg5RSgG$|3 zn9ko((yG(=gYu@ZTQMTU8A~w5{Cv1oUrUY8oCK#(Q0kit)n;+P=2J;ki<7~C2JKR! z*#m5SqzSX4M_J4e^@ZBN_ctVX?b;dRjemQT*n2e}9HU2Jq3=6=D!FNSpEb2#f%=nd z{2>4zc`-XTh-y&D7seFE!$Gf`i<&?7eYc_lE?!jq2i`V4kOiNH1A=}j2-Zk1YP50W zm^*q@P7reff{aVhU2$oLV`p{&IvleAEoKXd;VNSvuloKLOaC)%u<$CzzpqP^-rAT1 zt)L5tS%R1^ks{HA*r^2w_z0VA97W=n+MRoSuTpt=rd25x)%bZJQIxYQM+a>s_mpf0+ zPorl$HwMeJqmwzeiu0z8NoBJ_wdZQvyfqm5_4#L9jsWlpb;FZ3ciLr1qnI6CYL&MN z$`vg`)hXp*NdO$6Oc1grITJuBh(i&ecfs`xa}3`yY>-EkZr?{V@c9G{AY*(;Ru+qu<2 z3UgmpND#Ba7~|~X0CW&AZkgU31L2F0&JtFBK}m)!JDjaNm@Rq~=kRy|ry>TUHDF-) zgRAN5;(d4(vVx)plZy=9u6FTi&avp;wJ>|JQ+KK+n@|K^XN#LQ<}$OoZ#W;oj94Dc z4w@7tw3zaZ6&3>1#Vy%XzTff?8O-)N;E=i>@7G3()pni;>*hDP`+32ePKey4Ybl!J z=f=v178`rY_ZB|Heb{Ox%lfX|yihjsI8iY0x2PAf{$|tPC{zu^Vxl;?{bpEg{0hU? z)y;47xZ)cB0*z?_L3CoRjkxEt`b90jruELW5&Xi9PJ>R@KafoRRJl*0C5$M6iJ{-A zm!(n$eK>PCdi#I%+Z+!r!Wx*a9H_CnF!u!wZM7^j$MIU4^=wb#E-)miFC^m>)&oY} zguOy5z%K6im-add49t>&hq=mv*KZ$(Nn0mFpCBdY=n*nW@me4!GNQtH`#bL^EE)&F zjGz!;`chGJjR>0q;AR$aD1}e3`S}%h#LihIDecbH7X$2N!N} zt?&MJLW+Emt^m%DCG_~fu6O~E>5DzPj^_&Xj1wS~&y%~&uZROfjHxBdTNXshcZqUe z7)T#X2(rqY23xgH1Xy}A^&uD~g>#IC^=Z|KiU={XN7nkDKKDBKuUO#Zix7v7T}7+h z>6LknwbtDawV!CBtF$8~CB|5$-K6@k=RQd5U3N9j2A2qGI+5Gs_G(cB$7Nf&@`I<6y<42dED+7)nM!>y&pJ#&<|o$w`Xr2 zm6~w%>{09q@NIT8>4Ll+ib|fIJ;YiQm;`YsKoimcE^UiB_<=#EBOWxk7^Mt34OsLUlMAXqOWB1BDfYl_xI$t^WoSFT{OQtOlM^p()3>2Jin;cI%%~4NTO8)-IW{f-)d_Oyg|I@{YHzE zE?^R0k_wx*gg2L)AeL*6$P3AJkhUX}8w(0EgBMaBOzvaZ&HJ_>iC#X+sh$%+L1jGiu12zI1As6iv8!2RFnQ>+W-{Vr&$~@q(@)^juB@zoS^v zu{&7biBtXPa_cZt#9Xey>p72zg;iwJt-_DT-+`P5^JMR6ZLLuZy(*$`;3G?@&Ia-} zZv0U%7sjs+N71XC2pNyvP8k*REK+^TssF~CuxQ3aQa@QIQcCQjR=h~#sy;_8xMe|j>!Ihnu@WgzUJpm_%33=m0(|fam^0(( z3l+fxtAt^lf0a4HNX$RqfTTjzYkQYN9 z^loh8S6@&L^@0lcOJa6)qZr4sn`SrkKnYH{ zt>N+g&dfOO@!V~6B3I$>Jm{*HKf6OsEr09HCUqNm<_vYX$GdNpufpheJr$FK_lA&OL+dyYQf7hI09QXD$31EVe66M=FJ~+O}T=38X#^+$A61bNE5F%n*h0 zJm*g+Ev!mvM;cl`m#h1iq){eVo%)2Lkj{g~Ijw;XBy131Yu_C#*SwbODmwol$d7i5 z&eJV<%C&xrQyCt`-;p8V_qjCoys1LSD@)mOEGn$aRojo6|UG@yXmkp7}h zZ-5a`VIN~dv;mAIvRQ|uv2I>S@6x-xyYC@r=kEgtEPo?^4 z5j}v53&3BE=~JyL6_dX}{aw-BAWk%x;tT|7D8c2Qk;SJ4d2(tFqdYJy;825XDf;1S zg`A)`pm5?Jh|Nxbe+84`@Lf7aBv5(zS{K~$BPbhB=y0s*&LKpI-5D20>)x0Z$37;r zr+R30rZ-36O@J86uN8Yj*l%FnqU$-e4IHaH%ZzNvrs2^jw%^rot}G!48%sy8bB$Kb zzO}kxn=RWA-!q0>vjQD3@zmn#!PHqDFcDx|r#+`4)|dwJ?Z7<#&hwgTT(lFt8MnNd z`e8W7A)FTIzCg!@#G4*SU z!=23hX;ZF|$J-9Y(A9w~*iD<5n)AmnX7NC4|5O-Pt{_Y} zT;?5X>RZ-k$p7IN^FhUtnLv0JO&Xu=B*g1~e2Y~x=I!!UETmMYUMp~u$SD{y&(-iAOAw@ifan9E(f8n%A^z)Su%U2|Db<>2 zM(Xq?evFJJLxL%z?-`Z@@KnaF$^cKIwQ%HO&!p6p{yI=YCEP|Kn(brqLCg~CosJ9F zq^QW17T${!fxpLVmlZN4j@E(h;pTzU(!Ldjrke3-3Z^RV6Z~_hY?&yZg!c{N?T*x& z%NBZ`AGi|;ZB4Gn-T6mf5A|!}AT;W}kOhxre)QYC`UdgzXdm1Kh!as-CgCIB=sx91 zMHk4;57t=6E$RuOkaJ@muZ4gHqS!_lXbN`dey`jHl+@qCsNAd?&&90K73NU zUvXuPNAyI%yC|iIZIftBVYXu1=j=*LS9mdf#=r}$RC)Z6Wo&Lo@owZw+kA=O8~MPY zEqqnjdj{F(mlu5|jbuHkq`;Rn)WO_E8&X z)RaeB(i+P`iLjL<$h5r=JGtSvNszaFKrD<3;Q3=Q4n_0oB^rWRv68~aBYyI6j7)6A zEgZ{HC_>5))^+Pd$?nIyRZ8HwAyUTn65>YlFhWQ~n}M;mfpHuFr3)YlF{!kOa8WE# zC|@g?T?iredgBg+3K~athXe`Hq5E7}-E;&bkf({2;d+@4IuWPD?l+HI(0-SWu{b%~9gbp|NQ zqBBhbkW5|O*SX?tSUIC_CFoOCI49srnl`CwZ!6snx>y34Q*)%#dSe7wPx>}-D7c`Z z!1AT^>*0C>=wpoWm&|B`5zw4RG4|2l1wmZKaXQ70Ue;tkohUI44Bsh%kgi$=oGkF0 zAB8cb5wR(SfeqfM;i5}u!n-rI*|t5ti(OSj*kFKfZ^;G2#$hg`cVVtmNZB%eO|v*P zQF*UG~{SKw0r_(QCE|6Z7_dEIb z^m8G{vx>sRPm}d8sefD15eoEfo%qXgw)k>`6}fS09MJN*j zCKDS7p`*^TamWO5MWbR6q0cXMIcEXaA^|i1_Z2YGPK>_XPY7yH$trnf*J2MbfO0`P)Y0*v@;*m&#FO|hA!Z$_uk0@hLfC+MG^9% zDi8ebIDnLk^H6GZJ23KYcbXuE?g-Y)08vuY9Yb{Y{7$r(UZ_(~mLQFo$h1gR& zT3(!wf+Pl%iAh+cls;jEy!qejp~M1pIrXwX@8*>pd&&iQ$z5MMlud#pqG|}AKx=|` zVbckoRgdowYpeoq-k+*?z^3b}Z~03e%-*Y7*ewIWQqcIeaP^QY6Ot&YHhkhwLR2KE zvBWRMC}1EG2ksWKA5TBiu3j+C>=*e(8%U`Iy20Ds-_y-jZYr6U_Q@W5TxFEx6||2 zjNX(#3z8(RI%zGXbK!&p;}IJo{pnnx1#RHMDyN4|EzASHeE z+Rdji3Ph(@k{5{0lW#Y;n`y9RIa6Izko3E^`0K@gy1##u-v3VJvQg#;%}PsiG`LO5 zLc6@@v|#qH9T<^dY)i3wuTtI7nERh)T&A-AjSR47?fO^-3`qwroxErTQ5AbYSxh9v z<`jY)P^-)BvtpMyp2?912jb74bE9>CM}tt$ye}1t1djG2=>4&>~w{ zR)v&+6}E59r+ZbLP))STtKfpvJ8_HVW{Qp$4Rn?2#9j4E5rOe=^KtZo=A`8TfLDwD z?V5W~)2r;oJ`qgQ|Ge%ds{j`ZlqAdZGtSxLZ+a)-d?j4Bo}LGVnjUJSy-Wgx4qfO& z_vaS6B5FYfAK$@0L*L@34|<^l1;FKX_j+8W)cwM4yC4Hc>q5HMH3sZWy$zRE9N zqOwYfaUU>i%oUutd>c-H4N{6Ud;)XtBG%qGy*mMF&pEb$B%=^w*ViAG?1j*!3bEPY zO>0h09M|~C@0=CT9O={U&KXp4X@jRFMwN-H}jg$??D>o-I?V` zAB`S_MH8S7B!x?0?q&SVKyzMQ53pcvzU^R`Z_&YoaHGbu0|0UQ20%U*7zqJ1#nT@i+M`M{ z*jaUr0CPhyd4K>5mi&70~UCO#g)C zhW6~m%35=w8_s37BSv^78DmHxf%Ex3j7av0T)CTOGGK0ccZGsD_|+5Uyry^3V5BNN zxsR`8<`hp2K_&B_Nng0yUklok!13~?z1~&CH&*G`nemIp78VODMH)=Hf}21!SNS0V zSXY^_OvkFHqNu+|!3DOrVXFot$S>7x5QAET=STB|_k|)OvCM?n&_Dnb606|>CjJd^ z#G@blqp4k(D)Y(Heg8MDb^l0bxtAyjCKeghPi?d!h_!eDwE!9=^8yH{0_XPQQdZ0C zE)|430%Rf}_moAt$flP#6r77Ery2>OGKw{uHm^7^I7p4%z3p>iEa|`>bWQAxdv`?d zRg2qq?vqpe8z!ps=u<|9z#YB8Nm9ZGAL-GQqNbNGvHh02Ce$&Zyd?I-rg!5{b=Eqy z#DIF437MkMLfY};0yxC1ZQlWtttV#V)C*`;As*Vw2(a>XJaE+lAr#wS+CHFA-S(h4JPs#xrUOp{L0QRVFuFWW83| z5PTFEdioBE!Oq%1J+OZ9mh`P4iyPJW8*(gfc>wHX^Ev@ zJa~T+L*pF(+<`L9ZlV8KJWxK`HT5-?5^j&EY8^B$z3M4aeO`=NB|?1rGW~gf93Y9zWw$Xn|<+y64@%u|TA7_cNM&(_F(ClA=Xa<4SEpE^sS9x8WJx%8H zS=BLPBNHx~JlHy1IzN;;`YYnOaC%KV6(;oi(@1$Ltx^ix{Y+#+EJ9ebJln)zM@qmb z;9q0a@$86y*M(sC+wH>}h~{?KubVdQygqMs>|A}`zj`23JYTy!W??rr#a0$hO122# zuW@fx6fTA$M1V^_9}N*kA;6EmD>jT;Xgqtsc0#-FT63ry&n-%BG!ZhvFwP_v>C5X* zfpLAS=FcdWdAA@e>;dasK1W=etP{16lB0_`V z{}e01!1n|biXDOauUGQEBStH<8pX_jy$LCzhCWcpepL7SNy~aDv|pJR+0mmIX&&PN zLE5|k<27BZ%iIYyz4aSs%hacLW7u&io6b40GG3_qXlFB5E?GcM)9h>I9#k;`;RenH z2CCzLrd@przKkrYScA_x2j&3EI?YT3l%9|OR)*2H-A3b_8#QS^g~kBWM}iB->jyqy zpyXffP_$IG@kT{$32qH#8h@wiD-vs5s-pO#y%+``Z9zrs9^{R21s&y;$ zu~*#8RffV!OineRIvdU;B_jEIPvu@}{;nW;h&p zF1Z%vP$eL9bz*9Lbx?d7^snB2{uqf|!4KKSo z(JW>L51Zh=tmHEw9tx_VfVq2S09*eWQ%AX$#(N01W8p^!RotkzPNWvp|0_f&#@zB? ze?5c?;8)WNbYpB`!q0?BksXIHF5t;91}#7`FoTr3&-5)#22Jj#a7w9}L9bSyQP$KV z`zSCfWaw!c7Jq{nYY6gtVVC;4?q?ita*WrUu+q`)y@sv@RbKRoRY_*x4NB}<4mCRe z9Wl*kJ>C`oLGUL=CW+vcI4e=8%E>5Qsc2SYIkRI5DKhqN6G!v^q!*{kz>aV@6Pn28@6DEA@k{$bS9OE3*d# zWyR^sm{=CGh8ke0dGhOdJuh~cFj<0wnf@tAv(k57+|OhPIeG)r(*!F(uGTDbmtA5# zw7%}|UjLo1F{z>Szf{EkY)Ts^_8Sw@&JNSBYfSf*8PJjq%XN&P055cz;dBS}NQ4oIGF3CBIe5`1_-2>E@Sy`68D6E*aSb57YBJEPB+x zZ>YqS!ESq2wLX}c_5RM1knF(__}kOhA(*Ko#fFJ?$kX}g!j2q62!Y?9zLKC{;Q5O+ z!<-9rlilwk%+5S4iWA+Rkvsm;&vh=gb)`nld&qfh(9fMDcfa=1ev3Vz^q9)=B4)h? zhL=J_9}Lc4xCa!$$}0rE2K?5CYNv%*z5e^#;G321u+rjyQ6y{DN|8@k@6o1>aHHhz z!OZpM`NcgsuF+JES3oa>#k>y_OD;rxr6mu)XcLIMXcQo$3Bfs+=DTfJS;%@m*iozu zW1@OR;Ld=6_D$d63|~@@X8e>Eu{5w&s~BaHn#`fc28;3DJD&9nQ2G)Mm&+@zr66g` z(!2QJLG6$koe=!htRWv*uo0b?7wJG)>hp>7V*3g3C$aLKo<7isS^;Y3k95JOd9s9W z@p_u;9VuYTH3pLOMuMT5V;~6Cp{2S68aE5{U~dK`o7`TG5$9IZUegy4KyIs2D_;pWun(}r*72K z=|@O{7%LZyQrO^yOUm`}xWp7K0<2uG6v)Z}^^7i=$qPHsLybmIjNNvi&s(up$iZt3 zzLbd9PsQN4o`IQpfe#Q7QejqqPz8hn&(#e?UVXO(eoKY#RZ6;m3ME8S>D>!Bw1*{- z34#rJh2QlZKOLL5LlhDt2$60X3c-XM05M`mywn=QTJ{=k8Qq?c(y#fCz)a>@o?myK zgtntz4z|bd(WVj+0u(8ps(w2$-iqNTjP9v$li}=BdmNv-ZB9}`I>nIgAm*_Eco~FG71r8%-$+9DBw-XeD8?2_V z8#WwW6O{%)R>2u{i*PJ=JejM@G_m6HV_0Bw}6!@4F;Ty%^n1zhhg)>?##&oQS99P&c$18LElCVxx-3E;$<+l zL0rOX6BcBFxZ}?w{<)uiKis83W(EInH92`yhOGe)!{X9i%M*b3?R8g(g>FthLyvq@P zcc$#g1QcGs~7c3A(fIJUq&s3`Z zr}*sf0s~gf1tkioW)@?{8YQL_^i|OEpW9DPZdek-mTmlYiNxE;*BF&> z;GKlP(#wRgqxY;1-U|K%4TJfM`9bF-0B5+{WPdyTwYSj-1j`0yE9%f@ivmM@i*Jw* zwGrPp2YeE`hE`lG$n~f!t4v>*1AZ!T-tecu-l|Jb&TV?@BNOP~vru6&(W9(lPwxtK zUJ&sT1Vok_M2}MQ-V6bX+p+=@gfXpq4IkPH<;FlA{?@9ew>X+{{bV|ST0;KwFr3z? zPmD0&KuWD0AgY?G{MdlavOuP2U|ayq;pXiJ^cF)N$FiaPn%0s!3_=Vfw{c)mC_MAf zp=On{jaPEPFzGWGBEN$TeD~AtyLopH{9JJlX0lk>!BVho&h!dK?q-uTfp^ueterY8 z=UhPS^ug9Zs7+`5L3jZ6CLs{IUwPlVlRr!cY(9rl1(ZY z+|9okeT@IeYff+JDKB&>jHN_{LhfS47)~UsToZ5Jtv(F>rrCO^-Z0|u?X-INiq}cZ zm-vOUmpUiw*F8@wojVodWBD^WT|c=zoY8kD6{@D1Q67gqTp7ywb4KEt#M^FPA_uY0 zecNm8oayHcU=$@*8FqvaI&fYnT2h_!ugnuH2LFJ4qP=D zXBDeZ#@6O--B8o#296y9P4<0#i&sZSp5r|W!;qAL z<{0t(^NN-IUnip}?`#NRVGI(XrU9FGojefxSF^%hp7H=o${RaweHTEcpvJGgTcy_f zly|_@j}jQAXfgt?sJTJ$N^~anS`WNiM?dHjfsj(zNP`bpm>QkcOOFt}C-b3^3Jznw z_VcnCqY`W+8Bc(@MHJ%?YFQPZ!Fwc3u}t6&pu#A0@CKY`H?9956Ko!a2zhEVA;pzv z1{=g_Fr~QIg{`KwDsqgWG1tD!4aAQ(?op#%F1ar#q0RR|`0VsW^yq}0F8vT-C&WA_ zM%pacvjsz&4a5J&mu)>^M3m$zto{1xp1H`brXYr3LVWPf+`qX#azwtA@re{+hLou* z0{>Imq@BaN`r#`G_9`7`D*CFeMs_sZGYLg44;?GjSwhBTat7gEfl7_x7D2f|pCqA^ zeq(in_Ikc7q5o50>v#k~l>6%M9r4fd-*xZFHGDdBYW=fnH^dsCJCr1Z?*KL9-*hFk z?jMXymzVH2xdgEGv4nNC_YV;kSuIRYw8tv^rCQHe^>ls7}pO*xvx?Rk8`Hnw2SN4&;2TW|0-;ly?J_Z<(r{6wF~O^h-QDmhk$p= z2|C6TJ;9XOVMaqJHsy+*_f}iGO#OG;uAE|}*Z&#QFg2qWW&#jre>v)kp1U%tlFTU* z<-Gj&*N699tR?hs%u&vlkMKI1yHWgbG5&O{V5w&Dq4KD0;O4JA$mg$)1-F`)-4ev? z+@er2{i~gXlf~~ygp!s2ux<6q@P2YAAA3qt{N;rT(K&%446cP|S@;sOl41Z?9`fRF zPTRaSu_u{GYf9aWu_Up+->)g)`)nH>erA4f(EB4((#?RXv&w?#_;uu9aj>M{%TKRt z?s5Je@{5I4x3wLr6ezj58*<1msLAkJStLSN_b19K1LMJ$N@t3Vd@4;a%8(~89L>{8`lC;PAT3$N(N7l!AB)%qWAD%z!T>@^r{ zOBv5}jcgFB5z@@rL;?A{?%RZex!r{%U`Xoizfk!{S4oVi;x)x zb4JGCYS4^hyjOBRiwN}ySeOMhpV!}e<1GrbF{L=3up^8@qErPoAHNkrBtxPzBQHCH zxX>rLfO*JEg1j0vss-$QS1|2hyp;Ng8N|gfR9*-9hCG0kyD3ikUzkdkC#Q&hem%OK zzZ+d`!j~y`5;_N4ZRLfekIcSf1KKTqP5zI5g?LRvGX&`|z7L{^PD&vN2SwvA9aK4M z0so>o?UUlt{Q3^%W%D%6Zt;C#xfg3Sj#NxXe`9bL>xICIILv!MEoO@fy5e|1tPyF=5l4GVo+j{FZ$`{ZYfZs13 z6$YlYq4$BoL;;-omUBB1;};oyuT3Gqi^yV(BtQtwzD$q*-$y|!m7Ti+k;-O)_MEcA zg>XYww+fX^K!)YMNbr7^1%`=Y1Q&%$iQ)_2OvYU0M3z5`yxtP%x_MVHQ`S4=koY=5T|*5P@WWj@vRG-hWCc@fWUazHS<}c<+a738UEdD1BXT z?q9>n%P9cq06z%eO4m+3+MT*zI3Ba=BOZL=H%{U4s{UITy4d$DV7~j-o zGi;o)HXG|a(GQR+Anw z0xJs(C=DlEC8<96FH(D^RFf`GbuQW+7a%kBLXr4kL<>bker{%OL3a4xM>$GC4|F<@ ze;ddL?-~HS0k9FV3Y?yP)s9+$x3MCX0^xvVRPeRI=Pao3`|mfxxj|C@6uniy0U|~+ zgmcoZsJpcLZ8XYtYJvu@`D+BL()sxv%WyuB#XYgTsd|eNn|7HR?@xpww2bF17>;5KSg)7NR}5Z|7-jJ@{Lx2Cd6y^<1x{0nRkrJ#y2VAGk&+^S z=Q<*rfQ<_cm!wbduR^}s9#x*y{3$4Hj~5(Pb!Mnh}BYeS&DYuv2U97!x-XF-?t+G3V+x}?Qb3g%l2t7`a z%ei{>0fVXk*Y9%$FlA%GQvz?-dI8sOe1p6#`_~h|r+bBv*0E-^xWgLQeE6DI^t{kF z)f`j}vUDgzAfc7;1$bZ7(n=9xA<1a$3v0emjRC8AilFTME?!SI9TqS(WSj6+4Y84& zdoQ^?$#tGQ`F$A9wJ-W>QVHk*EJjPrw|jMiJ#3x|3@4+@wWrK z8wUw8_mSbQoeX9_mKA9SeU`EDdq7TF#+^`{xadyp3c$f=dXI^-)6^kulvKKPhb2h z<&|`LQi=5Fr+2cJ3k~4)@DO}>BCR^n7bjwz#dz7`@R&%BF)K@?>K$#|Ts-V%^>R;< zC$U|*9(`x6a^1bQko{5+vhptH_0JG>5a0+|X4O~lc5mCKwqF*4K)&*uG3s`F+y-5Jn9 zCVYgGxzUMAtLc#boPQXdk@JNwI3{40>hb5Vf9&kjiZLog6Q|R-Sy9@)6aBEi#V6^8 ztGmb`K(6t1dWWn2r)vR|sCbvTK<-L)J{^!GRpOXbv!s8A5KA)OclGZu9BPIEX&X#m z8lF&7-w-9G#`HP^OwQbL6eIn8F@y$?2f*B2+f|5>C|TnV@12T`pd>PYXm|JB^|4H| zma(69{0X1i#g{!>9PgMBWqkT}mwpQTDTlN;qbt(4VeW5ix6EYX_M~FFnzypT<5S+h z=LWW+tAd!WdR`QQE`$X-mN2cA6^)w3iIFjeNo5zC%k!&>%#!~4-3kV&g>ukl$GEfI z`>Gihb|HX3JHV$QZ~pL}*9W7!kg8Q8TylC*1h3G04qt-3uX5PRzj+%crVMqn%o(DH zD-GttY7Eck;+BN&9Vlc}Aoipb%iR>+>C{Ym{LecAd3O%%cz3>BGW;adzW13f@F!t& zthu#ojL1@yFI^M|bT-GHI_u{i03Ai@eaP%^f7>eJaIP;0RM{HO7^z2uNSvyxGS5!! z_`=Vgwhlr{vTL&^9cMqnvpCCpm}+e6ht&eFxm(WvJX>|Kbc-zBx8aexr{_6inDFW` z(&NOGK73WE5<9>fRFzn0(~sxY+`CF*0W#<2aqhEULYbx0f3#I4VeZq?+LHq*7R1PS8aAkA?jtb8nrUgV({wYP7YZh3t6!cC=JStUC@g#Y5RMUw;c2O{=BR8h zJvmOc5!+cjb$dbUJ$Ux>|Il>i(NMns8y{mQ$zIm6Gj<}`8nTQnj2UEKvhQh9cCut2 zyX-M!WX(pYQqo)jyrn={)n?&-=dK*Y&y-GxOe#jE|E(@;5p= z?wtSJ0E_p((VAMcAcU6EqCk9E&O%JTs+{ymn}qxlxHjEMf+6m8{zCAi(vALKRd^0BLSPX;JnT2}<)XVzA@2PF<7oEB9H7OG?md<+hY1R10#+2E;Ex%CKLt zrVh=+;Po$C&OzHOISGg!>9)&@mx7WD^8D|MawmYl+V7Dlv+n!I(=(cNSsR6{%GpXk z+3sEXm66DXCv_{9%C7npd%aZmo?g6qpW0uU%e(u124P1oYU34!J6k2G2itx^AbA;a zdY#&*-{*Xy;pffRw;j)xpHoyimfzvIvTanzcR1Y-L2)?*3#H5oK2>xm>$%~XQZ{74 zHwv{7nZUexd^^?q{O~{?nd5m-(6yRvP9|D>&5lvib#=4sK*(P$cz5|;r9J4 zipWhq);7~FsdfeO8bnf_%(gEiK!VYHqq8bbFiLl}AVVnK$Y|=gHTyM_c*QbwwHPXL zxIW*Y(PzNuKSUO5A1dz}w@;v(NVsMfuVM;0J1jTQZC8W$@U%#n?%FI!g@tTU&f#($ zzlnyhU>c<;En7GT3cY`@Um5-O#yyV)!a&J5-G5;>SiZ2Il%gVqg*K^s^<}9IDn-Xk zWznKeAxnYoMDXz-lTxfE6vvZb&pQSn`^~0oHHY_?QgbV`Dag$TP}bV$vb;0%RQ0UhjV8?A04*b7tVe7XMwa2WoAJN+fv zqao1K1lxVY2}>Sn{_#Y?E`5I5l{5WT(2E}H3mdZ%qTs5~XRrEU z2@!5CF)l^}#;F2~?jvGX$^ip@gXp_3jm>n-H6KM1lt;s5;19i{V=oalMh79dXYsY{ zy-^p?8zv^~UMRfJ*K}IF?B7(9*rK=NuOL+?3~&jo=;2fh5>}Zik4DuU{u_MrW}#-c z^deoxTH}_-mo68{1Cj}^0|!HZs8`Y0<@C}37S(fKIFV4U|)R(6z6fmYkZpqU?v;p|4Wtd*w*JFT4_;r~q-h<<9jslzn z6|0wQzK8v(A{;wFvVhHy#mg7?1U;e`JvQmJI_!NF^~!x%@9QUxMx!dzHg!pYkaTca zi_B8F&eMkj<7$~Z%`f;Vsb61TmOgCu*7jK{>&g7dxjxOp*A$W_Z%9>pNZ=DaRp9qK z%>lyQ6p7)$GjhzR8bTn9x0@F#%GIj2F@w?W*uSCuT%$}iw&7abODx-S+Z@uyFM7rd z@DrZt9*5;F744t{@pS_uHmdJJ&=$?c;4hg~2MN7lLjDb zJ^8X)?p8OeAodFpc*0!aJ15C4e~55-MT7wRt@0bc#MQpNTvcItBN((Hd5%}MKbkd8 zRS7oFi)Gk7)^Z+_ei*5j=bZcm66?Pg8?)$3a=Liu8C*OJKf}yi`Qoz#@vKHy_s6Jz zso@q8{!2}Df352|YhS+7-ds@*kD(%wC2uGXG{;^Xl<>J7PFrhDsO^PtJovOx$daIpO&7RKTe_$PfLO zE0hy|gh{cMYI&UYFj!?-{&4&3xNHQz+1!c!#dY>}T;b+d&1WknHtnMu^B)4fn#0Du zzphdxCWB!rF}d!Pge~0dB5XWNLcd$iwD2>!3#3^@@CUZq?kdbmf(buXkt!z)NP;6* zsz9 zq2~6HNCXql_Hw*ywdcBAxLL?Qx92g9|IUmYJIJ~j~WdA|5lSy)w8Fl}>ctvgbr1Sf4$*o&ZY z;{;}vN3gPriMTFU_yBnQKHXuS@^NbY*AcuhxI>7TL0NrH6Oah7DuOl ziOvbBousCCCV6e3Jp?07zHdJ|ZatQqBR(=-3kU(O>z1)Y&)gwb1Y8`ey9H>|>i=B* zJ{&drx7Cy{+OsW8WSyj|OgfIek@keoo$Gy%L;>~PN%Xk6Zk9F~E?z8nG3?%62>08e zmC>Ddg~%_r&gxrg=Sy}uF>0mpGvrVt|J)%PR_zC5&M0_1^7z}MTl?*$v#b^K`c)GW z{D-?NKhzGH=3mhiUFnjz%!Ix)VGqFa3UF-B_vQ48@?vTi3;DsGh}acLx&&t*u1z?^ zjBm5#SF!(Lpliq>#`E$~4*-_k<_M1_7VZ{;C%Y)`|1m16dMQ#wpRRL<6g7?zhCe9? z_+S)eSQ60_TwJ`e{R?q+Ixn-$b-qB^hrtLb@3U8Jvm>}?0(Uzo@>JFaI)V$>m6r!H zL?W2qXNpyyED9Pu-kT1hFRBTC(F>ZA?={f5e0!~3%aLMp3Ws-|VHxLd)$mX^-+tPw zU`1jddYtRZCU^De?u`4LiL=k;`0o9&pDzGNP^H*n`j&>yQ~=4OmxCeQA8KSBC&zL8 zq~jbhNJz}ByPPV3B?@|KE!UIegJu_)(Q!I3BVZXHQgBbF&D4AU&n}HN6Rp+?^s~g0 zVBba1)5_?f4&p|ffCfl~Qz~+_p>;=k%7XZIg4O_dPY~Rsfhzl)A)NuY``DHE#K>uI z+ncrpAS3~b#44DPjlAKiQE2q1I>|U!KF-wRJqoUqCofrgwc?9f8f0!LIy`u%sf2eh z5v9M9!HhvJ*vXOO*MF2{AgHX*hEaS1<+$!AejanLb#h()tVB_61IQTKqOa8%*x7>kJ+ zHbCs?dG?9wbqIsmEjlW~mgn~1(2C>atJ2X+EuSx4H39+MDh`0U)YdPkXw0OLbopm8 z)SY8^jgRw4HYFnsDOYr%emG|hn#}{m3tPi;zN09?*d{(?;_S4hTX;sw)+R(UwkT9i_xII_s_}HI#d}x+iXgX zS5SZ+E~Z_|5nTGjaGkW`=~1slakreOxpygpgD&o(Xgc&LE#~)Njx3$oUhDP;k)(#k zx5p4-)X{F`9|yPwMEG@;u#1fU zWsXz|4@IT1s1JGtE@6yC=vQwrX@5C~Uw-~j2Dqs-jfpwHa0x059$k&n3iTmHEPo)K zDh7!`X=VYo8yJ9c;3LAKw`D%o;xEETG6SGe!oor6JgX#g?Caxqqxp6bd6e(K8C8xi zKf5;+-;mX~`tHD~a()H?7>jv}ykQv2{ZgI_gJ#hj)u$WQ?TG zCdDn;@?MhfJ?c6nGEHyD%MBi^WZo0E!tG>nxyOsE29KJC3RUhe7WJi9G|RWQ-@8~) zQg&tR)RjO4!)(GV8gO1Al*@3v`#LuAHDZ1zwfB-ZKcBjv4Sc%yF*#IVINjCB{W(v$ z?QEo1EbW|e%Wc>@bG^$RB)J74nmJ9%C1I7eyL4Ly=fh&!C%Xot|IW|&)=xB8Z$Xv! zYQE%=>z{p_O?|W?Q9i!w?CUg?0dy|DCg1owa6j93{VF4*!CE33T)z4xCM;`=Z>X2R zzZoJhbnA>|EG0*Qr=$5>tf0t+>a47+NfX8DVMu*gp-`N&^!5orY$kegt-SWpd+EfT zFjMyqBZL_`BEB0F>v5s^aK7INSsDmEbJld}Y<1LCm-BjXfu+in@b}^VLj!(y+lxPw zW$tel)qIes=#=xk4~Z(KDyx|0>WemX-(OFdc+%z*?i=@BBJ>(21MCB8NTVE9PmhVd zXVHR3f40qHb9UlvGg0+3(DLyv#^SdUi?QToOEMbcD6HpYby&*=N&VRKdFzd)G|Xs{HjQjh22HzC3sWyK27ak z=7XMIaN^YtKmGjHwI-lP8&CkP?v z`ws#9ZZ-YKmgXIHACnr?RBtuu+s9|=c8jJuItFkVya ztAse(_jD`y+TlAcX}1-CS_kgh%SGwb?-wh6ysvzAem-dvSo?9X+>^_*tH>vVhRt%i z^-GjJp)I(ql$*)KLo0cEJ~9A6_(M+JO`Sf%%;3?w===-DJ4ht}uUNzU4px2AQP1mK-->-Lv z%MkvCjW&P;bqo+{y`Ok-%OShJ@*KGsYLZd;qq^L?IK*-YCz3-2!0e^84ayw3!p8n7 z;@NRj<0OwSYP3mFb@s3*o`Hc=uos0UY)jnc9#>J#o2D+pnZvjAE%2@k;b=!{hGD#Z z&`}-Vty2ol9gt$PrG*^JI3JpWEL0}uqAjvqP!gn5@Ni){z+?ozgc5(&f6oAoapx*b zW0z(nAWF`{ZTf|rMMLUs`e$Jzlgtj&YnfWw$l%*#d7&XdyDM;}CNg=)jp{ko?c`Ry=|J}tUV>6}^rHQks~ z-twAze|MoYnM1Rfc_OSf)K9>G$R*+fnNBW5)-2+Vo@68x4k6*D@O}P1wi-mjo9MAg z1*mpJCw0Xc7!pXsKHLIE=nKu{SLH4mEVFKckbSCev1w2+pd0~4Brx(P4ni*oPo*y0 z@}rqNuto@iY9fGY2M#6N0wR1R9f$$AeskS_p?0y7rzlS1x*?l!nS&}akonL!WC$mkS;%+xvy9*Po%NGMysxCncG$luvjzy(|1Js#-$4EaL(dDrE&tE;dZRXyPXefpQOC71SjgzWQMuP_^79`02p{~nlo zqtfKMj67X+uC5&_(8n?h3SW(4b{4d3XMXQL|M>oLx`a*0wW34TlF(CA({MCJZMXb{ z2w=c~&qIv^VQ#h#Q87o?I9pG5^%1Bjr~m~yWCLY&fd5R6FMed}9qnkN7l3kd;^UG# zR160IQV^@z45{5XBgfUF|PrT30A;tPL02#yWJI{w0WC*_tYN( zEWC}+O}a!OgeU;$Cc=L{B1IJj0U{j-ND`aZ-TBG{z5;i8jKUNYoQJQFbna_KQf_a@ z(HMV;)~?co2&*N^_f-R?StA&zO_w>tfAHOBEh+)x_bXaC3rawuoEl+8)tW6zsWm43 zz2VU4lJ40wU$MsL*Re2@k3kxZ8jB{bI0K*r4o&Uxh!yu|8!0Njdh|AQpq&YD9vj-s_K4c}Rn(OQ z#_mzkYXinzh71R2iCJ-<*=rz0-KwJ^gcsb}3w{!RVMzp)R1<0nk3KUbSj`CBNqAp* zH%Tv_)#w+USp5-{KPog=@ka5($CV3XfB3!gmj-&{!@ssUR+8S;ii;EMCVVDK-mSez zLHw%!6jZq}DDz2vCR5Ds-dT{Az?}!^UUhy3A{HX%jH{K}y`9FbZ=*gh|JLU!)M{BA z4BR-ZT_5yLwsoJVe5zN#J}?a(tw>&$feNn+uA19P{Q(|a#_`}Gxc?CO*w*=fKiK|v zgz8+7>WnCf3R@S3BsXQGBeS#b*;3vcG>_6 zmKm%?f#2*(j#;{tYC(qd1pO`9mE1j!+a>@aLPU^(pvYEf z8U@W2<67&~=_gOLV|xU-n28Bp49>p-d`+vR#A6L_5KaMxg83t%(;!L)>MBe{VRer8cStT^AT7R4$BOZtvJ~L5FSEtJTsG<5*wT z|8$*pej82p^6mK`e@Y-uJz7DqP`&Rk+Apbs@YxB3Lpj6HcAZ;oJu^1IgFbPWm=u*~ zIdJ}{Amcv-K^5)l%x*lwOZ0EYONX`@9Ug)-P#|AF%w+}VqTvo(qvPBwiA49?z+>o; z+~`@=;T;!_&YIbyql$hQoQLn*I*v6$(h%WvLjBZI18vjD+m&VvWJdmUABi>HZ&YUy zm6j!#)l*>Ag3XY}`|HRfdC`A{{ldsHzR}3DuvB=pk8``gqc?#ZhL%?8JI-9l)QYBm84H&uW~c(ueK# z=@*bAQTVawH> zcAf9v&_VbwKCRh|(-EpDDR|sBt~o0y{wR~Qg_=aJn(E)##`#b=%5Bdh#7W(x@+k$z z^xu+0nWr>@VT$_**l)>@TlFrXZIA0kBs%_lINB8@vDo;Ny>>wiM>`}{zV!zDyIv_i zG+#8LqG||XSMbSkJ)W%d_CsnpsDTd&oS5JX!ufZhfWEtIvhfH|PJm$)sH<;dM*bWu z1Jyp9I+ap881z)Lh_SM-2SsECw_B&~OjPB3E>5Hk7X`DwfRPMfHJ$Scv;5Im(g$_Vo5mL(YbEfy%Gg6dA zlj?=te5Ol+@>IF)cY zI1uOPcg&DmHHh$!cmSr9vK2q=MF5fqWOC_>=-M(P&2V(bJQ&fZ9o1_6zag@E+>;wSk;o4{dZ;b6XB?AkO0ckUd8r;x!|XI7FC11Sg*a>)PWl)1zZSeFcv z^{opPwJhFrg$Y#@W^ab9NY}=o{=@x>Srjw(RnOyt4_Nu|aByBHlSxbSkfA-NY=6EEZYQ;u37(ujv%V=3bEmbX~Y|v-i|v)9E{E8)&NUK#k6wCY$qo#0@e%t_p?sQ_|p^G91~FRLfT8t z#KT|~GjRVUE)GDEVhl@mBs0N)I8NM4K2F`{Lc)BH1Q5n*Xki&7xVSfWV7qo+rVh=D zFsxu0x@PCW4#@O}jgc^+ND*!%OShSk*pTxl;V3A;%gscyqHas?UIA$jjm%)D-;y53 zL9{ZrQ*OX6Nns}yjxK%9Cj$xr3GPS%C{#o`9BRQ3;C|b;2zR1H-=;jnVo~LHkZSVqQ)xQ)aI{~(|v#B!z8(^6Rs8)cNZ@B z__Rz7Br{$#eIypH(waoFOx2M{#`&~gK@zF?iW%gxV?lJI z)x1_7aXro6K|BmFX-C7>Zq}v{gY4=qLCvk;sFM|#gSjtb-l?06cOBVPS|9_fEIU<4 zY!N&~PvNu6E7!^K9`rZ8>%p2W3fQ5-(Ja;br@uM56aFFHk>iuJZF^tULH-cbC6NJ} z$Bgu|`g8nfs_frwEQt|`WmXOk-~&@MA1Z+t81Vz3kx%Ppg7m=^@e0pAhOUvceN+? z95?p%v|M+$C~_kNvKMg!d9|@dO*eCK@8%PAL$b79v;DY6tDoMGq+QkLSP_9cb#s6F z66vRF>5e1RN1zsrNU_?>Bi~$gNOFLUJV-|DeE+;`aixa%@%l}hf?zokv!86ThW`Hl z5CfK4v9^D{zlAV|0RO0j1FPGQXE|mhrl+S(BX>6TW`hyj6YpOo%0029a!2LgGJs`B z=~M_7P^j`ViBtcfc-Pk_ZRl2~f|&_>lO`y0f2+8WbTJa@75Ym@>fzHHU%w9w=XccY zlq~bI4_l;7zsa5jg}lO`LW0+Ay~%_Id2>*ux`c|*8sF-r&1)zOMQdJ*V&wcvocHKj z2@Z;LbEYB45tjgJ^8+_>oV_%Tw(x@gA!dA=iZTd;#Kbk6z5YelRhO^Iy##xP<8#XG zvp(j65NPkWGtGiQM<{HJ1A;mo{c@KQnW+6Ih#8>%uxAj1&__FpQDc0zV`I1X(;>o& zel6m#-EYmHB8*s*wdryU5Ua1Aga?L!@UPj=ExH;{zXvXxolN##X33;L@Dq-sl%F^=82@PJ!Lb~r} zYFI|LehT19%?d)F#$+9L|^H_`3DcZ}e>E-w%mvKSTqhb zN)x8r%-Xf+z>_{LS4jI;vWwEHfi|)j-ngOlvc*{+HAB7~a(^5?@SQUkCmc>`Q)VI} zU=rmull1Tn{^$OA&4F&#^zM#9VwaL8INjsoin46(04g6j z+1Ql{kFS3m#}%)RF%L*ft5KwkG&EI)`vqwC)JKB-H(jm_^VR1;rQhE`IrDq7Gvi!8`X7?Bkk((5AkDdS&&y zwh7@hFOBY2nLGYm@fgT?d_Gq}{X2+LZq>$|7e(j)mwv$(W?F5g!CG^7b>8Vo=iy05 zXXYpSP7DgXKu3)`uR@Z0>BB)G9FQnj!Mg$AteZsxe1Le`JNj>OA!IvzMp=j$*=uv$ zPT>E=LpK|otEXZD>Tw)-?)JUffQOIq$L7iN<_q1Kc?&JQj1;qir-7vlGpHhR5Ix=u z*UOW7eg`-BFQzE#mY?o+*6ng82yB-DSdyTG!rqltW^YG;!CkU;2>vl=eB>5B)@fS> zEJ%qqvixLf&2vf5UbLqm!qk?@vaSjR`~N#%V`KwcZ6UcU3^!ip2aY0XfKg?a4aRge zo|_!sT^`)Em<`A0%ulW}Y$KMX!_swmVm{L%c?{}7SOSh2^PX@sQZ0^mt*Qag3FLT~ zU*dp0ob}N#(?sxdD;~RaaOSll|G2;81&oC9t@oXN0P7fgUG!LTA#RezUkr>T{dIUY zH{B#4-4iKK71G+{I@z?jDoj*A}!&PZ#=o zVum=gY!@qfZap%!=jw1i^O_*$i(L(i;~aA45FUQjfBXg6KxQaKr_SGb&dMCP#DD+O z6M7A5qPVCmvHpk0iKhj&P{SW968vZD7H0bvTecEwyE{4uWUK$=x(GBkveolr?z#Fb zyvE;Q&)TWuO;u_6BvjE2u^fphz)?J>nH%iGvdo}B-<1OO{KFS@#@Dg03{5A92p^|} zAYb}ZPkuOT#bjFGn*VBUrQr7zo~!X1E<(ZCe&=%b;zNqMgFWggPa7kcV@XM9lMqy& z7?gCRW%|!)gQ5;sVz=lRWryizto!>hRkxA-s$&O2gpPn%IxN!uUF%2RFQQ7F(-her z^{}{Geu$?l43fP+o0u8Thvw;=ZazY{Ieb-_{JA7Z&uqW7aq=wiR`c7H6jI*3e|O1a zZuu8lwS8*^mkwc;{onAB-xZzJFV;4{0-cQ_^jquOf6;E;bJp{SU&tPrrOjPNk<)6{ za3`%I1u)yVeJsaQ-yY{1_0ox{KAThgpSgvCi0;mPtKY*S%iJmGrdJqqJ_qVQr-QsN^k4I=VI{se}`K z^hYA~CTZXjK|74e!(UK9Ld=2)M}k#ZFH9rf({Vdj@w;^m;oBReKbzK>(j*wd`#j^N zDC1za2&d8O(8SPfZUNKh6JviUx;|hizt!I5X@__ko`1Og4HJ<&Hu5etA`Xt-ggEUb z>ynAJ9bc|r6B^UZTky6`*S#|C-y(-y11pKGZh^kD`(KT-R{fl)a5yjWa&i$Xh{wB? z9*gMgh2uaYKEku?-`z`$!wp*0!-bk_HM~!Q&BN0Zlg_4#DX!BXPj`&XRSx;Yf=b5< zmJV`cP3RgPRynW!&W1c(>eq9CEQn*YevPS%#eKt`)?EzRVq*+N^tc~aQRO%=8%Ms2 zY>oT?Zim;Qek?@5WNrVbYavu#RgtFwG}>2OMPh5C8R?gzfC9d(DOI0i!VaEOd&r2G zEH`wTTv=rmI7e^12DK1YiqApTzs)M3jf|)i4k3sjN%Gn$V5CuF2597Iq~Hb~Zy5Ou z;TA_FOpM3r#dL?o+NQ1cJ_a*}yiD!~5`k&pdswjHGok=_F9>d#-kTJ(j6evWePX?} zQvnwdDr<*c6(h%M_D~jPNnho)&P*{5b5 zkj_B?Y%pBA9M1Rg*D2%^Z{upNRpFm@CoUqHOauqetk3e}jgk65+t=jpUGc5vO{x@V(Kf#O{#|hk*a766X-CV@aa#| zSqA%900946NR(F;v2A*}q)P6CK*b}3&SvWiKI}4|tu}p_5FdB>i(>zI+9<|#4FcZ& zN3>YG;chxfmk#uLX);&FclqyBU3XoE6t=QJh&r-J7#cN3Iz`2q2C6KHJA)v#@5O2_ zktD=@Z5SH-m&mn{Plwdgek}=wO$lmdV>>EIVv-Y`1eJ zV_410rycDze`Otq=%uPonpNY2g3jk5d76+I!PMJ# zt3H8_vaaxkpk0i42(X9AI7{E(t8B~wAXoF*5x2{6`g~#T#yg@m>$&FILF1*nbcQe> zgY0VA9V&l+YI0E_QW5le=LI-HHNy~bv^zohG{B5fMDx9ZR@;gcHMA=H?cqD%b1Y8h zNF*(Gs5u!A6K?)?HGGVh)&e$80~?nSnxvmx9BrglvmNXav3QDDUL}QqWm?Eg{2oKP zDJU_7<1@`+yItQv7dNr+gnBneW`)T16z`RHpf}T2W5Gb&Yo+ybPd$XTw za#0w#J8=s%VcCQGT({yzdMy!(ZDD9W02m$A5{TRxku)GYoPrb76QnSL{YpAI3?3pT zsO47K!vN*E2lo~4XhRBP(xAV_T<2Dg2|ULTqnI`CQYfWev_ZWIYellcaTRZf9}L}$ zhZs8$Kp#T&G{9~{2$#E3@7;x!?iKDn)MEuZrWkRHTXAVR?11d=iOvEuJB|DJu4`46 zK+8=(Rvmt`Rw6wkZFP60Zk{`G_Jbs^KSfzF)c1!e=M4D6jDwi&2SB3-_rSvkA&V(ZzNihgt}X@ zx$_|hqxs;!+P>AH?xS~O-;b7F(g*&Obx(X6>w3aTCb`i5i&?E~3Qv)aBAcPpY2D2` zdRO&P{aT@^VU6w&;~(#qYft|=m!1-qJk}(d3p(6LehWkONl-*#Xq}Ej0o>`a%>C~O zvSk6fiJNNQTTczLeA3_eh|9N~7uz9$CY2fz|75?|%sq!PKi<1+hj4(gY zwRRRE5_X>M$I1^xSLgzsB^81BVNS?SjT{stO>T4@)R=M0dU+hX488-vSi@?V!Uh%S zDtaQA_9PM&1y8o|{Jaw{HcYYEZSTZM20?9p484Y+s_}~brU}~x^0Bh6&*`=FSdf)c z?{*ePPJssJKrx&e-A_KM%Ld9mEas14z4s*2T%%-K2jTc6_ROB-dET3wykU$^J;im% zSD-+i2}O&X4MrmuoZfWPTef<*UB042`oe&R4yYq{t2SF`=O3~-4R|%up1%I;{T3yr zYF$3{y;>HECo9LP>GJyCc7GlTB{1(aoxXRgh~^wi`H$#n{5#;?q5wnwFc@KfthQH= z9{xttXr`E@s*3|bPEwinqR)npWbk=+WY?;{(L8~!Tp0Q~TA@Xs`ZK6AYGe=$V6@n4 z4S2w=Ywv`LcxD@MeAgY|K-7mmzf?f->jc`I;z4MMN}(YAs%cK!5)!9E#3mQb{xik|D;GZ zvCP%6nS|farr0mayNYS*VAyDuA`&H@VtVm|tLe#GfcIGM)J47Pv|G#d592DJaRy_(B^1Qz%;N z&1qBPTDuQ7@6xAPR;`8-=WomvGSk_Nzk`44?dP;Vj9MJgy4`JRWzH3DVkNosFIT2H zU1$2pE=$~T@oOuh+H&Bk#f@@{p*pt9OP+#De)Bu^aILUY6KdR#)6|#Ty~im{asU&{ zjyX-#w0%hD1LEOVhRZ=y%lBB?#L8dNbjC2*_V>%}KoUN%O=K3t1^kuZN4NpvIcNt_ z1ez-mJ|G5y7bp|Ki!&hevo^PkM_auMAFO`^tRJlxp!(gO4Ec>ew%{)n0hmJglo-0d zh=P6^y-^}6!foW`qLw;fIke(e5j~#SAjY+whtGtKby~-G0vMW88ECLwPu&FYeDFf9 z@Ly`rG7-(7U!2$`ccYm(?>dSZ1nCloX;TQEV%k-4;$>#=zll>BB7(Yt&3+UE3@Ef~ z&C}Sdm&f)D@6+x!+G2CXpoGy2MJ2RAQI1dp@{^iJ8^1Me_Ym-mC$mZq$Itv8o`Plk zq@EJU8j$1j91DTKuF>+bo&9TUFJJI_rR%lwvhvgqdRFh=S*X$lB7`L()US#y*sid2 z2fI@2KYspJHTSb)MCnJcXb=^i+8t4okh$MG7WAR3;8Xdt78NGtTI0Pe@vP61qNipy zRFtd^e@(q|^$vUhTtZl=y*yodHb0EFpKotkLw>9P6ZBLZc7Ok~ibp8^i8?>kqD>9RL2roA`&*5+qNlj*OIy>hT$ z_+q!BKgUAi5`XF}Oi44~0uB~%CkwQ8kN_ zsiq~3I{l7JfrM{u>#~8L^6hB&r%ov`mS1fgWS?d{da~pfTIac1L*zHK^klLeL5Fb+|k)FLgfG^ z7UcP0;gRo3Rfp1nE%M=N7o=Eskhcf{S|kT)yQvhr0@DJ({$y?C&nB81!(DLXkci-= zE0TtTC6l0Frqaa?RIl%+12R*~u;xi-u#p+oQsyB?Q04PovJ7;v+qAR&i%`)`ihIev z#CU5!Iu&ewSC`-XVevMQ*-M+fg&9%0MEGjZPxKT+{9TCxG+ihNrZ@~0*`@@m;xHpS_Zq9i~Y#p-mu zR$I}k9W@=<-(or+y6^Sm3rx>3dp9Gy#K?D?P$4aAe_m=9kzPEh;@;`MU#=~zSc=}h zU2usu@V{doR1r|&%|jV8=ZURjUJ?o4Is3kwQ`4|INGyD3b7ZSD2)zp?+-VIEwqT3~ z=*wySD@s_lD6}wcS(*}5g0=))ow&k`+;yiROk=}4+&g%~;;&=?`x7ZFBUnCR4a9tG zQro?==0YHZGe&WGF z`F8C0Uv9`D2tF_C{H&1gU|P<+^gZgL-@bG$JVp#>|8|lpp1{3J2D)y<3Y8tf311NH z-APU*d|e37<36EN?udxP3gNCg+dYuuYc3O!`>n{SQ}B#;{feMKivDT;YO9G$eQ#atUiRxu&{=qL z?KnBUZuQ+M(Wh&qsQMM^;K@~9goW!_p}JU?NSf(KGqu_ey@~vluB-+qZdp)Be-lPZ ztrM89ovx?zryn0#J-so8-5Y)u&e)eKT0X&wnw)<7+@?8*#OL%QUlIKi)JJ7M$&p`1 zt(t)vpsw?0*)6Lp7thiB%KRPwV%Ps&M_kEGpRoOw@f61W_@tmXEonjW5d;eX%#^VA zP>vKu6Ky?TO_$9a4m@jv5aHp>GKDy78IMrvpgJRiq24mR&em%hBBbvdm5-8+A`Kk5 zdv-^}iCxgxuIo{Zmw!(stw|rk!WkJ+r-P;bw$Bo7bIZ~otpFw5oe4z_!GDf`3_OGa zC6Y)p1N@QP7-K{n$0DD1LxoeFGB|K1@Kx;hawFT;O}=D~w4Sp!;PGmz@?*bi{ro0z zTSOEW04$t#c6C2>;)zh_L1MJ{GJyoa(1X1|qSDWDo=pg<% z&d~c4viK_-;Yq63K-0!G7^#S$fcQ-lEbkeZm|yHWo5=2{jeiGGe$A9Yb?LWEY40O3 z;2Cbbd_9zDEL*e}Rk!-mqh2E_{aXD&-PPtt;%$^7eXnS>owFVloEH35l!Z2Gh4mM) z=~hEM7<7PVN-BT3d@gC#Oj;Igsi?nWQIwewh0qvYOxsP%}r;q zV-L@p;7Re6-#W%>c3JXO(Z@~1RK_@nQrT5KJ(3Tv+l&9H7I$~jk^*m-H5kLeb+WnT zeO<}j0!gZ?KKxPcUoBR;i6;AOx&lCu-7t$Rhf8o!deUe}yAS}{c-7#nSYo_07 zdas3p4oZ!|lFhKf%V4emA5dQtY$p(}A44o(1X?j8zfpmUV=!oohahRhn=^w;FE)=1 z&S2qoxWtarc}Ry8%aR9sbujn{SpOT9z0j1K+)?e{azdY<2-~LxbuY> zfoj{!Vc;5xUwf;C=ct0?+JXkU%C8osUvLWFK2Ztk4+gT{4G6Nzn)f*~5y34kQH{Fp zH{POB%?$mT*r~i%&+1EGB{yK@i2;^CVEaIX^qHuI!DX^tAS` zd2~ulZ%!l_nenn`CF~^>l0js=$8q#RvxpzOTjQy<5@)m+aOHP<&e;oQ7`IPV9IEl#nHPH?3alllV<0CvoNLnTS^jy}&YNM(S2{{3^Iag_cF^7J3(%OzZ# ze%vHj7+VO>c*i3#HegXPtW5IB62yT`0{nWE32lk@v)HKebX@~ zoq0pd4Da$Fb{G z0W?5Hx8Q#~aR@TFkoh(#FE8MMl53wt2JRaR^7(C5-qRHS!b!0#d_BSD;oIJf#y%g3 z4#f*p|CDuvrz`%5B1wYZ|DRBL}-+|M|$ zL78M}b4&yuU_k9Q`~VW!yuO?%?%7PPV&Ilxc$=!e!gW$hsCThgoHaa(GhE&c37&R6 z5h_T&XQ-*Ci2?b|Jq*2(ngOcKL1jVzbKHHz@^{tpA_{zf;cd5@wqtAbolAT4QRo*& z+Ru8#RY27Xr}4X|y%V~CWl9o07NX5LCF0suZhOApLI_uL^C3h|6h)7{17%SYWO(aP zQYyli)K~z`$|ph5BDfp1dEULFXLaMi@wjAv7=BfapR(Ns=Vgbg*&fXUaaDRT3`95e|hFHfRj}>qzM~gQcpgiUQhPa;#&h}y2LuzZ4 z5mimg1ndoutwP0lzlWiDz;HEApoc{r88z4?UTaad?-EJA>pTsj${VN}Iy z=6(y5@U6%dlDbT@=+b#vfRk2tQxDjNG{VtUM&rB8jwIP*#nM!XXjp_VgQ+d7M7{MxTt+54%p8w!^4b80z2xnv%R+jg+q!ETIQchtn8}-yem(6n&&O8pqx{6p4(3G9r>= zoP%VSWEDbEIYvfy%18)hKA+QlKfmYq-2e8{t8rb|_xt(0ryebzz2{3Y#P$Ri+y6du zUK?gqK)`h91fBuEZcKXc-xMgqOBYC`^$Qn&&2j$Q*g+>jiGIGk#BC%rPf=RQs74VY zw0TP42qh!V^NV;oGm5Dq&5i;O61HFoY$Kw;nF`%SUdXIV`^Xs8c6gzRf&n5{XM$Ew z6=HoeBIL>NU^k+D0_u!WMmYDysL+&}Mx`qs2h!979`y21LnAKBMAn%`^ zZs5?jt1`CXo)CYxA@9LU0~-KSAhT7Da8y$88Ril?MqH>v_DEb6oFINFQT*83glRp< zPi1Ql>1}2`JDWEwe7#0XsNE|=xcQZsAG=Ntc9)e7W}UMx)X1NuJHhkTQCFFl z5_`Ldzbkdm;!O7A2dyMgG>xYemQbRil<^||CcnNkR?pe}yPVHADn2vRO|{xQXUwN( zjIkzir-j?<=yh*xzI;0wW}P+}ku+-9>~Y6PQN~u{>qpXw{+`nJ zN>C|jt0tSxI5aAo-dV@V!jby;Ro`6AyPvP#>ZHBbd2B^l!|Czdzl+O_>KYU7#_;wB z6^XywEhg31l4My_kET6V(Tp+{`BZvh@>Y&Q%i*`2m*nXG;9YP2XA!!CK>`h0>JSKR zC%h})f8kzFB-_q65Yz|hZcr`8BR!CW39>Q*vgeMgV7W2~z>Y=OHVm?s0=V?r8r`sx z_O%F7{U1h|{`n4!6CFsMZfgkrAbq&}lK4wOv}~>t2;bDVTKgwKhr^{H9&jHjlSnFG zqkPE_2lXgo1KX479}0}Pp;_TgpPP|$K5MksNNK>a8Fw}GuvxRq?|)rj(VP28E7nBL zATbghlOcUmH^|i7{RLGBpTHPjEmR}-SZ=|^{UN!eF}wZ|{Un=fhD@>C5a8gppr zm9He^+Le|S9Vvm7qy}L#VcWuLdFi^75pBDZO2AAOZfhTb7i>xYoo&Kq)nM1YG}Pwl zl^q;$XJ&J&@U9e_WqG0I?uAq3hSA&CXKpwbc7Bz8;os&io8)nK%HinO=3{zzYedtv z$1%gtYQ~%RvaH_m%~`ou!u{Ju!~&=s6m_dfn~c?)UITIjwS{9Xi$P`A zd+gb$l9*{$=jUL^QP=!T8 zl<7ss-)P1v?I`w#$IAufv&w`Y(xTPUC~5^vga-G%D(bp8*K{<>nwN~Z50c|bJxyG# z_ai{4vQD_`KEX9qbw^8<{8-mX^X*tkZ9};MzW%>Z2RC)zObiH_RmupRS=On|^x19_ z^f^Yr^fsy#aihpRHDCASOThJLw%u0yZt`eiivG-)*T?3J-)o|5WZLu(rapxUKKLHN zlEA{}l^+-pW84(CZAsZP7=2qWVT*x(ptu-;tiVt0DeH!>3y;zYEgK0|T8S2H@`)wH z`?{-@w~?-vAkwD_61esG%$v2y4B73u`myjY)xi1Y8S7TvVvlTzJY04|tlVA)@4zc24eZKj@}-p1`{o@dhj#tN%_1}&JfHUFo(Ou zk3GM4pBkM-eiJf?8Xl726aCS`W>h%U!kz*%o3Ih_JC^r5WTX>v$-X~55wX+d^{F}f z3LSn%4fdV~?qR>_Z|ZE&(o9$vzpidwC%Vb%E!SoK!iLcxB~RIzLr3Eqw&rbNGJF!7 z-4!9T5WWG0^Kt6$PP{AO(v~%KKgR&4$B5FMFt*u@y5)@|4?vHVmp@A8z%o$23%9j@ zd>`i%Q)!OODm+AWN#ZOtdp2{*_O)DdtYogz|E;xuiKwnwE-U(}FMzVdLOd+wre;Kd za6}EsmDC!3324hct1Vl3NjxNJuIwc4FP!UDE2;O-h_Ku>gw%)$4^Qc7zo_UjFed9N zHud}T=z5N{t<^?#L}xOWP(`-loi2hzZk9J`@$@*-)|C?dxdwI2OKU zmN}#|75c(~%^ip4IhU%RdB*pr4XD3b{Wz45OOjij#gYw4I9pFjHPR-6$YYQx%;r=q z>4+@&9cvskDi12QDD5Yy5M&se?jx;+kv1$I#7dT6HP&-~{jdtxh&B~%8{V#0r3jCL z;wOg$t(XfC^U*v&hKJ{@fv-j`N=Fmvn$@H zv^4IDke0j?EB1VZUfOd?1A!RV$&{=RU7?5M*u~@Qk(=jlMlS2tW=9dVvO_n;$nac1 zy?uW7raa}{Ybx}OCC4vukIV}sjmol*!{Rdk_jUN0CVuUW_Xm;^{qoEKa5;Hbj zEsx_L|0yqDQk(3sa$&VIE&i<%5duMElfnSuV_3ZocbtH^t>2oK&OwWxqV(J*KVUTkL}Pkbfl2zU{4&_|t-0(pHOqjOni&*Qq`$v0|v^ z{Af}{=T67)*~TtE9@44)a-4o*Xy$$tg#9j(Cib z;d2Sm0roJ`3;H-lW)OHSW=mDE6e!{?KgWuty1l;{3eM@q@($JX51DLW*oUO(0QRm^ zL+!J#$sEt0DE+u-$bk+Bhs`Bw9F>93U_ z{kb9AVl_AJeo6s1?ZGOS86Vxp7ew)AuOt4xX-L~yH0ic!KDp9=80W9LonNY3SDRe% zgTNd8GCqm||1y3ypn-z~NOLY;w3o#$F0Lo`m~fyO>vRHIIGw35l<1Y`hP;s8!;*Q5 zT;7-r*HrE*xUxgzP;kk+=)Sf?feth)m>a+DPKkO&v9ntOQX9*@*f7G=p}_Ng zr07F#2BMrSot6c)vs;PSe`5}S_YsR&nCNzA!>-YwD-R5>3I|+8&<2nizW zNX(s>44HJJ!**)40oJb^0|KZY)fo|{LEqTXH10}EiktIZ-;|f4OusbB!WFRPlp~XQ zNxXJGj83L*l6MJIo$hR32)s9(EiVr`M6o|x<8J^E_f3>Pg=Vrf1CDozD) zIl+(mq?-eBm5AXwd*jpHs;?$?#*uZQR0kIMf5l{+bf?kgRirYFk ze4y!c3%cNQcsgRi6d_vB1P8P}5-$sB4gBI*UOPta%?GvW#-dn?2Mix5Ve5{){VtVO z;NkcE6x|yWH1x8zl4?jRDb7qG*%IuTn(~^>o8M?qOxc#dsnE6D4B(B9-}+f^M{IVM z5rM5*m1ZO^23>?qShy%p3PN-1F#1xwKV-r3a-$E=>m&x1a9`Y6Q9PT+b|fhEg}0n( zJIhYx%9^63u$Xeg-xHgFHw#r3T$ApmkPsMq!6VPGZ&zvuy@&kc;>dXmr|H1)lkPVs z2mw?}t9Mkf@D9bZL8z*5Vmyrvj69Lyo5$~;plH*AQSv~fit8{jY%z%~Vvi?&JRrYn zaU(3W+}8fMeb>lVQp%e~FO4+&aOwDlLx~@=I=KCyL;dr&4qM=WXVte2_$dM=wGNyd zUqzMoc%iEcMpCqjdr_e9fZgrIbDzgn8DjdXmR0S?{%4W)Hqb3`thlpAee9yaZ2yfu z9eMV=Fu#n5y&$M|CSfXruv#xBMTL}h-MJvMtMtbIJa$o0cl{GLJK9JW3euw3r;epJ z#-PXVk~9jedUy@O*SwFL)~w`=xC3UnO@UJ=-8HfzUnGV$nrQXIy6)K-?0J9iA|~_3 zn(_|$(i5G|WJCll%Na?2f((|ddnIC=$DFiDT!m$?+Nk}@*o@=dqB=%8i`R7{x2buf zOnDcq4O^f#g49v__s*T4G6QxM58>{v+_SySNQM5B7mQ3+{grj;lZG2T?yiyC%Q|FF zJI(uQnv;;<+zqq@A+XOgP&}uaM;u)QzG>4=_JgK8$|#RZiI8RWs|z z+YeB*#y$AuF5(Q5KuIE#Rv&2y$!nQul0yxd>6Jlj=gY1vYwXV`Q|R*!dK#G(eC_N< z%+{;oRU#dcAC!Me;J2YNO6Uq?_I%^{=xTXW-mil}atR6|)w9iXdO|3ybo(XHUCMkb zP>T}x>&O%aAo(hLrQ{dg2nHOyAFDof+{20_^gr`J^59VbTg041{J2j_%+Ai+)fEnw z^ua~TGx!Ho&dzB9#~;pR=IhN&MCy98rBBk~Zf)DcmOx+pOyxR>d1}9O;=P=344d*T zRlw7JwFU``nm==)T8N59Lla~r=gB&c9NF!!eE*BIm{Ou+3~lJjUmQhoSZzsQ&p3Wk zKS#l&(<(;SONsX+{&rx(2daKdafvo15|bQ0Cy?}WOhM6}Phwf+kPJ`6VHA7XLxxv* zf*q~W3?(nzd6MP?z7W7dK>&B2;UT*KTM9X`|r($i*>PY3yRB<|z&|71~hs!dYy4(0fS9Z37g~<|&I>@|WBtv8EU# zp;GLEahA~a&(L0Q$Jwk9iP0TKlVNeuKTH7E?nXuV53znK3Sspg&H>WOrcujA_F@bt9PACoP76}Q9t5k zSXLqu|8e4j$TtrfZ4OF2-J%W?L8FHnz|U|hAeHi^fx%}$VwSFEH_is?!a^JX<%c0c z0arw5>2b*vsN?C$vt6Vg!UR8j8w5DH6%}s$z2gppG6-7}C68J;fIw;CgC4^ZsgUna zaLxPRr1R^>$uTzFM`DtqjaLlWP%?OKw?eGOV`)my-H<4gAd|uC6JjL{eKDE6Cuk*32 z_mMUSzf07+1rPt|d})sOKc)$TryUW;txn?peq7h-uUsl=o4?N%wh3#%irCt(BS&AZ zFw=XD2~Q7}iK#YOsSf3o23))?eTOQ1k*Hg1k~X^g8quP;KT>9noBcAWyX)7&71{mS zs-bx4Ce=4-lIrXF2P)q`a@L(q2kZI{Wb6-PYj`w+Rv5YqQ|`u8HrA>^r|0>hv(4MO-467R1qI>i=4g*JE0ztlR%Nr?k`hkz6w%&R0}5P5iz!1ibv+H+~b zJ{=hqhk_a^uZm^t$rP^%k@N;i)I_7^&fQ^sSu0DS0QlLHngMJns| zhMJ(BZ7XLr76#3<1M(>LY2{Vc;JkXiSom-(1MW57yb2|a-OkFX$-Up_?g8LUjtaP# zWYF9E1EUXQh?h=QRZK?2jVjY4v!Mc>e&gTja_Yz#yV#QXa=&+mCJFB)x0LkFI9Wf7 z+Z%OSO27Kki_C&OY>6rU^*#-ePvoF_p3Um@RgtkE6njzt&il#ORS%tPeoaOrofB)K zNOr3oBK`QQe8poy?h_Ux{*5V9zV|W4;(#>cQDy8hYi|+lXXf{WNB3H<=au?SeVl9 z<^CNX`{Y#~oIpBgO;JhNw8r8zN>cK-;|xJE@trP0zgOhwVGPvL;8P~g#vZvqftLY2 zj~J5>T$-;!HNgdYRYaYO3~aLgwU^nVRMw`=(nhp|>Ru<3h(?iMh}|$EysKtOC}zJl zB_0{AvAEQa*zYTW4q&~<)JO&+j5etw<`G^v7LiAeW>J@5JqNd>x0^tg^~Yld7)Xa; zEX=gJ_p<#v|Mf=o#YtLhd*nr7Z2OCj?V~vOa-Mm9e8`tbmeTEyJu|Cu8oQpz(##^q#MsMZqxgTZj<*`~|9UO(bDebKe^k>gwf0$cNU`NGL$`VL-Y)vlY7u7Rrp zk%MZl*dQU?7w`bA$h{s-Sjz`z2rUD2L|$?V5S6GQeeV_mXncMxQqAbIMm+uWI^dk5 zUGEj>o-37wKJkmU+8P`sZ?x+bb%+AA%c@tc^&|^R>Y7ZBi!bEZZ&?=w^>y|j7ZK4! z$CJ2ZR9F15&$rfNsL{Xfr?9Y4!l6(VP*>n-+|z2GQ~INQd&}TV(gIUt=T!mFg0dsc z!A6&Muw#OhfHo_}z^!{NYz+7k7z#FWc%q2Z*`UxoiF+<MYHD zN*QXjsrv}el4S=?XHhaVfPaW$U(}KL!G9)VT6$L%$s`!@k+N5-5eQ)Q=0B70mI1)D@No6rk0)`}&RmY{1rUTk zIB=}dQYy5pDchgG}>mSpd@sOe>Oy`2$9`YQsN?}_s9 z%j067j=y?q-)Mk?4r^uu)O{oeU8@Vb$=)dHo-10{&nrK>N&L*|Q*9lLX@91zb#EQY zd>xQDz>Jqvwp@JL;2t-FQL$lbAzPiuD*%efjsA;ZTLB z(Ynixcant~!nl%h2glB-wo_(1JL~lGJd;nP&dL9~I^;LW+#F_MBc;o0HWQVjB{c|} zqHN_^G5}>VHJU(C)K3Sf79%mtjTaR^wbQ*-|7+w_X)L^{cI_M+3335*j=2D;qCf+q zcgi4Fk-#keYNY){KWeVkF`fcd$0rnk{tV5hg1om~1*3^FX)h`O^I=Id`1b4TD4;EN zTIY)><0np%J-7b+{0GWu4F4t$u{n4G6e;w}CFJNba$KGkoXf9&50{goNAt&6gf{7- zi6&56C4*h`?4vw2>mc)%ft~L%1zOXV4Eb>%a6el`0 z&O`qppZdXhS@MJ9RxP?BuU6B3Z9QhQdx_SNGLP4(y9e5Zkbg%7pBHYvqT zcqf}DIM7vIp?^F41G#t`QDw`BQ_CP`=3592eqxF>g}|Qu<@d1dNYqY=M6*jP(BlLm zdd}^P$34kfx2DI*9URs3Q3$JwwJ52gb&U{iPrM6p{a9WNeQMq8dw~0>Tt^^Qmj7I= zTXtKgcZ+^d_r+=dWag!B2s-i9-Y@RZGtk={e6a;z?NM(#pY{%n>5QFHQaFp%*llW4 z9Une$sd=z`-~A>+p~@V>BrlJHBs@ElOz(3F7`u@DI?}8^_s3AG!ft$c%k6kuV`FEc zSTHk?=E_13LAfW1qpSW~-d1(X9Yajyv(h9ylUwS!FHGUjmz{e~=I=^oTJYgy+TKqo zRrA*4g8yzTZii z-eg`gZn!N&Tf?d8?k^ZAPg?3icUNkmk5}UF&Jr>&{IjCR8yfqJQ=3IC`6)e((%=4x zB;a;!yYAoeERznz10TFyF0+W^v-rztQELScmX2vKQD_7GZI}F{QOAFvH?!NdsPZK zHOtOaW$;-CA`J7Oeo9bZoW}bbu&0oFujWo6C6nu@>>5S1cXxD&I?loglj4P~T8Sq9 z#ig?~3Q``0+3E{_+I+eY@AMf8`8sIQtoW^ObU}*`1A|0j&{bhqZ52ulB~Se4;_M4d zoR4b0+;+9U$o5hJrb^RilkBLz`Vs@SYz6Cku89kLi_IUe-CyACI$^c-kibhZ{`_p! z`?(8CTi$$BXlAE6C_Hk1r8%kCOZSVrRvvPrc>CHs1PVi9O_PuetJ5Q1?$(3VmEQy$ z_x>(}{-p{*&momB^*(}`lyA`3$^^^#26e-aiDe-`3x@^0`=n?*)^hkMSW+k=zrBGGO?34=G@uzd|LjPV*3pWfu_ zxUYTrjpnvfa>mbHktEVA@M_hnw|TXhac-?EB4qirJ@BWl-E8kUe+=GWsK5sP(uS=+EQQrp^S5_FwaTZk6tefB-Ao;V%kHn%4e zZSw-CW}vpHDv}HUG%fh=yRrun4P&L)(NnLXGz_Ayh&Sn1AskZG8!h&*lkz_Yap2d) z`pdk-UFFiGVi}#15J#MES`S}Iy*nK$;Kqf<(DQG| z@uyYQKUNz?69Yr0V?oQ3ccC$&{#fYqt*3ygPa_ z&jmx#&l7c-Y>M;bOB>EfF7Hm}1RSNQV|#XkOZFwBumt(i_N=MSu<$GVXOHST5=GRF zI9GovGNB^CgIJn2`brU-#CPG#^R}}fT*h5}=E5W~ax$i7p>HN>GT_z1f3Vg&`NJ#z z=kL&H`F&P6NR%T$rv>=LdzvM&R;3Yy-MSYd4sdEs3g3e}XMA~GT~ZlZhQrjZH?T^8 z9_gJ`fZXZU4vVb-nbYwQC~0le)xO!-z=?XDYlgZ^;<4+Dom9Nifr8G#1x+xW0i$EU zUhSnVi2o)@;68$y!9E;xp@78og$T`GV-}6?jqT?5i_p}_?4C-#K`Xs`KEVxTO94z5 zFLIGfH{yWx2{8_$^jT3%`nzZQhe5`+$4EMKZ=bjz7`}gSF&+Sbn+4MV4ltn@0d-Ym zfFlEBij6VO%x;1547j_E8Qp21T;Ozf8GJ&L`Oez1WfO8mgkq_fcC+@4thPJg3#E_< zOIq|;ts&4f8D@@(Or^bpMz8Z@4qs@soRnitmCQ9k)1kZ?@o|N){Bh8dRl1>~iJQJ;`wY$3_s#-oRfUwiA|x-i zmPCbC5er~sN1qfQf8}Wc>zAHL7z>EcxNcIO!<5L=GH`S;MiY~B;4k;{28&4M>F!#z zkXF$}KGN`&c}kaIObn}c>!2VSUAyrMl%&xvl(@W*=0;aR_rqecLilYbZcz$t^3nTj zxf-Ty76l2arc^Sc`fwvzj6(9n*X+7yEw&uBw@sZsM+GGZk)HLN<5Dve|`iih?rSYiO=C-vkR`PmHhs&)CNP_6?(I8eyKr#j=`F4`OXtz?}T_By7_o1l_ zlAywf6Q6mO43xu{?Tdgt=7~q9AtV` zuFo!$p)ZeSRLHwtbJ@^uANsT!^H5Mcmd9Fsd@{_o^cbU?hl16f@$nhV6`9c&-;-r` zNKPr+#s{ebC6vmc4;*^xVd3^{naIrXV%7~(yrvsuEMbJWs zf$KLqtpdH4B3EVr+50bc9#1C7|JTTnuLwN4f*+N4L9&T~GeXzz!*hYIJ139X*!=mW zJ0_(eabWx3IjbfG*beN@Z%v3B`GccIs|2EWk%TxTX8+qdauH0(7vm3(2vOf4-r7ne zM_0K@A)2q%A;=5a8X$<%(?k>IDX}{>Z=a-{VUWn(&h_Dmn6a##Y-M&y3Z4l5QzYog2;kAUw3~^h zq@(#H9Z0>09yLFknh1_f z*K%Zr;6%W=uLxW*t%94}I?6Z(ZCdgj(2kUU2RNzzyVI%AyQ!K%0%TR`_|h~-L^WvAD z0F7HCtzK6cEZuuIvG&&P5!KjjMQ9IpGbp%fDyJq4?Di6R#P+Uj)#RNpZ-XPw9ug)e zB%k(wWPGV!IUM1}i{<6(eK+6BqZ}ZK?N`$;6yCk>>d=~ga7!@WK4&igi79sLEWVt# zJTl!|d^yyl@hJ1q()8`_7-lynADa^n7lKY!9x-5w^Lc}ho6}H2`0dI; zG@V?>87_!NawN9gpt^P(k`w+I>AsRylk*)at&syvSxM>wFKFnOT9^2^3`n}v<0R~# zoBeDQI-ZHo1z>b*Af@$J?@A&UOY&u~6z4GNl-@Cnrr{lWjJSFgA&xrCNpTE;Orqo* zY;u`m0nB3;z)T)5*51|n{@pRXfsV3XPWdbgYg0Jq_OA7p3x+@&~5EWu?VE_9vAUT zKJOujgzXHg)KzQW^}(ni*77pVabT@cau!rLxr~no>CW^Q3n=i78f8+4qaso9`PmOl zu5=`Z_Pl@bZTr&gw7~FU@)=$+_G7CgZIA_N7j~*jtoor6rXaf7oI}cOp}gYi;&RDh zdLbL9<{=YeCs&{jrpLKd?A~x>?A&zR<|Qk-F6=)U!?cog0}EImwX`COS+iQ`EAk4>^RUH!;U+;ege^dpuDskg8uZx6v{L4)-?<;_5ebHy999* zNVtvzw#so&&VeaA3DGcllD^jE`e_mcSej$;6#KM2%7{RRDvi zxs!(^*zV20`Md_QlvNBBIue8_x7RARX){s&EYUlq9<5l>eM z>af<*IdO*$MtVyewW^5N4@@UD%6~0qX8rS zvuhyjut=D>c=m&-MGpFBHqjm?)yiQko9q)zH(svbi|qZJ%B?GSNrTV+F6H07joR>C z4_=1^Z%JqO9oR@6#!i${&u2%faLXTi{`!Zw{m(|J#2u5xl&f_*3qK%V0=Bn-f~(tI z@2PMv+AfLMYXX)sAv~mbgNmT-ATBf*yCc(?Cu?&AXJd=+L1O5o>m5|&2ADJlUk})W z=wFbW68AN@&tfYC1XuB!ONhXwinOn=QS&vJQlUQyZdu0?LjbL5DMV#bj=x4SyAMQAGP;j`!W=HE+c{(^xZPMdeQ7= zCe2)D>Q?!&zICf4Ay=fWpQnfsJ<2#$b4*vD7fNyqg7}BIlf^KHUo7n39|2Bg0pv!` zjzdARx9MEOD|LMj)oNd}d4IMz#@SM4BBJP_`O32C3bFDdr0eyQAcUQ{^xCF%Jw3I9 ztk}NOW5O%li-RILiec4(6|u$!RL4+0*%B?azD2TpiaXU97}WWyh7Rx~sLL&-wI|<> z8RfI`)vo{C!B=vL*~RK~Vu01w=^t~mPy4_08_;Nj zoALS=a{~4$t-2Z7R9^y1cq!%I!Ko#5&{1;6j1DJ$0xGJl;T89fiFzk`(rzBW?1~v z6Qgs;MP*0uoN+8kc&k?3aRDDmyG7^R9woZ!CKKnh+)e5lSWKOnm*P<*o-i8 z5<0$naC7Z{lxsJ{+d8O}2Qg}FSObmrUvHPy2KlK3$$6dM&na`{o06V0X_eiW9AidR zeWi0`ugD{m@j_q)Ri$Ql3N`xbm(JJbLS~VIjTc3X!~Be&t~vw_R-C>g{`gH0@;P_P5rS5maNYID-qy+ zqwznycvo76Pa&8_ob^(bjQvmgB^_f9rDOMe$$us`+@tp!!QY zA+u8K%p@p)Z&2~x2dLCwWN06vOF|_jb`*Zu zLmyh!bRqis=^1h^4e@|6a$FWEI2hs}PU$Uzg)4$eX!DawS~eLr;Swx|hfx{?3hay) zrwo%2M_4z=MDMc0{F-<0xc0(^HGKs)C(CA`>W*K7gAcv0##3~Mc7dy47rvMR=F->4 zF<*w?YeLW!p&av$5`T#|BZ7gA@25aeGw8g0h!NRRLW7RtHRqb{G?FJFnMnGEu4mC> zWMfTS^P9E7koIe)dGh*ehRW_)@vXvQL5uuU{e~*bz9FoJM)Oh6hKmyuv~D)-UZYXI zPTfwqO@Sc2y%ynM6X$irXjOje+fp(03oouKX$->gSESsD;T;`S)1`m*_dg%BzWIFj z|9*aJ+ExeKhgZ6}?5Wo0(wm`@&p}*RdUt2{^d#21A=&TVRs8hx6PWDtlX0lON55X? zCL?1K(!F%iwEvaBsjT-e|NmNBmm?_GTOG&KugsgPp?3!UCX?;TJl3w3PRgEn5$8IK z)+Ld}ojQj^y7y+JwmJ@Up%K8w;Ku&*QHcp9eAA5`Z8>>M?SU^?r!G2YYqZ@qk$FF; zwiE~fVLZ`)xbnM+E&Nzs+6Tb)zq&fpU?g03xlwV#f*N%^^ZWL05ff69fy0FFp}}ir zRK>%&KIwN(lka0#LnhnQ-D?mM}jB>^Ne4w!T#G49ocu8>X30g;V%_NYm zRyfNZUM{vfD8q}1DZwf?xb%~wvTRsfly6T@4fCT`{dZ~Yg}sx&i7k>As)c`fAAhe| z9rPdSb`RUrf~TTcbt93b=z*-JX7lgO!HZA7DGTlR)cxn99!-Am*S?Gw^h|Fi2dYzA z6Xbw0*xOFMHB+fVL4^)~;&K}UVfn$OxFn82m_3?z^N{u^yRaGOnUaw zEja(E(JeonZ&XFT`jbh8u7vAWo&pbrJ4Wgtp&={kJahV`oR6J$@v}#7rPFIt!4tU) z%D&sRNN9`8)X@LVwKPTpTRDe-z1gPlio&-mve)u;1h2q z!&sB6ee`IWHy>x!hx&)J5kKS|)SBNo9Uj?=uCbf9NQ1ZgdQuiG`lhOVVpf2eaNS6l z?RJX|)$QI)#MX`!+wMXy+f<%P`eWCXfX#bPs=lRrln(c_6bd|u+YKIiTTtXLbANb3 zEOkW%k?<|RvLx2(Ysu0Ls&A4c$;fI`dPd8hnAqekzIUQ2f7ZVjazd&Obf*$+BFHDM zxQYA=_HavX%2qdvCcZ!YS^gYFUm~33;rDQ^liUK_Cyu3S0XXZYHohPr?uTT^h!8JO z!aU*J_JbS>HG)8Vz}c2^Pis*lad<=0y$(#+@*||b)}0<;a~nd1k16OD277N`gAseu zlm`{j&_IT=#hR)|vwv+#W&prA=i_;iZ~UhNtey@=u`fOMhbG-At^D>oo;#3I7ye5D zQinNFZ48jtO;*%12xIn4V)D6is#yr$H9xp|1edqZa`TXhXhwt5TJt^#_?&>Xxp+82)mQZGBPHX81cXX{7?XPPdy*s-MT`xJP3G@)^|k1afiA6It3ddUI0ila zr93r|R`lY!y<>U3rj+@kc!ygjZhdG}njRJR4ffaO<~_qqTk!~4PuHjsR2Bb!=CUm- zJyN{gnCFJ;!j*pnz`P!dqy$U6ME#y(nOK8q@AlHp_- z>kU;3PSh8Qc~cat9Q<>yWd~|heH!@cvAhi@I71nQ0R*8_9>0S++Fs3~_~FrrM^lPF zV_y<-ueaZIy&_UWc(dxyuy#jIlm=!K6aVI!Y{Wp{=bCwOBxKvg8=9l`eGQ(%R}2vC zyfI(-Ci+)EN(IbOEV0DPIqq)#loDtCxJfSThmttJElyM5dqMA)KDX;dsrOneyXy4# z2w0%QW5EZ17za{>b*EsSV-PXXVK0Vlyg{)zJN;ti<>7-sP_C^%EVgh5I?t@vyPm}U z)iYCfii)@J8lz;E?8NmyDU~&|yF=*0&ya8RAJm}WT;ADk5c163lj>j@Do6(#4bh9> z?#G(j~RVq7G$_VNBlFR)^~`puJ3~gzE@H&R@|AQRAJyfvZQ>Nt z7g9JsRFS4}V!JZ${cW6`5LE3t)~BABFp?N(Hsm6CW2)%RF_NMreC`q`@SQt4lM{P% zZ(DY3ijQD-psE0gA(EzPvWhT9YYw5!6+;;2j7Q0e(7%EkkeJs9uciW3tVZ?S__N{z z&?*W=p{I2VEqoW>`atL_B07T{#|FzVcIS@&UOfZ$wg+lQmE@P)t7}<^CLWC<){vq5 z_sNl%SZZ`rh*w)X?&{z6?=iM@b|(|sb-NOywkmSlSG9_;_imCVkH2|iNRhsmvaBx(Dl)+Dhi z#FWDF_BSfjr+SVIVk420TrnfDQ#)}n@$lNb#XsZY3f<0T`NQ}()$2rE-9l<}+51y! z7r1qDvRap7T+mrUoo~62Br3fnhY6X$banFU6x$l@N0Q|BN85SZmb|I&ihl?H)gml^ zK_>Il&;6Q4-a1frZY3@b<}HuT_x34Tk2N3M>Ti{7FV2o)kG_hSVg0>WP4@5TB~mCI z>HP^}(rU*~f?!*g0e`1Y{f4~r7eydXqCb!qV%t3$tnB-&y%uTv#Ni`;Exaa6hU?V% zs4ey~)WS)T0#y*;Rafy;W04Q?sKr9FNdzecUf!($OPZVTY_ShOGqr%eoyr5bI=01? zz!5CIRuqfA24LME5JJciM4*LQ?+Et1RMqeSgzk_@ET7=A+N&eiX1x*XAnJ7edcAn| zdqf5~`mDu0pVxOe&=*L4W*+(Pb>qSiT5ogm(GJ&Efr|}ltPVH7UJ8H z@Rf$nS8)+jKrorzfm}imX_+xy{6NUe$B^bm`a&$cK;`ENkh=v3)pm+!K|S3sr7JkL zt1G4_u;|_XQ76>_D}Z_LXs8}n+`Pd7EuE7FU4517+s_3)AkuEoj|V~aI{tl~TN=rZ zb%We-@JD)D8`bIf%L#8k8PWDE#Zgawo}a0lJPD3PL=(oM{rM+mCgu<26o0|X)k4(x zr=DoL6CJ*BdDLQSe_g*b3J>D=FHK+41D3*n{HRKx(kQlKN0(gIQYzfe zj_Qw<&G(nmE{VKhw8r$8M*04d}mygvuHWw26K%F)tqSw{ZaHyJPcBl@L9&gfKPLFJD7AH|3 zG3X}dSUkAb>s3Z=O}Dk8iQ_@{R3?M>uY43a8@8_y_%tfAc3GTtJcmK!~xwEQ6&?}w3qSf7>6%|*@#OjC@KQqS5-fK@(NaAY)Z<-J8EN|OJt8!XK z&A(ysTVL;04q1Jjo0v#vW#@D{_23}NKZq8=#!4TjrJCX;fJHj&TzT=@H?n2d(=abo z^5piovqDyL^+El2R+M=988x+2C5HJKTz0`1^CAyIzSOy8s&0?_RflbR{#afv>LYc(MxljXWElu~PIhWL%I|C!fejHQTmeqp&vs60DK_k7a#rRpP;xHF%9 zO@pEXZ@yvC@>g-2}XQsvzvl7L1#8UI# zTJSs&veJ2>+2}OE#(dWm;iIK}Oq7kO1E=`aO+Y7Y%ga*mj%)^&EA1ee{D(E(>s-H zkClpdqz`i(5a}}1bLl6K=RW|~rmU{Z_cRw;8bp;(I!N!Mih5wNsO4oa!XV9e7JmhjMj&D72OHnGJr^>^;lz)98I*qTh%9 z_>|7Iq%oh}hqh&|X4{y=pqm@Fj{TsoQ9B$yzI58z+^}{y(ek_}hvooLaD?mTTlI&! z-4+M2^tjQ;A-iHWtcPQPiqUtK*(@*2p5A_bO$*!Urdypaq!{oK5>6e%K z$!oTScB7oBtVeTS`H6d~=2vHLoc&4eE9R`rK79Ulm0j-StG*Zg2beAkS&&XI>qI>> zK22fZP%xi5)pLSv=7hMIy0XNX)53q_eb&0V5GfgaylLa}y)(1MY{8zs8Wb1D6}z6Y z@mmN_t3deU46bAXBY-ViRq;yV>y5XNeS?hoH^2 zd4x*hB4Op}O&rmt)7R1z9~v;PYd=sdvI%z91!wwvnw5b&h_`PH(&4tkh0_m%HPPTX zyRRcu=lK{{KPjY4f#;*c1zv?5DEJBe-yaoew6*TaQlgmjoQ_39(}qn8wGl%K1byJV z8h#6{>EAd*4PmKzYr8|NKhAjfbO2yVRyxiC1Q8jkV7^jGsBRRtTQzHHRFPOd%wDW= zi(Ngz_`3p?dlZ+j2HAIRKZ`WbO1+LR?N^TL`28_xp&O2c^y zTW1bX)cwtg523_)zt2IOX{MbPI`&o`7Ah{f02x3MI(+U|m_(Ziy z?#@c&iZ*>g*AQYLiN$!1>)ZDwi8Zl2caDdQoLl^cbXBQ#0Fd&Y+YhnSiNYofZ+;s+ z*d0jwyY<4wFkI>&+his(5{<}4hOf^|+llNDE5)|%PolgxdB>pzEwLC3q!Oaf9bjx$ zv;P{Ye!@QT0yXa2#zn7}VkcSD`5#z&4I+r)Gb805Fi>a^EW6M(_9ezb97$FIFqIrX z4$%UEk>8hOTIfJc?L#IZPKSq?*6FrfGQxz5EoOinJ&$CN#JgXKCa$Z5K1(*t9n}}w z6ptdFfIydcMGB$1K$$3F;2O|;k6}KWcu~fHJum!8c3Xe$qjCHZ7IHnXHVI)z-N8SK z@+j1hba7z#=3pTddx@zf%rxPT8VCBc@YD+37|(>M!OM=W#2)@-MwrjLCK-^Jk<#p@ zheiN#bU@2Fc>(U&b z?Q+|Vk^9Y3Lxtk#OoO>IkCLtxyiWEkja73D zq+}ygaX*bX(4(E@)`!41E<@X;#gx_~LYv2AqH_#$9c%UTruO_d$a66H2k3dQSgooBQJ*%g)Ycl+JP8a&|+3 z8Wm8PdgR*R0CO_Ir~#Bb6T0`2ghJE*hpzXGr~3cn|Btre$*cqjAjB{*4Mo30h(;mq#BT2~qJx|};|9`vvF8nThE_~`jyvOVP9FNES zAvh=WWn6c2BZcIsFUT3bAp`=g^HQe>Bq{(EckH|qO$1=LSklPxR2-JNrHhJMf&wFG zwW$pWAA?l&cjSdkpddGmzj)&ZkXfT|IqShwZMSRulu7BJHaG67{PgHMk5?75-LvJm z2Ur`7EfFraMD(Y370;FikK=^!)7Rv|9}8-JEY$UHz8X8sdExry!7#{FR9cN@wUR|D zoKI8SxYN`d&h+5Mwey4%rxr1T!A$H(Xt*la>b8HK8jec;HY z7UH>k&c@X(9C*fzjQ6+bF#8?vb=ezw=1ttkSTc8@`ZosMLP~crF6JR>F;IeVXIZWU zjbMNZH{XsY5 zI+5S>$Z~UqZ@U&R+zYQ&wQtc=ao6)=u=&0(7(1n5S0g01T?X#5po>E}9@P0%L{qA~ zzt+`ZDWjq96-HBQ;h*JpaYs8EO3+{)`TqxdS3HSNZGUOt1clhEk5ZtnxUE1i5lB-Y zoUvsSNFJdMy&fz%7z30CTBH5KU;JA!Lj}O>|N0>BwZ=#|g``p-T8d@~f3EM+eDftC zis#i9B65dApDiDU{@bEw9-6+CEi++4Z*0&wxLoTL8(wiTbgW7Xo|teSsg+fKQC2@L zB+E>Wj6S&s(1>gOm$SFk6v+muxjUz;mlhOIixahuWT1+k8Xcj=mIdkm;P%(swXNw6GsqM%(*rKz*kCc0h|5f%dYn1?126NMM8E|QL* zANs3>24#e>jXma{U^%wcUEbTk+W5`trU_r7fGI9 zwD(i>q)7^f{4rOb=f_cDOgvw;erIAJSUF5w*{mB`GbH@@JWk)skKTYgrj>#z(uOx^ z_c|l`N>+&{|9PAH$4QqP5s;~;!+ZhBNrQ(>PH|K{j6!y`Y99wtlPD$m(pmd+XV$Dr z@s%i2{pjZ>RAd+aK879bC`4h)&TU}5y|(v$T}}L(Z#YG#xAlVt|HYur!7CohvqRS6 zqh2-QXot0fQ7c#bMhWGb^@TRwp2OQ0e$V8(2_MsPhEZot z<#Q?NzTAo?h}_4XVb)>jmcrO;v3#j_6iL90E&TcwA)bzw%Q#Mhksk1>m$x(p2-LLa z^-;@DzeN%+KfV%||B%B~m95EWNK-jA{D`L$Mgs2LrwFKbO9zAN&o=Fe+gr z7JYZ9)7R8rEK--#BU42m%IMK5hW#iRGr342$8zdWrIImM`}cD$v7DrMR4?Q>m=n%v z_j{BL=|7PVzTT6=6rUcx58k>j;!dAy$Sf)HvA!FIYf2f@ov=37$(s!9d!J8z`uTv} zk;Ou#;w`mCpY5b5+sSi)RGZ6v&*|e{*JO$|AF0`^=K6gXjQq97Zq;aBuBhM!)tsEX z_f)tk4!a)oBv{F1#4@MPf`t&esW#FoWK?sgecfsnMT?8SJ#5_}4Dr4{8JKtP z^*0Xigq>Y8Cfh%Eb}tNN+XLlUGJXU*cj>>`En>esBc80Qiq^CgM%_Q)eNwdO(9LJvY_G^_#GFisFRQP9Q zvUUADDCJ8X`-VP=;tn`n!ynh)h^79dwKQZv@9)WwcO(piyWr%oAfq!Zeng)iWBJE& z-oTg8p-o@weJo@oTC8YKl--FBGl(&!!n_Jtc%)sURC3Ri3R5hYS_O{eM?(0;*sbH& z&DQ6^pn)pVK~^WA76p=a*g%FP;qzS_K^))$omao~=ejDWM)Z*zsWcd2aD<9ffuU1{ zDz9?Li=zh9(=-yskz9}Edli`$r15(G=EbZKb}4aC@!z*9#M0q;qonCMF+NQXSL#Zr zFx9pGtIgaAc?^E7jH3s?)|HWSjJcqK7JTlVaz5;rcZEZ)0HVo(3|EZICnmIu$QAQ+ zCX1p-X{0w4lAdODleE2_LEy&nPu*>@#W}sP-kkg8Uo~0#qK_*?#z;t>XgI*|VQnv- z7a4i2s^UcZEC-pGu^8K2I*?62Tp>d9ZPp#kh=XrN$h(jUt?e-4D7{->KqX1arY9g$ zKfj#FqD^%#%BHXS{fg(kAAHtm`^{rVuAjNme)b{5Z+9-IJ}L~4gsPXcP(1D`5Kb;9 zK#6`fTFn|Q6opWGq4P=ht!oiI0b{;n1Q4ay3r#-7` f5WVZ?QnRqR@GbO&!wWWB!ohxF+jWf~8S;q{8Ir^N1lCP~V^(x>zof_M{J2Cs3q z%%O=>xO-PAv;F%5J)XDLtGV_M{vc_(j;>L`kI-r7feR+PB1kkx-^Mh2q{qM5cu_=l zb~!0+B=F)M3YQ~MjEjX$@fyijfx6_I{+%|KkAjj2*@s|1l}8X`EdYgT0wp@A4``6p zOM@Widv`P1RM7uhdBoWha^YzY>!kuFEM9tuGI6I)XhmX=;c29_?w==x1ipA(zP!%V z^^LDT;^nfl+|#t+FF35r*lPm|K?MVTiO~(Cs@;psQf6vA48qP^QKM#SQX2(aRVS{7 z-#`BkxZJvY?>3{O3bdMmwH3=$Xv@g{a6U>iloUm*l@uYH^ajwb(c{W*U3)|lg!-R=}4`=oQrZq2vC2^Exe$M7i0MuEdMJ%&u`} z;H*|F_*|MGb?DdA1Qq`Rf)XO^EO7nB{PP`bgM%XDXCN3{C`>`9q?y=sd*L3eLwGT^ z&y9q?Q#9)*@goyPSWeb z-GTS4zY;m_GH4Crc`q_cer=Th)JDLnv2_{+KOip=zf$5~yiSlJjBeA{?QE%UZ&-f8 z_0Po?Qi1G!#Xm_AwFnHx#ta3*3k2rVhfV$4nqeHp%0juhNp@5K!8L0Mtc8!I;|m_s~=2|2O3S?I>OPD8858ENXJGunL zOqBCrp(4n7By$PfXesy%KOJwE%gf@uDA|%dnWa z@*8Xw)1UB{0hl`e!6ND5HbS!6+LO?npY+Z|gc8yQDk+INFAA5=_yf7MoQngOQi59y z!?s!Ju%jy~&PaKDsN=ZQtnNj$ZphtFIU4kuYmPpZYL*HCkl{~q$E5W^z`66ycG&a& znXh?F)3!}Wo?cWh0=;chYp~E)t4BBLrhwe|@stwJoBEC$)|MK)$m$K1F7GBYf6d8EZgzFerx}FGmy`o)BFIg z(4BRPuJ0Z>2c1i9p${V8mD6C#xgNo{u}YeP;3i-}8n$vnD!492A$ht&zcaxGW>|Yn zjFemWv;P`Fxi@pCc?5?o&=a!6Dj=u2BId6NMlYv$?JG@MMW%$e1*-IjCSEV(MRW&E zBU(5)Foy4sb7C4@5lZ73GSX})cmBy)I$P3Ev`Fd#Bh zPso(vHe~v4avL;l|7;$bl&OdkNd7LI5Ir=cIhp=tMFA)+fChOh_=Wj@I8Ez~ELe4$ z2kC5i)LjCqHU8>!pPIDsd=WH)jM27Y!zEh!`(M&~*81af3aoHSX(PWs7!kH68tpC)yuv zGoaux-z>jUd}wK=U_x_Td*Y4K^3LN+-qaAGU0L${XBI8N_vhAn)ll$R6v_9pI9dk8 z#exGgk1tEKuRe!jto=U}twX;A;n`w=i~X%Is3%VRfHP{wZ|BbqvXN|ddm$&?w&70K ztqPsX4I4T}V5*Zi&~XXI6vVsW;8yJZ+O1%MR*&_v z(G@f=9ropN;!DV6A?UZ7zC+ajH{P%NJWPbX0Cw4Q zq=lf-Ox5AqBSAofF-JA8*-+)=iF-9WyBD&ph1+M(YCHtWp7S#8a#VB-@Ey#{O zY?YAB;gS+k;YeiF2?Mfqi*z9Teep{2F{$<-21DOEhE)%g`uJKuIinG1Fh< zd!D8p0)q`TNo}z{e_HlKj;&J+g9O(pS2lN!r36vkI7S@9<_&<9P2BjAE1y61<3FpA z-ApwUa-)f`34@_&<+USt-jqM{&=)PO4B+}Z?LoOpj6R#2q+ezu9=%j+;67&2<$V>@ zY2LK>MRH>*;9+fOiLQ8v-TK3e$#_&Ap8`=a`io`M7|o1$rxkJMhOHxuC{w|9p2u@2 zM#ZiX`2x}XpC{ZxqrhFy!L}t)$`>@xBF#*Alv&)SRa{37t^!H$ap_&|(A?$IrdOq# zecD@trzOoVX7q7!V6xj#{v01vQ-M#b93hzV=ab%Xde!)PF9c*ENPv|n zejybZ{AN{;BUmRAEABq&uf2S?;6VM8f&%5O1Vl-`8Dz3q9wodeU#{|1waa^$a>Ag4 z=3=yIx8ITH6Soyls>^3ER@?qEPG4kwr-d`*HfOAz2u67AD%tr;@*9k+NAOo&)JE9t z+gh(@%;D`l`rg&f+s#d(@ydQ^xhR%sO=a8@&x7G9|2z7BJNVrc-_Vvyf$8md;TWq30eq)xC^Vx zsHVhWaeMtg9xx@Q%KN-DXyCMaM}knJACGdM8D#{;!hQQlA6v{3sn5kD*hC!~X)f>tbJFHU-82JV%d!7V23l9-$QBT0e}=OCfUjbBr_dB*!&~g1^*h-B z^A%}j>77hJdp4j~;H1`mVUG}xh{$oL3r=6ity3t9($H`51*_F8oOjl$D|7jsyCqt;#RQ7}zqzwJ421K?!}|Hd;Hv{~ zoFN5-Kk1d-MY(6;OzW7z#k6voxaT-67TtD+T_I5ms&vbV3b{y*>!S$t93KoOGxPB~ zeFFJm*khaj-m!NhtHuWN0Jl*T)l`95X$i!7P!TN7+*laW$IDy1hqnyn-fOj4A)s{h z&V{L|Fl>MkNtF4$`R07p7@z~qEfnCqVo;Fbd}u*N3w{@zZt{sMy17ZDE=G87N@wYw<8-Zl>&WB&4q4cuu zN))>vPWO+y3{I%sz4aRg38OdruPadUf;3t65`6eo0X_XQmuzg3zGszbo5@6;eEF1F zZ&thKz@@hQHy|?o+M7UiM${4anI6yk_WaAw;K759m_PORuVO50=zVq+$zkL!4n?w; zJE0is!vQRyyWMW(KxvaAXzYvw%jI?iKfZp77K9y?I^f4)2oe)~>z2jq5qA20rHmOZ z;ch6$A^SIAVqweX-)@- zpSV9Ju+&gBmCCA15le)Z^q4yt5joGn8n>KKTEzO;fcl;WT5IE)J6ahT87Q6o?Sg_m zA3F&~XsT%~2khM>Otp&u2j-{Jd>geoUH{LFA7pLK-mS|F!H@61t+)g!WC~YS+!m|g zDucAD8ouD9>fHjDt;_%WpeS*|gA8Fa(&?~Bk`%ix4u%-OqzstCnP?8dCDvzjdj__Z zlj*j4W;+oW`wN2p2gUcOF~QWBtkd}V{r8IyIbuqN(H^DLVMQCE1F1MLisKSpOQshW zdC7m?4d=W<(`wev@r8jx`RPnMy~;Fd5fjRu^n%o%`@r|?y?8pna~jTG@SN4C#urkG89dg>(9 zyr%wH`W$7PZVM$b0?d2tq(@pLLFAmLO>m*~x>86%f13N4wS8zmHKwrB1)6V_wzNpS2DT7>bG;Mc4w~P#f@^ zxVSdQQOj8+y?S>QO^*(3j;eU* z{4vGFUa7Z2hZFN9x3C#7YbPnhoQUz2jKrJHW7jz_Xt_wokxrg`tcUCcn-FmVul}VMVS%ZP5)D+fz{etBC;szfeJy(VvKe}&sX$P=^JBZI zqUmGx!bx(5)zGsJ%Hwz_nSGyFcU6|Ljh}%uC%D069tAdY;|@m$+xRjhO2|B|Pt!pO zKVx;9qlcc5RnExJN<#Zy|HusrjB<)lSiPU9jOPAqPgin)vVZr1hVqT#Wl>(vFN4Jl z@A8c(>gF@Uimm4|xT0VBai>oiA^^8 zrIg&Hn|eysVkok{YvEnRi4xF$dnZYcaUbqJHUe9t4NvaqT@bGSps~H%#9GKmkmZT- z%}UOv&jWj%;^%={Sd{J{2w-HSBra0)UqAQnV{t*jhnJ`_7E3Z`$ z<r7yHCVzYH2@) zyFJBS#TpYaB!zf*5Fnax2Ay4Z{NJ}es=`fQFfw|QEt)z)0R(hF@aT10wEy2(A(?e` zx_JF2Xylgt-^+@oOf#!9^;(*N7?=}4x_GT%J`(TaWAuVIR+GBoR-br3XSE`~b?pD( zB^wX!X<8#wU%Tf1g>+eI{<~jAIdT0sVYb6xRWRV8*7FIRq0JaKr6dfNJT(_=U$v%= zxg<7JqD8v3_+aKzMnMedA6pA&4Gxw0fj^`g{eor)CCC}go0>8<+)Rnw_+re34n`w4 z;%6ZdN{cNchQ#fFZ4?c|2FJwBQxUtuwWO{)O~zIfO?X9IovdASW<|eojg^gAc=Cco zv2bMYKJn=#hzlE-zGl7arLnK79-U2b9~6B=-d^Q~Ue{QZ6fLsdgCdtinM^{Ca`(&}#lUpCJ;&pCCtHgbDT|?!p?23{$TDIKZaGUa zT$Ybu%CeTFG@`)JvF!X_>r~!8*lis5PZz&Cx$=fLb}%>%ZOYSr=TD(b(ALg;B8hYj zbL6Gd>uas2thXvy)z0em4!v5x{NWraKQQo|8JC9-1x@)vMu3Pz4N;eMqUUHI88TeGWISzwHwe|z^6 zJwaBOc?nboF6IUZVrEQS>uC>>`b;KR@>aTyL_KCFke{9Qe3;T7>W_*5YQ8%RYfGX9 zO>Ri+oz_a@3r@o7=7vJz_)G88L=ruQJy|s>EWqxR^m1DoL6i-{f(4O^;JII|v#AYw zgkA;8fiMp7i)&VMH?Q!c`>;0FNJ!M`s2LbFa_-)|de`TQrzM|(m`s)j&)~GsM+;>2 z3HCp#Moe;7NU{G8##f9&@X6bl&r;sjJQP2*ySe>4N|SnSy_DdJ0m0j~Q+ z$e&(^tp7681|GbER_>SBw|uP_1wyfr+t>aEh#?`V6L$wnS*?_i15~GSxQqMlnI&YL z20Oj=Im)iLbS~5X!%+y~wbmPgpd*3;P5tvtOBW<37^p!;F+jnPM-HkI!jA@+fyxDN zV6%FIA2R7bhR4f8)Th27g=8TE5x+>JB<$s!(Vxycq(g2TMrhtzqop8(tl32G{pLXs zH>RhYp4J3=cTH)j(-k!@6O)s+Vdg5WNr80Xz$}qNmnc)LVP*}J!RgZ;$w--sW2Yp+ zp_w;3Jsj|oDgP(?bJi91o~2;lwDS~o2_2)HkJQ;0i|Q?NOWqX!JdN7n=1>t;ARxX5 zeN;5m$BYnB-Tc~p!NqBpT>IXPc-4HC--SKLTYjvekR`x}MNaf+Tz!^47`)~Xq~+0c zZ1F?Ifh8n$P6mMlW1OY_&7M$;iV1^Rg7@b_u_vQRgGp*)*8$RQ^PA6s<6U{l>~<}S zKXrqHX4jI1RPb$#){2HyyeI<0H+FLoqNicoy3MoWed~#tUDP11`HuR~nW#PMm9InO z3LZDdh08|}hwOT~4tMOYY)>=UAM8&)$oCor&vwa9Jl}IEDe>K{1?ER8K^E6`H^Xk6 zvW%(d7HZ_>ua2wEbNiutswK;t@!k6;o+m?&cF*^H^;^nK+iUEZiqI=h?3@2|>5Oe< zO^TXWNnaKvF-=Xj!VH>>mN3YaTRugDd2WKLZzyreks?@ETlzPTN>TzKU2*=joU!Uj zGY-&9KbO62%Sb%J)^cUMF-YwB&(ph)PeV&~S-0)?*w8FcON;>uy4tR~`IaCi&{L%!_ZeO$T=2jH4RhwU>M7?Ayf2yMn#ev=m|9!1*_RWgOl9=q^KGzELsq9 zN&hoNPX)DRdOdlZp-zRaFz~JX6IzdqKF$CoPgG9bF|_v6Kw2n++*efArpX1|)3!su zw-=Mzdn=ZS>`D9I)w}K+A|tgb(Zd0S%AE3y#K~!YUtDv9!C9gU+pHOv6YW=NBwlXN zCm{Tk0O=eh5fh2EN={_*H9SX!HdQ#a3r_>I9Dt$%R2q{X3-0ko2^m)0zYq> zF3i=8h5!C|@j~4k7k`+|)He)yGsYSJR(}_|77X@}56nFOS$NN^J$wo<3W8fZ)nV}H z=GuJY{X4=rS(VGDs4(Rw@EhWApR}zu z9Y-yGh4$rvF|6J3j6^Kva~1{R&d;P-=9kMn5=ygJ@&U zW*<><=8^*R!qXxVw^S~G4n#+&bm`0`>U$-by=hcLWEi%;F!zx@NeoZ&K7^OI)tuZ2 zLN@IGYY+^E`xRl`9CE_g=vlG@?{GcTb*@L|x)h|1K2fOu7D)p=*EZ6kaM}2($NZ+k)Y{ zyV1DdNrpJ)VFIW+pSalD+oOO%XB^?r4~7GJt5n+MyADCqVI1raSz9DX1o|h#Br5WZ z>YkZ33Gc+um);2bzy_8-BYAKSA-<|0i5kzyhJLd~uErYxF_sVM@a;WeyDj)~#sJV0|LT11cMeftY;V)QpH9cNR=8;|Djkjx2 z7O1|;JH9JlNvlYv@@Oghq(VHrNh&(U0^mEvUKp(6)6#_-t1ro7ywT1hwf4{BvFP z{vbb%&7v9JNR_cHoi*w^X}!6>zp5NC!#p{>yT98UHQOc5iB9eGkPIQ;L3hdchQO~N zc~&?5?0=4u={WSG+AJaOtpw=s`Zi>SHJi!Jusmy&`-}28K)o%A2hT;uB5?hG({sRl ziDH!PzJ+q{tA~RSwP+_rkU|j4So9h}dclRZZO|6;IRhYE+EWq)TKKHiAtWs?!i%?$ zz!)Det_-nRhsIIMX7$2)>x|weUs!+is>r$|kfaZ(@%kujns`bjWL{T5DkyQ|aTKt3V!vpsD=eEs52EYY&*vZo3FS_?SP06o!OeHD z3NbXSII9QBu@!(oe^8POE_($y~ZCDZ{#r(7b) z1}rIKOeiJKQxQy>i@fEQma7*|aczjv>b&EMHpsPAnZ>u$oR7*u0p zJo3ZaJq(ZVf&)?9NVN#_}? zLlQ!dbcgQxTo@@AM6M~}uy&BLz-Mi7-iz@ayD^Beog&3OQ^We(F4^hm{Pz1zkdbM6 zd=V0#LiZBzd(+2N5Hdel&FGoxHsCnz zfE?tMDs_Ox#8D6#oY&KJFp8&MS)Z4U*$}a^4EHa*=Un!`CF>avYB*oSAlyzyhHv>ITVVg33DV(R`EC`mAegR>6KZ>ck@ zAjVS)TGv2j{_>+z_Iq%TW!TUl4H*84Aa>@^rUY7tFDb&KsDknCvfa^>yDkkuL9~n!1@Xsuo8s-yEMov?h`VGqWJ{v=J$+Wz{V3#26?R}u zx-1YF;69b<-pI|`FumyB3V0dhM&q*9{>O!QwnT(jeB@wh^2hp(S6pQdniljr8mX1+-QWE1x^kxz7<_QYP}})^Y+oB)GS#;R zcs2L0mK?|BLt~)1F{jwPHk)xhynL3aC0+*U>>LoVzma_-OOXyhx6=3*Dlt+-eR7H` zJ;5%pixNV>eqX|2m-tX*NL2OvPfEeY^RTsTp!z&1fG;i0P*}-tu0P0!^SqafLM$MI zo3I~Wy__Y>;K%hiAwsAMMA@*H(9V*kB2c3k8EmBpkF93GRghV7{LgmYBh+uOSuVgR zo&x;@|Lq3MDEO0Xt81vy6Eeb6aL(=?g{V*yG?0Z@sR-V$&68-+6lxUuF0z`Z3>;$H z2P}}(dO|!Mt4EuKsgZ^epX3UwctKST8l~7`7*8Yx!RzB6ryOf}lB3HZUMOo8euo^TMYy+^D%}9UG)p9OB?+ z*Nni70jD)BgM7!=x4oauCyG7|K3-7rzS%ny$kzaXbcfuYKib@~PZZW}-|(i+hi|wO z(H;G`DV74Q%-!AzLeJehDsVIu)fODVOIa#79PxAh!hz2u?K(;C7D9PGc`e!{$DClo zubs*(DIu zo>*}Cdi|G5=SV1qdCUV_GU3|zEufMALv@c}v&Dy-&z7(WVVdW~ew1yJ6~;PKvlm9% zmR5fGkBLfC`aL4sOWPa*7{*D(T@6-D*YTXZp zn3KT^JvKhuzvr_o1oIRKTzmHlcbWg~jfJz?4f$t-&e(SMY_B&RVV+~Y)P9XR_rJV) z+EQfwOA~5$n4`;$6hIYB78Cz1B#&)mo9PYdFzjL%(CxH14zGJ|Puc=c8qTLp8vb4d zPxpx|UrVGy^T|&o$5ko2oONC9`@l0MhF5XK^>-@>WtF842XDQt@!K%Ko2BE zfu?z22Bar~ls5J-pVjR&81h9Ks|*92?Wr-5v)`cY8rl0)Pi4tY0-6=m?G@2@n3UL~ z7ZDtof~G2z6qoKwfr5@8=PnPfpK5>;vl=1+Wra-ESre&h{~{6ZW+OILZ;nvyoLSmk zeTXP*DsOwihFd%;_Ay(Fq=DQJCkJ2c-~M{_CEX6>b_phSBH%z+TzPVoaE1*%7q!9yto<@NHtLVAMI(s7c+!~KL-=KT7R6`*z#_;Jw!L-0>ab$=^dd1S z^C-cSUq!KkBsG2+%F{6wg_U!ur#UKNv(u0O`g5vR?<<_6VcneAf4yvw-ee@@{=Umg zOA*;u7_Hh#>E};s(QbXbFRMFR%SNvkXxneL(sZ@53I;jkTyvCu8s&d?IsF57!%E(r z^My5&J6lDnEutj9&kpA3SLRW2l_6x=m9s#xjzFb^)kMbQl~ zL-Ln1LoN<#kyv0ug&wFpc1q-(vTzf;pb9t+C*uLSrOE2bxMRtlUHel$i3E zNUgYJLAUjJceIgcBD-8BA8YCA^0#~O8Ax>7b_}WJbQ9H03I7JCiFs9L_t597h2IBU zT&c$^wCD|Dd#9oW+wkmqZ4z0q8QPgP6bkC-c!Y`xmd)go9+v7Tw;L8YWI(tj>S;6X zJ_-gIr)%$q3=`Ram%VZ>K`&mE%ah$(x3@x1)N|VkGAdfVG}0f0caDa3^lf-tfBA(x zjJSQ8I3DVKT5$a2Q$9Jb9V;gf7cLwJ$E^41n=$&N#1VS~myyo(-TUv?$X|)Nt&Oq` zofcjGp|(?@X|tz7S$+Bf872?QBYYZc!cWnP(l0fk@&c72kAJu>m(+0oir>X_(W)(` zuKRyV|AIYlS@BS4ZF28IBj>5531(Yk;g2uLTgTwt5}Do2xrl`7v^Q_Uifui{76)n` za+G}NPXAI6j4I5oSkBevZBq1m%lvdaH1wFPK|BLh^Z&;Jz+nR#)26rPd|PLO>#R4W z+dnBZZ+UW{A&=Vwp1n-_Wq*%2gs=%C!Bd^32z*2_ihu451}cyrzd*j~AZoVG=EP{2 zc|OK*t8JIu2suYvq>dmOQDa#2`ApnJmU}=|=_h*DQ+fjbIBr!H$q!cF6&if__424$ zL-#R|GkZf{i2GU(txE6h=LftVr%YB%o1la|VM7JS1^lIMPSU&F2GLiJ$|NP^TQrtX6AE;MtI`z~dwV72##h7=&&J<8-81j$r79K~WZE1rP5v|UsZi6>EEQDFrY7w zBXK&{(107&^>Sd@!Ta@~4xB{z-L3Vjb~nMiHP3c@!c~egkG-qWWKx3)WN=XzXAD|vz1 zJ#e4*WGOSjN+#w`$jcu~KPut|L*|%PcH&P~*912u2(=!w^BSG)is!$OOOmp;54GQ; zKOMymHF3LUY35oy4B%rpDR}t)$UX%LAW&~~`Zs{gWybo==oN)27z*Umf_ZE{P$|Z} zk8S26LpKb${C;Rnm!FUyH1cDO)*gKd064Iqi!_PiM}@l{ATZ+eg!oti3Ow&sh_!c( z*8GKUJNb-^N8AB9XBrfytU3YcpS(zaIykdd@O%y_nqikzN^@-E6h=2b@t&f?JDlFd z``)dJApR+2AlT931Alyg@nA8vui1%!Yj-KoUMUWthcC4{N0=6-)I+-wut*)Zqm=X< z!daWaDDVyxE0qeIm@ut<6AxJnsEKs$Lnd%XDTDrrKQ?NVc}5iIj7zSuk_5i6>D&h< z_it;~E^ZawZ>A^Eb1|Hw&ngW2O&P|El}FBBe$vrwOz5n*Jc=l|EFwdUdBGbFf_v%g z=Evj9|J~-!<4AtzD3%CLrIxVhb%ClD@_p_$DFT7HN-NfAM%>SIwzMq_T)z z57~YRcx1Z?!7Y)KMuRrFq%Tq@r9_xO=dBrsx+UCFfm@)ytLCS6HjJZ_c*5Y`{*@c2 zr*8UmCJ}fp21xhLWX%{JnPEt{RkJPOmbrVwW@(^z`#%)p%~>TaPSMWmXZQ??oj%8l z9!1wxL^!K=GLdXX?5~Da%ouWWUUEuKxJ6?I=iH#RuI=th90f+^K)iJ9kUhEMe3r+? zFWapvid0sf9~i;m?H7j0kO9HYvBM((YCkleZr-&d;|i3nat4iaAQhCmsD14IT6r); zniO&<6VM{aPlenK8jnWgxhP9xkFRUBw9m?&7+}JhGaotq)ia7mH9u5Bhiohi7>5bwfT&}5ah*i&2H->yExy}T=&7uz=hUq4~XG3nx z%D^!Op%L#z1hQygEigv-aeOoG3BP@zHkP|q>1TC!QoHBKkuxcOzh^!$J$mkCchle~ z3n}wnsY7l%yCZVO^Leq+<%f7e@3++(B3U?s`6_|wwpda|@Aa9<>`0zw8LW=4;GT1D zTqf@jW9$>F(tW*+ks@Wvh|fHec0qoI-)?qQM0AVAi}SI#Lblk^E3cd&XHbF9;7EDP zW<53m!HH3$%cu}h4L&`!of5|=-|Dpq=i9J2E6MS!cU3djuG$jTba{q;Ip+oX_QS+K zvyH^w^zDd_YV?h zO*PNcHZ&<=G43!$n%^0UB1yuM|=P9#XrL;1k7|l@BgDn1ao}xuOrt^!_k{iILycWtG}}B$Lr@ZulR&b!1hbI zUcUU6Sta?haQPg!(IalOHYc6Wd1CyF)|f#_L;7E|0|?39m-z|JS$Xw*&P6$O>O%Ox zps_78M?W8A!(lb}5|H`^I-_K4%_&5|H5evt~l7^T%+ zB_Dmm;39Xs)1=|Y$E%lNpiVTvk6E&#N625!U%^bE`Gp`-TKp(|PZOBIo;rQ&i(3Yu zmJfoUkQDbhwxw~S*Fqxn-Z=KZbhJHj&>Pw1BSp|>%2hNLoIA0> zycESP@p&2*b5=jM#b1b`=%q-C_TP*?5ln#KfDY4E2C5Aqx@TC}M#$4+>rRPe8xlT- zqXp6y@#EQ0;s4~~1XO(3GhZnYy1SbmUVfOp;_J|>d{BNi|Ej0lAfx)t$!I-^*p12Ku9`U88oc!VJO0ctU*}9=YEP5y z%=*S@az$p$cl*gA&~6t8j*D)OhUz^#ap#q)PwGd=UH|GQJ<7%K%+9M?G{+D<-^S3D zttL70c2|_{c+}qTe{CWALD9JYc;-^x-__C~3ylQtn%Fle2$%C+e%zP?>sF7Gq1Br) z`xZum=72+vqYnUGm-Slz0%(JDAXr0A`#D9*BbUk3sF)gO;tdq(gh>oasuTpwM?Y;G zR|f>;%x-g1|Al^B>jzJ2OdXChDXRS;1ttuWit7*Qhh-wP(T;b{v&q99ZTOi<34fyv z+>Oq#isvUT$tl@Tf+}RFAFnk*V{M-*lh>XYY_-PF0_QS|=9#Ier}&Q@eG*A(5_ZN6 zV3O$W?P5=Y@2f6yqi*&Vdeom4?F9)6-6%;Gqz92ptcdXH9zJX+od!FbrG`1b zN$)u@N$|iztLd`5H*3DkX79>x4F^xZ$J?D99sxC2DHqqgTdpeUI&5xpWz8JT>+%^Q zV(f1W&3p7C!{>!!b&?5fD61|pnNjm3Na7&3-FHh*L)6;itA={l5_qigX^As)ZdW}lj zX`Md?7ucV1y#J8LgyRrr@Ktiq9O>BLJ9jnn?ATM)$3ZRE=&~;Y3nc~Cw)!z~Ggj(7 ze(%Z#*y(Hw0;%_=1oaMPj9w}}5`ykeE4*k(-)-y;gMBmqU~r*uWM;L}u>!k@O9m-qOIPueLv2JXsq;eUDw4AvKIBV2&YwR#076MAvAWGqp%6 zuwjnb6o<+0Mnc3~LllF=3wlCQR8!iqMLinFsdSb|W_%KJmdMUGVYZ;}iNJqY7Z5-{ zf>dZAp49ZrPGHd!*Elh+ZOy|tnuFN$Q3b!l1f+b*o~Bz$0a}7I zK~3*2QezT8a?Utov>GTM^ivlq?aOkVO^M?}_Gs_P<6LORd{8?Lw=(ibr*Kg;-&hzK4A+bN-UFbTgF7h`i`u3ezy2qTa7c{=8 zDTzRdYqd<@%Y$CyzAW#x?Qq^~ao^YC_O&15GZy_fw(r}9c?-~-!dMV8Ts-4Zsu zb)8(83Pv7EM4&dL>Fz(R_*wM35=woLe7}bUl7eJ%gsB8qPQ++5BTcJBZc?~POts*> zTNXTMM^%vlh!g}^{|IyaD4R|Tf=IP{1kXr`j+7PtgdiSVfSHS|)aJ)rIG(=lYaux& zt3CjIldYPJi29jC9hSnv-G1Ikkf!}Zii<##Do_9Q3qp|2n|eX`CJWn zVM~Dh`zFVLTKd(E*a(Z_?4yJbH5+I!9k(~qY4zt4KeF83vH{W#XOPnmSL=Eap-w)J z5k+jV(M(uB)D!<8+H6hr^(H@rk`>pMp=_SJLA?{JmAD3Spl&uIm zbg(^&dVeN@0FwnQQei09 z`9`f7vijxP(A^>WUph}2#i2w&OK3;7a^PclQaOCyyHiPWW$NB^+spkwJe_wu)&Kkd z&pF1iS9akb1JuOJ-*F{yn`vx8L`# z{?YB6+j+fS*XwybuE%wMteFT1cc;$OlH?h27pR;5RYQ3EHe*vlhYbXg!_>m!=ECX8 zUz$%-KnSr6Br#D6=3Kack0mlb(xXZd`mL)3DiC}N+1T(I&{;_-Nal!2oTzNQpXv<|Dipv!bE zAZGoGd0Fl8`BQgSm-g?NIdQ0=Fe%A3_Dhax3Il4@W#$a2FHvXaGB35G)yx(n`{d?n zwlm!?`>cxd_d54pm4&|bB5*=EjlqljMP&>x3;(M(sGF#$`jr@|bEZT?{@zFtt_Ra^ z);2$Apwa=#OM<^q`0fRvZtjt`Y(yp;<1D|$R(j;Y`>M?wCE5z%$=x*QE#IPA zVPMKD>#OMd&KV*fS201-S`fV$yK6zZ&-Q*p7c56QC;YK+O!39$K#R5~65ztS9+QjJ zk$%h+@!CTJk<`liOgx`Wo7mlAi8bBMCc2J_=uKuW%9p;xg(s-y$^Z$EoDZp8H;wL1 z_nO#gDDA(t!-+mUYAM;YZXE-QyBVAFpXn`w4%%4S$9sFRu9GWYbZ(K@Z!dJpEek&m zuKE5|3_$G4#bP8uu&bM=Ng9WJi;=-a9>pK)$3M_tnM)Q7!wmg*E7#pz)WOOxRSZyf zf74SYI(_KAT)hHR3mmYAylbkWC`kp2L3`ZqR`*3c5-yrF5TL<~=6;j#_qhs1KmQTg z1@2#b)cGXTT!Tt$M70cB)1Z%TdgOxUmToMHc`D|TVt%jt zRjPnM(a}})NP-D-2^2*EDi0tBBO^Jur zjKNu;oGENpq~0cFBxm;*FyXNB7;j*Ge^qi=LP^Z#N%f$OS>IX1hB-ZYOXUisE#P&` z_3eTUtV_lRx6)B{yAv5z*zrnwFnVPi`t{!n@SUv&HNwb6cy=pxt2;*EHu7K+1->|k z*2-UnTWWNYYzQegVR9`pA*85-LRZ?~HGDC-WYwUup~d0Fl}JeQrDtQ|x%SO6LIj{Rf6FCGI476Nb!yU?dExQ_@^8~U zHyYY3{O)>mRQ=QE#6uRmvmA1KPqsxEn%&bYWhnbsT$AU1HDxJ+1RS;y86v{$?8lF% zPid&HvqIvWn3SYhQQO~ajg4EeyrIbUA@nEHzdsgYV!P!ow_GkC-MGj3Tqa2$Hd-Ff!Wc35?Rj3-uqlmzwgu5cYJy)}_>gJD>5w4k z$CdRDpa8;JmNn4y5EQG0#|h#TFFlI$0fc22*ebGq?=8FbTzx8|njmFTl<*`u*m}hB zf0#s8z+lk-0$2rl3}IF!uLN)_ot;%gpaKnI4TqJcQbtnVt*W*ITk(36I>W6E;+Pe2 zkxSSy5=ay|O}pSt(}{O+`oN33|F$C8e%eJ$GXb>%yI{|yK45D;*9S@{6ki^;3&$D; z2TKgxhY{wwJ$ON49&3`^JC-m0Z_o}r*h+g#nXp8S+}U7ptsCM|dd_uM z-FFp!fi;ZSJFRhi26JS=kDP?LuPR@kCeL8=7A7d2eH>a0cF$Olwmu6_0Ww2aqPP0Y z^qSvO;o0pg*Cu?cMr>~$kKdn>)iN&zn_&a4i^CT!|9ND;l#3d6aiZFh?|9PVOP0L# zN-Miy7_lGc>#y3OoYRy6&#pq|Kjg%@<>VWDl={nuWge@!-){Cew&m%A@AW?fq+paB z;D$n)?s3R3eGMU!DN6qLWL9NrV7N^`K9GiW5S+(}jrJV1Xmtw#)~yE< zeQaC4lj3tsNhh)}7uu)h((aubFn-uJNY=jhLZ2C(+e~gq^KlEX-R&)}co%`3GZ<1~ z0yu|W8cctY#u~y7J zOXxE3FMEJRtqBtbnUu_c9F}9oDRKT!H^Fz8PXngOh6o!o0CChjv)Mr8?D{TLCJ&ew zw2oH;Pg3nb(Dgd7>rhPVO>FMbXg=<6c&WJe;uEKTfJO)-CiL-DYihzWO6Up|%b=Y$ zmBeh)H~#-w)Io?4o+ZgyH0Z#N-}Op_IZx(_0RQxx9n-;!H-tu!=Y%G#sLv2BqJXn$ z&%Rzq4i0A{WI3|da>|HKwh7m@)DuUW1Z;;qGebKy-z$%g;<=yK4vRGY{CkzRx50lH z*8oTo+yU7QsjR$1>;9i^ztKW~?JEx3z^5KO;v1D9Ks$AVxR*^fd0_exsbZ}JjtBeu zFbOo)4a6WNt7dKPeexv~IJySQFQrwhw~lPan!l3gXPfU<|6$cBuk6z7@kNy&&_GK@ zEV0bX%tAX1(zZg%Ic>kM&5rE&`FVV=@XmLLuPLv@(WhR=wXDW2;uMmrU-iw!AYXUjMTn+$FTdm$8*0KRBe?jv;^Isf2I8D2 z0Lu54#z>IjVrXMLsO*^($O=MCT8sY75sAmqp8!kA~tjoclg*uXr4FF=jN4yMCFyVK-?9DF|5!G9_x{*gpaUEOw7eJeqUQBp z!n4m@2uzra%{I?fVu#^N=pW5}gMc+jYn)wqujT&^QxY&%|9{eZPV*`7n4Vd7G2Idg zi(hRElKrD0jhIPhO$lh=T}ERX2_|VDU6e)Hqazd zG{A-G0>-5Gj1dfFm3V^-SkO8YgU{C_k#dwfe2xc7__FN88Ng`+ST6*fr+`Gdm zSJe?ochfEpZwAt8MY?_UW-wI+1<5#!&wt^V0a2?PfCAe`M^F%A2z5Gs_LT^v1~35^ z%5mN8*Nm7_v)j14(U^PybrEt%e8}WDug)6y1+2JAA(BGK^sMZA~>QL&&z>@?hcQ*BO+{W3dOG?AVgF2geS7VX65%C zm=M>!pk}C1is(!8#y<(IH9b{z$tP2Klb<%itN-MuInQgF@kaGO+;-3f{y%og*511+ zf|SK3KC#n$FyRNxN-zq%A$RS8`h&oY&y^Y>hJlqoYk}RCJ_JxWoS{N=U}-->=bMU1 zYx>cvPfTn&G3XmtUQd~bVT~emR)EE`l&B-!&~dbof)KVO5%}Ff9W>{>@KTkPC2n$h zH214{7Ode82rB7zfe=6lAb4~MnYX^+FYI65UE1m7_;%$b_{S&P-oWBH zqAU?8tQ_m7?LIesg%}Sj2CfG~4gCvtN@eqKZ8{y4zqMiJM=Nq)?)AKreBZwxH$J>Q zv*hh(xG3VqHT!xLX-B%o<^4Tkv|37LW>Hc(PA%O>dN1^AYOcoceB;6KnDaQxm86VoC15QdFqkCK_69Z~iIyW`iVvLx}+L?T&<3?4he@9fq2K;|kb_)Ufu_o9$Jio3n0YeNz z5rgz)IXD1R?V?2W@csG#cDBT{{_VnWn!wP(=e6;ip_xT*#Z(Zlw<#?h8U3$4;qdXKl#rx-MKsI_@o*UO(H67S0 zMK#yguJYnm5@-fm=Nh`Z_8&wQq=CI^jIjW42n<2uM-8b-{L3C{*unArmeqr&CQ)au zN&8?WZQ<-b!f4VV`lZA#C0~Gqb?WL|1Hz{!tyslr>MdOHjpQPG%Lj1%+6yFs=(F|r zi+20#lMCi+y~ExlM#j!x$qtG_RN>E0{=D#gEVy|DFKr~hWasp~doe&z@n2Dr>@**p z%6G%7Qwrvb@YKX%(CmDscM`(!*yR~1DOpX0wrNVzx zs9=Pw(8MLG7+IWW;u0%PF|AyE#?y_SE>{7S1nB&aO=>=6gKv8K*3w~STQaaP9VVkzY!>2Y1!d0{RT;L`H| zOljs#qSJMs!{TRU&Kh<>sP?y}#iUaMV2L6|dXR1+%QoXbA7yKM42bExuRCpYS?j-_ zYVqKG+R&G*gS(RO=H!X6ZHDG8e)7o%)sO3(Yo5PBD*{8gt zZ$F&`*)iqMn$z6NF9M!`Z$7rA$^Az;02_hl*(iPzwDi|&mz*S40Naf-B`3W$|6XZ7 zJ760X0=5wom~Oq?@dbRL;@jMJw3?m7g{-f>d-nSNm#X*`;M4he5o;=;-1?> z1OXc;3j8VtFmOfiPO7&^@C-M9L|-zeWyDB@00LMoYUK*R?*QLi5}lRd!8#lQ_&H7r zz+Yt}=5RMVVdqsxf=mGVB>(sa4bWN}*ikE{przy6>*v)X#cQk3x4l()dGU3xG+YNc zO!-GF+T0}37?4ly)&HLLNWu_f6+1Ktuq-bt5m@|P*@kQJ#bL7Qq=e} zicNfep91gD71$j7#U}hQ>GiNtr|VtJU8@Ju4n*qGat*O8ao#8LCo!dS9T_A_mtE#N zrT?;N)!JSxC~vq;-MXWNXig~$W{mE>${AhqyQ-(s$XmGWyX^VytS((KiiHL8+mb4^~M+w5jOf-;ObE|{OZ4Ic$xRju7wlnmDjWH z{~T{b>QYuc6SW9d;(w(OepC@JGU|OSuN3M&wE!;k-~va3;fD$oID}w0{HvQD@geRk z-KOjZ$6hsp%*|x=?{Z_ICW8glt8@9H0I1P=!lOrvi+bVOp3jc6!3>-36}*Llpmp&7 zPh`>c7Mo<+Su#LVX2fu}7Hx9F@!}mG93ca*83I4D2G?{ zS+koO@XofIW?+5Fu-VV-RPklr!kiwBd1%34rERyiS-pGagx}w?D!1{Q2G=S~n?8cc zDfvL5wD$_**h39%er<&mlN+Mo&!l4ebyMEZ7s)1DWe9T6HWa{+W!940WQ~4j31@!U z__M<-JK&37YEpXrx#>c0e|Oi2FOW`AgK!V73@8ge3FPc$i z7g#R(`dJmXO!h|W*0#Q&}Q6kq(-iGbDn z9z-U+-@KT`j#z{3dsqx039z(OL-3peIKQeW73XX(7UAQDLIczaRAYh^!9;yoFzngd zoq0e>ex7*|3*pL-i`u^|Zgln~)_!{00xVOU&?e}DGs=T~t;n@TH-_eLl(Uh?FDiH3 zFJM-`3`6?TmYdjKuuQakZOuRwnzoACSJORcuLz*KP~h4dIxDY{;=n}KmsM&v0$epF z^!GBYV*ZPNMRKBR27RUj1>iJSa2*k}U*BAJ)c&wmH~we2Fgw|Qqsiyho{jaC18Xrf z^kz_3{dADol;2+wqWrADz5CBrE4yQ0F+%S&bE?^FzmTo81pNC__zyYOPsiB!rqs*F z`)dcSl5o8IzsQ}3KkIF}jX6MN1tL|H`nSR3ZYtr!1g=1Yj5NdT^=6heMRFRd86IY^ z^@CdJ2-c+Ns~#E%V5z7#&f8bI`UB3%*p9pyk8*%0y=acDl0T;xMcR2#^*uYzv=->0 zv=jtze(UU0wg*BeI9C-n6(0}YrGJca=25U-Ey1vX8L~>MIM6L$=+g)qVbJ=(M6di_ z1rV>~I7q(wTM7hA^Vx!g>4Xby_4zShHaHp7Q4qR)w02&C-c2*~?f`Bjh%!0Qe~*o| z6V3nVKO-nJB>>BS=e1Q(1$p5s>?xLq6>%8pp_P$F%?GJ`*(Y*LmXGzQdNq1Yk-8+@Ur$i+97ffRMTGK8Wuv-v<*wmJ z`f4a`^C`NJR!&B0_Fa$!(~`}=^#~nZ1xmM~BI(=}TQ9GH8^yX#yJ}iDnzJ>o&UI>+ ziGWL(uWzd}G&+d9MtZL&s*Q=kW{vX1Hehl;64i>7Ic)mv*E4^8NK-CYCRnw2gqv6$)7cDe4*a=j0BS6X>C?Kgb5 zkp9T7FH4~+`1~w1Z832Iup$2)PoGa=U;9}WG7WpKh!y8s_^(Ml+Z{BXFaNNfaDEVf zjVei;n~XLvtzE$a3{luTdeEK zrzry20ho)GoaX0ctn~#`0wkD*p^k&rt=${W-pwGb{ol!U-`Da7rmD__`0t%T=fWt) zzcoiJVwy`wYYby`98&nl=h*GroQqXA){!RaLh+uOh)7TFz6jQo#|-Yi#!bC<2MA-< z&PF7g)fWerI6xHZj5{#;7xaJF0AiNJXEMQ4-P(on?o`Aq)d2Cbs|ObUixu*ZYt4DY zN$_3NI86r(KXe{zc;f{-Mwtq40tA_>D|hMb=ry;xvdJIV`ZJLZsMy>J9R?BP{l)aD zC$lv%97;Uoko3*A3chcb)nSCVa?s_PskM5D#&t-N&%B@m^Hea>2G8l20mPG>tX^3JQ(MEJ zeRnzCU?#}*1}4w4l%+~s>bYf&=B z8-jo`9{)brntLk|ZupHZ;r)?LKp;$Doe0WkJ+kmUUFUqW@)AHVEB^NT4#40>;c45K zwSXcN6ahkvl-`?xY@g?;b7U-gP=V-8i%?uofTe`QZ5Q;~%{gfI3x{~PRO6j&(@?Sl z+x*{i=C5?M(;Dw`^4k-qVn4l?>}w2G%1RRMbqU=-W0OZSAn5=77~2#visK+ z2wH?briX~|lGz|$3X`Lf;jfj} zSFmo64R3tiH`kk~G!ia$b0p494wm$5_p<0D`$_`SwR_T5#5YvJ22F`zZc`se*^tZV z$*0Rd`3hrZy?2;wn}0cGsRokZ(xg4|L@Yjzu=PQokG#De`~LP=oy&0f=;8KaCIz`P znoF;5^Oj-+mZFutSa7Q2S~WIYD@9a_Q{UOz4cgGV^ZgM>&a4YDy~C;Sp%4Wf4^T>nnUEq^d&`62tp=tN_Bw6|f3|H1Uq4;|#O3Sv;ECEP56 zbEya}k1N&ySvN-xDCZo?pHI=;gFHBlDF>1oe6YGY??m}6`NtdWqY$))a^e9!!W#j> zFcE?3N{()Fwf}4JkOt2KQpW8qd2v7UA9-WcCe5gErh=?Y)vl5b4@tg}{bn$H8#EAk zaU%D|uTo+e+p4)W2jMT+CNMpUU`CZj~#_I*O z*N8Ded&y@%LIh*q`v-gibU<*z3wlx;B9G2fquV6%-y3yYE32Q9Y)#aqA5MUgdDG7P z`#1l!4rCOLgB)coJ`&b8`OmYpqPWt-c$G^_1oM2F6(}ale^17-DA<$;^9|Q18~AkP zuj}#N+TLhkwv4z@vSE`3$prTHuR>j);#?We1y<7AZe>g`!fOFtS#OqZ17zn9yvFN) zSn{QXQ& zeUK%_h{*5`lV)q3nk9Fw82iYcBk#7=8sO zyA?esi||J2Q6LKZ0Hs?3hWTqrk5l1hBFF6I;-Un-Uw69BC=TL|{GzD^i80X-OiAg} zO01zdN+>t|8h~^_^ar$^InaUb-j^?j3``15S`)C_zvr1>^Cb#h6Gbp_O)}zivKes< zc3N6|NeUjHBttQ;o^T8=d0@~w)m4rPIQFq?9hV>kQsWLJE&k878S{1|o^eJbM5PCc zY%4+lh&IAVx%dY$xc9>hk^Fba@M#|@3=h{oY-B){KlZ#d^k?-B4LTm59!ryQ$vEmR znM>QFJNe|Izk^%fD5+?!(n-H5L((_#-jjn>rQn8p#*ieG*R+vaB!?FwOw>w@{Kr$L zf@ODMLKE(qiKf4{(JfXW8N2yt$|gHt=jGaHQ+Eg(mM)O^GsGe5*#aAUQ14Rh5STx8 zqnwp3`dlP(=-M6)*cGKNU0XhdJZhEu$!3GU`N^`{vCn<2EKQ+L5sG28TKlD|RJ+k~ zu4tL<+>?l;dAkK(H7n4ZqDLfj`4tesVByR}b!uHzngI^U5yh++J%Pk2ylO zN~c{B&iU6a?T$Jv{=~1hmYDAHKtzF%9DLy_T3<=h3yM;eiR0F92?;C&A@8vp_G=ybb5j4asd!<%Y zyy}td8gU+ z#zCTeQB7_V97glQCuJz;Npup}pvcK4L4*-Mf+SIh7}HwRaEAmR1lA9lVPT1h`ui4} zC?O%i!7J!kR_PuBJ~S~fmIA3FP4TCO5`Qy@8?hV4h;j5@?r3#N5S`V7uuxJ zavOCmm(efYD3KX`IObD?hgj+CZs6CcLJY~(7;R)M%gvXE3hY>xC zpI`CP6t7Oa{{?0Exd3&>Ud>mF?Rn0SsBbjrV`n5PGO1JW_N$Ol+l0)vo#z8CQ$sX4 zT8ga4oH6FT*K!__zFEC%^`&lI)=f&)$=ksYg}=jaZ(r<9QN1#$@&-_gN`xqAH=)i= z;EYc530l3$vLc9Cvi9F!uPrmHm%a1LHeMk)!cwehCqcxluJk~}^d$2P`o2N!4D=SO zpuw%-0{)*(nFVE*oR>F3KnT(>eV9 z>mwRS(0@moIBp zBr`shCadKXl8c$kZ@E&jk-x#!tu;Nug=8=*c@vh+sdniz8&k{5%3+hFBUD%-sdO%&Pu2KP{N<$+GLZXnodJUq2i75$f47B zVVq04oMa(}!R%#<1H+(7ql#&Dx*Z<;@TnDjx~@A4$NfVduTMNI=I)G+ppIS={Zu3x zx!&^5t!{fWrJpDlKDLX6W2AONRH9mip|QOXf?pzORl8R(6vtB}hcHCf%2CXcHZ6zv zr}W+*{9;+UK0*)AXMjU6J;xTJ2&sF!x<5}yvg*h9 zFlfSKiR50S!ads_MeIPNGOtKk;(e)IqkHL?p5{0hLFY0I;jN5XS?BQav3LDpz|4}U zsSQW#)E$iQAoxBfV;+>2#!2`yAPUAzY>Dywy7iKSF>QWegx4OTuLB-YL_uO;0Sv<~ z41QFPNs5rf?52WXVxFz0U$r;PXyLfua>*!piuB-ocSb@U7PhW8S1%nG65;>J;g7+RhRdy$}_d1`T>Mp|L!u)hp_0(3!IQVTss*kicX^oI$;Y z9Ae&JkIyow7RBxTivfmVr64FzyEk#6%kGOHYSH3CHlt2>5`>hdl=;tllVHU1YvrZ} zckRRH_E3xzgizGUELwfgUMMV~igNzP2qg&od!DLzR#HGblA%I@@LpkwrlP~K%W*?6 zU!j;jQ!n&iWbHq>Yi+c|U6<|3!wuaeaGH%?f$>I5qCe4wE?UnAHDjOE9#ySIQKGtx zy06jeG@zbow>@d)jJ0Zf&N=2IoBmXsZueVJTfV)rrYbESQ=AT`qh!MHvCc3*1)xb% zBpzMOgdh7?OxpFi<9^G7dje50ZrTqeAAVG;py1r~oOQ`mi3(&SnJ`;Yt56K1cr6L#|IL63M_ryFL)5wqi^5y63fLm0^TWP%sm}5G9XY+1h7qg}X`s&q zzXhEiPs{P1B3g;1hmykMPyHd;MY^4-N3up1v2)D;jO zo`a76^Evt+w8aN`Ns1;yUvyJgZ%St2$0+h5;?%q!>L;<#8g$s_piO}pcx&eYEP9hj zkAiM~R?xfpV6+64YI}wD_zoW&P1MdI@7vF|8L^-DjP8!C#sb{)dE!g_JK`E9B0{pE zjaG_Ct}4&>)e~4q;Jm50}XhQs>PcWoz!mJOMki(eDFN@ z@G@1@5JPji#<=>mskq%YE$??Nl(t7+$2MOtlo)XT=Baoq;LOA_2i zgPS%?g`&W4M1}SRr>{8epAgVq6G$>tG?kknXzCjLPZK^Hav$YU3^hT;n{l~Fu zsWdf2!QXESC{3So+AGMgfm5K=O5)9z(@a68*?>xGQDa4O&FbNG7^Z$Qtds~tnQR)+ zC9I{L^WFS2~%)4T?)@0V@ zfw*ZK2Q9zc@8?sIL{J*6S}VzbjG!u(@=?oaomM5>s#Pxql1dhn_Z0TChS*6jdv&zB z8;V51>YRS?!0}jmlt>Kf9VPGA!Ur%+Xy{JhTvu%QU8YT_2`NZso6Z>Zbe(Pv+}rBr zk|UcLRBPpcK(K`k-k`p*6de=eV7*ol!ud(x`KmZ*dhSq2$E2ABgI40ojc4;o#^yru z5N>D0kGh%#sH{3&PHv)9XBgr?af>e?JR#UHC5a=fbJQ~kV?I}(R_Bft zN@yXVKNDon28NvIbA4EMbc5>W-0R_$h@# zKNGDlA`J7q)m4bsJ~A}m8KOW|RFJNr-<2AjD~ftRlHuIX5dofx9`uWfWf9tmrhutp z-Bag%JWg|c+C_taPyE^g1ChWGOvT3`JgzZXMN=xSDi-Ao5*xY$_WwdKE|xeI=Sq8C zifl^Ff&w)%47jD7@mNDs3M6K4(nWie1w!Bs73U>>yKby(2mMcja7$FtL=~?jV-tHH zF$-6Zyw)nfF#rbD^|Mb60hT{oII9^^QHg<}?)Nzgi7>j_RU?cAtN!eWUF~cGG?W=~ zn+8qYPx4{K+q+&RYF893)iXBFguy&r7|di+2wJS;l7{_KglI$3=1 zNWREaDT^CWkv=JB%=77b|P`Ry7SI1!7$7@cl_3$z$kUh<+;~CeY&w ze$6&cg5P4dbBpMG>aFfL4v>P0)^C0ZcwfIC%a<%%{mI7u7OUJ) z!M8Y?)ij2EuQj(M`iRU$uNTsZ5Y#qW@s(+38M%_qv<$nG8*Sn|kcyBPw*JE$_Yl3G^GmnM7kW(@+cLj9Q=n+Y(fir;sGcz;J%@(qWL#9}WV?ycL?) z*aN__qwu(f4M(<~$4?g}ubqH_; z+g#$m`%cPbNU(G4$>r;QrLlv47LNPIgf9}ln#UX6CKn_-@bJcU|gQLUU{RZh%GJpA1E(>a8jDj4Sa zF(L96i3P-%wLTae#Cm->W=Ijwk0>H<2MT66uEB||S0nbV%}*K**)c_ZdRMFm9@&&b zdIMJEk6>g(%>T*UGuZd7TaY#Jsg%VxK3HBuzZfEFNT=fHt%`iED_n{W{zvbCQ30+K z@`|-J`dRpN(VehdD_c%+0S)EIgecoWF06DM6PJfD9&0xxz9Hf4yUPUJ#X?~fAFIC0 zG;y7YfrOcy@I=K98JJ*|t4{6w`b1r+yTuQcGHevambA?*@cqM357h|aymV8Z4$fg6 zv}%TsKtlgMSx8D=@};7_mF<`90>=J*rS}#IA5)H*7d{zSrkS$vJdZG8Op52^JyPj3 zJ&~OM^WtoUn6IRk-~agDyJA6Qe| zcUgCj)q0~dwhGp&lNEeS7uQV}3;Ui35timUK;-u=Q|?Z@oSVnF%c*otS9jujZp}ue zLq4E^`i&7OzyNE-$=h3IayD)(?*Zroc3^W>nHm}DVe;Q$ZYk|TmoGP<@lL7I1;?RR;Dz@& zp;3G$?qR5b$TfWE(Y4)W)54ohpKn0HBdJ#`%$aq=$IYwVc=rW--J;pb$T5fsC(8~Y z1p31eNrI2Sxd!tcn^^w!(whwI0Qcn@5KbyMJt!Me{MEoT6DiY(?_j*^Kg9C zrYa&^{xi?O!F1F>_iOTp8RGGMuWeMZqQN7hTFq=D|M5X)m{8&s^uwkS<5R(k1Q@7Y zp+`QN9&c-}VJ|DJF_qWLR^a{(JNj%aFs{zCmlLtLDg-;}6sH4mF;ZjEn+E-bHh}An zKKe_f2|d~TefZm*CBSyW6z4C75s}`;uh5xrvSy&4?s(I#+zdU!FY}UZw2?-!!S-9D zY?8=lq70v~>JjxDm}pUuaJ<8&8MeY=uu6oPqKNi7Rz&-#cmZjk`8(sAe&3vofj5Wm?Kq=hu?TD)x(=%=a2_QY2q8V zHm;w*(QTVdQW;pIBIb~rSiWiWcl9VmLnTfsoheS;yF z#t)7(IMEW1u(99Zs4LshIqy=A1IEwcQ29}@)8NDTluT%&^wU=QWhVU^XdWb@mG3C( znK$Ehq)BK*$iPP45M$6xAk;+g7~-oqc{T91M(4+!4ayg7mN6{Hd6t6Zth#ZriGd?T zg{uZLO?&S9f_TmOYbO)gW(LXXlp+d#;yCWgHAjI=;WZT(=sxe)q=%WCp8~ zj>n9Ki@&Q)L8sR?ru0cv?=h(vBaV0#=~^0_A}VX7+rb7+bV(ulb)4E_sy?#VM>

@!IHO!53QSe)#4X?9r(n!kM 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 !MzR?4@6oskNEBI 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 Lak*IOTF`$1y%By> literal 0 HcmV?d00001 diff --git a/watttime_optimizer/notebooks/synthetic_data.ipynb b/watttime_optimizer/notebooks/synthetic_data.ipynb new file mode 100644 index 00000000..a3421b1b --- /dev/null +++ b/watttime_optimizer/notebooks/synthetic_data.ipynb @@ -0,0 +1,1905 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Testing the Optimizer with Synthetic Data\n", + "\n", + "\n", + "- To validate the base model’s performance, we tested it on synthetic user data, an incredibly useful approach when device-level data is not yet available or too sensitive to share.\n", + "- Working with synthetic data, we can replicate device scope 2 emissions avoidance potential with and without an automated marginal emissions reduction solution." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.chdir(path=os.path.dirname(os.path.dirname(os.path.abspath(os.curdir))))" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "from watttime_optimizer.evaluator.sessions import SessionsGenerator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: At home EV charging\n", + "\n", + "Ideally, the base solution’s short-term impact will be in shortening the product development lifecycle of custom software solutions designed to support AER features. To shape the base model, we worked with WattTime to isolate a common set of functional behaviors for potential low-carbon devices and translate these patterns and users’ behavior into mathematical functions that can be optimized. This first set is intended to serve as a base model for more complex solutions. \n", + "\n", + "\n", + "### Functional Behavior + Device Characteristics\n", + "- Covers a 5.5 - 8.5 hour variable length window\n", + "- The vehicle has a BMW and has an average power draw of 42.5\n", + "- Battery is usually typically 50% charged at plug in time.\n", + "- Charging occurs during the workdayz" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "ev_kwargs = {\n", + " \"max_power_output_rates\": [42.5],\n", + " \"max_percent_capacity\": 0.95, # highest level of charge achieved by battery\n", + " \"power_output_efficiency\": 0.75, # power loss. 1 = no power loss.\n", + " \"minimum_battery_starting_capacity\": 0.2, # minimum starting percent charged\n", + " \"minimum_usage_window_start_time\": \"08:00:00\", # session can start as early as 8am\n", + " \"maximum_usage_window_start_time\": \"22:00:00\", # session can start as late as 9pm\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "s_ev = SessionsGenerator(**ev_kwargs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can generate synthetic data for users and devices with the attributes set above." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# the class has a helper function to generate a random list of unique dates\n", + "distinct_date_list = s_ev.assign_random_dates(years=[2025])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "You can generate data for a *single* user for each distinct date" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
0
distinct_dates2025-01-10
user_typer21.4625_tc91_avglc27109_sdlc7283
usage_window_start2025-01-10 21:40:00
usage_window_end2025-01-11 07:10:00
initial_charge0.55324
time_needed100
expected_baseline_charge_complete_timestamp2025-01-10 23:20:00
window_length_in_minutes570.0
final_charge_time2025-01-10 23:20:00
total_capacity91
usage_power_kw21.4625
total_intervals_plugged_in114.0
MWh_fraction0.001789
early_session_stopFalse
\n", + "
" + ], + "text/plain": [ + " 0\n", + "distinct_dates 2025-01-10\n", + "user_type r21.4625_tc91_avglc27109_sdlc7283\n", + "usage_window_start 2025-01-10 21:40:00\n", + "usage_window_end 2025-01-11 07:10:00\n", + "initial_charge 0.55324\n", + "time_needed 100\n", + "expected_baseline_charge_complete_timestamp 2025-01-10 23:20:00\n", + "window_length_in_minutes 570.0\n", + "final_charge_time 2025-01-10 23:20:00\n", + "total_capacity 91\n", + "usage_power_kw 21.4625\n", + "total_intervals_plugged_in 114.0\n", + "MWh_fraction 0.001789\n", + "early_session_stop False" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s_ev.synthetic_user_data(distinct_date_list=[distinct_date_list[0]]).T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Or for *multiple* users." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 10/10 [00:00<00:00, 335.21it/s]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
indexdistinct_datesuser_typeusage_window_startusage_window_endinitial_chargetime_neededexpected_baseline_charge_complete_timestampwindow_length_in_minutesfinal_charge_timetotal_capacityusage_power_kwtotal_intervals_plugged_inMWh_fractionearly_session_stop
002025-01-10r28.687500000000004_tc118_avglc20546_sdlc79202025-01-10 12:15:002025-01-10 18:10:000.3809631402025-01-10 14:35:00355.02025-01-10 14:35:0011828.687571.00.002391False
102025-01-10r24.735_tc112_avglc24834_sdlc77082025-01-10 21:40:002025-01-11 05:50:000.5359001122025-01-10 23:32:00490.02025-01-10 23:32:0011224.735098.00.002061False
202025-01-10r30.7275_tc45_avglc23403_sdlc70302025-01-10 08:55:002025-01-10 15:35:000.793005132025-01-10 09:08:00400.02025-01-10 09:08:004530.727580.00.002561False
302025-01-10r34.765_tc38_avglc28725_sdlc72302025-01-10 08:55:002025-01-10 16:10:000.326142402025-01-10 09:35:00435.02025-01-10 09:35:003834.765087.00.002897False
402025-01-10r33.32_tc34_avglc22081_sdlc71952025-01-10 10:05:002025-01-10 17:45:000.676138162025-01-10 10:21:00460.02025-01-10 10:21:003433.320092.00.002777False
502025-01-10r24.735_tc32_avglc20715_sdlc69022025-01-10 08:05:002025-01-10 13:30:000.525689322025-01-10 08:37:00325.02025-01-10 08:37:003224.735065.00.002061False
602025-01-10r32.8525_tc76_avglc29495_sdlc72742025-01-10 08:10:002025-01-10 16:25:000.647882412025-01-10 08:51:00495.02025-01-10 08:51:007632.852599.00.002738False
702025-01-10r34.3825_tc107_avglc23121_sdlc72972025-01-10 19:15:002025-01-11 01:00:000.608428632025-01-10 20:18:00345.02025-01-10 20:18:0010734.382569.00.002865False
802025-01-10r35.2325_tc67_avglc24281_sdlc71012025-01-10 15:10:002025-01-10 23:45:000.628492362025-01-10 15:46:00515.02025-01-10 15:46:006735.2325103.00.002936False
902025-01-10r28.900000000000002_tc70_avglc24076_sdlc77982025-01-10 21:10:002025-01-11 02:35:000.659718422025-01-10 21:52:00325.02025-01-10 21:52:007028.900065.00.002408False
\n", + "
" + ], + "text/plain": [ + " index distinct_dates user_type \\\n", + "0 0 2025-01-10 r28.687500000000004_tc118_avglc20546_sdlc7920 \n", + "1 0 2025-01-10 r24.735_tc112_avglc24834_sdlc7708 \n", + "2 0 2025-01-10 r30.7275_tc45_avglc23403_sdlc7030 \n", + "3 0 2025-01-10 r34.765_tc38_avglc28725_sdlc7230 \n", + "4 0 2025-01-10 r33.32_tc34_avglc22081_sdlc7195 \n", + "5 0 2025-01-10 r24.735_tc32_avglc20715_sdlc6902 \n", + "6 0 2025-01-10 r32.8525_tc76_avglc29495_sdlc7274 \n", + "7 0 2025-01-10 r34.3825_tc107_avglc23121_sdlc7297 \n", + "8 0 2025-01-10 r35.2325_tc67_avglc24281_sdlc7101 \n", + "9 0 2025-01-10 r28.900000000000002_tc70_avglc24076_sdlc7798 \n", + "\n", + " usage_window_start usage_window_end initial_charge time_needed \\\n", + "0 2025-01-10 12:15:00 2025-01-10 18:10:00 0.380963 140 \n", + "1 2025-01-10 21:40:00 2025-01-11 05:50:00 0.535900 112 \n", + "2 2025-01-10 08:55:00 2025-01-10 15:35:00 0.793005 13 \n", + "3 2025-01-10 08:55:00 2025-01-10 16:10:00 0.326142 40 \n", + "4 2025-01-10 10:05:00 2025-01-10 17:45:00 0.676138 16 \n", + "5 2025-01-10 08:05:00 2025-01-10 13:30:00 0.525689 32 \n", + "6 2025-01-10 08:10:00 2025-01-10 16:25:00 0.647882 41 \n", + "7 2025-01-10 19:15:00 2025-01-11 01:00:00 0.608428 63 \n", + "8 2025-01-10 15:10:00 2025-01-10 23:45:00 0.628492 36 \n", + "9 2025-01-10 21:10:00 2025-01-11 02:35:00 0.659718 42 \n", + "\n", + " expected_baseline_charge_complete_timestamp window_length_in_minutes \\\n", + "0 2025-01-10 14:35:00 355.0 \n", + "1 2025-01-10 23:32:00 490.0 \n", + "2 2025-01-10 09:08:00 400.0 \n", + "3 2025-01-10 09:35:00 435.0 \n", + "4 2025-01-10 10:21:00 460.0 \n", + "5 2025-01-10 08:37:00 325.0 \n", + "6 2025-01-10 08:51:00 495.0 \n", + "7 2025-01-10 20:18:00 345.0 \n", + "8 2025-01-10 15:46:00 515.0 \n", + "9 2025-01-10 21:52:00 325.0 \n", + "\n", + " final_charge_time total_capacity usage_power_kw \\\n", + "0 2025-01-10 14:35:00 118 28.6875 \n", + "1 2025-01-10 23:32:00 112 24.7350 \n", + "2 2025-01-10 09:08:00 45 30.7275 \n", + "3 2025-01-10 09:35:00 38 34.7650 \n", + "4 2025-01-10 10:21:00 34 33.3200 \n", + "5 2025-01-10 08:37:00 32 24.7350 \n", + "6 2025-01-10 08:51:00 76 32.8525 \n", + "7 2025-01-10 20:18:00 107 34.3825 \n", + "8 2025-01-10 15:46:00 67 35.2325 \n", + "9 2025-01-10 21:52:00 70 28.9000 \n", + "\n", + " total_intervals_plugged_in MWh_fraction early_session_stop \n", + "0 71.0 0.002391 False \n", + "1 98.0 0.002061 False \n", + "2 80.0 0.002561 False \n", + "3 87.0 0.002897 False \n", + "4 92.0 0.002777 False \n", + "5 65.0 0.002061 False \n", + "6 99.0 0.002738 False \n", + "7 69.0 0.002865 False \n", + "8 103.0 0.002936 False \n", + "9 65.0 0.002408 False " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "s_ev.generate_synthetic_dataset(distinct_date_list=[distinct_date_list[0]], number_of_users=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Example: AI Model Training\n", + "\n", + "\n", + "### Functional Behavior\n", + "- Worloads can run at any time of day\n", + "- Our 3 server models consume 24, 31, and 64 kWh on average\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "ai_kwargs = {\n", + " \"max_percent_capacity\":1.0, # job must run to completion\n", + " \"max_power_output_rates\": [24,31,64],\n", + " \"minimum_usage_window_start_time\": \"00:00:00\", # earliest session can start\n", + " \"maximum_usage_window_start_time\": \"23:59:00\", # latest session can start\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "s_ai = SessionsGenerator(**ai_kwargs)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 10/10 [00:00<00:00, 280.14it/s]\n" + ] + } + ], + "source": [ + "df_ai = s_ai.generate_synthetic_dataset(distinct_date_list=distinct_date_list, number_of_users=10)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
01234
index01234
distinct_dates2025-01-102025-01-122025-01-172025-01-182025-01-23
user_typer42.048_tc97_avglc23328_sdlc6978r42.048_tc97_avglc23328_sdlc6978r42.048_tc97_avglc23328_sdlc6978r42.048_tc97_avglc23328_sdlc6978r42.048_tc97_avglc23328_sdlc6978
usage_window_start2025-01-10 01:10:002025-01-12 16:50:002025-01-17 17:35:002025-01-18 11:35:002025-01-23 22:45:00
usage_window_end2025-01-10 05:45:002025-01-12 21:00:002025-01-18 00:35:002025-01-18 20:40:002025-01-24 05:10:00
initial_charge0.7137980.4215670.281110.5613540.706594
time_needed3980996040
expected_baseline_charge_complete_timestamp2025-01-10 01:49:002025-01-12 18:10:002025-01-17 19:14:002025-01-18 12:35:002025-01-23 23:25:00
window_length_in_minutes275.0250.0420.0545.0385.0
final_charge_time2025-01-10 01:49:002025-01-12 18:10:002025-01-17 19:14:002025-01-18 12:35:002025-01-23 23:25:00
total_capacity9797979797
usage_power_kw42.04842.04842.04842.04842.048
total_intervals_plugged_in55.050.084.0109.077.0
MWh_fraction0.0035040.0035040.0035040.0035040.003504
early_session_stopFalseFalseFalseFalseFalse
\n", + "
" + ], + "text/plain": [ + " 0 \\\n", + "index 0 \n", + "distinct_dates 2025-01-10 \n", + "user_type r42.048_tc97_avglc23328_sdlc6978 \n", + "usage_window_start 2025-01-10 01:10:00 \n", + "usage_window_end 2025-01-10 05:45:00 \n", + "initial_charge 0.713798 \n", + "time_needed 39 \n", + "expected_baseline_charge_complete_timestamp 2025-01-10 01:49:00 \n", + "window_length_in_minutes 275.0 \n", + "final_charge_time 2025-01-10 01:49:00 \n", + "total_capacity 97 \n", + "usage_power_kw 42.048 \n", + "total_intervals_plugged_in 55.0 \n", + "MWh_fraction 0.003504 \n", + "early_session_stop False \n", + "\n", + " 1 \\\n", + "index 1 \n", + "distinct_dates 2025-01-12 \n", + "user_type r42.048_tc97_avglc23328_sdlc6978 \n", + "usage_window_start 2025-01-12 16:50:00 \n", + "usage_window_end 2025-01-12 21:00:00 \n", + "initial_charge 0.421567 \n", + "time_needed 80 \n", + "expected_baseline_charge_complete_timestamp 2025-01-12 18:10:00 \n", + "window_length_in_minutes 250.0 \n", + "final_charge_time 2025-01-12 18:10:00 \n", + "total_capacity 97 \n", + "usage_power_kw 42.048 \n", + "total_intervals_plugged_in 50.0 \n", + "MWh_fraction 0.003504 \n", + "early_session_stop False \n", + "\n", + " 2 \\\n", + "index 2 \n", + "distinct_dates 2025-01-17 \n", + "user_type r42.048_tc97_avglc23328_sdlc6978 \n", + "usage_window_start 2025-01-17 17:35:00 \n", + "usage_window_end 2025-01-18 00:35:00 \n", + "initial_charge 0.28111 \n", + "time_needed 99 \n", + "expected_baseline_charge_complete_timestamp 2025-01-17 19:14:00 \n", + "window_length_in_minutes 420.0 \n", + "final_charge_time 2025-01-17 19:14:00 \n", + "total_capacity 97 \n", + "usage_power_kw 42.048 \n", + "total_intervals_plugged_in 84.0 \n", + "MWh_fraction 0.003504 \n", + "early_session_stop False \n", + "\n", + " 3 \\\n", + "index 3 \n", + "distinct_dates 2025-01-18 \n", + "user_type r42.048_tc97_avglc23328_sdlc6978 \n", + "usage_window_start 2025-01-18 11:35:00 \n", + "usage_window_end 2025-01-18 20:40:00 \n", + "initial_charge 0.561354 \n", + "time_needed 60 \n", + "expected_baseline_charge_complete_timestamp 2025-01-18 12:35:00 \n", + "window_length_in_minutes 545.0 \n", + "final_charge_time 2025-01-18 12:35:00 \n", + "total_capacity 97 \n", + "usage_power_kw 42.048 \n", + "total_intervals_plugged_in 109.0 \n", + "MWh_fraction 0.003504 \n", + "early_session_stop False \n", + "\n", + " 4 \n", + "index 4 \n", + "distinct_dates 2025-01-23 \n", + "user_type r42.048_tc97_avglc23328_sdlc6978 \n", + "usage_window_start 2025-01-23 22:45:00 \n", + "usage_window_end 2025-01-24 05:10:00 \n", + "initial_charge 0.706594 \n", + "time_needed 40 \n", + "expected_baseline_charge_complete_timestamp 2025-01-23 23:25:00 \n", + "window_length_in_minutes 385.0 \n", + "final_charge_time 2025-01-23 23:25:00 \n", + "total_capacity 97 \n", + "usage_power_kw 42.048 \n", + "total_intervals_plugged_in 77.0 \n", + "MWh_fraction 0.003504 \n", + "early_session_stop False " + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_ai.head().T" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimization" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from watttime_optimizer.evaluator.evaluator import OptChargeEvaluator\n", + "from watttime_optimizer.evaluator.evaluator import ImpactEvaluator" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### The WattTimeOptimizer class requires 4 things:\n", + "\n", + "- Watttime’s forecast of marginal emissions (MOER) - be ready to provide your username and password\n", + "- device capacity and energy needs\n", + "- region\n", + "- window start\n", + "- window end" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "username = os.getenv(\"WATTTIME_USER\")\n", + "password = os.getenv(\"WATTTIME_PASSWORD\")\n", + "region = \"PJM_CHICAGO\"\n", + "oce = OptChargeEvaluator(username=username,password=password)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# single instance\n", + "df_ev_sample = s_ev.synthetic_user_data(distinct_date_list=[distinct_date_list[0]])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "input_dict = df_ev_sample[['usage_window_start',\n", + " 'usage_window_end',\n", + " 'time_needed',\n", + " 'usage_power_kw'\n", + " ]].T.to_dict()\n", + "\n", + "value = input_dict[0]\n", + "value.update({'region':region,'tz_convert':True, \"verbose\":False})" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "df = oce.get_schedule_and_cost_api(**value)\n", + "rr = ImpactEvaluator(username,password,df).get_all_emissions_values(region=region)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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Vla2q731dZKSksSdd95p+7i4uFgAEE8++aTtsb179woAori4WAghxPz588U999xjd93du3cLlUolGhoaelwjEfUPzpwQeYlJkyZBkiTbx5MnT0ZOTg6ys7Ph4+ODiRMn2j4XHh6OIUOG4NixY51eLzk52a5JNTY2FqWlpa4pvo3Ro0fb3o+OjgYAjBo1qt1j1noOHjyITZs2ISgoyPY2a9YsmM1m5Ofn90vNRNRzbIglog4JIezCTFu+vr52H0uSBLPZ7Oqy2r22tcaOHrPWYzabce+99+KBBx5od63ExERXlkpEvcBwQuQlvv/++3Yfp6WlYfjw4WhpacG+ffswZcoUAEB5eTlOnjyJYcOG9fr1NBoNTCaTQ88H4NDX9NTYsWNx9OhRpKamOv3aROR8XNYh8hJFRUVYtmwZTpw4gb/97W947bXX8OCDDyItLQ1z5szBokWL8O233+LHH3/EnXfeifj4eMyZM6fXr5ecnIx9+/ahoKAAZWVl3c6qJCUlQZIkfPbZZ7hw4QJqa2t7/dptPfbYY9i7dy+WLFmCrKws5OTkYOvWrbj//vud9hpE5DwMJ0Re4q677kJDQwMmTJiAJUuW4P7778c999wDANi4cSPGjRuHG264AZMnT4YQAp9//nm7pRtHPPLII1Cr1Rg+fDgiIyNRWFjY5fPj4+Px1FNP4fHHH0d0dLRTd9KMHj0amZmZyMnJwbRp03D55ZfjySefRGxsrNNeg4ichyfEEnkBR09rJSKSE2dOiIiISFEYToioX9x33312W3lbv913331yl0dECsJlHSLqF6WlpTAYDB1+Ljg42KGbChKRZ2M4ISIiIkXhsg4REREpCsMJERERKQrDCRERESkKwwkREREpCsMJERERKQrDCRERESkKwwkREREpyv8D+/KT/YhR5rEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "rr.cumsum().plot()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "rr_metrics = ImpactEvaluator(username,password,df).get_all_emissions_metrics(region=region)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'baseline': 26.349219416666664,\n", + " 'forecast': 22.1546754,\n", + " 'actual': 22.807821208333333}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rr_metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pred_moer 97714.900000\n", + "usage 44.000000\n", + "emissions_co2_lb 22.154675\n", + "energy_usage_mwh 0.020913\n", + "dtype: float64" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.sum()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Requery\n", + "\n", + "- The intuition behind requerying is that more recent forecasts more accurately reflect what is likely to happen on the grid within the session window. \n", + "- An extension of this assumption is that the higher the update frequency, the greater the improvement in overall results. " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "from watttime_optimizer.evaluator.evaluator import RecalculationOptChargeEvaluator" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [], + "source": [ + "roce = RecalculationOptChargeEvaluator(username,password)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "value.update({\"optimization_method\": \"simple\", \"interval\":15, \"charge_per_segment\":None})" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.39 s ± 368 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" + ] + } + ], + "source": [ + "%%timeit\n", + "%%capture\n", + "df_requery = roce.fit_recalculator(**value).get_combined_schedule()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "pred_moer 97714.900000\n", + "usage 44.000000\n", + "emissions_co2_lb 22.154675\n", + "energy_usage_mwh 0.020913\n", + "dtype: float64" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_requery.sum()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Vizualizing Results" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "impact_evaluator = ImpactEvaluator(username=username,password=password,obj=df)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "impact_evaluator.plot_predicated_moer()" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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fif23HNP8eSTT4pFixblGh6DNkcrVqwQy5YtM3rNfpqjvPk544wzxJlnnmn0mv00P0KYr0XLli0T73znOzNfs5/mKG9+Dj74YPHZz3429vsjjzxSfOpTn1K+ZpXzMzChlqmpKVq3bh2dcsopscdPOeUUuv/++1P/Znx8nDzPoze84Q3hY2effTadeOKJ4c8PPPAAnXDCCbH0olNPPZVeeOEFeu6558LnJN/31FNPpUceeYR83+/ug5WE6fxMTU3RddddR6Ojo3T44YeHj/fr/BDpzVG73ably5fTpZdeSgcffHDq6wz6HBER3XPPPbT77rvTW97yFvrIRz5Cmzdvjj2/X+cob37a7Tb96Ec/ore85S106qmn0u67707HHHMM3XLLLbHn9+v8EJmvRS+99BL96Ec/onPOOSf2eL/Okc78vP3tb6dbb72Vfv/735MQgu6++2565pln6NRTTw2fb3N+Bsbw2LJlC7VaLZo/f37s8fnz59OLL77Y8fzXX3+dLr/8cvqrv/qrWKGUBQsW0N577x3+/OKLL6a+ZvC7rOc0m03asmVLdx+sJHTn57bbbqMdd9yRZs2aRVdddRWtWbOGdt111/D3/To/RHpz9E//9E9Ur9fpwgsvVL7OoM/R0qVL6bvf/S795Cc/oS9+8Yv08MMP0zvf+U6anJwMn9+vc5Q3P5s3b6Zt27bR5z//eTrttNPozjvvpPe+9730vve9j9auXRs+v1/nh8h8rf72t79Nc+fOpfe9732xx/t1jnTm5ytf+QoddNBBtNdee9Hw8DCddtppdM0119Db3/728Pk256fyXi228Twv9rMQouMx3/fpAx/4ALXbbbrmmmtiv1u1apXWayYf13kOB/Lm56STTqLHHnuMtmzZQtdffz29//3vp4ceeoh23313Iur/+SFSz9G6devo6quvpkcffTRz3IM8R0REZ5xxRvj4IYccQkcddRQtWrSIfvSjH4WbR7/PkWp+2u02EREtW7aMPvaxjxER0RFHHEH3338/ff3rX6cTTjiBiPp/foj01moiom9+85v0oQ99iGbNmhV7vN/nKGt+vvKVr9CDDz5It956Ky1atIjuvfde+pu/+RtasGABnXzyyURkd34GxuOx6667Uq1W67CYN2/eHLPgfN+n97///bRhwwZas2ZNblnYPfbYI/U1iSJrUfWcer1Ou+yyS+HPVCa68zNnzhzab7/96Nhjj6XVq1dTvV6n1atXK1+3X+aHKH+O7rvvPtq8eTPtvffeVK/XqV6v029/+1v6+Mc/Tvvss4/ydQdpjtJYsGABLVq0iNavX6983X6Zo7z52XXXXaler9NBBx0U+/2BBx6YmdXSL/NDZHYP3XffffT000/Thz/84dzX7Zc5ypuf7du30yc/+Un60pe+RKeffjoddthhtHLlSjrjjDPoC1/4gvJ1q5yfgTE8hoeHafHixbRmzZrY42vWrKHjjjuOiCKjY/369XTXXXdpTeSSJUvo3nvvpampqfCxO++8kxYuXBhuNkuWLOl43zvvvJOOOuooajQaXX6yctCZnzSEEDEXeZJ+mR+i/Dlavnw5Pf744/TYY4+F/xYuXEiXXnop3XHHHcrXHaQ5SmPr1q20ceNGWrBggfJ1+2WO8uZneHiYjj76aHr66adjv3/mmWdo0aJFytftl/khMruHVq9eTYsXL47pzFT0yxzlzY/v++T7fkcH2VqtFnrU0qh0foykqI4TpCCtXr1aPPXUU+Liiy8Wc+bMEc8995zwfV+85z3vEXvttZd47LHHYqlak5OT4WtcfvnlYvny5eHPr7zyipg/f7744Ac/KJ544glx8803i3nz5qWmIH3sYx8TTz31lFi9ejXrFK20+dm2bZu44oorxAMPPCCee+45sW7dOnHOOeeIkZER8eSTT4av0c/zI0T2HKWRltUyyHP06quvio9//OPi/vvvFxs2bBB33323WLJkidhzzz3FxMRE+Br9PEd599DNN98sGo2GuO6668T69evFV7/6VVGr1cR9990XvkY/z48Qet+z8fFxscMOO4hrr7029TX6eY7y5ueEE04QBx98sLj77rvFb37zG3HDDTeIWbNmiWuuuSZ8DZvzM1CGhxBC/Mu//ItYtGiRGB4eFkceeaRYu3atEEKIDRs2CCJK/Xf33XeHf79ixQpxwgknxF7z8ccfF8cff7wYGRkRe+yxh7jyyivD9KOAe+65R7z1rW8Vw8PDYp999lF+WWyjmp/t27eL9773vWLhwoVieHhYLFiwQLznPe8RP/vZz2J/3+/zI4R6jtJIMzwGeY7++Mc/ilNOOUXstttuotFoiL333lusWLFCPP/887G/7/c5yruHVq9eLfbbbz8xa9Yscfjhh3fUX+j3+REif46+8Y1viNmzZ4tXXnkl9e/7fY6y5mfTpk3i7LPPFgsXLhSzZs0S+++/v/jiF78Y+6w25wdN4gAAAABQGQOj8QAAAACAfWB4AAAAAKAyYHgAAAAAoDJgeAAAAACgMmB4AAAAAKAyYHgAAAAAoDJgeAAAAACgMmB4AAAAAKAyYHgAMOB861vfoje84Q1W3vvEE0+kiy++2Mp7AwDsgMqlAAw427dvp1dffZV233137b858cQT6YgjjqAvf/nLWs+/55576KSTTqKXX345ZuT87//+LzUaDZo7d67hqAEArlK3PQAAgF1mz55Ns2fPtvLeO++8s5X3BQDYA6EWABznxBNPpJUrV9LKlSvpDW94A+2yyy70qU99igJn5ssvv0xnnXUW7bTTTrTDDjvQ0qVLaf369eHfJ0MtV155JR1xxBH0ne98h/bZZx8aHR2lD3zgA/Tqq68SEdHZZ59Na9eupauvvpo8zyPP8+i5555Tju+5556jk046iYiIdtppJ/I8j84+++xw7HKoZZ999qF/+Id/oLPOOot23HFHWrRoEf3whz+kP/zhD7Rs2TLacccd6dBDD6VHHnkk9h73338/veMd76DZs2fT2NgYXXjhhfTaa691MasAgF4BwwOAPuDb3/421et1euihh+grX/kKXXXVVfSv//qvRDRtKDzyyCN066230gMPPEBCCPqzP/sz8n1f+XrPPvss3XLLLXTbbbfRbbfdRmvXrqXPf/7zRER09dVX05IlS+gjH/kIbdq0iTZt2kRjY2PK1xobG6Pvf//7RET09NNP06ZNm+jqq69WPv+qq66iP/mTP6Gf//zn9O53v5uWL19OZ511Fp155pn06KOP0n777UdnnXVWaFg98cQTdOqpp9L73vc+evzxx+mmm26in/70p7Ry5UrjeQQAVIBxP1sAACtOOOEEceCBB8baV1922WXiwAMPFM8884wgIvHf//3f4e+2bNkiZs+eLf7jP/5DCCHEDTfcIEZHR8Pff+YznxE77LCDmJiYCB+79NJLxTHHHBN7z4suukh7jHfffbcgIvHyyy93jF1+nUWLFokzzzwz/HnTpk2CiMSnP/3p8LEHHnhAEJHYtGmTEEKI5cuXi49+9KOx173vvvvE0NCQ2L59u/YYAQDVAI8HAH3AscceS57nhT8vWbKE1q9fT0899RTV63U65phjwt/tsssutP/++9Mvf/lL5evts88+McHnggULaPPmzb0ZfILDDjss/P/58+cTEdGhhx7a8VgwnnXr1tG3vvUt2nHHHcN/p556KrXbbdqwYUMlYwYA6ANxKQADiBAiZqgkaTQasZ89z6N2u93rYXW8dzDGtMeC8bTbbTr33HPpwgsv7Hitvffeu5dDBQAUAIYHAH3Agw8+2PHzm9/8ZjrooIOo2WzSQw89RMcddxwREW3dupWeeeYZOvDAAwu/3/DwMLVaLaPnE5HR3+hy5JFH0i9+8Qvab7/9Sn9tAED5INQCQB+wceNGuuSSS+jpp5+m733ve/TVr36VLrroInrzm99My5Yto4985CP005/+lP7nf/6HzjzzTNpzzz1p2bJlhd9vn332oYceeoiee+452rJlS643ZNGiReR5Ht122230hz/8gbZt21b4vZNcdtll9MADD9D5559Pjz32GK1fv55uvfVWuuCCC0p7DwBAecDwAKAPOOuss2j79u30tre9jc4//3y64IIL6KMf/SgREd1www20ePFi+vM//3NasmQJCSHoxz/+cUc4xYRPfOITVKvV6KCDDqLddtuNnn/++czn77nnnvT3f//3dPnll9P8+fNLzTg57LDDaO3atbR+/Xo6/vjj6a1vfSt9+tOfpgULFpT2HgCA8kDlUgAcx7SKKAAA2AQeDwAAAABUBgwPAEDXnHfeebF0VvnfeeedZ3t4AABGINQCAOiazZs308TEROrv5s2bZ9SADgDQ38DwAAAAAEBlINQCAAAAgMqA4QEAAACAyoDhAQAAAIDKgOEBAAAAgMqA4QEAAACAyoDhAQAAAIDKgOEBAAAAgMr4f4OzCuB8UA7gAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "impact_evaluator.plot_usage_schedule()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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zJmDkSNHqm5bXFyMLl264PTp0/jkk0+wfft2LFmyBM2aNcOpU6fC8reHG1H7ClHbFTPIMgVUHDgQ1t2ywGPYghdhuBatcRzJvqXK3F8bSpMSzjx4BsqU+W2byURrQD537hw++OADPPTQQ+jevTsWLVrk8fkXX3yBK664AqNGjUKjRo3QsGFD3NTzJrw08yWffb3z9jvodkM3PPTQQ1iyZImqZS41NRW5ubmoUaMG7rrrLtx999349NNPVdu2detW7N69G3PmzMHll1+OWrVqoUOHDpg8eTIudXNy379/P+644w5kZWWhbNmyaNOmDX766SfPtr3zDmrXro3MzEzccccdOHPmjPMzWZYxbdo01K1bF+np6bjkkkvw0UcfeXx/2bJlaNiwIdLT09G5c2f8888/Hp+rTQW//PLLaNqwKQD1+1HPcRlBsFhI4B07Ft7dhnVvTEziPgax1gg/XIvWOO5RtAoBLXhRqkULBGHBC7OgcjjMWYyyZMkSNGrUCI0aNULfvn2xcOFCjwea3NxcbNmyBX/++ScA7fMkyzL++/Z/ceedd6Jx48Zo2LAhPvjgg4DHT09P1yzvVrlyZVgsFnz00Uewe9U8Vjh79iw6duyIgwcPYunSpfjtt98wevRoONxOxq5du/Dpp5/iiy++wBdffIHVq1fjueeec37+5JNPYuHChXjttdewZcsWDB8+HH379sXq1asBAPv27cMtt9yCG264AZs3b8Z9992HJwIkktXzgBHouJGAMwOEwLRpwKhRQOlvIRwE1cs5HMDffwOHD/v+6K+6KhzNYsyCq5CEH65FaxyngHMTde5VLciCR+8NpUkJUx48oxa8cFppHQ5g06bQ9lFkk+CQLUi2SJAkoNhuQYoVsDsk2GULkixAskp+2pYtydigl/nz56Nv374AaPr07NmzWLlyJa699loAwKOPPorvv/8ezZs3R61atdC2bVt0uqYT7rzrTpRJduX+W/nNSpw/fx7XdL0GANC3b1/Mnz8f9957r+axN2zYgPfeew/XXHON6ufVqlXDK6+8gtGjR2PixIlo06YNOnfujLvvvht169YFALz33ns4cuQIfv75Z2RlZQEA6tev77Efh8OBRYsWISMjAwBwzz33YOXKlZg8eTLOnTuH6dOn49tvv0W7du0AAHXr1sXatWvx+uuvo2PHjnjttddQt25dzJgx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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "impact_evaluator.plot_impact(region=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Baseline, i.e. 'asap' is lower than optimized results" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'baseline': 26.349219416666664,\n", + " 'forecast': 22.1546754,\n", + " 'actual': 22.807821208333333}" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "impact_evaluator.get_all_emissions_metrics(region=region)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Iterate over multiple rows of data" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "from watttime_optimizer.evaluator.analysis import analysis_loop" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 10/10 [00:00<00:00, 270.40it/s]\n" + ] + } + ], + "source": [ + "df_ev_samples = s_ev.generate_synthetic_dataset(distinct_date_list=distinct_date_list, number_of_users=10).sample(10)\n", + "\n", + "input_dict = df_ev_samples[['usage_window_start',\n", + " 'usage_window_end',\n", + " 'time_needed',\n", + " 'usage_power_kw'\n", + " ]].T.to_dict()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 30%|███ | 3/10 [00:24<00:54, 7.77s/it]/Users/jen/watttime-python-client/watttime_optimizer/api_opt.py:195: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " forecast_df.index = pd.to_datetime(forecast_df.index)\n", + "/Users/jen/watttime-python-client/watttime/api.py:274: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " df[\"point_time\"] = pd.to_datetime(df[\"point_time\"])\n", + "/Users/jen/watttime-python-client/watttime/api.py:274: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " df[\"point_time\"] = pd.to_datetime(df[\"point_time\"])\n", + "100%|██████████| 10/10 [01:01<00:00, 6.20s/it]\n" + ] + } + ], + "source": [ + "results = analysis_loop(\n", + " region = \"PJM_CHICAGO\",\n", + " input_dict = input_dict,\n", + " username=username,\n", + " password=password\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "results_loop = pd.DataFrame.from_dict(\n", + " results,\n", + " orient=\"index\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
baselineforecastactualmbstddevpercent_difference
33519.37490017.3644385.772350-0.9659791221.49183536.1545090.702071
24847.11941045.36259846.8589061.1271391209.01041835.8138550.005529
18799.03605497.04382997.403682-0.9608451377.71643823.5583320.016483
12944.89136243.96528144.818082-0.1707191227.37302710.0853300.001632
34740.71627534.58973030.394725-2.4144551241.08767178.0581670.253499
14436.70289231.10367218.732846-2.8410391251.38233565.5686970.489608
25072.39971069.99538830.7883660.2289031195.54996638.8372570.574745
9950.24333745.00255246.479799-0.5461001247.55069865.5469050.074906
40067.92381561.15395165.680911-0.4301361206.43322438.3905730.033021
8719.17819517.08513717.947542-1.2614631271.07398349.7794450.064169
\n", + "
" + ], + "text/plain": [ + " baseline forecast actual m b stddev \\\n", + "335 19.374900 17.364438 5.772350 -0.965979 1221.491835 36.154509 \n", + "248 47.119410 45.362598 46.858906 1.127139 1209.010418 35.813855 \n", + "187 99.036054 97.043829 97.403682 -0.960845 1377.716438 23.558332 \n", + "129 44.891362 43.965281 44.818082 -0.170719 1227.373027 10.085330 \n", + "347 40.716275 34.589730 30.394725 -2.414455 1241.087671 78.058167 \n", + "144 36.702892 31.103672 18.732846 -2.841039 1251.382335 65.568697 \n", + "250 72.399710 69.995388 30.788366 0.228903 1195.549966 38.837257 \n", + "99 50.243337 45.002552 46.479799 -0.546100 1247.550698 65.546905 \n", + "400 67.923815 61.153951 65.680911 -0.430136 1206.433224 38.390573 \n", + "87 19.178195 17.085137 17.947542 -1.261463 1271.073983 49.779445 \n", + "\n", + " percent_difference \n", + "335 0.702071 \n", + "248 0.005529 \n", + "187 0.016483 \n", + "129 0.001632 \n", + "347 0.253499 \n", + "144 0.489608 \n", + "250 0.574745 \n", + "99 0.074906 \n", + "400 0.033021 \n", + "87 0.064169 " + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_loop" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "results_loop[\"percent_difference\"] = (results_loop[\"actual\"] - results_loop[\"baseline\"]) / results_loop[\"baseline\"]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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pCkML0RERKQpDC9ERESkKQwvREREpCkMLyG0efNmXH/99Rg4cCAEQcC7777b7uuiKGLp0qUYOHAgYmNjcfnll+Prr79ud43L5cIDDzwAu92OuLg43HDDDTh58mQYfwvlXOjxufvuuyEIQruPrKysdtfo9fFZtmwZLrnkEsTHxyMlJQU33ngjSkpK2l1j9OdPdx4jIz+HXnrpJUycOFE+OCw7OxsfffSR/HWjP38u9PgY+blzvmXLlkEQBDz88MPybZH2/GF4CaH6+npMmjQJL774YqdfX7FiBZ5++mm8+OKL+OKLL5CWlobvfOc7cj8mAHj44Yexdu1arFmzBlu3bkVdXR3mzZsHj8cTrl9DMRd6fABg7ty5OHPmjPzx4Ycftvu6Xh+fTZs24f7770dhYSHWr18Pt9uNnJwc1NfXy9cY/fnTnccIMO5zaPDgwXjyySexa9cu7Nq1C1deeSXmz58vv8AY/flzoccHMO5zx98XX3yBV155BRMnTmx3e8Q9f0RSBABx7dq18uder1dMS0sTn3zySfm2pqYm0WaziS+//LIoiqJYU1MjRkVFiWvWrJGvOXXqlGgymcSCgoKwjT0czn98RFEU77rrLnH+/Pld3sdIj095ebkIQNy0aZMoinz+dOb8x0gU+Rw6X//+/cVXX32Vz58uSI+PKPK5I4qiWFtbK44ePVpcv369eNlll4kPPfSQKIqR+feHlZcwKS0tRVlZGXJycuTbrFYrLrvsMmzbtg0AsHv3brS0tLS7ZuDAgRg/frx8jd59/vnnSElJQUZGBvLz81FeXi5/zUiPj8PhAAAkJiYC4POnM+c/RhI+hwCPx4M1a9agvr4e2dnZfP6c5/zHR2L0587999+P6667DldffXW72yPx+aO7xoyRqqysDACQmpra7vbU1FQcO3ZMviY6Ohr9+/fvcI10fz279tprcdttt2Ho0KEoLS3F448/jiuvvBK7d++G1Wo1zOMjiiIWL16MWbNmYfz48QD4/DlfZ48RwOfQvn37kJ2djaamJvTt2xdr167FuHHj5BcPoz9/unp8AD531qxZgz179uCLL77o8LVI/PvD8BJmgiC0+1wUxQ63na871+jBggUL5P8eP348pk2bhqFDh+KDDz7AzTff3OX99Pb4LFq0CMXFxdi6dWuHr/H549PVY2T059CYMWNQVFSEmpoavP3227jrrruwadMm+etGf/509fiMGzfO0M+dEydO4KGHHsInn3yCmJiYLq+LpOcPp43CJC0tDQA6JNDy8nI5zaalpaG5uRnV1dVdXmMkAwYMwNChQ3Ho0CEAxnh8HnjgAaxbtw4bN27E4MGD5dv5/GnT1WPUGaM9h6KjozFq1ChMmzYNy5Ytw6RJk/Dcc8/x+dOqq8enM0Z67uzevRvl5eWYOnUqLBYLLBYLNm3ahOeffx4Wi0X+/SLp+cPwEibDhw9HWloa1q9fL9/W3NyMTZs2YebMmQCAqVOnIioqqt01Z86cwVdffSVfYyTnzp3DiRMnMGDAAAD6fnxEUcSiRYvwzjvvYMOGDRg+fHi7r/P5c+HHqDNGeg51RhRFuFwuPn+6ID0+nTHSc+eqq67Cvn37UFRUJH9MmzYNd955J4qKijBixIjIe/6EfAmwgdXW1op79+4V9+7dKwIQn376aXHv3r3isWPHRFEUxSeffFK02WziO++8I+7bt0+84447xAEDBohOp1P+Hvfee684ePBg8dNPPxX37NkjXnnlleKkSZNEt9ut1q8VMoEen9raWvHRRx8Vt23bJpaWloobN24Us7OzxUGDBhni8fnxj38s2mw28fPPPxfPnDkjfzQ0NMjXGP35c6HHyOjPoSVLloibN28WS0tLxeLiYvGxxx4TTSaT+Mknn4iiyOdPoMfH6M+dzvjvNhLFyHv+MLyE0MaNG0UAHT7uuusuURR9281+9atfiWlpaaLVahXnzJkj7tu3r933aGxsFBctWiQmJiaKsbGx4rx588Tjx4+r8NuEXqDHp6GhQczJyRGTk5PFqKgocciQIeJdd93V4XfX6+PT2eMCQPzLX/4iX2P058+FHiOjP4f+67/+Sxw6dKgYHR0tJicni1dddZUcXESRz59Aj4/RnzudOT+8RNrzRxBFUQx9PYeIiIhIGVzzQkRERJrC8EJERESawvBCREREmsLwQkRERJrC8EJERESawvBCREREmsLwQkRERJrC8EJERESawvBCREREmsLwQkRERJrC8EJERESawvBCREREmvL/AYE08S9sLZYcAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# larger negative is better\n", + "results_loop[\"percent_difference\"].sort_index().plot()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Requery" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "from watttime_optimizer.evaluator.analysis import analysis_loop_requery" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "interval = 15\n", + "region = \"PJM_CHICAGO\"" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [], + "source": [ + "%%capture\n", + "results_requery = analysis_loop_requery(region=region, interval=interval, input_dict=input_dict, username=username, password=password)" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "results_loop_requery = pd.DataFrame.from_dict(\n", + " results_requery,\n", + " orient=\"index\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Requery Contiguous" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "from watttime_optimizer.evaluator.analysis import analysis_loop_requery_contiguous" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/10 [00:00\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
baselineforecastactualmbstddevpercent_difference
33519.37490017.3644385.772350-0.9659791221.49183536.154509-0.702071
24847.11941045.36259846.8589061.1271391209.01041835.813855-0.005529
18799.03605497.04382997.403682-0.9608451377.71643823.558332-0.016483
12944.89136243.96528144.818082-0.1707191227.37302710.085330-0.001632
34740.71627534.58973030.394725-2.4144551241.08767178.058167-0.253499
\n", + "" + ], + "text/plain": [ + " baseline forecast actual m b stddev \\\n", + "335 19.374900 17.364438 5.772350 -0.965979 1221.491835 36.154509 \n", + "248 47.119410 45.362598 46.858906 1.127139 1209.010418 35.813855 \n", + "187 99.036054 97.043829 97.403682 -0.960845 1377.716438 23.558332 \n", + "129 44.891362 43.965281 44.818082 -0.170719 1227.373027 10.085330 \n", + "347 40.716275 34.589730 30.394725 -2.414455 1241.087671 78.058167 \n", + "\n", + " percent_difference \n", + "335 -0.702071 \n", + "248 -0.005529 \n", + "187 -0.016483 \n", + "129 -0.001632 \n", + "347 -0.253499 " + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results_loop.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [], + "source": [ + "results_all = results_loop_requery[[\"baseline\",\"actual\"]].merge(results_loop_requery_c[\"actual\"], suffixes = ['_requery','_requery_c'], left_index=True, right_index=True).merge(results_loop[\"actual\"], left_index=True, right_index=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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TExUYmJiqdvUrFlTc+fO1dy5c8t7eABANXT+/HnFx8crPj5e77zzjurVq6eDBw+qa9eu9tMn3bt314EDB/Txxx/r008/VefOnTVy5Ei9+OKLKioqUps2bfTuu+8We+969eqVuY5f39Vjs9nsQclZx0DZ8LBAAECl+fLLL4stR0dH6/vvv9fx48c1bdo0+zQS6enpxfavV6+eEhISlJCQoDvuuEPjx4/Xiy++qNatW+u9995T/fr1VatWrQqpvTKOgf+PhwUCKFli7dJfpdjZpGmJL+CKQ4cOaezYsfrhhx+0dOlSzZ07V6NGjVJERIQ8PT01d+5c7du3TytWrNDf//53h30nTZqkf//739qzZ4++++47ffTRR2ra9PLna+DAgapbt6569eqlzz//XFlZWdqwYYNGjRrltGe9VcYx8P8xggKg3FosblFie0ol1wFH5Z3Z1RUGDRqkc+fO6fe//71q1Kihv/71r3rkkUdks9m0aNEiPf3005ozZ45at26tF198UT179rTv6+npqYkTJ2r//v3y9vbWHXfcoWXLlkmSfHx8tHHjRj355JPq27evTp8+rRtuuEGdO3d22mhHZRwD/5/NXO2CEovKy8tT7dq1lZuby4cC+I1Ku6V4f80Bpe7TIiqixPaUpIsltjf9fmf5C0Opzp8/r6ysLEVFRalmzZquLgdwcLXPZ3l+vznFAwAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIeAAgAALIep7gGgurjKc5Iq5ni5lXu8CpSQkKBTp07pww8/dHUp+A9GUAAAVUJiYqJatmzp6jJQSQgoAAD8BoWFha4u4aqsXl9pCCgAgEqzatUq3X777QoICFBQUJDuvfde7d27177+xx9/1AMPPKDAwED5+voqJiZGW7Zs0aJFizR58mRt27ZNNpvN/vTj/fv3y2azKTMz0/4ep06dks1m0/r16yVJly5d0tChQxUVFSVvb281btxYL7/88nX3IS4uTo899pjGjh2runXrqkuXLpKkHTt26O6775afn5+Cg4P15z//WcePH7fvd/bsWQ0aNEh+fn4KDQ3VzJkzFRcXp9GjR9u3sdlsxU4zBQQEaNGiRfblw4cPq1+/fqpTp46CgoLUq1cv7d+/374+ISFBvXv3VlJSksLCwnTTTTfp+eefV4sWxZ9C3qZNG02aNOm6/ywqEgEFAFBpzp49q7FjxyotLU1r166Vm5ub+vTpo6KiIp05c0axsbE6cuSIVqxYoW3btmnChAkqKipSv379NG7cON18883Kzs5Wdna2+vXrV6ZjFhUVqUGDBkpJSdGOHTs0adIkPf3000pJSbnufixevFju7u7avHmzXn/9dWVnZys2NlYtW7ZUenq6Vq1apaNHj+r++++37zN+/Hh99tlnWr58uVavXq3169crIyOjXMfNz89Xx44d5efnp40bN2rTpk3y8/NTt27dHEZK1q5dq507d2rNmjX66KOPNGTIEO3YsUNpaWn2bb755ht9/fXXSkhIuO4/h4rERbIAgEpz3333OSy/8cYbql+/vnbs2KHU1FT99NNPSktLU2BgoCSpUaNG9m39/Pzk7u6ukJCQch3Tw8NDkydPti9HRUUpNTVVKSkpDgGiPBo1aqTp06fblydNmqTWrVtr6tSp9rY333xT4eHh2rVrl8LCwvTGG2/orbfeso+4LF68WA0aNCjXcZctWyY3NzctXLhQNptNkpScnKyAgACtX79e8fHxkiRfX18tXLhQnp6e9n27du2q5ORk3Xbbbfb9YmNj1bBhw+v6M6hojKAAACrN3r17NWDAADVs2FC1atVSVFSUJOngwYPKzMxUq1at7OHEmV577TXFxMSoXr168vPz04IFC3Tw4MHrfr+YmBiH5YyMDH322Wfy8/Ozv5o0aSLpcp/37t2rwsJCtW/f3r5PYGCgGjduXK7jZmRkaM+ePfL397cfJzAwUOfPn3c4VdaiRQuHcCJJDz/8sJYuXarz58/rwoULevfddzVkyJDydr3SMIICAKg0PXr0UHh4uBYsWKCwsDAVFRWpefPmKiwslLe3d7nfz83t8r+zjTH2tgsXLjhsk5KSojFjxmjmzJlq3769/P39NWPGDG3ZsuW6++Hr6+uwXFRUpB49euiFF14otm1oaKh2795dpve12WwOfZEc+1NUVKQ2bdro3XffLbZvvXr1Sq1Puvxn7+XlpeXLl8vLy0sFBQXFRrSshIACAKgUJ06c0M6dO/X666/rjjvukCRt2rTJvv6WW27RwoUL9fPPP5c4iuLp6alLly45tF35Uc7OzlarVq0kyeGCWUn6/PPP1aFDB40YMcLe9svRBmdo3bq13n//fUVGRsrdvfhPa6NGjeTh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0qVLdf78eV24cEHvvvuuhgwZcs1jHjt2TEeOHFHnzp3LVetvxQgKAKDS9OjRQ+Hh4VqwYIHCwsJUVFSk5s2bq7CwUN7e3uV+Pze3y//O/uWTei9cuOCwTUpKisaMGaOZM2eqffv28vf314wZM7Rly5br7oevr6/DclFRkXr06KEXXnih2LahoaHavXt3md7XZrMVe+rwL/tTVFSkNm3a6N133y22b7169UqtT7r8Z+/l5aXly5fLy8tLBQUFxUa0SnI9/1+cgYACAKgUJ06c0M6dO/X666/rjjvukCRt2rTJvv6WW27RwoUL9fPPP5c4iuLp6alLly45tF35Uc7OzlarVq0kyeGCWUn6/PPP1aFDB40YMcLe9svRBmdo3bq13n//fUVGRsrdvfhPa6NGjeTh4aEvv/xSERERkqSTJ09q165dio2NdehPdna2fXn37t3Kz893OM57772n+vXrq1atWuWq0d3dXYMHD1ZycrK8vLz0wAMPyMfH55r7+fv7KzIyUmvXrlXHjh3LdczfglM8AIBKceWuk/nz52vPnj1at26dxo4da1/fv39/hYSEqHfv3tq8ebP27dun999/X1988YUkKTIyUllZWcrMzNTx48dVUFAgb29vtWvXTtOmTdOOHTu0ceNGPfvssw7HbdSokdLT0/XJJ59o165d+tvf/uZwsagzjBw5Uj///LP69++vr776Svv27dPq1as1ZMgQXbp0SX5+fho6dKjGjx+vtWvX6ttvv1VCQoJ9BOiKTp06ad68edq6davS09M1fPhweXh42NcPHDhQdevWVa9evfT5558rKytLGzZs0KhRo/Tjjz9es86HHnpI69at08qVK8t0eueKxMREzZw5U3PmzNHu3bu1detWzZ07t+x/QNeBERQAqCasPrOrm5ubli1bpscff1zNmzdX48aNNWfOHMXFxUm6PEKyevVqjRs3TnfffbcuXryoZs2a6ZVXXpF0+QLbDz74QB07dtSpU6eUnJyshIQEvfnmmxoyZIhiYmLUuHFjTZ8+3X6xqCQNHz5cmZmZ6tevn2w2m/r3768RI0Zo5cqVTutbWFiYNm/erCeffFJdu3ZVQUGBbrzxRnXr1s0eQmbMmKEzZ86oZ8+e8vf317hx45Sbm+vwPjNnztRf/vIX3XnnnQoLC9PLL7/scKePj4+PNm7cqCeffFJ9+/bV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KAAAwHKcHlCSkpJ02223yd/fX/Xr11fv3r31ww8/OGxjjFFiYqLCwsLk7e2tuLg4fffdd84uBQAAVFFODygbNmzQyJEj9eWXX2rNmjW6ePGi4uPjdfbsWfs206dP16xZszRv3jylpaUpJCREXbp00enTp51dDgAAqILcnf2Gq1atclhOTk5W/fr1lZGRoTvvvFPGGM2ePVvPPPOM+vbtK0lavHixgoODtWTJEg0bNszZJQEAgCqmwq9Byc3NlSQFBgZKkrKyspSTk6P4+Hj7Nl5eXoqNjVVqamqJ71FQUKC8vDyHFwAAqL4qNKAYYzR27Fjdfvvtat68uSQpJydHkhQcHOywbXBwsH3dryUlJal27dr2V3h4eEWWDQAAXKxCA8pjjz2mb775RkuXLi22zmazOSwbY4q1XTFx4kTl5ubaX4cOHaqQegEAgDU4/RqUK/76179qxYoV2rhxoxo0aGBvDwkJkXR5JCU0NNTefuzYsWKjKld4eXnJy8vrN9cU+dTHJbbvn3bPb35vAMBl/F0LZ3D6CIoxRo899pg++OADrVu3TlFRUQ7ro6KiFBISojVr1tjbCgsLtWHDBnXo0MHZ5QAAgCrI6SMoI0eO1JIlS/Tvf/9b/v7+9utKateuLW9vb9lsNo0ePVpTp05VdHS0oqOjNXXqVPn4+GjAgAHOLgdwjcTapbTnlti8s0nTEtubfr/TWRUBQJXi9IDy6quvSpLi4uIc2pOTk5WQkCBJmjBhgs6dO6cRI0bo5MmTatu2rVavXi1/f39nlwMAAKogpwcUY8w1t7HZbEpMTFRiYqKzDw8AAKqBCrtItkopZTi+RVREie0pSRdLfSuG5AEA+O14WCAAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcAgoAALAcd1cXAPw3abG4RYntKZVcBwBYHSMoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggoAADAcggo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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "results_all.sort_index().plot(kind=\"bar\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "watttime", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}