From 4892cd63425d77b6f42be0bdcdd5d1d968f8825a Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Wed, 27 Apr 2022 12:01:15 +0100 Subject: [PATCH 01/16] Compute bias --- .../sea_surface_salinity/compare_salinity.py | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index fb308e975c..7348420a0b 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -9,7 +9,7 @@ import iris.quickplot as qplot import matplotlib.pyplot as plt import numpy as np -from esmvalcore.preprocessor._time import regrid_time +from esmvalcore.preprocessor import regrid_time, climate_statistics from iris.analysis.stats import pearsonr from iris.coord_categorisation import add_month_number, add_year from iris.util import unify_time_units @@ -92,22 +92,23 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, add_month_number(data, 'time') add_year(data, 'time') - data.remove_coord('time') add_month_number(reference, 'time') add_year(reference, 'time') - reference.remove_coord('time') data_alias = data_info[names.ALIAS] - corr = pearsonr(data, reference, ('month_number', 'year')) - angles = np.linspace(0, 2 * np.pi, corr.shape[0] + 1) + climat_ref = climate_statistics(reference, 'mean') + climat_data = climate_statistics(data, 'mean') + bias_data = np.absolute(climat_ref.data) - climat_data.data + bias = climat_ref.copy(bias_data) + angles = np.linspace(0, 2 * np.pi, bias.shape[0] + 1) # Initialise the spider plot ax = plt.subplot(111, polar=True) for spine in ax.spines.values(): spine.set_color('grey') # Draw one axe per variable + add labels labels yet - letters = [string.ascii_uppercase[i] for i in range(0, corr.shape[0])] + letters = [string.ascii_uppercase[i] for i in range(0, bias.shape[0])] plt.xticks(angles[:-1], letters, color='grey', @@ -116,28 +117,27 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, # Draw ylabels ax.set_rlabel_position(0) - plt.yticks([0.25, 0.5, 0.75], ["0.25", "0.5", "0.75"], + plt.yticks([3, 6, 9], ["3", "6", "9"], color="grey", size=7) plt.ylim(0, 1) - data = np.append(corr.data, corr.data[0]) - - more_angles = np.linspace(0, 2 * np.pi, corr.shape[0] * 20 + 1) + data = np.append(bias.data, bias.data[0]) + more_angles = np.linspace(0, 2 * np.pi, bias.shape[0] * 20 + 1) interp_data = np.interp(more_angles, angles, data) # Plot data ax.plot(more_angles, interp_data, linewidth=1, linestyle='solid') ax.fill(more_angles, interp_data, 'b', alpha=0.1) ax.legend(letters, - corr.coord('shape_id').points, + bias.coord('shape_id').points, loc='upper center', ncol=2, frameon=False, bbox_to_anchor=(0.5, -0.1), borderaxespad=0.) plt.title( - f'{data_info[names.SHORT_NAME]} correlation\n' + f'{data_info[names.SHORT_NAME]} bias\n' f'{data_alias} vs {reference_alias}', pad=20) plt.tight_layout() @@ -147,7 +147,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") plt.savefig(plot_path) plt.close() - caption = (f"Correlation comparison in diferent regions for " + caption = (f"Absolute bias comparison in diferent regions for " f"{data_alias} and {reference_alias}") self._create_prov_record(plot_path, caption, ancestors) From f2f6c17645b8aa3176286d425121d6a750ee1ba8 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Wed, 27 Apr 2022 12:11:47 +0100 Subject: [PATCH 02/16] Remove unused import --- esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py | 1 - 1 file changed, 1 deletion(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 7348420a0b..fc40ed1385 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -10,7 +10,6 @@ import matplotlib.pyplot as plt import numpy as np from esmvalcore.preprocessor import regrid_time, climate_statistics -from iris.analysis.stats import pearsonr from iris.coord_categorisation import add_month_number, add_year from iris.util import unify_time_units from matplotlib.legend import Legend From aaf559e77e2fdf47790f1a69484c4c8f1ef53bee Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Wed, 27 Apr 2022 14:15:32 +0100 Subject: [PATCH 03/16] Change plot lim range --- .../diag_scripts/sea_surface_salinity/compare_salinity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index fc40ed1385..52b834630e 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -119,7 +119,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, plt.yticks([3, 6, 9], ["3", "6", "9"], color="grey", size=7) - plt.ylim(0, 1) + plt.ylim(0, 10) data = np.append(bias.data, bias.data[0]) more_angles = np.linspace(0, 2 * np.pi, bias.shape[0] * 20 + 1) From 73cd48246c61275784e45232922ae3f4caf96bd6 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Wed, 27 Apr 2022 14:19:12 +0100 Subject: [PATCH 04/16] Remove Mediterranean region, pending to update script path --- esmvaltool/recipes/recipe_sea_surface_salinity.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/esmvaltool/recipes/recipe_sea_surface_salinity.yml b/esmvaltool/recipes/recipe_sea_surface_salinity.yml index 63c5e30452..444aea80d9 100644 --- a/esmvaltool/recipes/recipe_sea_surface_salinity.yml +++ b/esmvaltool/recipes/recipe_sea_surface_salinity.yml @@ -32,8 +32,6 @@ preprocessors: ids: - Arctic Ocean - Southern Ocean - - Mediterranean Sea - Eastern Basin - - Mediterranean Sea - Western Basin - North Atlantic Ocean - South Atlantic Ocean - North Pacific Ocean @@ -66,4 +64,4 @@ diagnostics: alias: ESACCI-SEA-SURFACE-SALINITY_V2} scripts: compare_salinity: - script: sea_surface_salinity/compare_salinity.py + script: /home/users/sloosvel/ESMValTool/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py From bd54af1a8042330a6c3c50dea64fae0bfb1e3ca2 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Thu, 28 Apr 2022 10:35:45 +0100 Subject: [PATCH 05/16] Compute absolute bias and change scale --- .../diag_scripts/sea_surface_salinity/compare_salinity.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 52b834630e..5419769417 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -98,7 +98,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, data_alias = data_info[names.ALIAS] climat_ref = climate_statistics(reference, 'mean') climat_data = climate_statistics(data, 'mean') - bias_data = np.absolute(climat_ref.data) - climat_data.data + bias_data = climat_ref.data - climat_data.data bias = climat_ref.copy(bias_data) angles = np.linspace(0, 2 * np.pi, bias.shape[0] + 1) # Initialise the spider plot @@ -116,10 +116,10 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, # Draw ylabels ax.set_rlabel_position(0) - plt.yticks([3, 6, 9], ["3", "6", "9"], + plt.yticks([-0.5, 0.0, 0.5], ["-0.5", "0", "0.5"], color="grey", size=7) - plt.ylim(0, 10) + plt.ylim(-1, 1) data = np.append(bias.data, bias.data[0]) more_angles = np.linspace(0, 2 * np.pi, bias.shape[0] * 20 + 1) From 692e88b82c9f56ebad9eec9f2977819f11908fb0 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Thu, 28 Apr 2022 10:41:51 +0100 Subject: [PATCH 06/16] Fix typo --- .../diag_scripts/sea_surface_salinity/compare_salinity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 5419769417..6c8040064d 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -146,7 +146,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") plt.savefig(plot_path) plt.close() - caption = (f"Absolute bias comparison in diferent regions for " + caption = (f"Absolute bias comparison in different regions for " f"{data_alias} and {reference_alias}") self._create_prov_record(plot_path, caption, ancestors) From 5d7aba27474122f03263f74ca2a539c216c34861 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Fri, 29 Apr 2022 10:46:08 +0100 Subject: [PATCH 07/16] Compute std_dev --- .../sea_surface_salinity/compare_salinity.py | 121 ++++++++++-------- 1 file changed, 68 insertions(+), 53 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 6c8040064d..2e4225130c 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -26,6 +26,15 @@ class CompareSalinity(object): def __init__(self, config): self.cfg = config + self.ticks = { + 'mean': [-0.5, 0.0, 0.5], + 'std_dev': [0.25, 0.5, 1, 2, 4]} + self.lim = { + 'mean': [-1, 1], + 'std_dev': [0, 5]} + self.operation = { + 'mean': 'bias', + 'std_dev': 'std_ratio'} def compute(self): data = group_metadata(self.cfg[names.INPUT_DATA].values(), @@ -96,59 +105,65 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, add_year(reference, 'time') data_alias = data_info[names.ALIAS] - climat_ref = climate_statistics(reference, 'mean') - climat_data = climate_statistics(data, 'mean') - bias_data = climat_ref.data - climat_data.data - bias = climat_ref.copy(bias_data) - angles = np.linspace(0, 2 * np.pi, bias.shape[0] + 1) - # Initialise the spider plot - ax = plt.subplot(111, polar=True) - for spine in ax.spines.values(): - spine.set_color('grey') - - # Draw one axe per variable + add labels labels yet - letters = [string.ascii_uppercase[i] for i in range(0, bias.shape[0])] - plt.xticks(angles[:-1], - letters, - color='grey', - size=8, - rotation=angles[:-1]) - - # Draw ylabels - ax.set_rlabel_position(0) - plt.yticks([-0.5, 0.0, 0.5], ["-0.5", "0", "0.5"], - color="grey", - size=7) - plt.ylim(-1, 1) - - data = np.append(bias.data, bias.data[0]) - more_angles = np.linspace(0, 2 * np.pi, bias.shape[0] * 20 + 1) - interp_data = np.interp(more_angles, angles, data) - - # Plot data - ax.plot(more_angles, interp_data, linewidth=1, linestyle='solid') - ax.fill(more_angles, interp_data, 'b', alpha=0.1) - ax.legend(letters, - bias.coord('shape_id').points, - loc='upper center', - ncol=2, - frameon=False, - bbox_to_anchor=(0.5, -0.1), - borderaxespad=0.) - plt.title( - f'{data_info[names.SHORT_NAME]} bias\n' - f'{data_alias} vs {reference_alias}', - pad=20) - plt.tight_layout() - plot_path = os.path.join( - self.cfg[names.PLOT_DIR], - f"{data_info[names.SHORT_NAME]}_comparison_{data_alias}_" - f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") - plt.savefig(plot_path) - plt.close() - caption = (f"Absolute bias comparison in different regions for " - f"{data_alias} and {reference_alias}") - self._create_prov_record(plot_path, caption, ancestors) + for operator in ['mean', 'std_dev']: + climat_ref = climate_statistics(reference, operator) + climat_data = climate_statistics(data, operator) + if operator == 'mean': + result_data = climat_ref.data - climat_data.data + else: + result_data = climat_ref.data / climat_data.data + + result = climat_ref.copy(result_data) + angles = np.linspace(0, 2 * np.pi, result.shape[0] + 1) + # Initialise the spider plot + ax = plt.subplot(111, polar=True) + for spine in ax.spines.values(): + spine.set_color('grey') + + # Draw one axe per variable + add labels labels yet + letters = [string.ascii_uppercase[i] for i in range(0, result.shape[0])] + plt.xticks(angles[:-1], + letters, + color='grey', + size=8, + rotation=angles[:-1]) + + # Draw ylabels + ax.set_rlabel_position(0) + plt.yticks(self.ticks[operator], list(map(str, self.ticks[operator])), + color="grey", + size=7) + plt.ylim(min(self.lim[operator]), max(self.lim[operator])) + + radar_data = np.append(result.data, result.data[0]) + more_angles = np.linspace(0, 2 * np.pi, result.shape[0] * 20 + 1) + interp_data = np.interp(more_angles, angles, radar_data) + + # Plot data + ax.plot(more_angles, interp_data, linewidth=1, linestyle='solid') + ax.fill(more_angles, interp_data, 'b', alpha=0.1) + ax.legend(letters, + result.coord('shape_id').points, + loc='upper center', + ncol=2, + frameon=False, + bbox_to_anchor=(0.5, -0.1), + borderaxespad=0.) + operation = self.operation[operator] + plt.title( + f'{data_info[names.SHORT_NAME]} {operation}\n' + f'{data_alias} vs {reference_alias}', + pad=20) + plt.tight_layout() + plot_path = os.path.join( + self.cfg[names.PLOT_DIR], + f"{data_info[names.SHORT_NAME]}_{operation}_comparison_{data_alias}_" + f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") + plt.savefig(plot_path) + plt.close() + caption = (f"Absolute {operation} comparison in different regions for " + f"{data_alias} and {reference_alias}") + self._create_prov_record(plot_path, caption, ancestors) def _create_prov_record(self, filepath, caption, ancestors): record = { From ff2e2218ab2a8d173cfb750169addab48cb34027 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Mon, 2 May 2022 09:24:45 +0200 Subject: [PATCH 08/16] Fix style issues --- .../sea_surface_salinity/compare_salinity.py | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 2e4225130c..81355f728a 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -9,7 +9,7 @@ import iris.quickplot as qplot import matplotlib.pyplot as plt import numpy as np -from esmvalcore.preprocessor import regrid_time, climate_statistics +from esmvalcore.preprocessor import climate_statistics, regrid_time from iris.coord_categorisation import add_month_number, add_year from iris.util import unify_time_units from matplotlib.legend import Legend @@ -28,13 +28,10 @@ def __init__(self, config): self.cfg = config self.ticks = { 'mean': [-0.5, 0.0, 0.5], - 'std_dev': [0.25, 0.5, 1, 2, 4]} - self.lim = { - 'mean': [-1, 1], - 'std_dev': [0, 5]} - self.operation = { - 'mean': 'bias', - 'std_dev': 'std_ratio'} + 'std_dev': [0.25, 0.5, 1, 2, 4] + } + self.lim = {'mean': [-1, 1], 'std_dev': [0, 5]} + self.operation = {'mean': 'bias', 'std_dev': 'std_ratio'} def compute(self): data = group_metadata(self.cfg[names.INPUT_DATA].values(), @@ -112,7 +109,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, result_data = climat_ref.data - climat_data.data else: result_data = climat_ref.data / climat_data.data - + result = climat_ref.copy(result_data) angles = np.linspace(0, 2 * np.pi, result.shape[0] + 1) # Initialise the spider plot @@ -121,7 +118,9 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, spine.set_color('grey') # Draw one axe per variable + add labels labels yet - letters = [string.ascii_uppercase[i] for i in range(0, result.shape[0])] + letters = [ + string.ascii_uppercase[i] for i in range(0, result.shape[0]) + ] plt.xticks(angles[:-1], letters, color='grey', @@ -130,7 +129,8 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, # Draw ylabels ax.set_rlabel_position(0) - plt.yticks(self.ticks[operator], list(map(str, self.ticks[operator])), + plt.yticks(self.ticks[operator], + list(map(str, self.ticks[operator])), color="grey", size=7) plt.ylim(min(self.lim[operator]), max(self.lim[operator])) @@ -157,12 +157,14 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, plt.tight_layout() plot_path = os.path.join( self.cfg[names.PLOT_DIR], - f"{data_info[names.SHORT_NAME]}_{operation}_comparison_{data_alias}_" + f"{data_info[names.SHORT_NAME]}_{operation}_" + f"comparison_{data_alias}_" f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") plt.savefig(plot_path) plt.close() - caption = (f"Absolute {operation} comparison in different regions for " - f"{data_alias} and {reference_alias}") + caption = ( + f"Absolute {operation} comparison in different regions for " + f"{data_alias} and {reference_alias}") self._create_prov_record(plot_path, caption, ancestors) def _create_prov_record(self, filepath, caption, ancestors): @@ -186,9 +188,8 @@ def _get_time_offset(self, time_unit): return time_offset def _align_yearly_axes(self, cube): - """ - Perform a time-regridding operation to align time axes for yr data. - """ + """Perform a time-regridding operation to align time axes for yr + data.""" years = [cell.point.year for cell in cube.coord('time').cells()] # be extra sure that the first point is not in the previous year if 0 not in np.diff(years): @@ -217,14 +218,12 @@ def _datetime_to_int_days(self, cube): return days def _get_overlap(self, cubes): - """ - Get discrete time overlaps. - This method gets the bounds of coord time - from the cube and assembles a continuous time - axis with smallest unit 1; then it finds the - overlaps by doing a 1-dim intersect; - takes the floor of first date and - ceil of last date. + """Get discrete time overlaps. + + This method gets the bounds of coord time from the cube and + assembles a continuous time axis with smallest unit 1; then it + finds the overlaps by doing a 1-dim intersect; takes the floor + of first date and ceil of last date. """ all_times = [] for cube in cubes: @@ -238,10 +237,9 @@ def _get_overlap(self, cubes): return time_bounds_list def _slice_cube(self, cube, t_1, t_2): - """ - Efficient slicer. - Simple cube data slicer on indices - of common time-data elements. + """Efficient slicer. + + Simple cube data slicer on indices of common time-data elements. """ time_pts = [t for t in cube.coord('time').points] converted_t = self._datetime_to_int_days(cube) From a4dbd5c3c0f637b89be85752dc13bfaa587a6057 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Mon, 2 May 2022 09:30:46 +0200 Subject: [PATCH 09/16] Fix codacy --- .../diag_scripts/sea_surface_salinity/compare_salinity.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 81355f728a..aff86b0f5b 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -188,8 +188,7 @@ def _get_time_offset(self, time_unit): return time_offset def _align_yearly_axes(self, cube): - """Perform a time-regridding operation to align time axes for yr - data.""" + """Perform a time-regridding operation to align axes for yr data.""" years = [cell.point.year for cell in cube.coord('time').cells()] # be extra sure that the first point is not in the previous year if 0 not in np.diff(years): From b7f89a7c584f6a0a5321ddfcbfded3f618e952d3 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Tue, 3 May 2022 09:50:46 +0100 Subject: [PATCH 10/16] Fix 365_day datasets --- .../sea_surface_salinity/compare_salinity.py | 91 +++++++++++++------ .../recipes/recipe_sea_surface_salinity.yml | 14 ++- 2 files changed, 73 insertions(+), 32 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index aff86b0f5b..07594cc259 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -9,9 +9,9 @@ import iris.quickplot as qplot import matplotlib.pyplot as plt import numpy as np -from esmvalcore.preprocessor import climate_statistics, regrid_time +from esmvalcore.preprocessor import regrid_time, climate_statistics +from esmvalcore.iris_helpers import date2num from iris.coord_categorisation import add_month_number, add_year -from iris.util import unify_time_units from matplotlib.legend import Legend from matplotlib.legend_handler import HandlerBase from matplotlib.text import Text @@ -28,10 +28,13 @@ def __init__(self, config): self.cfg = config self.ticks = { 'mean': [-0.5, 0.0, 0.5], - 'std_dev': [0.25, 0.5, 1, 2, 4] - } - self.lim = {'mean': [-1, 1], 'std_dev': [0, 5]} - self.operation = {'mean': 'bias', 'std_dev': 'std_ratio'} + 'std_dev': [0.25, 0.5, 1, 2, 4]} + self.lim = { + 'mean': [-1, 1], + 'std_dev': [0.01, 10]} + self.operation = { + 'mean': 'bias', + 'std_dev': 'std_ratio'} def compute(self): data = group_metadata(self.cfg[names.INPUT_DATA].values(), @@ -46,6 +49,8 @@ def compute(self): logger.debug("Info reference dataset:") logger.debug(reference) for alias, dataset_info in variables.items(): + if alias not in ['CMCC-CM2-HR4', 'CanESM5', 'GISS-E2-2-H', 'NorESM2-MM']: + continue logger.info("Plotting dataset %s", alias) dataset_info = dataset_info[0] dataset = iris.load_cube(dataset_info[names.FILENAME]) @@ -55,7 +60,7 @@ def compute(self): time_coord.units.name, calendar='gregorian', ) - unify_time_units((reference, dataset)) + self._unify_time_coordinates([reference, dataset]) logger.debug("Info dataset %s:", alias) logger.debug(dataset) ancestors = (dataset_info[names.FILENAME], reference_ancestor) @@ -100,7 +105,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, add_month_number(reference, 'time') add_year(reference, 'time') - + data_alias = data_info[names.ALIAS] for operator in ['mean', 'std_dev']: climat_ref = climate_statistics(reference, operator) @@ -109,7 +114,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, result_data = climat_ref.data - climat_data.data else: result_data = climat_ref.data / climat_data.data - + result = climat_ref.copy(result_data) angles = np.linspace(0, 2 * np.pi, result.shape[0] + 1) # Initialise the spider plot @@ -118,9 +123,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, spine.set_color('grey') # Draw one axe per variable + add labels labels yet - letters = [ - string.ascii_uppercase[i] for i in range(0, result.shape[0]) - ] + letters = [string.ascii_uppercase[i] for i in range(0, result.shape[0])] plt.xticks(angles[:-1], letters, color='grey', @@ -129,8 +132,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, # Draw ylabels ax.set_rlabel_position(0) - plt.yticks(self.ticks[operator], - list(map(str, self.ticks[operator])), + plt.yticks(self.ticks[operator], list(map(str, self.ticks[operator])), color="grey", size=7) plt.ylim(min(self.lim[operator]), max(self.lim[operator])) @@ -149,6 +151,8 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, frameon=False, bbox_to_anchor=(0.5, -0.1), borderaxespad=0.) + if operator == 'std_dev': + ax.set_yscale('symlog', linthresh=0.1) operation = self.operation[operator] plt.title( f'{data_info[names.SHORT_NAME]} {operation}\n' @@ -157,14 +161,12 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, plt.tight_layout() plot_path = os.path.join( self.cfg[names.PLOT_DIR], - f"{data_info[names.SHORT_NAME]}_{operation}_" - f"comparison_{data_alias}_" + f"{data_info[names.SHORT_NAME]}_{operation}_comparison_{data_alias}_" f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") plt.savefig(plot_path) plt.close() - caption = ( - f"Absolute {operation} comparison in different regions for " - f"{data_alias} and {reference_alias}") + caption = (f"Absolute {operation} comparison in different regions for " + f"{data_alias} and {reference_alias}") self._create_prov_record(plot_path, caption, ancestors) def _create_prov_record(self, filepath, caption, ancestors): @@ -188,7 +190,9 @@ def _get_time_offset(self, time_unit): return time_offset def _align_yearly_axes(self, cube): - """Perform a time-regridding operation to align axes for yr data.""" + """ + Perform a time-regridding operation to align time axes for yr data. + """ years = [cell.point.year for cell in cube.coord('time').cells()] # be extra sure that the first point is not in the previous year if 0 not in np.diff(years): @@ -217,12 +221,14 @@ def _datetime_to_int_days(self, cube): return days def _get_overlap(self, cubes): - """Get discrete time overlaps. - - This method gets the bounds of coord time from the cube and - assembles a continuous time axis with smallest unit 1; then it - finds the overlaps by doing a 1-dim intersect; takes the floor - of first date and ceil of last date. + """ + Get discrete time overlaps. + This method gets the bounds of coord time + from the cube and assembles a continuous time + axis with smallest unit 1; then it finds the + overlaps by doing a 1-dim intersect; + takes the floor of first date and + ceil of last date. """ all_times = [] for cube in cubes: @@ -236,9 +242,10 @@ def _get_overlap(self, cubes): return time_bounds_list def _slice_cube(self, cube, t_1, t_2): - """Efficient slicer. - - Simple cube data slicer on indices of common time-data elements. + """ + Efficient slicer. + Simple cube data slicer on indices + of common time-data elements. """ time_pts = [t for t in cube.coord('time').points] converted_t = self._datetime_to_int_days(cube) @@ -248,6 +255,32 @@ def _slice_cube(self, cube, t_1, t_2): ]) return [idxs[0], idxs[-1]] + @staticmethod + def _get_consistent_time_unit(cubes): + """Return cubes' time unit if consistent, standard calendar otherwise.""" + t_units = [cube.coord('time').units for cube in cubes] + if len(set(t_units)) == 1: + return t_units[0] + return cf_units.Unit("days since 1850-01-01", calendar="standard") + + def _unify_time_coordinates(self, cubes): + """Make sure all cubes' share the same time coordinate.""" + t_unit = self._get_consistent_time_unit(cubes) + for cube in cubes: + # Extract date info from cube + coord = cube.coord('time') + years = [p.year for p in coord.units.num2date(coord.points)] + months = [p.month for p in coord.units.num2date(coord.points)] + dates = [ + datetime(year, month, 15, 0, 0, 0) + for year, month in zip(years, months) + ] + + # Update the cubes' time coordinate (both point values and the units!) + cube.coord('time').points = date2num(dates, t_unit, coord.dtype) + cube.coord('time').units = t_unit + cube.coord('time').bounds = None + cube.coord('time').guess_bounds() class TextHandler(HandlerBase): def create_artists(self, legend, text, xdescent, ydescent, width, height, diff --git a/esmvaltool/recipes/recipe_sea_surface_salinity.yml b/esmvaltool/recipes/recipe_sea_surface_salinity.yml index 444aea80d9..f3cc71b355 100644 --- a/esmvaltool/recipes/recipe_sea_surface_salinity.yml +++ b/esmvaltool/recipes/recipe_sea_surface_salinity.yml @@ -43,8 +43,16 @@ preprocessors: areacello: datasets: - - {project: CMIP6, exp: historical, dataset: MPI-ESM1-2-HR, ensemble: r1i1p1f1, - start_year: 1950, end_year: 2014, alias: MPI-ESM1-2-HR} + - &cmip6 {project: CMIP6, exp: historical, dataset: ACCESS-CM2, ensemble: r1i1p1f1, + start_year: 1950, end_year: 2014, alias: ACCESS-CM2} + - {<<: *cmip6, dataset: CMCC-CM2-HR4, alias: CMCC-CM2-HR4} + - {<<: *cmip6, dataset: CanESM5, alias: CanESM5} + - {<<: *cmip6, dataset: IPSL-CM6A-LR, alias: IPSL-CM6A-LR} + - {<<: *cmip6, dataset: MIROC6, alias: MIROC6} + - {<<: *cmip6, dataset: MPI-ESM1-2-HR, alias: MPI-ESM1-2-HR} + - {<<: *cmip6, dataset: NorESM2-MM, alias: NorESM2-MM} + - {<<: *cmip6, dataset: GISS-E2-2-H, alias: GISS-E2-2-H, institute: NASA-GISS} + diagnostics: compare_salinity: @@ -64,4 +72,4 @@ diagnostics: alias: ESACCI-SEA-SURFACE-SALINITY_V2} scripts: compare_salinity: - script: /home/users/sloosvel/ESMValTool/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py + script: sea_surface_salinity/compare_salinity.py From 3b19d1546f5e5060fe1e4b5dfd7bdca54cd1e155 Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Tue, 3 May 2022 09:58:47 +0100 Subject: [PATCH 11/16] Clean --- .../diag_scripts/sea_surface_salinity/compare_salinity.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 07594cc259..293b50cd5b 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -49,8 +49,6 @@ def compute(self): logger.debug("Info reference dataset:") logger.debug(reference) for alias, dataset_info in variables.items(): - if alias not in ['CMCC-CM2-HR4', 'CanESM5', 'GISS-E2-2-H', 'NorESM2-MM']: - continue logger.info("Plotting dataset %s", alias) dataset_info = dataset_info[0] dataset = iris.load_cube(dataset_info[names.FILENAME]) From 6d6daecc8a66f7d21f19b762b8333d474c8a049b Mon Sep 17 00:00:00 2001 From: Saskia Loosveldt Tomas Date: Tue, 3 May 2022 10:32:57 +0100 Subject: [PATCH 12/16] Fix identation --- .../sea_surface_salinity/compare_salinity.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 293b50cd5b..9890cec8fb 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -274,11 +274,11 @@ def _unify_time_coordinates(self, cubes): for year, month in zip(years, months) ] - # Update the cubes' time coordinate (both point values and the units!) - cube.coord('time').points = date2num(dates, t_unit, coord.dtype) - cube.coord('time').units = t_unit - cube.coord('time').bounds = None - cube.coord('time').guess_bounds() + # Update the cubes' time coordinate (both point values and the units!) + cube.coord('time').points = date2num(dates, t_unit, coord.dtype) + cube.coord('time').units = t_unit + cube.coord('time').bounds = None + cube.coord('time').guess_bounds() class TextHandler(HandlerBase): def create_artists(self, legend, text, xdescent, ydescent, width, height, From d2b9ec8e917994251e251a825e6355806507c7f2 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Tue, 3 May 2022 11:45:09 +0200 Subject: [PATCH 13/16] Fix flake --- .../sea_surface_salinity/compare_salinity.py | 66 +++++++++---------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 9890cec8fb..0a1df138ae 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -9,8 +9,8 @@ import iris.quickplot as qplot import matplotlib.pyplot as plt import numpy as np -from esmvalcore.preprocessor import regrid_time, climate_statistics from esmvalcore.iris_helpers import date2num +from esmvalcore.preprocessor import climate_statistics, regrid_time from iris.coord_categorisation import add_month_number, add_year from matplotlib.legend import Legend from matplotlib.legend_handler import HandlerBase @@ -28,13 +28,10 @@ def __init__(self, config): self.cfg = config self.ticks = { 'mean': [-0.5, 0.0, 0.5], - 'std_dev': [0.25, 0.5, 1, 2, 4]} - self.lim = { - 'mean': [-1, 1], - 'std_dev': [0.01, 10]} - self.operation = { - 'mean': 'bias', - 'std_dev': 'std_ratio'} + 'std_dev': [0.25, 0.5, 1, 2, 4] + } + self.lim = {'mean': [-1, 1], 'std_dev': [0.01, 10]} + self.operation = {'mean': 'bias', 'std_dev': 'std_ratio'} def compute(self): data = group_metadata(self.cfg[names.INPUT_DATA].values(), @@ -103,7 +100,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, add_month_number(reference, 'time') add_year(reference, 'time') - + data_alias = data_info[names.ALIAS] for operator in ['mean', 'std_dev']: climat_ref = climate_statistics(reference, operator) @@ -112,7 +109,7 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, result_data = climat_ref.data - climat_data.data else: result_data = climat_ref.data / climat_data.data - + result = climat_ref.copy(result_data) angles = np.linspace(0, 2 * np.pi, result.shape[0] + 1) # Initialise the spider plot @@ -121,7 +118,9 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, spine.set_color('grey') # Draw one axe per variable + add labels labels yet - letters = [string.ascii_uppercase[i] for i in range(0, result.shape[0])] + letters = [ + string.ascii_uppercase[i] for i in range(0, result.shape[0]) + ] plt.xticks(angles[:-1], letters, color='grey', @@ -130,7 +129,8 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, # Draw ylabels ax.set_rlabel_position(0) - plt.yticks(self.ticks[operator], list(map(str, self.ticks[operator])), + plt.yticks(self.ticks[operator], + list(map(str, self.ticks[operator])), color="grey", size=7) plt.ylim(min(self.lim[operator]), max(self.lim[operator])) @@ -159,12 +159,14 @@ def create_radar_plot(self, data_info, data, reference, reference_alias, plt.tight_layout() plot_path = os.path.join( self.cfg[names.PLOT_DIR], - f"{data_info[names.SHORT_NAME]}_{operation}_comparison_{data_alias}_" + f"{data_info[names.SHORT_NAME]}_{operation}" + f"_comparison_{data_alias}_" f"{reference_alias}.{self.cfg[names.OUTPUT_FILE_TYPE]}") plt.savefig(plot_path) plt.close() - caption = (f"Absolute {operation} comparison in different regions for " - f"{data_alias} and {reference_alias}") + caption = ( + f"Absolute {operation} comparison in different regions for " + f"{data_alias} and {reference_alias}") self._create_prov_record(plot_path, caption, ancestors) def _create_prov_record(self, filepath, caption, ancestors): @@ -188,9 +190,8 @@ def _get_time_offset(self, time_unit): return time_offset def _align_yearly_axes(self, cube): - """ - Perform a time-regridding operation to align time axes for yr data. - """ + """Perform a time-regridding operation to align time axes for yr + data.""" years = [cell.point.year for cell in cube.coord('time').cells()] # be extra sure that the first point is not in the previous year if 0 not in np.diff(years): @@ -219,14 +220,12 @@ def _datetime_to_int_days(self, cube): return days def _get_overlap(self, cubes): - """ - Get discrete time overlaps. - This method gets the bounds of coord time - from the cube and assembles a continuous time - axis with smallest unit 1; then it finds the - overlaps by doing a 1-dim intersect; - takes the floor of first date and - ceil of last date. + """Get discrete time overlaps. + + This method gets the bounds of coord time from the cube and + assembles a continuous time axis with smallest unit 1; then it + finds the overlaps by doing a 1-dim intersect; takes the floor + of first date and ceil of last date. """ all_times = [] for cube in cubes: @@ -240,10 +239,9 @@ def _get_overlap(self, cubes): return time_bounds_list def _slice_cube(self, cube, t_1, t_2): - """ - Efficient slicer. - Simple cube data slicer on indices - of common time-data elements. + """Efficient slicer. + + Simple cube data slicer on indices of common time-data elements. """ time_pts = [t for t in cube.coord('time').points] converted_t = self._datetime_to_int_days(cube) @@ -255,7 +253,8 @@ def _slice_cube(self, cube, t_1, t_2): @staticmethod def _get_consistent_time_unit(cubes): - """Return cubes' time unit if consistent, standard calendar otherwise.""" + """Return cubes' time unit if consistent, standard calendar + otherwise.""" t_units = [cube.coord('time').units for cube in cubes] if len(set(t_units)) == 1: return t_units[0] @@ -272,14 +271,15 @@ def _unify_time_coordinates(self, cubes): dates = [ datetime(year, month, 15, 0, 0, 0) for year, month in zip(years, months) - ] + ] - # Update the cubes' time coordinate (both point values and the units!) + # Update the cubes' time coordinate cube.coord('time').points = date2num(dates, t_unit, coord.dtype) cube.coord('time').units = t_unit cube.coord('time').bounds = None cube.coord('time').guess_bounds() + class TextHandler(HandlerBase): def create_artists(self, legend, text, xdescent, ydescent, width, height, fontsize, trans): From 0df653e16f752cd67f83ae833911f4d38e48b303 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Tue, 3 May 2022 11:50:31 +0200 Subject: [PATCH 14/16] Fix docstrings --- .../sea_surface_salinity/compare_salinity.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py index 0a1df138ae..e1fa384297 100644 --- a/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py +++ b/esmvaltool/diag_scripts/sea_surface_salinity/compare_salinity.py @@ -190,8 +190,11 @@ def _get_time_offset(self, time_unit): return time_offset def _align_yearly_axes(self, cube): - """Perform a time-regridding operation to align time axes for yr - data.""" + """Align years. + + Perform a time-regridding operation to align time axes for yr + data. + """ years = [cell.point.year for cell in cube.coord('time').cells()] # be extra sure that the first point is not in the previous year if 0 not in np.diff(years): @@ -253,8 +256,11 @@ def _slice_cube(self, cube, t_1, t_2): @staticmethod def _get_consistent_time_unit(cubes): - """Return cubes' time unit if consistent, standard calendar - otherwise.""" + """Fix time units. + + Return cubes' time unit if consistent, standard calendar + otherwise. + """ t_units = [cube.coord('time').units for cube in cubes] if len(set(t_units)) == 1: return t_units[0] From 8b6e9ea95017ee1acbc5c7cc154aad7055830b36 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Thu, 5 May 2022 13:09:51 +0200 Subject: [PATCH 15/16] Update docs --- .../figures/sea_surface_salinity/radar.png | Bin 65459 -> 0 bytes .../figures/sea_surface_salinity/radar_bias.png | Bin 0 -> 59002 bytes .../figures/sea_surface_salinity/radar_std.png | Bin 0 -> 56177 bytes .../recipes/recipe_sea_surface_salinity.rst | 14 ++++++++++---- 4 files changed, 10 insertions(+), 4 deletions(-) delete mode 100644 doc/sphinx/source/recipes/figures/sea_surface_salinity/radar.png create mode 100644 doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_bias.png create mode 100644 doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_std.png diff --git a/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar.png b/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar.png deleted file mode 100644 index dbecac5107f716590652fadcf989a485da75f6fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65459 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 X)1jMNN_Hstzwy6KGC6KMd(D3XiI8?* diff --git a/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_bias.png b/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_bias.png new file mode 100644 index 0000000000000000000000000000000000000000..61b312624e3d76f451efe3c917c3918d5d07e250 GIT binary patch literal 59002 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

97_5x4u4E4-es~ z=`!2Xx8Nk&*4vA7n^ozPD|=81?i~v=rI*gm?chU)G&JW*js!=gzst*TZ*Jz~l&!@u19lzeY?|yeAlBO!;d9iAb=M`Ydr2jLXp~Cr{X!pm3IMFKL?k%CksC3!e!Ju zCGdRV7Zh9oLrU;L_)?7a`8vr0%x!9HWgR{^(Pm*xgm}sO+@sJ<9vbOdSXh?(W z(#y4ev?6MU#JK}9qEDreqFIE=ta-uWZ7FPBXx`Gc`J z7ki$z5iCJgkESnQ+^$P9U*(jS4>?V;P*abnU!}b-F>>7DU--o{Vk2N>hv+CT_4d~O z5Zs_1RgskvA$(08YW9EzAL-nqriR*0p{G~6SOXINx!`UA``nrW^Ykb`M@HHf_hM60 ztkzU8dG9LreMjykd%$}zFb|!@&`-7K z{rrjFo;kN}tsiO=F9tsQ)!ostw@hxl>mgbP%7hXU$o#&b!2szLtY&qV2rZzlMH)kc zu{8+@W7HFJGrC6--{)HfvzT0Ppwfp`U_87US7G_HP<}9BejLhwzE>xhLb(u<%IF}h z`6pm-KvTM0-Sk~@{NrDP#F(;9FZY5oGVr#K4KKXaH-1psI|JX$z3XynkZ!H3B17#+JF8|uvTDcN+@MO9b+EMwH zQ3*xZ`7b88u71>!m%oF2oPX!%-$2>*-tH;ib9lkvBqs;{V`!*vCN%kulOjIZL~ygX zp?ark1nzK;1`gIpeSD8L#b`hSUT6#?5%bGrDB^};-Q8+>^=im4DxGukmbi3afb8Q~ z)9x-Nm73BrjF*OgX~v|bxzvriq0b8ZHg$hNuz;Gr*R_ZhMo?E>@)+a~6BO@&I{rO3 zUP*Ajfb+;}|A)VXx*dAI9+1YbH0i?rJrNzn!NKSr(1Gx|DJqRHn{D=i${B22>hopl zrF3l|NU|2xBgFz8-o}Xv(({t zc-L^L#Z0jrJ`us?2XZ57@#1YL; zyU%vX5Qv%md;IOuTN)`Bm-}?D{}RQ2vE_jN2Q;l(!FVO=otn#!l8x4u7_9}57o6RX zH$U;Q65=p-w<#Nay%I86G~CWcW1Y zLodCP#$1$FsG5`9BjiaFkk) z6%WDu-XQ}dY#$?$Q|6E&)S{*Y@tK-l%52e^3R`jaOMeuo3nZ- zqL81t`!6*t*MWED!KA;~3N_)nb&Q`VMWCg{tqwW6GwRYvStf{4RNJz~+y z7JlgcO_{<#4G;wci?vei%67Y*n~cBwIV{X%DXiG{zq4iWe}6{|YB=(bA7f>DEMS#f z1cIS%C@6ch4Gs=63E4Cwv=&OLU!4e+&^hO0sLm)W;L(RZU^MttE3ifX?J7sQz7ahm z7-9EM3`*%-)MnZHW`cO;RavV8dp-=7h-$TD0H7jLLJA=GHx*BBid#5ZeA=xDj9L z2vkXZFg54_H<^2a^ve0e^WVD2HorFn9Yk=>P5fqP8zij`XyRcWqJ7Ky@q>OzDdP6q zx8RL{m`IA5F|tJw*6k_u1MTR{E+& zTBw&mAQWj(18_C#CCV^}pI=;fgGlm-&5AuKIr$=}K>n_K$*j@)?W2%rye4KPxYN_$ zy?a*}6y?D!q|CVq0rsWPAuw@s6F}G*80hemab(Pj>>8fYrrC;KRwnfonGMT|Oxs(I zlm6`_oU(dHE+C7#;N&aQlnmd8NDKBZJEp099zmb@P>88&_wgXX6r zLUb(W)gfh-`k}SE8{>I_5)8B0kP4OH$M*h%KFHgEZ#g3u*MLntAFx3ddt$)rIrtqP zkjKG1)E|BrtO$@Q(K6oNjrkpvD%bsKpko)8kYG0a;AJK;V`d6v5Ss-?PR*0x4szXC zgO}*D%UX-^)k~iiU5MrxyJWf9lnxS18cUc(JKLqSJQIF6fLW%cyJ^)>mYM$3&ml)5 z{32oz@6Eoou*huZ3zFz1NtIY)9y+y-RCk-c{49j3U$!V71&Bz!28q1gBW6(24R)ejctc1f2$GA=z#KR>_tLsd=95TxHU zIM_QmQOx8NKUCGw2(GH)Q_2#jB@XZWIZrXXe!$+y^2qJ!t${K3IX(Sbf4s`^DgWSj zU^>6_uNbAv#Aot&vN^{^Ce1-C$wVT_^fz#@NoU^1zARYDjdFf|oSR_s}A=p<{f)lbj3MD7nXvzsDx2B6TJ}*$y<+ zEvnYvKX85ZY96#DTW=DG8ohE~W9Za_uIewzn&*`ax{p)Zw*J;LOi zNGID>+5PkG(c^#d#`F+`8nLyu@=Yf1>H)5fm`sIyOWEG>w)lw391Ef@(zz!a)`eusbX}c+! zFOPJASv&=P5J~u% zX#9Kn9N#=gS64Oi@*dqx)C?7mrjyGz|Mbc=Sg*g$yq@@;zR#+9an8@xTVr1`{Bg*= zZiwDt@^~Dy`;yqW@jb=j^d|3&KJFu&e$xA-aJ1oagC3vhzrWuDuLy@HCc>klaKUMc z33yh?jP=ja(b176Q-XHCjWlYXGIvf{y@k&S5*c;JGhUVMJIH47#VY|0QBfK=W)Kji z)YRThY?oMbNsE(TaUJct^JaGBs}(tYycAV?p68gdS@v^vD1S8j+5gwvn}=iBw(r8X z6e@FN$P|f^$`nP0kRr_`QRXB=Bt>Rrb|aZnNm2?SQ$nUtC?OG<6EYW)aqVaQe&4pX zwYK+L-yiFb@7|g z#Qq*8A!8zS57Z)F%nH88e__-vrdk-aW?$sU*K7QQCL_d-bcM@~yzN(gE4LtTurUlc zbi|euL`wlZdo?c4s?DUJUL>?<&(~-D5j3a$Bs}IP_7gnBZJDP3Zt7@gr1#e(NMSsH zuo;4cDCWN08#iwfWxLv1ZH(vEm%l4GG%z4B7u>dgHT0phVYzuohKu#969z7zdjHDKFkVPOR_=QOy0hkT5_BdJ`I3fMSe< zkMP;p+U8ZanVw1U^rS!=aRU?`Yr)*KRRiGr!e-<$F(_ zTuUK3Sw_^oprycmLvD&FE<<`noVRbJo>fHfG$ah(ZmW$~7C>PN`yH9(O`%Awu)BAu zz!L5%xy?Q<*Z&OhmYa3`ar5R=iG0yD`&3nzp|pP#cms4!KwrZ2V`|LSYjb`QoZ`Ah zNS87_80u?N6V z_+lhK4R)+B z)&+az!Ryx@4T4O8CN zynB~7RWB#dS7PNK0W2}MFtYAF<0Z62&<9cSHogyhY(W*|9Ygu@R#=!9M6^><9)s?K zUQC78zk78bH4YvL?G6Zq9)0C3eimLMhef#BMrn-m+!o;^HE?Y_?t+E^A5@ zm+%bGb0g0HX z)^SHCrQ*Xq1t=K%Loeu{pPGLYc_9jKy6wmbMZ_`OS?uxV?9=PpFdyUAEmk5Fla}_r zr%4)#HIP%ii6xQQt#?O8MtsE@jiT4CT(#;3z61lvk*2@r9ZZv~WUQ)%NY}+PYgOrp z){diBUB78xb!2jCs=AI&6duB=`E(toyl<0I-wM#)*7nGnl5~_QiJTo4A5fApL`(D1 zZl6nEG684x!bA`a$s!?jmwGmzeGh-#!%S9_G~y(;@0OQ0!L><92AKkJz7OZJpb~N5 z00UkhErzONm>*QM?R5QKTW~eTXeFr{8w+AP(*U*FedRlL`*K-XN5|^#6HW&X98kgA z{qf_6Ht$Fm5eUQ_Qf$&DKGA4z>Ly-U_9|nBOd%LYqJW0LJ>Xd8E=ynxP=fo|+8PMl z*4x_~Gqd7y>PTQ&RYgxjLt{Qt)p}88J&fD~h)yAC@%Q(axX6A5l~Mqd#4bO=)@vjSuKxV3x=}qzPZYeyyEV`j;9-YWZL{74Y-(QE>&= zKYh_SU{2$u^zU0a1rv!zN{m0YC#0}RH`;hPi`oWOU34!SQ;BRd**+)?5>*o}E(QgK z0>M1^l3+|45*87;v!Nj@0m(6h0+LfwZsK6UdqKBM+B)Frzf2RDS*>g~y6PvUnhjyG zO`D#blKB#UYcB+aSl0kjoEyYp~ZKMsW2c)734JTG`pz58%@g zuo5|V*b`u*X_xMwf(+C@VRET&`C(}AbeSIBivvKw1-v_mq5}dW|ee7%jrQbmyj^S?BiIB} zOWh~w>2=AL!mJF8nseNid~~M2$#N%@QEA}V{P>;y#m;*(5|#CsGbr7Y_ev>2p?Lo%0qYZ(dxExCX<Vpt<-aI z3|FsS^^&B+lsQBv<;BfPvw0JLAimJ@RYuc;_o(!XMOF{g7pLJ*xJiTq z8UYWX>ezJXtDGM~JgEJ4Oq)=UpyC-z-o0D7RVS5e&6Uk7xtYnWP+^?Nk-(FhVnhEe zsT|-qfgBIJ26C$BOBPV3z|6-yZEV1GGV6ou>n`u&Ra=$>TFSzfkh=cPTP^3}hoSHn z93X7H0sHCOH!CFcy-Ovu-o&=A3<(wp>>C~Cc_ zstSG9olz?9GA$0XCgDCmBbbxeIQXE+l1Wq7<0_+PLg454)Cs3THboZemliVXA3b?e z4w+H-AQ|hiBdsC)ih&R(F+obgLA`yeKESfhTUP~DAgG#VS~YLSu`}u}^Dz}OMpP;i z9&484u{~PhaYsQnw86um35T=+d>2SrF~bnhGxMsPIl~PVC)1w=D_B*ZKMdp+rm>p5U3cU}Fl79#K$xoQJ<%E@h%lj8(RN<0|`tLmibp+VDR@FN3v z&H(j*{|ZfE_C3=rrjYKe5{-AoKqroaelp_n^77a!Tef7`FVuKW?uaOKUvSo{W{{MY z-^y-cjOoLeIZcEXmF9+}ft12@XIa_W662Uuz9EmO4-+lz#>a=sVa_k^W>od1c@JB) z3gH~YoXAQk&yUmU>FXoR+he(76=GqH@all8##BM5i6X;zxwJTkl;qOjEe3AsWC)C{ zTM0#PsM{Pndejs84Zw}68U$m{;(&tHk!)g~L`XPS`VXT7X|gao6%oNERZGlcH4I-D zkhta1H5K#%uAT^^4*HoL2SkZx`%CSnK9EzL81q=-IlG2j$LjtzkFFzW<8UMiHSJ0*WcioAIRwCF8E5+YXI37nH@>5Uaoi+|X(6!!kZ2Va;O zsBMb#RmYTZsiAPe%)f^LT4~~X*$gI`Ee*zO|02VUx=R9I;dw}&ju?VV*&UG6dPvm! zG4ql1wF~cM(5{jSMJrx~YmBg~zrMehwpy0nIC$&+{SXB3Ff^VueX2rXMmPs>Eiwn= zy{WR^M}9LxzW~0VUJJD3jWGVNuaGzWZUw;gXvyah?wPNfEK`o`L#A z3rou~7)0nV8cpkqE&MKC^3hAH1f!A}1DhyNKt-W_E3w7wr|@F-p*%uDA6y=hpV9R2 z7o8LLETPgzaE8JUtp8cBWdR5 zPfbleINo=aJ@_#m1zAJp%+IxmHM{Kd9YVFG2S-OM5e=Y$|GN6VeN1z=g%Ru%Y_;)- zvZA#cyVUynqauQdw-OUKLbRKTdJ8#f1de@t_+H>(;}f;bYxRUhU|j(p1WhX5d3sU| z8Eos(O>RG)K0%4Zaxeo-xeQn#cvnQ=-LL0Hvm6e1QyGZ$4a|S_$^>TjB{Vz`p7{bI zVL^<9(UEdIu^wZFgD#!Dq-vS79;m=Bw^R2rz}IDHG-Pc*6sEC~r{fO{IMs%074m16?~o(Kvm zo?T50_(#z|50Xrh8Ize}os=ey;GkP!s3ovTRZ3KT z{P@umkUSAOM%a(7?NeM_{AKZFbW{`!2R+Q8`9+UxQ!1*Z%oz0wWnLA8$XLHs(4P+y zHEV7dbRbp~wxJYdHgq7_+J<6jO`%W_#TOa}{ZR%xVTtji!ELFA!;OMq&K zgC&GEW)jYR3uH89gq0u_oXrVbkPst8IY7Dz$h#3x_y+~4oje)wrCD&Jw=O@Hm31R% z4sW4n2gd{BO^D$EYeYMyf}cYg{_^bP#Yc}H>osM>azD$AR7h-A#)auK@_UIu(W>`FP{4;1F1E_^dSUH}x1OS4%J z-h~I+@8mQip<#Uw0RW^dncnH1KFvwcqxI_p@!df?mT5C&?tz^YbW~5%NqqIH^;Ytr zgFFr-Ny(9c%ZUeE{`Qs)fB`&AyDFQ06tY0%L)d)Bjvb@f9&L5N^5%^j79CuIZy3mP z7JODdR#dzU0SO&|WRmD0l|w`Y;X4&e%O5eCDzNn+m5|UDNme4Z3s&COtadHuNmf;j z9pqj_8td!5$dkd2W@fS>{CE4H}dl2;7>H(&u_t71}h2Z0yjS>p{RfJ!8S>{ z&pVMXg=BI=0=udP1G%0#WXTa}1IJ*}Jcuk6k##p{6wnD*d+{A}N2cECd9Ys_8M;Wq zP~+y;{76)u1+uA*t|Cul+!&uaC3K0YX66EWWq7=Oc!O_xNc7p-Y8kPgjf z1%^+AI!#k*Jap24aTghZ~gbF#s0gW8)CSz@Gm)5(Z-vJ zEE^je8%K!$|MOdFBg8%sb}OF{@#k}x_`Iy7gGAa@MPqi{pZUhR=>JB zM6?1A`t5z2eC6jiO$1_Z`+gb^+Cm)rmR3@E1Lr+C|D6eMtf_zIf7QY0AwMR03334A zK{?dg5gq{|l+biRtOKn>fTR+wi{M}z6LoFN0w4hdyuhZ$+*d?7p%>!aIDj0fSw>U0 zBVU!`J=m-~J=$&+rGx}x0?Lu7fU;mC!jr!NI2#rld$GYC38GK`eU}f9Y!-h;7n6_; zF6dGVCo8L`W2am5qXj1K4?JeV4{)3L)8ERu$_b+;sk2ULju8@LZ(yNO()Fn6m#Rdh zKK2ayC{mA(d}(TG@(&H&4;5CD%MrMT2oGhNR)N-nX76jwHsSS}NF>1*(_n!fan@vx z^%p4;NX|`3NWjL)o1aPr6O#3f~igP1nn?^_AcOUI){!8IzC~NFh_Tgh0u9c zR8>h+#3dwd4Nf^{O{W~)9CPy~?bdDE&ZG0i%wwipfI1zIF*h_u^ep^l@I=(Q{wz2_ z>3fH(7BMpE1*&(_UMeNX5WmDP&0nbGGNn-Yfj3emD?dL!S3?}0#hi`}qZ#5bYxtwo zyu4-$7noxN-==_;vW?@kl1zv=1eSz%4a0KrUAto3W(S}6F2HYEBkQQ`=(wL>P>{9L z>T?EeifeiauiP5=l(tZq1fDV0&xO3dvok0_T?hh?6%f!F z?P?eO4(ne=k?`J-YQk22V25W6Ev>p*m`y(UUgMyl`tc$brI9}97QBnG;5Wbrrsf`vdk@oS#*M`^o z))7%9oJtiCs!&ICYhJfc%08gN#J|F1xV?ZAPy?+JgjpeG1NktLWD&Xuii|)3b`Q9d zW(r_yJxG+)|Iq}yhK8(Kma4a=8`VT@10fLhvK;A`ZQJ+HY5JL1C3GAhpy>Hkrz|%- zw>UQ@2}3$R5$Yi`DaQ(2@zbZ1yo%0i|NQwAqwJxCNYzzsg*z@qPNKWJ5{hx2WGd6< zZQE9;^fSrZQdv0;t$vqLKQu+o4vi5c+xM7KGZ6_(Q>@!xT{Rz3*s>*{2yYz+0bcpa z)vG&aAGIxMx{h@e`Pv}ut^NEt%I)VnQQF)uOHa|X)oC%86Ypx! zHtTT#;2pPVUV6+_aqi#!zq?tdc6Ow*IG)BxE9vKB$>`{4X{C7ETIRgixUT z?(Qq2uWV0bU*0xde57z8+%Ny^_T$Ho)45(UFyJSJp=5jPCY0W2DL|MRmy{+ysuAc5 znFyj?nl9f}DhNostq?g-PK$c28It(OE6pEzA?kJ1Hho_RW)8RIu>jSn!d)UdwTe;D z1Md(KcjBtkz>m?b4SZdjz5L#y(xvuS>+ngxl$5Q11ziCE?sA?S;G1e|Y`lqMiHYMl zEm{W;+Fmb&D|2#o?x>$o?PoH%_%i)uNBNDh4Ze!W&`?>}PHr?ixU0(uR|Wolx#VC!bRfIGeOrF| zbaPv78WM8UPUbNmt-#oDNz;C!r(%3+sshl-GFw|)97gb=*(`Hf2mZJ!b&l`!E0@eZ zl6n*Q0QR7Q^}E=X*WVvl?hA&!!Y$L4flsuveuA+znkP_L0J%ZSjIEAaD$N%5eSjQ=fmw zf@H_Le~WQal7|+&QzUo_<-d_s5m-_+LBg8nM^X=My=Be}{8$FG<=3uV%f*ir6r#XY z&4wOsjqyw%o1?G{CrS5p2P*?*-q8NKoXy!fWM1Uvfuv9%3zVG>1lQ1GVJED}N)(Zx zjS3uaarXcC!V`la! zp@)x~J79L!Sw=>NYufN%?Ze+6ErKue^V=mthi3aWE?-ug$bzp8O za*-o}g|3!~#6r@OC#EnK1U-_x*dR>y#e}^wT=YiZxuzu;SjQwfij8$s(%h*KAEFST zEj<0=G?Hr~bwpwqk;8W_Cc$d_vu#Hl=PI8Wyz3z139#NPuuV`nEp2)X5c1pw3sLV6$mqT^;0 zmn{fpj9b*K78Dee8!m7dyluP^(;=P8A1%NE6^WxNQR0SFkdcCHR9ai?wR>6i;U}gZ zc=lL$_TFEAYU}Dk7mAmDFEP$3|M|A&`_NDgNg%I(nM-TsI)J;x@!4DO-@zz)IlPcnrzAZLGj)MD>u{|k5`c`4+f9GHQpX)7x*H7L zAb)=&M5p3nVuAPeTyL;opHNv7ITx+H3pML)hP0B!`iB;a-GvIaU|{WZ0m|MLm6cKf z>SX}cpb*F9GSzfCI12K$_S{s->Di%lX~YR4VFz09x>}^`_L$22DNaqL9*UC<4p4u{ z6IJtade{59I=SIu15h}7C!DOYFKA!iC-;v-C0WT;Q(J3>Bo2!~UA>W|2bg%ru9=~JLQTSzC5dnQpuY_#Ls}+CK7qb?E8~x`TfqdxyQxf$* zry5iS0Q^u-TtPt&eWSelt6lGTRsTPC_grVkU)bk=ZAjqCpZ-drBqb%q$l9z&I~kzU z0oT16yjr!D{;<&)slvq%vKtB%aE+Q1vP2|1ALlu$DD>L5zgKXyhO@bd-S!@6_xa>JOq=6Q<77r%sWQIxM*# z6b>~%aFUk7`_4bMkRWoixVSoERd5CZ(1*|kvlG3=fKG6!s=@J?XgQ$=(ink*;A=zd zAZ-Z+U9GZNlLY|xa?RecC+?EH^!2R)+|KuJ-`)V&XhBgq*!^)~;obLlcZYvzZGC|r zpldVZ#&n(w2xSncp@zssiHeV}<1*DwX?lVAk6CaCA{gn6FxBOEyCXfd7vQ@BIkF!< ze6R+C4}GhhGSkJ2Q|Z+5?u;8ZmL-nJ-wQ!jl?AHl<7R|Zd6(L&g*I-CRoP&KD&sIL zZ;o;N+3gnye2<21!kZZ8ES~W>RuCB(ISl7#iefxTddNk9L32$Fjg8fHxc)kX!bhlN zrfw}swm>IxP05RosaL6r*nQQ(L4q<2Hfx@%0s1ovkORdO6)9e^vok`i#pwO}_r43w z0^vB@!&!ANK=UYHT>PcFl=%3u@4dgt-T$81)Hpp?yvA*c$CCygM{LHWqgC5Y^OSO* z+bqq##IAEK|8qmKGB7Yu7wA0sDpV-m$4K5pw!_TjVQwx$TSC%>j*KzTz%RhUH8nT$ z~wT7y=`)2dH&yAfa>ZpecK`*<;96m(z-xVNpJ22 zXN`j7{7cq_2}t91=M^uEY-?*An&Lvn30?u_AMfZvb+!tx)&=$3nt|&CQA4(YDAH@B zEzcBLSWB)=+o84v)IUiZ88AB@8;ox+g@Lp~`3TwfG74#WpGQtyxx?enLDJ%hd|VBl zh2kmcyDx|%0q2dB#t@wXGnEA4P%Q}}S}1O>!}9M#mhrtVKC~i;6ZQ0t+|V1 zTcP5B3eh+Qh|}R0ow|KEFFAdH1tU}^i1HF794Ij213$2#GTtMu;{aH9L~-g9)13RS zxK7kCyRZ{!DG1k$P>qO@FkU7lElr?Zaf3oG1c#JykPS#mR^=z)?vIj+b!+xYtIw%> z_4L+Le%-5i%V0WKdy6r2@yPFHWeB~@VI#f&Jch)WTiTpU@j`XPmSMciZAiS-{Fo(? z!=QhRan1t?vA#|%-3#M#x?DgbiMx=T#OkE%v?l4je!hL*p*GOGhLKY6*>xh!;G*QB z6bI-6Jr%>yspcNfN6Ko7O0ag)ac&y{W%v1QTMfd(!iE=qcgner;W+-UX-!8qlZld? z!edGXO43=A`4{T=iPgbQKB%Q-Li&-nii^t(E4$7}^xEfZthxJkj%21lA|ifqQk2eNxz}TaL139SFhbFxq?DM zWS^B8dc1Z5TjdOVXH$FKcFn)cN&ke-$QDI@m z*$Wd@0vGT%uP@F$-W44dR#6!4;NJvEub4g8rI4*6v4K`*=B0LdP=QK2J3Vww`~w4} zW;@WyhN=O@6LB#iLjlk6T|nnflZ57ge`QmIFrCbfHQj*HUXEB!KbjfK|M;lFACN|DxumfUeOQ->nqQHlzke+l$yOCffj5 z489o!^e*M4KP<4~?~MbxXV(a!tIQyse%xba-PD}zd4x|b*%#Mfx84A<1W(^Z+zk3M z>DtFs5S^n$T|x7EibcTJ+Z!#v?NUlb1}wOJL@qyl-N2}zj3YPdL0^E=+(;gJau^|U zkFyFX8J5AFtiKATW7ac+xlWQH+$<(4r}qYk-Y15~#8d$Y6H?v4P^r^9Wn~|xq^w4) zoM%(8q}W>Qp$v))b$ZIM(CGOUZtgP{Az!$zjlBC~enrPu9|<(@26Q%9v|KAl$s;c> zBEp-AN7e`&1O{ei*^>`_O+bV~8l7y+e?}QS5sn?#>2U`ALqdEJ*MKT%H{6m*(-sgM zybnPrY!|Z1V182YXwJYh5t=vQu7DwQOkZE&TeFHrG2X=FBXJe$xw%&YHAeBd(~f^2-R{oNSq%c!SH?VkETSDJ%QP`D z0bGgRZfZ?-j(Du38K=`n@$Y;JhCuUWmk~=3Asb(_#JqIOaSX7 z5eG63Qf5g?`s+ZDoy)CefQk{i0x+RHfJ!D;#&G=~Qncrb&-d-y*G*7DSW!?pgZB%# z5wfXouN!L4fZ>pzxq1Z#uCneZ%+-BFGwXAEeP*? zTDN4-pnGvYTCa&aMs|ln8x096QPuW_FHeMXgioD81w9!5$uhgJAyELyHdQZ81N;N@ zw4=WsNV`8+8$z2lRWu~fyu2g4i1-kglNw0WgkRaloT;=h+33{eMW12cr=@*QejNZA z`04Unrh~4qQ?*LyxNJ@$w>|wdut1^+Lyajpkxud?w=E0I?21ts)@l8bq>9fl3 zyPLJR=s4Wsg>(;1JIo-6w-h+;K*Vj~WPo6qFru)LgoTB{V`9Vbcn_v4%uAC`l)Fiw zWw`j06B&pRo@NHF2z-@Y1HW%l-Fam{KH~pdaFQAZi{?KSrv7uq?0-)7{4X?Glr>>nCng(@km_thcWmvyx>JMkkS!d%6Bt*%N$HDiqpUT@!HgtZ=G!+j z&;-EaBP?3@gg2z~s%n3lU9s0P#f46}p{N%p#DtC8xuw#9YoRLrz{T1QU(su=9 zd{v(`cHeXCAiW8QXb`ufm&qSbuPZO3I=UXG=dE3ZSl(z0v1lRd zoVLh^tYI#kZtfnsZXUVqO#AvLuczfS|CrlT_xt+&F-PUjg@sAi9al&L2?b<3b>yZ5 zggSQ23$DMcqvQ3dR#edTsjDvsn$-MoO6Sz691FLrptIL!T{uFLXhFe*Q>{)s-@ktc z%h$GW5fzWFk&)oNH|YdH?I12aJ$(nM?V;-=+vv!W3| zPl|0qyWJfyK7d#re5;HWC7K5~4))isi3F&t!tXj@0FRJR>ua|HJ^i*kTTvk)N;bmT zgy)ELe@;vYV*DSR+eVb^V7^lv+mJdQ(ASS6d;eKqnql#MN^+_T_9JYt5G^h3ZLK63 zv$w2ZL#+8}YGRU%1rX*4dTQ1Dd=k8;XP>y&t_3=9O*rg8^1%R@@=&h>xXe4~=khB$3qM*w==E)QSQ{76K6L0}ZH%O< z0XQEk=;)4Pi)rH5=@_|GkbbQBIrcSQ4YBJa{OfIXp@jR2E)Ceyr&=8x9iOBZFWx~F z<6TQj4CeD}mXXOWU6lUJ%3Rw@y2-ltUqiw*mfHR*Tm>#`@W+qiAOf;Ir8mD&cYhNT z6O&%9HFw{)Zy!;R))We3C}m(z;tRX(aM&+%f>2bY8teANh&ss`AW1KXod zz>E4Z{B!UhVUIkt6Ty?gus9Rw!?3*n>MXpy*e;7^a*-v@h{OeYt{q?2e13V z$ingj8Pf^Sz&449+>VXqhB0CI0}haIq}D~moDpaZ$L$gDMh`WY#LmXKPaiX7u6);y zG%|-d-qv~v)jrLn<9Fa~6tcpQxKp8|LXjJaWUwsH9?YLOvNnPC; zjb5Wq$;ZrWZ4GTZ5RRV;38$rJzJ*BB$J_g33fkBO)FD1Bw!H__pg#PRXe}TwDhLah1J5hZh>< zQzD+mRaDp3p0qkG5`OH^q2ODxID;?`7qg3j!{}TrZ)=M~g?38dh z)&6e2yWCG~3Ng~^^NR>4)=->hC%3RIELk_C7$|jHe|h19Nnzfe*;_#00Nj>H_Y2O~ zhhh)z=_lB0x(nRkl{c9)5fjRFKwNx}=Hh`EKm!mkQrdD+v zE`*79S4Pt^>4%(I)s>Z%k5W<&Vt0bH%25y2n)f`w7P8Xo)~#E45lsUkl!&mfz3PYP z&DEzu`@d7qpwVj5iwIK7IP< zuU{#7*5p*F3%$DB>#H^E&$iJ5_s^6&*4MWWwT-eDXhvh=mQqjBURqqxKhK-7WaAoo zMxj2(>NJMM&`=KFlV2g^-0y}$lnN#^VR+udDADK|NvCn6$ZW91fj4!*{Hfv{FWhN2 zz>Gaq@VAKT>*{vF6fi|$?$_>~o*s$oKg|Sfkcok{cVbZO3K}%a+S+))5Ww6*bf$7q z9wa9pNV<#W39TiHOl#F?6rmFU$4N*^UQb)x>Fw|BCxz@4)fPI?1as{1*O+Kj8Expk z5~tFYRQP}rBzz@Q71;QgxHvVjNRz>aB+I!Hj4i;ol-Zxaxtji&=>WW_TNg91RN)v? zaurdxM-oq>N}#Evy9&{*)7xck3B}RK)o3q z3v0nZxH#!_>8Xv;2n)UWh<8{Rn}~J{rEA|u(w~MB2g4sQ<3OyoX;Nb3lV6M5(=Bw$ z)a$6BDXqDfj?s{|*Id%+*23Px956)@Ea=kLmox$b0%Xw7!Go(|>|eSs$deN`d=01* zl`w_y%|Nuv(3MRX&6FQ3;)P$UUX9qMhNj;>ApCy&Y6>7wLJ8H>4A3(`ZiH=QeBnZ~ zS^HJDuZRKh8ocXp0KB_|L8HJ|aP77i2Ac1Q@D8O;xmPTnkBguD9_ce3L=_H5%CQth z|KkE+D3E4X@KK*WeTvx_Vu+M!K6&sK-FXg6c+I-#1Jg`!FhF!YS0D~zrb1|o1q~XM zyfWu0zN&NuW|UBe7DQP*S-oW)#epXFAnFlYfLf?7VqVGyl=cYJcl0PLsTGo>5DT_6 zWg44vh&Lu@BiKOdnAk!?0np-!JqoYR1Pe{>Nlq@WX)XgJUW7Modb+|3#)ZVvT6%;e zJ~DF3yvQI4wNXmCV&bWI*vXmM*=O^+E&#{^g$wZ5`%7bJk9m2epIIkWmj*`^CvhZr z(du)3{YCo%1PEb~kxj!-epUwa(8FXPe}3ABWbcU6{EQ@ut(!mHyM6okm}XmTEh9J@ zf@Ha^tWthr^RD*f%+kamLCQJMoGyUknjJDh^Qo*fmp{6J{{G}Sz+0k?)t>$^*MnV( z>gZ|@&UNb&UcS_QTZ|qyF)^`^MJ|q%62kpQV{N3ofm^%wl}ZCQk^_c^C(4STY?6>r z|KbS`YE4Ky$Qtw^wJyab<>%+87*P8X_lJJgKZ3=ZnE!JHM@&Dh4zVu96X~0iiwo&H zA80R-Lm?7iN0vVviI-Pn&v*H zoZdk|KNLO024Rc<&1{A-B@o5Sm%G62%6!)>=kVjxO5kUNNQB9&M~@ww&{)8r9yJ6G z2rEeh9!XeFfFUpi0h&T|z^UM`&`p@y5$&&c=FDC&9C&1{RRD+ML+GhkY;{9Tl#sHq zlkNIH@PQHcEHV~xXzly=lFpMBV2iIuMh`^AcDx7!cy)C1?KgpY7KH4Z%&7#T2dGm6 z8x5F|gk2ZLRvN6F=qjbf#vrvUv_O$AR$wcXLZ`Y`)SEp4915Zj1vyg7Yc~b(lb9%^ zYY;4Cz#6n@N<&n!TH0@Ege(v$F=R92DZCE|-#`x)TPYew5Rs#Vb}1`F@ZnP%^9bF_1o1eI7L%0z{2 zzk`F!s@1DWy9;KCtU)9@13=v;HXm%|dAQX5aD*_Ugn0u{gR;ZC11%tAFdVY@2Y^7y zr~&vy_qh={%8tsP;P8iF$Gq*cCs#v3$a=!YgppFb{btVd*-J9p#l?j)b-#8ENdbg; zS6v+lXea6Rj_`LDVCPxdShwW{!(eNwsi}=z<=){kMb{s_PebE4cFvEY`XbO1wY9Z3 zqn_>W4}eDl8yM4~*SnspL)Ji$Z$?*Yg6^|k-~ih z?MVX|w3(5S3c!%E6VKGui|2o?o*HcQb8v8YioQss4q?ZAO5D$an9j_?;sA_k#O>P;b!3&447gITIUa!=v+DY(Q>WIlvy))* zQCiv|tg4K8E!Qij2_ZJN_9B;P5MnjOB9DU-VgU|@4BmZYXUr^r45q_zxNqdL+Rj$* z@^bZE6!=Z4PrDDsqGrlvYO|c){QuS;Mo88S{vrM$+(M**4kNAW2$$tUyz8p!7Awm; z3{Ze$VM-t)?=Du1GE8ge0E9-kNN^{Slb|ISV$g=|IS&A_5UPU3>3H=V9~X35hspLC z86~KQ9X)z<{PR^>PfT(E1;wWi#8^_^LJyQ6+_@J@Q%2yr68@Kd&Iz;;Al@p+fyFJ5 z3lKo`;lqb{?dXs&O{3CgU8^iBTL$ewH%K!ij!b=%4&vAI~yyyC8wnPI-nLTXPvy_yHe&r=@4i1iw;Gvxq^LhGokS7nV z4b13IA!s8y-be=qj0FlT^~D|@-}?KDr>;po47adhY3v*wPZuz{0(5~n zqct}-|A?ijyRUc|&?)6vv=rcldblWxC#a^lA}rldQ3UszH5-RHk?7UNN;bGmx@s`+RL|`Y=BiLU(Ji&db%qt32+*WR6%}`csYE_dJzeI+HbCXw&5me} zcp_v5H`Z;{!H~@pX$CM|xI8Td<_WXp$VtkvCp1va+)|4KOhEszgQ{v3~!Nr+9Apiox4)KuSl@;_yuTQ+arK#7Qrefs%1 zl2S}05VV<}nE+DMXk?gY+j$t9tqcH#B)K{&8tUL>SoR@;eOpq3%I9r={{etyj}j90 zqND8nGi7P%aLUoWd%bRPtY5E%l$9e21Z`~uflSkX&J*EQN;c3$=U?#B3=~lQ8Ua)u z5a(zFqu|Fj9zMQ9s0$<^kQPjP@!~f0I{B1bUv^wIXctgdrw}t-_7f2u_{;T3;No%) zQ6)cjK#5Ty`u1(1`H`-!kI!siAqeh>jP_VfcugPI9;Xbg)~?c<7#n_abnHiSx?xt^ zP<^6bwRI#WYC}1_eLx;bD>^AYqTvfO*8vBjq(ni+jChd;8T1X%N61ufXyt;Ouu`rG z@pCt7y!g3W)?7;r@I7*nHfm5U!e;#$N`h*F?DKiCP)wiQM!)XHYbq@%q5N(2UJD6V zCpbY2H2qjyIlZ3`B-UYun?L?* z*~zG_9IIw<$cgAmQ`4!J*{2=9WF-||auaYJr-45>YTLD%g3;V$K0YEjv@lOBGTlNFrolFq(hnj0AfXZfurrz z^yySxFYv3uHh=a=0hL@h7_o~ub|7S>|K?AFACRYf6gqNfnWwKW9in-3BqeezfBfhX zsk6c?v0thzzS19Z3!R1jU{|CRviI6xsgM`H`jTFUUP0o7GF*ON`dWDX#HKM|KBRPv zTBR{`jsgB35WY<}bPY62)dUqdawC$QNJ>d9!($i`cHb@us|)0PV@L}y&~9LW9MU%!2W;j!zayi5XVYlkx6HG@zSCK(s;Y^uD$rRf#5bq_-RxWKBpV9 zz$qi&P8lhP-iEeGgeBwS<0aVc$3P1J?X;}1aSb4JQY)e~2${nxD*D8+ zH5#PKoSF#K&A_@}^a6DE0C*{;29*Ln__Y1{Yao%U2_Y5{>Bsyl7m!Wm=@kQ;w!@fm z;^av8g#^mEk-u-#>@fI4JSrhrBSQu8+&SgT9)S6&Al1gn+Nc718AtdHL`FvUH7q(A z&;hd|3D1w-VI$Z>XnvO>?MGkJ#t8V)El6Kj5$GcTF0ZQE|MK@iG(Q8%@P-=$ycvX_ zo8r(o0Tu)PA6NAEiTT-@95=FnUscKF((hFHH%v{? N`wpu=S2eovKL9RCOa1@= literal 0 HcmV?d00001 diff --git a/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_std.png b/doc/sphinx/source/recipes/figures/sea_surface_salinity/radar_std.png new file mode 100644 index 0000000000000000000000000000000000000000..4eb8a8e2ccadea983ee8335efa8cee2f52881498 GIT binary patch literal 56177 zcmaI8cQ}^+|2KXa*_)6}LfKpPDk>y9WRL8bnVpB|tfpb4fAg7WF|TSF)}gMJ=8QHJYa2L}#8o#-J2)_w z=I9$ZWS&Tt29{_m8dOh?eqpzzC%Ag&jox$nBq;^utvSZP?qucQU|H(1)5Gr%BPU%vlNc*3>xx}Fn6K*!SEN!;4gJ_MfgWNLj)NU^1^}GYZNK` zBeyFHGx9(0A-W+O7Ed|V;KA9}-mcBVNJ@%E6cHL38R;2)FZJC!x(`NQXeufy2r~@6 z_zH{BsYP@u;H*k=ps|Ei={+E4^62jFZhb3k_nJ-Csrg*QarSf3^Fkcv^pN}p45ly= zZTKU{L{fFHH#Rnw(B9sDlIfPbvaX`AY?wRC!%XRpws3q?J3D;oOkzz zbq*>@N-Rc3MjTA^NJSQv49ROzQBio78k(B?0VnQyj~|Ehue483)8*Wa)zGIMe04}i zM@PcQ7{{smF}QsJzFJya<(dLDG{`z*u3^yA)2F1Q%+Gku-Ff`@adiJ3Z*MU%I-)&i_0z66fgj6axh> zv&VTHu8p8xi-vSt2-r{8kvcj$&hH=d2@1BqyX_XAlr*wxJAxt|jQV{1JFU)b zg=nTq^}3J{Mf2Gn{;gZL-sk0o!{k!a(*9a6 zYkpo-bQ2FBzrydIBLOuZ%4>TzyrhKljhF;F))BL4o=5_as;_E$I?oCT3=XYrmMn+y!Dt25tVVu2xv~yb(U}fAolS zXmr%-S7)rI-o??bdFRUh#E(?LYvwUhet%=oOwvT19DiPDKj|MDO1y%FC8Bq+T97F~ z6wz*GZhrL*_LVFAsExhlo?Bg&c4ItP!M&-11rwFk)zu&J^Pk_AkoZI_bEe)TDK7pN z&7{$D)3&^?Si3~;Jg(*IS4FJgFP9gmc*`u;uU|v`JzmKyp_5?F-Opj;lNV38I6u8E zDM<&T)m~~)%aou@kWGw`0(M;(Gdq%=54q9?^E7C?aIE4nml%J;BGouRLU$v}Mb=1s!4=-M8~dzPrD&W@-5wu!yGypHQ{gt-&L{v3>=6LUtnt@L%g zq?aHeAweZ5huwDj&BV(~j9OAPee>oG;b?Vbw z*VY~>J}>lj#ATkrI7DN~CFkeoZ-v!f;j?cg8F)tB^^(3F#(#IIn;cd-R%d4?DtLN& z8f*Rc(h|qPql((vE?C%TC}KwGudSij6~2eI!^6Y#1(|`iLeED(Vx!<4dlseAmOWZ| z_Fu=!nlE0!6U~>DHEHNwY)lAJ)6mq|${hA@MxTcnN!EtNe~hyY##znX*w`qy=qAIw za%BOoj|ztE@zl=l*O+mTHb+`gQuu>p9@F8%NB3)&7Z;yh<lbVTyqLvL#4qfi8dgcYvK_x&%9 zS5gG6iL8F4ggkqO{^9W_Ec6gmiB2gxYPvay@xdFeR@i1lP+4}oB@G+gasO@4b-{Sj z#>$Nxe*W@hcgm@Gp(O;v+1))%mMOTlR`dGSNcXoH>j=ic@%%1XoJWEl|JvBXBz2!W>75Pu_hhuu%PGICtiP(d zIu+h)P;Gm)q_9w(qtU#J2zjmZ*KSHk2wIw$3rlodT(V4NW@i7a?>hJI-@iNEJv>q~ zG8oop8bwbpPPbw4JLK>eHW>N(isKUzS;=R`qnZ5u`*&}JjEqcAU7ds+2UCTWtl|nj zWqFQLT#YYVko0@JaNPs~F?LJ02`Y|b@j*4Nkb zb8~ZJ1()hqzu+Hrrl2;DxtFK$w^wwI59(}wUS5Zaipu!L#HYtrR{7su$mJWbh|FV( zgfXroopRM=82f*^A1wATcaBc#Tn(E)Y0)J>;V6RpGtVk&xsj{h$1kQl$1D11{!@2i~SiF78drFEiEmN zmJ%P5(9sbC2%`PT78Rx}Tt+;4VyTdq>9=SZ*XyiaUS* zc1mo24*l^%C2vZ`bAuW>YfNk`Gi5Yw>~$F##-3!}2w2Vs2M0_fIP)7DF~rhGva9tC zo|`oJs%cnuc6P8MsHv$<2HwjZWnLaLYH4YG>#1IPTUJ=uB0A@f0Wjdt`nm!KMH?*f zp?p=%KkMYAq(7H#mjn?GkJUOE!xQ?SZr0xF(2U@JJ{NdOs1QLE4l4%}9S!gX2^rZl zdI`^OJ$VHMqV?y1Q7B;8iW6@llzN5{u<#>R}$X<-agWP+O7VrF@pl8yX1PJj3(D6+KHI84oN zZxbgdV*=(FpPDjX{2C<&vzxQ7r>6(7WIj&jLS5eq@B^#?Xy}h~PCqtUtvTgvrNG?^ z2nf)85QHE1_VKyNRT3m6`fs+>??<`>m3)@^YOim|%BM^>F*^IHn$n*~>;6Xz5pWe% zHR_YHpmTgWBBhIybTJonx8FZPV8E-Ys-6zWavr2SGLg?Bk?`8GkGC+acfAsHdG3{S zPMEKj{vuBL1V<<@5bd5W9 z7TPOZe%;m6*JlwGrGoWxv{^g11E@+^tf{I>D6dul2OmGQsYx0}>*^aS3JR0czneR| zyREtR5-Fq)w5x4LZpBdZqZ$4sLaEbZAvhhkgU=TK%9 zJUoOy8aKZ@Tp#-dWm5V6{bvaYj~X|1wPDrOxvy#@T2@w84#4a~<5yHZhB^@YR}{8p6?%MqOP~Q|6a+x1Wj5dgsWc78Y{EFv>8*@N+$`#6&|wo8R?T zR#WRl`Vl~ZoWeq7qrj13ZM{ZMZY)BYFysc+)YJ+;eE1qmD_Ra+P165}WG?73Ai6I^ z>((7-XFkAVJG)(sIYE~fsNmPHDd=PZ>EIz0OibRli6hT?H-`GBi2+=N@J&Z&=i=5( zxf{P$Jq#NBav z-f*`Aw1>iz@b>KsLF>MGxGq#9*H90&cVZ!DXa1;u*)OC?c29z-{P6|>YSPXLMPstTwY#YK<-{%UcUV4&upuI z^(L+8_OqX_nVOo8*SVO7u2>3O`@1oLVQg%CusKDAaz5HIoo?{J4>&nM%k1ykoT@c& ze}_2}#P+9Q!UA@_Lw;##FRTKJj7%v%5qumRlZ=cELaX>IEtI@QAIdjiObJl5QodFG zsb9WG;S&;S-(=A4A)*zDxqbUKf0W|j{OuyG;+;!?(7#t#yRnGqz9A#KV`yV@6X`?S zpZAF{T0A!=Zv?5aCGw}LbW)pdtPU06eOfBMB_q?^TKVVCQ>@?s7=l|4IYn+7wWTL6 zq9O`AFo@JBN=nN76SS(tdbbsUCr@UqdIEMks0dIGR8_T4&Z5hN&105-{}xbHRTTj& z!bXAv{ZTzs;Kq#`Kib-!O-xRTh)3^kH(&Bxp3b+15}*vqO+wDz7M4|2y-t_%)42%J zF8c*&Nci~euuKzFT|pF{i?H?XVg~^Vp41XG4tq&kzYJjG?yBOyU$9ZlQR7gC zU%#2DvLVN485|s3>RFpjJiNzB_IqRFhqoj{NpZ1;aoNl9u&1^@o;uIcFL=#P$$ zJh@a@XTLW$dk+o|9|K7m+4X|A-(-%0_R)?R1G6CE3?t*10$H#B@WJ?(MZb3>1fEJ{yJ z?WO+&AjR)7F)?~NIyyNO&4sYrU|8f=tuJ8w0oJz@%X~{7k*W3A#uyZsX~O-`7jsPz zg#u)q%*%Q6W@~29MHDcglF#()?CdFT-`*v_ zAZ5EV4R{xiA&$Mwvl++%v~ptTmpjM)0K}Mqdjb1&AaetvS7-Qfa36;ws1z_*~b(|4vvFzV%s)p_iZpW?U-%oT~cwVK4Cf zR6%P#(>6^1v)!)vZi`qEr>2;P(#M#9?eE)lPij1I*Z?|@hC(>M+i$jU0iG`r=g0q{@SJS|8qZ2Ko!#O($o1ZzL6jt5K3h4R{Phlm|uJk+W@5O zZUXUBjF_IT&S;Vv*x0QidTxZKMd z)cNuch=J+Tr;);Tqey4QJAY3@&cHxar1b(ehWWvtpXIf+N`O<+GJ~?zBY{gH)xKBc zPBX!S2M_EgDzC7sy=!?+NW0UD%{X5@W@I<;ZsOfFK`U7$r2;uJW0)*}@Me2U-Rapj z%?6LG4>gqvjXMlp;BI4Tx^uq&YHzk+)Znlg%-+|psc5=O87uU#R6CfR4Cv) zOUwF`m{_u_If02kKUw#W$1^J|_1oCkRLF&5RS?pOlvh>?ggcCu4T9Fdv%kM@4yA>W zu^&|q3QeBsy~FAn+>JYVd3ir(X3~+G8TpA{H9fH*qLQuLpwV&U+;?4+>f~Bg@uv)e}l$4 zfc0v>;JkI~1#s2wT3!mg2_Wth8B%@}eak&UAyBB1VRUr-__=-`s*i?Vv*YP^hL!$I z>lmr#W3J>LODMCt;}IV}@^ErS`lEhK&8+Y$M#rJnNWZ~c@987UZtj_d>a!K z5wQX=BrXB9H?&e9H3qP1^kV~q9;c56W5XUGHiTF5PGM5g)AxQg<9Bm+w+IXj+#9PZ zO>0?GNfU`hGXWZ?+By9i>2ko(!arV-IokQh4DD6y_HAY^E&>-9 zm&lhd9czy5K!6z-97K=n3T7<0R6(jEmmS0?V1aT7JM02xxMT?& z!)0?)7_>4(!0P-OMZUYUpn#MvU?h(27GKYf_esggL!q8+OxKeG{Gt}I*Te7AP~g1~ zaM(yT1%#QelKLzrhTsec4IaIifu9ZpXh8`*_D?jyYJhZX1VNI-_F5-J>PZL8QzPA^*2BeV1vlty^Do3g6yM74b8G` zc#Z@RIs#7rnywD!l>>1{z$%QP{bW^9YfaPfZ`!<-(!hulCX<=q(l z_$0bt`t-w3wF*Z69l20*20jy1@XA=e3Y+H9=eJOwKt6PyZwX0$L5@NO%w!HY>fTD4 zcpPX@?LZ-10H&SoXI_RC6tE+GM%OstDkvb2#`}{vb$9;!ypB*B8X6i@Ml;oIx|iR3 zlewWBmpjggfBpJ(9>9%5)AB&T8E+m10-*csBdVnmGF9ODjO`X3><~ue|)V?tt+33BcK9 zHV+qww-{Q%~J zl(nJ3!B=DRRk`E`FRpS@qdfl%Fo(PG+l_Kz1>ay}6X?`x^j!A?HJMi0Uksx~Ekm-K z+MG*JFcAP-(0TQshlu@n3yQsd%)+E`AqI;+}NS^is)i8oy3RXqA+dq_Ca7 z<|q9p*D>hOxHd~6;@0qQ{!tNO*%+xZk2R1m-CSMGgoTASbue;mt^fY6tE>C=tI=zl z0iy-<@tGxYEsSAtDJyFK^x9cpe1Mo&0#8=iKNvSRP3-08=M(;3eA)**oZ=+1>hD-f zH1ObZAfCux^WK@4%UMP?F*LVtE5+WAk$X(p5AR>$l;ow1=C>JSMRpKu6z!7-c~X5* zjg5_G)z|pVFab(TpZ<0m{!Bu^#<0qJ9l|O1z2&s)`<~{AzZjXy>DuY7D0~G z=5;}r(%`66cy8*0VrdRdfj594HdVxd2FCaOj`;RmGhK(0A%-9m~8 zup#HI>Dxdf4Q;TGPPn+a7dAIzK@83U#;biEtbcOi>+5R`JUaRnm+<=aFk5$sz{igtdB4O?PaEc4 z=OiO1M?(P(i2VqvhN0r!yKOTwU+(0P(3o3Vj{LcRnP7XE5d&0cVIWHZ2N(B|{zvY< zdu}3*(~&ZlXXMC=fuS1Q;E3|s|7{92YrHu~24)J1;(K=LQKiPfZ}P$O6vQC;6~J%+wSX#xrrqQ3FD|548y zYlY>#g!}b-5+^?tB(5h76mSP_p$R5{>*_#D$+_N2;}-y=h=~FZL8OwpqN@g)W0eBd z{TX+3bSM$pD)jS7r3Ee&+R(D5lj5Itx-1Fr0rA_&?=JeOFp-$-%(sex>;{jA6C%sR zYw+YrETAb+r*5>yO>6pfsm9LOo9gFe;b2=_JXcyV>S#(@?g z2#<2^w$9EP&6s*Tkm3Pk0G&<0^pux}rxUs+4cE&4@t>grViXfAE2fBu2m;f=a{%;B zLQ5OH-E>L>8{ud^l$d6wDJkhHw3=)UE?@$8@7xJL8}pNwf99_<;_|Cg_>}p!$C}nV z=>VF`ld)zKd;1U0h9@T{w^VaSb%0auOju_wBtDdGg=NSGg^{hNvA&*}i3x?+a#mJW zp~evi^hFvsRET4)DUTrnFeHR&-s$r$mVZD%R%vN0wBs{a z!HC!QFTrPL9xXdN8xdShm%b$s)`)uVnE3yj@fxppV~3@Kj)8#zD1!pJr&6YL00o=8 z%DsE7NTc`rx7AJl9_El9%+0UK#(`0}xvX4z<+9SGX3#>Q(mh9%tqz3+UgIW2Tt$7d z>TP>37YdIV!~QVC1d6qo+iwD}FNRD~0`K2{F}QDKZjM1qON-zl5M>ZRki;emZL19^ zmCN4JJ(YK2k8BJfX(NRiRwMan;y4Yu|Yi#5k<_UnQriSu}j*eb# zKOrzaF|n}ws|%@1d;9y#L#jd`Gu%D`(i)5Cu80ie>23x5_a%eW3y|vW#x0+2H+KP; zEr->H&>|>^pkJjzO?|A41vMnR0+nFY;JlTTUC|7&=#o4gq?6p&`(hZ&MKKXFE0TA7-Lz`8*^2a}ka2ZW`(Aj=<&cS8`M+(R$s9NhcvcH(V`DO-id|C7Cd^G}~JYmO1f8!{ZI=S(&ou)RSf`ik;M;y_kXX`(t9_ zu}x4ZmBU<9I-0upJuC3F)A-G?kVXk|=#Q3`;KS{?%aS)gVK{-er+2hpqR>z}}ksIeJh3;%hy*l0gBHPs$A zw>?xOM6$B6wH3%x|As|C-4b}TfE_+oSpUcb*?{A~NUp_onJ2QT+PY@~v`{fHNK;MW z%lau`R*@0_HOPKryy8b+-%C)cKnP0#N^lA_RSzmjs0Tp0ahT%Ns3_c_fdLaXHa2_U zoOmmZYMR^KpmG8M1C2ALBLDOyNHeKus&R^E;3ZR|{;p&OeNVnhMfC|(-B*X3Q@RWL z=1^Dh67Prz;}M`vL3W{?;Wh8?KLk8E4z6!%b+z!XU2hd#-Q?qwlS+^E(TeZi?{|)0 z9$G%Gv45O11zMvSYFy@Gm$*}}{lb7(np(4zSUmugQVW#02P0D_wS?~h2S$q`%cGp@ zCvSZ>->!!$W#lxrlK&@yvHGZe9v4y?^1%#~|M8<%abha0tVc!%2HrQ;m!Ls}0Df-M z;@{TH9xgwv-)FIfo2%6SwXST~5y*8)A<{WAQaw?hq&$`Lzkv?Kzokv+wx|P-1=MNi ztjvksCQeRq@87?-Vqd!+7M~FYX^@5l=o4AR#d!FXT){OpBGl%(qIC}|>5ng*UuY5)`f|KQ6)Ahitx1=?L3aApkHP!Rh7t;JRv zU0(U&9k@^~TB^!(SRtSnWqtlk2S(hU(!G1Qpg17X61?D(ty#eHv*>{%wK*Q{qjOhK z*FcO91;-R@K)?XY#84za-Glf^a8KTMTY2TFY*;LVp+NINmb%W)jt%$?l(a;4kr;ju z(f+Kh$?NKZKSTl&{=nFnuCh8+(^G|JyYhTsX)aWqFeedp;1H_Uc>4RROM*t2OID2{q2JK)Zg7E#C zf>d5h9)@TpUWF}jY|X;bl9`heA6g6&oe>p{fOODjwmZhg%{_-5rZHK$xr!M-VEmY6 zWQ;Qq-L#whIvCov^4G(JWRc5+>2Y-eA&G@%n46m$%#Q`d|9_k*Ky;x|QTLJ`cxrV} zE7;f+$!olZMG96a&^zc`?cgIyGCZ8gB9j+KgO#(|2HSWC!~<3~HpG2_k#zR(2#2Br z&$%SbNX2V}Fj-JoY3oAhKQpKhFDk_=F-v< zq*gGuwziPF$jh^=Ev1L2R)nWcr!yx2=Q1)nx*gI#%n8an-#N=#+S@Vu`uf1qb@Zf# zPWSD{4+MvaGcA4u#y|$TG%yNuh)w~(oL^i-cXDzP6BAPxfW51PTvN-(=Qf0FKr6w3 zi31M_k}55;vkb7lxhHi1=&`V{kkHWFr+=0de?Jd;u`FB;*_SK(V3cBmHv=i3A_+-( zWr_Egk@0GZY>CWZzd^f1@>DQ{1HfYI8XB60*33!wL1GQTC1+D#agsNZ6_g_%#MRQ( z{RLK9oyR&Q2*Zf79Uo5;shBM?Asx{kqRc7}w%-le-htuau;gT_&!0c5>*+;;WA+P3 z0Vqvv5VrVP@DNFuc|=U)+6?8l{`f% z-@mS4Gz=*Bk1mJ;(=qkt+(NKcV0+<$ zb@9zY0I@S6%EHXdyhaoouNDsBhE-H}czB)j0=kBV#z2{|%;$@fb^44jBsS2}g1q(` zRgDH52~eXsxcW#PZ)#yvG7tHiK?j-t4sBHyST%^?xHeJ(zL6ZX%YtHuqT=E>uUZ~$~cF2@QAx=eoC6GbvugS0KA4WQe9qyK69_Vz1M2c# zPSPEwfAt+Hpg>Vfr|Vn}mP^>6{fN0P;XpR3NCdVI?4fu{?}|}&R@PhvrK74V&?Ny! zngXX35>SqX{))t@j*h&G30V{gVUQG|XWc=r0GUL7pFImPaq(h_T%E?ib8%=@4O+e0 zUP)j`!z3!Ol9|GN@CgZNc`1h-;2@7j&`Av#5sVNYZ_r6#y*&9ix^f3hlfuG6+2+9W zVS2m}GY42!Bxh%5g(8vho_C=Rs&WA9M1~Z~1jOS!(j{PFHKIp6?z^Ak%eD;92U!uIEcn($^^*p1^LwL&5aD6u^x za7rXt?Akt&t3P@E3702sz2^$6V??rSplWvCpJ8V2e3jklyD~)-pc+pu5&?NwsT+Bl9 z;*THiYH3j*u9vMX9*SDbnF-R7yTCZFLy!`7-n?rOOJ@A&duiERB?x@BL2eNV`$4aU zWmP1>T8%U?Xv};jEhvu&`85PmyZpj}T-?uEr#Y1HPqh-9QzQ=onlB=$!Fz-i z?)e~f>I-$;iB!k7v%L@ffV-6Pu%LF!!BA{-#l(&(D&*en`#G8tQ z$P#*%S-`6{GBScVPdmI(g6Y0|1NI3PlaxHrL#X6P>;}5izmx={;zB#D>uWbCqePSJ zK#&>=5)68^tq@B@d+VQ{Is7o@Ain|PEuhb4&GmyC;%*0TMiv4T)#u=Ucti}{j8bGl zz;=HA-I=Tdz1`j2cxBd|!^40gOesD-5(t8IfVcoSZ0b2F+2A>p&W2J*tw3eNMqUGz zWSCy9pkrk}tEA+?^{8Q1sNBF}dp&)1M!<*Qhi1Dm`-S%S_}GDjnR$l%hHS2Z@5#YU zPq6JnFtE*l>8=qK4CPqy9U|r9i{C%3t%DE6u#k{;GXBL+6h3~`YU)O=1o8k9&>N9& zBEf1XH6;@7ctXhDzhsBuyL$Bs6;(2&2YfJSAP6#nrysI=5J~3FNibN7)LT#^ka}JC zC#$+`YO=kjA|sYCpq;q=QB+($FbASjXGV8Ryw`@QBX z=xAWsy)P@9D^1J=a2wgN=-GVC19J>*M_p4h6ozau-D?&tuFJ0WoOCd0;7f~gZ3}ff zgs~t($Zy?8_w?!0LWx|S6_D4Fum&JI7Z-kLIO>LmF<=Hm;Q;(8tgN%f&L_!GHo@x# zNda418dmkg#Nxd@S4bhl1GEhcAPi|Qs8K-!7ECzgLd?g@O@Vx^#|JD2dm98vcn8m*e|Fy-g`^9@F|dtTE3?=qrgPsKAy~G zPB1bu0_)(74BQ?QWi&Gdo~elm3PPAEX=z^d2C1)Kzn%xg2e2%nzTPKds}b<|RE25uR)5wVYt4`LEP#O_CLFYw}ojEvcv z*53p9Z+`FZSAvid6k&J;c0a(c!Y#fuEf`^t4O{y9hyWGXMlFCq0){2_|MZ*cud>S4 zKM&Uv@5Q|Vt^%4i;_K%u6_7$K5Z3BmZUM*xV5)%Y7@nEQ2$c^_a(g`yhzc_Mm3_~E zNg5a+BL~ni3>XuX(Re@+u*X<$+>nEppfe#PQ<-&5>z{AQ`hh(R2n2MiJCNQ03F`TN znaeQ9)q`a}X~wKLQ-~Gm{ut>!pb$fQe)`7x24J1|goF@~>q0@M1wl5Z?a$?aB+e|%gB%|j z71f%3CtCaiBN=l#A#Cdh#k7+pWo2`e;~0K{qG5P!lH}m4c7<73A!5L)30nPbcWwo-G4T?rvF;&p1LMys8%Oa!gnTf zlyTzeSyo3l(L?g*;`$`3J0`h3p{eo2wAbm!scqWZWKrCNBew3;=H5_T28V_cGBc47 zDSRey+TuJN4&VU5O2EI|5bDM;i@aOIkIGsv;*6qR-!si^kBBeBmCB$zIMScD0mE}yHnax~n@%}bU|2b?FyXuUag-gggJ_fyXFMbz}CoCp2*=oUt&2gn29=7C_qyY>5j= zx<(@ULP3DKqj9?l z9}+_z5ji?=zR3G%hgm>S(A2^L6T;AtV5vIk`2Y(Sux}SM?4@1{jcW?>YBwG8rQ3U( z@ts#(DkN`L439m}QO3beVAzN~FflL0cgsTMH=sW))-xZXb}6Mew$%Q{St74yb5#JZ zCqZBR`EZ*6g;pdQ%1U0^-+^#p#U!lti^{xX7BNrlLWN)_vh0V4wLpMw1*M#ahi7wg ztVqz^*HI177NXKa$AYspvH))ev!EwGxo>NG>+kkl9Hc*5Mn`pK777865dx)xWH}Z- zK0f%KRgVRbkZ_&vF;iCjf}uYH&kZR#8xQWIw}wZ0QS;_Eo;9YTP5&S?EiBErcZkQ? z5!ugq*WZYAasS0GQyI>p{x!u0NrF|&XQYn#)T>rR7@NUX>f5pj|!I6tUV`Z5Q z?T@0NlfVjN22ur{^5WlbJH;2{*zoQ^B`gHU@b zV(91BY7NP6-16?f1r?60Mf z$*B*#Dj+_<8kbNlSouBO6hI5&%vU&w^pt^n&>U&+G2nK}vm_v=HPTP0Jp3T0=6!a= z4_XZ~#LpKN&@?rNl4l)HKHH;XG$yZcr6(qaf}~>x zT_ruxFoQWW=58esv?=id9vqyT88+?zn{-iM;@~ zF}j8JgR`iUu~yJ!!-$9BcXCKU>zyD8ass!?787j29lfis5}n>Z%&eGU`N{Qx;+MZG zks7<@!orY7%AZ|+w_tiJ!t&7ii+#1l7=BPDnE3fgA)5$TuJmnDeN`0&UTLMxNFLWgel?z)RZ4#%f1$l8S9}kA8Wwd0r&FJa~pzmwL_Q zSpoMm!w>JfoX(=9Zmx>Q#Fm=ct_^&@{%87o2id#(KiU}o4JBwBMrHM}=}Bf&VSQ#n z2jB|&H>hEc^!4$KjpwZFLaEImYls=_+1&2uXBJ}$g9qwSc0S+WCU9Z#>WtBY8wtt? zSwRNK$EUTg@1wSHzU2tnMpME|`msTEeePCg_6I84`*@$ZVzu;TI5|m$g|(gCH>MT? zyl!Z~NGjEjlkeliWhAxE$%Q@as%z_)!|bGHkO_=|Ixl2E`#L2h667&VEG*9`wSLu` zyu4j-jvx|=)i5wHAe++@*_>5tZ<{(_(&NK00$ACC4Ngi+d#X__y}YO&X8f?dA8tnb zdPhk{P0G(P(l;mEc6}T?eOi}XxksD-c>z@*<1ePnoNwf7>pbdB$Ct>>Oc;*a zJE%K4@_=g`3Vya{nokk93eG17He5!Z>olkDhsFN|O?I^k(km!P6G9}=eS+8z}*5Ws$hUwp4Z7CZ!E6b>)u|IJf}# zqpho}pd)cdiksa0yc?4)s#nhG!SxMqb3Vx*Q&t*^C=$Fo9K5_63ApiZu&4x2#96+L z;2B)pZ(|Rd?Sk>Qe>X`B<>oGEY@q6zn3xPWM8vGGt|Gz>@^KJxD!LitE|Ko0uRC}H z_FwDV9HXeyto_ht1`HK=kw{)`Xw#DoSW+FxG4I~J8vt#C@`g+dKV4*C%%izG^R9!M zXLjyRXZ^#$BC3HX*@xRc=);MrfAGq0eWfzUCr~u1pf@8t0IC|O&ne!LOu{qG(!3kFfg{kTqQh-{i z+d(AYe>(8q@$n2#f-)l4zD`cAT@%5zW>_*i&UBe~ts57cC03v_kk)j0uyfonFfgEK zX^DGqpt#vk_EGkIUP$;wP5GNV<~#N;vT1m>EVNk)!lD&y9+vYg;(j2&r2g|X2JIya zrr6t-zPfdGMMyeO3q2))G-!m^tWSZ#1s}5%(9xwl5Hx#EF~58OBjoj)H!Ms{?^SEY zQh}+!lwzQVyzg-9h_uT)TC-sBocqz@%#QCbFxaTD)z$~6AbU+-qtG;pFyk2RmyW&@91HCxn8X19>3shV(mD zrZ;Bi{IKu&SRQcg&t0w0ut3sTb#X@~t-@5)Mmvdt-|D zG60l%_wIz5dy}Vf(9tw<-K4PTZr=Z90b<;16jSw{amMXA-{QyL-u{9ikw7$i?F29X z@27B)vh{<~wXrfr zQQ#t~`i2auW!Y9%sjIw;D5C5mkCN@0gP7P+@#`~Gf7(|%I)5gLw@kN>u~=W(9=mP* zetzU?Z+s^0g?aaHWm|K<)YorLW%J)=?7vy0U)C0au>+q9?or;BI*yMGh`-gvB{u*v zu8OE~dC+IX#>C8nVz}ora^F(#!kVte@PalPyKy0r)M#K({nDVSpbr}|jPb9?u4rmv zQ`6RdNd4zSwgh@)`=#o$uXz0iYwPnl3r6D-5+r?WCwiVtl!-M)UFltS9DHybUbZhF z!6XDyd3bp2bCL{36VgQxTQX+2$Bi>Rs;x*jb}^CEb8B!o$|vD zn(k}+&cyg*ZDrVotSuu2#ornK#uMNoqlic;?cvu2=lMV5*ytf7#Ei3HTKZG(V@k7l zM8Zx?d+abCX<~e?Im8;xRFSP#JgJNraQq*s6%KGbn8_m9(*Sy5s|n@~2;PpGr|s13 zz*fN%j)K!(MUonK4LLjfnx|WnmI{u1{bgc2oEoQIR9(qZ4};Y^JbHha{(eMvud3Xg zJN$I?=Pe6W7v`_p7utSSFxDBW<`#5iSMVeUe2A?Gm}L4aGfvp(WMQ%q^l`!S?uv@| zx@`zpsE>4X^0%CEY=rLzM@|}k_9lhI2zLfy{U=`_9-!^Q8Obu&JxyTGGscd;PUiY| zdc9=`0`vCM@wvItj{NDhwA{CTr`Bj_yo#HijsS;5rmE_Q_lp!yaq!W2VLptzr zofq1!fNLzvvf3a_04ljMWUWAoZdob$oA;PA$#nIiv2NE3t?Al!1lr&HO*+fge>o1p~v%o_IQs%Ey$?K4+lRaZ4Nx5+BiPjAK4(k4Ovr&MBL%Qorl?bib?CPUlyb3+r&SP9&ks$VcSuw6R(&P(6s z#IW)8GO+i#@nv#}UKFdSzuN70aK0TRzn#;$Yf=2WJIuHwk0>F*BL~iZhVR-(UadMv+#1JEt-TW%Kh)kcq*_6KGD9CupDNHKOY%A$RouT_iO=r&Zrgywj%~ zTsc8tUsE#h^erBbZ(oFBwxZoS1GuLwl=u!udOQ(r5m-Nt+WZ(>>#oOm1+DhJ;EW%A zD#Vx83r?VIy#jM2H*zzs-4YrC$)<_yQ0E+pWXhE zYAmVm7hI945p1>RrIyAySjMLLUsv8bZWj0i776R^%uQc-C@Ul$_>O>p3=vw-}*O1gf>tZ2#%j z;T8YoHle_6Wzmd{;t$VO4kJ78)G5Nf&lb3RJ?iZv@1FCe*61F*BhINHCyOE*8WNQq zN@IVmpNeA~c!~CIt+l1uKd7Yp;oy+EM#z&~xekM+0aF38m6uM? zC>V92N(?@jaC(>HRX3|qz@au6ZE%mT#U^7_)znzh)y(@dq6i*nv(g|M|3bIU~`4R(L!Anjk_erEXaN7lw2*+x>feE|9&1BWEjN)&%~&o zw}L5zH2W}l+OdbPk(2|hj=x(o_zb+w3BJ)y)PbjIq7_4Wp)!)A1|CY6Zc`>n+7Xpc z>a$m9pE}OA+Wy?PsxxGmoc!CinbCdfcmEMZhQvUWOu%QxxjKQkxywEhfr&k*dw&lP z!EkD|`jjL=@r(oKUU1~A25{X$=xtg4Epw{OlZ=dn_hJ+~2(>P->47j*+ZQ~noZtej zV&Labv~c-^F}GK#T+$b%a*@Z9{(o1c=Cx%bR^*q--bYwp;m|$sC#-|6+=i*PbikdsKZE zC<7vBjpXhVkR{+umYB~TD};&QghwO*+1B;LO1jlfHgLQfVS{srOfA{T^XPYwzPjv#^7w zk{{r6Nf*sLcGFjMdTZj@6oI6b$b4DmbZjPp#4bB8L9$0mu_2EVoQHu<__&4|CtIBr zjphEcd>aBHA~P_sK0MLnpvZ1)q%BZOf2LN@4x9~{FUS~Yv&tJxoVZ4i9qnJzb+{xl zY;SU&i{MXL2zZP*g@(&BjBh47U6qRdPEYi8aip|7>sd`3YJS%fL)ycZ-H5L0ms>%> z3kuUf2A?HT*eA;#m9b2>(2%84uEz!GExuHh55{TzEAWdyFd#0gXl{P}u9A`qxW|yZ zuQ)L?{4+|`&UchZb+={Nd8Z)mpYD^N`})OSn9V>0IXEB`5?cH?t_D)pJ7rmFPI}&p=Ux|ZO_$JqDbnR-dLO{9$(jcUG z;d`@eY>}==Z*d3Dg^!xRr@z|_A2c19Q&0uw-Nj8S^i1GOAQd@lCY_l%<^clTvsM$i z!v{h8i7x8zcN&!%YH0#HvR1j|nR&(Nq^+zY;=6O@hOR{_3gBQaN<_sfW}}jO8WYF) z2tw^eLfyrqv~Gnw6$*w8s>p&)6oFl&1xHe^)Ei=i%VQ7~lw%4r_VftiM11+PDWx+C zwU(M-llt22P$<56mE~Vkd$M+Pw8{YDXEUMvZ`w@vQ30&O!=tiJsbIjg|C#1ynqlVSTu4>dO?0KOsQky z;$Tr<-ws>N?u}+7l-Maslqd;Y=S){)A#r9V(YwpBgcZk*%H)+7Nt09Rl2&GY!OhMk zlnxG{JQt;`5KYV386Oa53OstPV(~&PUmbD52zjINP4Yh*l3Jv9`e_$-kNBu3E2@Nu z!sQKi)>2aX+pRNZL*oMfv0P03Q`(V{DQ{e=ww{@pL1I%dFS}5LD72xcpPfn0o^N?2 zOT3l{)%6gk|7^s|MTu`OLaT3JU@DNxL?(6g`)Tb|f(qNu$+vUkFSvT=odN}3N{8Y- z^c?wge&aP}J0FaxbK?pLP90MM$9s*{N5*qkD)e4H6+%TX3*>5y)XW;*rh{M5beL{t z@!XUoE&_gXe)orIU?AqLBnI&(_)D(6Z?=*+eVZe+<-b43=kc!>s?+qa{@jQhO)9DqzD6nf);-_9fH zCuY<%M%yfJk_!^l*t32LWtDC7M=DnOF|a3a$PGPaB_oaO*ceGwr??WO2n!4skVKRs zCPTkuet}bPKUMa}KFrvB{%zAdq4e-xPeNOd<*QOoVeJdqO-=ZorQ72-u};UgX=QB_*BE?Vh4;5fl@{kI5gInMs?jGb_QpzOF?t7L4B*O?9lC@O+4i znll_c*D&0^y*4Cdl$>*du{p@RiI5plKJqMnD|7f2YX5GTUxto^e?cY6c?05 zc=Ys5`($UCWeo*H8FO>y(}A9a{D#+{!hViJWp&%_oMx}+&xFc3s3Qr^wfWJ5(m zc_^IS$Z1?)Sk~brJQf`2=RhfiQ%GexHZy~jQDoXMr|78~!b$?iPCh95g$=wY-7xRB z%d??`E5*k(YK5FhTYJjLOqiPH?ll(EW-w`&eCh+m43mu(7=4$xp zDqf-)FU=UDbWiI&>vaF>9}`~B+=f#D_@=(T?{}%c-|kT^T>kjOF}J!J-}R*jiAYss zKI_KGuC7rwa<{!d^J=K?+(_ZGCDk_m5X~Z9_D67+mNn`2p@gIrO$+H!rH`IGc|NtW zufOWrh=kw9Y78p|Gkne?9)gqz_Wi;{NQP z$KKR<*E@#+L*94KW(%L!OU`L}dGW);ijf8Qm=#!ha6+hC29nOfHiztK?|Gx1-N6<@ z&#QPmnhx*BQZ&bkt%&8neQ92A1Pm$wNQp-m499hPNo^0^pV~<+{FKT}>RLhn*$nsJGGyLb2 z2PE3a3<MM4rlC?QWb+PEpB|emqn*G=Mud;#%0Sod{{csg*7Mia&_9-qnF-*^ z12y8!&schF86x@+k4<+<&t{t4-Q88ZLIhzmHa6DU@q1Ok@0*JsOyA=ktT<)Q#unpc zhr#Mi9gG+qtwF3q<<$DquUBT(^hHHn`IVKV-@Xa`aimXskSK?N7umd<9KHL6RK)nH zlobB&KYD5;nDFmvI@2*FC9xLq@ye9SINI7N^;beCnqH{DWAocfE>ZTqU!4aDBwWm< zd(*}#W0YhfT9nEBpFfY_Eoqi+*(eClr3m*7&b#Cxg3} zS|*>IyYTY;?OI9iKRBQe$kKjMQy6%d&@Yvi(S+8zfLl;4;2+Hz!?w+*TRDE@@j=sL zWOI+^6!xEF6+bk#h?WnxjBmXenD})hb8t>Q*Mt|De^8B@_4(m`|M`7>#nB4YLJd&j z?AYbHZvEe@)LnNM%p2bcbZP)Q}bDYK~n%* zTu^ZKt-AydBn#gF4PqcgV(KjHDs z)qQf3chmu}VCmp%J+Td>nEIGP58)9MsT<}ZRD_HbPIc458YAg;goi|8Y2}nGtZtqpP9Gti zFHZllW!G+(d+JxBC1;!8g7)#gyuZK5b7aQ9Jg&NQI)c&M=v#bUVz9|YxRN=w;&65}@ zPC?=M*4AASNM&kXBDJ>mcXIPOE{Y~>Zf4H0O~v2NoK1^{KzTeZ zyA3i;oUF=^MM-{bSe8ct0@O)b{=!CuV|U5jYsP#`oZ$C*U|;4;H%z~9;bBY0hUh&w zIA`3*h{cE4k;y<Ih~xIRaV!1tC4&>F6>(Q zCp*!_j6OGpEs9Q{SHxXSlIE$!q@-lcRIi|gN#450ve+{*VG-7S{<^y~Km}>} z6nok`KjO|@-+9SN=%*Bq#{gEuTz1iz1ItsKUY2S3!Pk?!gn)9$nm*bEfy^IMbx`9$ zyy)JnWu(QgAu+Y7xF>E;^56(mFeIIbjVL|n$sZV@=o=fW!U?0Etlsh@Y)y8 zJ2JE9MT2K&W#tN29RwQ%$wD1A-77a5+uEqG!&8#&6bfx8ruaG>tG>&xVuxd-E5+1d zB&eS9(r1|-6f7-gO+2EEe@~F{K>)FIYxIx|m1%Nyw6zh$O0Lt+$)p$eVgm)tJBfEO zcDSeB3iHt>Ah0~R43LpPU0aWQ$mdDR&aP-ej*%Ee*O^NtYyNb=yxI8SR*-c@#5Ye= z*G3GO=7E&F&w59i`?Eo}>{;#suCB}KfKP`SQ;z zZvn*fRtC0tDVlZN_4@U{H*QIeLlx48JA06d!8q=|@LPrXtS7qoct$61_73TX>LfA8 zD&8xb*G8$G-F$wpEZE4&?BS=ATj4~k$%5KN<*7t6>aXQyDo|%lKS)$)My1B`(ra<0 z-ldEuTb)I#CPggpPHx=%QEM$`@ok46S9873kGHfo_}{jb{jnsE2%c`ns;EB?4s7;1 z*y?P+sLJjH9;SRmGHfBHq-svpW@9}{;O{NC7Oz)~!81PL(wxuLtltj$OpV>I?9(Fr z&!ich4?3yRj5|ZEcd_^o`&))BS@K>|u#z?fdiS~RHrh;=0`8q+orCLZOyW2N2xN%^ z@AK5`TSRIFz3a-hvBoxg^o#o(84_6+Se#+ARqIw4YSCAD5kieTw6;ttQuQ=%gfU6J zx+y~gTjPE+Xbn(1jCWHgnb@XZRj@T0yi&Rs`r?y&*&DQK!Z%2S$V3%1hnI1dtJAc>$P2E z$I7h+O}Atf&~daA>j=jY>lqt67P+Z!mk+gb6J;9PIZb(^P^hmG^iGAv$a@L>olyVv z=^Jk=wp~l1!x8MrZY`~wB&BWFUtYYib_#sI!yXCs103QI zf*(I_)ao2BZpSHh!#g>t076N+P(oHt!>_H$aR|~vUbM10)7c(XWuxRD18;6Aso;?@ zJBr@yqJ4Pny}owOgzvN3mO~xB%T>=C-g$*dk01zNXZ(K-Hy-v;V=OBpMV-gSVp^A^lot&zA z`E81l;w_`74_%1~+qGXqA(-VO?lOhnPX+ChEP3^S-M)Ivs$#!|eLL3)PomUjRe@$k6k zE$jwiJ7Qk+790|fAD^HzOE#ieUvbvyazr&Y>T{=K&=YBWFU^zAZz(32wYCrMe&{u9 zE=(&lVN3IV%;3}FjCJ4Go7dEEj8rLZJ_`P7&)02Plh@v!bK)K4#ixNP{gIIbTT2T+_kuVV zhYbHc3a#gKYQUDSD0u`l0K=p;eyZPX>?~V@*jNv|Me6@b-t^&%+C+nFePq3|R2Xp% z0Spd9>Z0B@J;u}n-MWBQVAPsiqvW!3os}TA!g!nr`y4R%CmftVOzK{Jqk>JY&9!Q9;K?ai>Y%JMv z+#IJ{D#fID{UpaeJhiiyP?+SrNs@c}#ga$vUcqVkK{=U7Y;U7pfx=y~K?u&TzZLO+ zsA1z^P-C6&zC1j268r3NaNec-?@k3xl{kG*wR!u;y_$cwZ7+|KaV=X2(>!*rzQfph z&kEI@jH=Y2(n;Hvo2%XnBcgrb%czopQ6% zqA`o6L)oD8382%R*cnAfj^A}|0k)fkX6@XW@FJpbp)X#QGx?cdR**RT&&yyLN%aZ; zP#qd_TG7_MUy~P@1^@g!VF@F`&u@7H20lgB+F75oD@W-9hW8rs99*+|Pb9Q#{o0(n zI~(-lb=ZCvNHBN4jh)XHp~kZsub2Qar_b|_AT`I7BtK)%m!@Rb|4!-NVME|W!`Wy; zK#%Ra9wF2pD0g+$9d3=xA1>(OinIO7tEhJsvnU$Bb#T7A|EX2bTMLdNft~Pf)8Iji zP?c%y)&(?CvDEhiFCIff7YPZ%eNBy&lZQ{`yZrUKpZ=v=tEuhL$)qe}n+j9!=kZp7l@I*o9q3XfOYZ~=}(?R0K`Ugnjpsavi<(ZW1-DC5lXbUAyNVK zZf>n)XxqD4QCYg*kK)SuWR}p5+W2Zf*yvn4Xs-co2aa~?zW^hfy!egFn_)?gYx(8H zV<@QQnDQallB{xC)WF=<7<^1NL`o`lbzD_>p0>88!prZK@~GTHePT{u!M=Y^o4wm6 z)?fc{K4EZmAqnYftE!U5&B}^JP>4U_C3OB_ma`Z7j3AK|0sNR6GWNp*fNwivZ1s_w zgiNWPV=sH_TYSIP>*YR<2=8BIN}U$x5(|R<0#rbWi8UkElmNj#6!E7qt45JE2e`e8 zS*M_D!M?(5umXwHD#l+i9=B2rB~O|Xn^0&j<=j4a)y^Yx2moIQ$W89iOybfK&^`DV zQnVSvVQ)CR75ni)Mu-T()8fj{{eunLd!%Iwb%NfH0Xuea!G%+M)17E{_d;Ua?v9d9 zMshOqfj7#;WL>h*+ZLFDeNkfrUsF|_OY5TaepkyJqMo(M$#zZiuoTs`D$WD@()>?!Qk(>5%Dr5}azBZL*qSe_QgKC4wsfKLPN5 z12PhTbbu!yX3yDA>1hN0%Rkq~Jnxq~(hPYs<|0k759)l$fWCsRlR|%yvp2d*F*-Dr zYiG%zz<34ygaRn|@FGdGvM?2=x~+u(zL4NZk*MN_?omsRnS^e|^hdXK`Kc-qz`fZH zQADqYHd0f6?)JcdwUCiMWQ0<5M{aMHulIn{+N5owLh2aZELQ13wyY6QIPMvQ^A4a z0{{pUJ~3BSSK{b1`lJ#Gb&|L~F6jb^p`oAUQ3Lx_19em%-i>=^vKu+1O%iuK*fBkI zM$(UD7Cr04uROmA+%cz{`&$?7h4T0eKo@D<>k+F_?%fMvG>hFuOZ(@Si{vSq)Qr~M87KY@7i?#b?>?5;HR8UD1M8DEDP%xWkC&>B10m+_75>VV7>qKBGr!3 zSTnzM>}H1!TA=1U0CvHH30w08cGbive4=QxZxz*0K$}$~+1J}`?1}2B%Z!d%6EG&W zlxnkTlq@reOZ_FKwl)vsGh!lQ2vv@bQ5Ol^l$HUm1c=0};@x#(OvJjDt1Obe_u(D? zQoLNDLXX*w%6gkV9QE^}z#tkwxS+9im=9lASou&=^1ynIQwOQ_I@8MEpC5oFODoLS zsa|h(xPbQ>T8Mhzaq!hVnkczy=i2Q%%*fc`l4`6Z<;JP>^$5I*{kQ8AXoWO(f60U? zOx6^|pq|Su-8ZRnno+VpZfJ|g;k4Tv)WOpwy>||ITJ_QCSnl*dvRb(># zD+~hEDZ63cOCgL#zyBl@viKlNMV#Km3*CC84F$>jy~9<`k~TCq;Ng;n{@>5EGc;0^ zfCoT5JjtP@h{BXy3iYC{{$u&VWnEqJ-Y;J$dR7?R-KnK@rcGH%W;yTZS=CVVnC0Cj zrUxbn8e~y$EXvUTnjLGMf$fw(YHNUO7KpR6Tu!wsNI^NV<5U;XZTjU!a^MyeDF0;w zjRxOm<8m|zu*0KTl99B0hU2XK z$h!r05+Q1zUmliAzhRHbPH&8cwDrWiY;oLHAqdL0s|me`A{Q4=3Krij-R8A>vG7Z6d^lzmi+4T^ICBh01z9x)_jJh&lMd92e8{05qOJ_Z$eD~ zkzLJh)y3q*1k^zQQ^sUx7g%g}P-A`0)tC&-zgM6@E&BP{Fc>3N!5(Rl^O}n zQpm6xSo=qCl!K6R^YVa~O3uS0Wx*cvomu?fr=PxM%ZCKs!b=&&yY*Y~=@!-&k~_90 zfy^9917N81nv*-<3~}ydO+ylaiXBb{Xd=ves18Kf1(kIFGA z0L08@qt4qsa^OvtJIR;&JHS4s7X=WWxzc}|Jw%j~X1KK<121XlSvsP=N@+v?1ZKiZ zf1scuwca~jBUE7;q?R{*t3bmV6SBA;qUZ3%7jDwQ;$l0XuI{#%ZAw#f0@>B}!G$4! z)e06K4uKZ1c>pa_sbC&^{;r|%VDzbe?58Vqc!eK?5r_9PhxuGP(ndWrV*#{Wp9Q4* zF{l;w=!%LfALsfd#?NoFa@NcBL>3iYI~W&NS7SbVCNcCKuk*#MPVG_^Znp_g#sm%Z zwX&{JfGMPd^lj?aN1Smk>1Py|%h?#(l?`NL=oue)Cr@-#HF@jw;$gPOH8PREkyYoY zny51SeSA?36vRuO!;I;1l7(Xh?Kf!dO;exli9vQW@Pg#gkH5u{&qy%ujf+Yb1bjBo zCd=2?XZylsBJBTYU9h&X=P>aVS5)*lVZvy0p$bbJJV_(Rxcum4cbO^afXg~2sR}oQT zteTf%)Oa`{ofZIk@<)IwJTG2oUh7s&PVi(k%?=YW@gOp;(B;{eC2hD-+SEbx&`z}p zUm)jwAtUdkEEvUVUrf+sLk|wh;_osW|B9}Q*ZY;Gujx@b@6SC7Xx0z_f5PSmIxJWc znfd3pzdq(Ge_;2{e&Xh*Dw|eb<4YDGgCJ6ovi?(lQOvPTCde3cn=S9l6o`J9Y%Mp~ zKG%1%R*Q|Dx}rb=?kJRyh&H$6e~V_-RgURRsUEtmn&MKd)mPD&r2r>Rmyz^2*SZiah8&fwaYuQy{7N6H=Ll`OCcgIX8pEy;Fc?qonUfp7ZS=cfNi6M0W=bwuLV1?j(EwxVzN2f;_~j&*)MA}}NyRYi6$v3ileOnqiSHJ@j>dCl6}xl@Sb&eEKJ)NsTzPZLO_4mY2=o9Mg}L zjal`sj8u6tFO|_{4KhM`#+s#2Mzg-(0h3muQ9NipYRPjOA0d>HMI1fqw@{|M!pu?z|H_H%~8GGpw zY0w8<*#bfptCva9l4-RX($9F`1<*Z8*BscVONc~ZJPl4csLEEObH2EiN7o_$nt?`4 z9#4~&MZ-3ztt;?u?wZZ=p=Twl4-#HKQ;5WAN+lxugw18W6Q*mB)nCn%PSRyc_x9^9 zi})htI}90QIw4ClhEMTNvQ$2yNdNEdACcpN=oO?2IZF27&r|J&)`k`8FZ-HEz3^FA zoj-fsW}TmT*cAJ8w|E6}ZQeTsr!*1r?~vuaz7{adrc6a2h&S|Kv{J zxw+l03rk*(2^%YX*}<^?j^gsg-6O;zpOB07H35chB8qiBTrvz_zTjkkY9qD7XPvLxC01!%c!CN^3+(adF`jPvG(k;Tl*+`mc2p*HWZERH zK6>9@P=1)LctAhhm=RxcviSMoZQ97Lr*xcqqh9nnNStJ`^2ogEE~Tf*K_BEuWVEyx zYJ>WNpRf)t@Vg2zcev%qrR3`ly~w~Ok} z0ugFo24_9^-#~u&t>`(`!0Uv*K2ca_L*H(%Ymv}kzl86>fGr=^wfy)WJ6}c-A$DU! z77`~${@L{x>VP9_D$O^`4P~JHKC*p6I$9M&zXyzx5RXZ1tkyDh^vnlf-xcee*4hIk z7BrN~W{kJCP{<7A|qO|A9{uq&@{pUQ2$Geh*h7=`e$bB(lVRFGctU3e!j$pW};oz8~*&sdhr6Au89d| zrleknKe}IctC|nb8Q~F`HmK5*{3$2b(L}HI-VX0E zZgvc1C+RO<9M}J}KhV{M0&vRxpnL!08mNlIrvO1Jf;_#8Ox4nXdMo% zYZ+vIv;5`SDw129mv`stN>#kf0VDF+wOGX@lN`LMo}TS;ujW^>R|MFgt|(J()Sw2R z56Bq2TaV&3g#sJNXU`U;5-%bDsPYQXFB4lCMD||^KGA*L~R4zjI+2+;Twg?jm;+!(4z&U!@*85&eU3(G2qLKRS`W} ztj{o6`VwHBV+rQ9Q6Su$O1b$HJH&*{q-XcrY7+x!Cq3R5g1?ytu8_ zLm(+B2^d-E2~S0>h?5a0(Qp-toD)_-1G69?M;V zsF8&Lq>~fFwDiW{A3r)dvwUKEC39JA^<^680R80_5{gPs&-_re4_#ekEHp-V9%^N` zPf28Scp7{$*pdSj3mzCO35Z_RFbL09_Bth-EKFa)5Fqpg4F6mZNw*<*vdX@`LI68; znf_I!C+#kw6@j0SO*P2f#05bTpjp@R=GMLeK2SwHMQdxq-7FQ;7r!~)sn|)}l7e$r zvy|%`TbD007MnvE7ZRQ!$7pd)Ur>F!A2nH zhj0*(-Rxcw0da;q6O#b9Nm1}lyaS-@Z@)HiGA|hWm{XIfV%?mT`NoLuxO4uGr~X=@ zfq&%{eN43dcOsd||442wpdQiiGp~H`KN4}r_Q`VVJe!{tZy3J3-e~#y^55N~k!@wj z2UqcGtRcH6!REXSz})$JYi9QuumFJFS|#-9E@Y<#Hf%ojkQ)Q;0a=Z6qXEP&i3&c) zraw#sQKpY>1G5x2TKc)iT*{$0IW$*+2g`oexY+tQc0XZgrDlJ-`+MJ?a=lkTCND1j zN2NxD&ks42%;b+B(bGo0w*lPqyZ);}Q+L)X@5)Jm|aKHN{8hH0-md~+TUZOlCm?5lt5CLu=BR9c3g zXPu30ubj<{^7$Pk{)xMRcMPg99nVxnv{EjJ|F;&CWeb8qKn}1wK_Q_*8a$X<0=6EI z(4mA=x zkoj$Dv0qPL;OD1!GLRh=)EqfS7gSQiTZe=hz5tOT=?yk8LWSuCAZ5WU2NX1-#;x*ULlV`Y37XVa1@9D}bKpQgB?8U#xSpm0vkX0|2|moa{65(~B#;*Uf(>IESy@?Ua1)pr zMT(+~FdYOKZl`S>W9GLmd%l9kMhb(yJ|}|qi!=(S*_N|1orr@6!_-0jJducD3Jsn7 zFYK|p9Fgz^edFrt>0Awpj&&S(zSS+lN7`mdKu-DP`VtPp+z&s8Gfb_anD}9jK_U}8 zdsDwB9}V$X#0Jy<0U}HOMn+~POm!*Dl8I%0GXshx49mf*0lKQS zz5S37@`}rov$3k3zHwte)SDYS;mOU@rb^an&KD>iPa0U-+< z)?p+Anp2=Ypk~}&M`0+NOrCSGn&rK>%|BA5V_N(g$Y$ZAy4QL|uF z3fs=6X6FayZ$tzw99p1Cx=Je3Y@m&VyS4Ra`=6iNXsp=P!0lsx)(nE= z=}J?W*4y8}zXk2M_CjfSL=XXsFMv8_8UqBg`hWlpLZPV5^RK`@YZ*LBfSNor71KSC zEqM9Yg}BZ2CALuj&N~&rGnf5tPts4{6c^=hTl3|Q*GcA$bXqnWsb}SzSJT6H06A^F zj`VD$8vU{pzsl69hSK;#&Vos-(}Vy%5kv-65p$|7P@S^g0-g}KLH%rbnKZe5FG(K8 zYF0oI05CIz_9KXMVuyBi%w`_bOiJ`;)*6nbAhVR zNR4fL*1aQtc}asJP^3pl66T13774z-DOH5= zvJZuY<3PBWkv3rkg!2Ww59n>}V&^t>7?xLzMR|jqAH`Rx96oG+0mDTcTO#brjD*PD zBd_J&uHsqDg>@MeZ-j@>MM?Wv#IEdCREbbI`rqcN_%+>rB`Et&^m02A6GRa!Nb7Ff z)ck<>mVPCpNeU~Lxf@n2*pEOrt>o7_V7Ty-h+)JM*h!sG(*dy~;DctN-N|Bp;<6nb zMTY@>gwr>9lgt1shwxR5+)~;M6rFI%P=IqFVTZ9Bg@BuehBl?`?-vSIHh$;JXaW0T zRk<>EJBLMIlJpC)SCMuXDyG6GwneUag#uLEULh?HE=eXXE`&x^{8jy!p%Mu3gR0iQ zlrTg`8+iHOF>ddHAw;Ehwn+Cgl+X+1Ml>;O{-IWiz*mM;B(2lG(^mk}UOu*GmW zJlb~GTbTW~rF*p4ZxA4SdMP6;#v3c*ZP`ExDz&P2izsdF>vHY(a5r3Rvk-%HRvMWP4ME8mRO??4&@Kdb_H-i>&H)->ZvvP-mt)$S_k{Kt3^*cmx>g5M zfnn#e+;i*r^i+zYvRt*T{bQMEDq7?H%iT>0X}UiJhmfg6OTXX3$(`|R@d%jyG%bU1u0o@V!ek+d+3=e+oFDxd|-7G+tO~>)u-TL`y}ALL0|-~fV_NsW^dN&qFkT(cAs_cx4#;`88au)QolUMjx4)5yRd`=4}djp!Iz}U zMW`QiYV=Kpxp|9WlIKAqNq|Kl@%47%R80BNb49*Pgtp$m z$g_M~fM8f-_x2p$iTIKs#PPs4Ib%9#OyQ(Wco*9LV$b&DOuHM$pU!RqcVb3qrIx)(F!yS4@c(9w6@i>KD6yD0)7is(tCH zBg&=n!z5Z?s>dUPy&sZd>DQbt&qwblb}i$XeI@St@&|1iK58~Va1}G8~6G==Y|5(5wKR$ZR|Gf zRUTv%y{7Aq8Wjd91b=etvA06+9b%;~Kk9OspY9d2m7ddPLS@xgY)m1UqaGZ1et_id zj(vyAK>Vo}KG`#(ceHLx$1{(#^Gk$=)nm@#I!ENBzdXV<+r))II{0t?050@tki_r( z>SFzF64;Eax^LTe&8FMnl7@}c?)4sXc*nM6i~m-t9VN7{p-1(V274Q_+y)G*gM>RQhm}Sm*P!o4 zfa9uP4Lxy?G3idc`!rXhk}dK3vfKL8!*O|`fc1yO*BdWb1Wr$8tMw|Sm(k+1Zv(dkjcCNR*WS%w`Ga zZm3&+kW(}o;6k*R{df89;!D)PtIGKe9+Gu$kLuqTxs|zs!E&Pd?N{07J>LLwThwbM>NAiU*aYAv_9`65pt0LHm6Ffk8-)KmL2kD#Ys z>r|HaPz{j5jh&qy5KS7S!7hWsBj8+(<=WkfjPm}S_LDAVztu4&jdc4)sX=`<(x(uA zq&1q-?Rue&86a34ws^KD!<~B=y7;8U@ek^6K^f2xqk^%Sm6es3^W9+302;RN>!m@6 zRX9!@9vQd$ zUN%Pmm~B5Y9ln_{k5iwBG9#%*Vr#|z!Z_ypWBzm>KjHjSh#7Lqp8!$XqmiuiE5C)B zA*;WwIp;%hpO1FOMn{9&+r_|_92q88XMW6Idm@3Z7(%KDJj4DO{&@z{-XPG)Vccdg zp2t1K{O?*l{^WC|C^`lbczl6rXdf(pZl{G7E>8V%gl<0=-dG#9#Z?^1F6Z=PfBd~J zcKA6Jl?+orYBqMCLQ`LVYTYSFPFf&aD^6AAo>Ym(lGu^o!Iuxd&2H6TzzH^B2x|dg z!gNm5`X}ga=WhPb?yRk>YyWY6LBZ0>3Mx-cn+IiT_1w}klk#bV-Zq44bv3ozO|_UCwgJCvjAI?W#Fx}4U}zH|C>JYUOA0D zsOFbBE*TgTGnC#OOfS`fAOSG!FS4 zQnisZTQVbvW=G=F?bY4t3@i^XAO$mM zC7O&NO9=vU;Pe$yvAf$(e4-^C1}F1fFxH5OxLR4ujzjjN5N>`-V~7D7{J*&_Cg;G$ z158PA!7?hOxY#Q7?Tp@j?2HtAreN8rMh1Q68m(353_MOWFPdNg=Y*zOD`{_Z0jSfDTF#U@IR(8Qr zAW(!K{oYBqd)o-)QW*pVDFZL&7WdAzk>XA)5zmSRWatns*C`K-@$ME}pKpXuWrvQ9 zX`rE@bpYipvXW$_pnLPn{R*kqS0+QJRIf())+n2!m+S0otnJIY50=^}OKyx<;dB3Xms~N7|2HoS^ZU45|m2yOB9334q z@FJ_ZdT$YICnJn0*VZhDGWn}i7iG>>qOjn_BV0uq8u%k{DNw>S!i^u0E^Vh#zc8rk zWVL%XL?MF9&|RK8*PWm$rz&>)*)xjra-aQ4rFc#SY9-Dd)#xXP>yh?izjSEfk;U6= zqpgMN3@kv9L7NZZDg|xoi*HwDvyA^~+{08Or2bRx0&yNsRDyJ?G>wfDz^f1&*w5g- zl3LWgsSQRY2*VJtA^=qzWbhx!)Zr>j{gp}lBx;y5vN4$a*-wXu{=e09sl0CPN=1RG z8|KoMARY!r>;9mjkzs;y=2A93J#ZB6w&%~PX)@`M6(szLER9F#gbd*F1P&VHg6^!~T`-A}InB?0aItE( zqsrD*GNgeN)KKvxWQUXRx5+JEo^Gy-I0Xe)b#;dRD8f!djfE>)ZC01cT#~0ezXg(g zX*|ARpW!|3rVbPm7W_&XVJPsq@h)~a3K+zF86J)V(OHD7u74k-p$J_XQ0)Wnm8Qqp z+2Yb*Nlyoii39L3v=gN6Yr4%MUamtWSKOsHIW+}4xVn2GSKFdaS-`uH{OPmG6(tpl z3{tk4G`U|qJtzg`-?+cdUIr88zk7#65PSRK3%TK&e-A2c#D7jwMGdldHil^M*0L_~ z>c-qRno3)?L1j_2N$7EDHp+Pg&7)sn@J24;!wbuI?CzmQYEO?eqN-)rF5hU-seg#! zjMDQj2n-ex61#}MJcXKnyQykTQ9WbbEw`Q-QH?GZ9i zS$2vzAPjxj`3;*(dyIA)*?w+&{GVKGb4fGE6GImL)Y_UA6j6NX$110Nw(LN77#tD9 zin>k9^|mjK*g|dO{QoTJ)mhwjawq zsFZNDp?P~_x5bDQTKJEfXCySZ5)b#poq=>)Tz`9Qy;S4Ax|YlByEIQtKBN=cE8&{l zpNx!d%l`Pi)mpt&O?@$p$|D}O@KXs3NGi5oKhq9v`J>0GiRO@qwa3?Y;Kkcdj_HPW zyCx`FVpx<>x=;grw&+0R5-cHlze*dQfsBk;r^4r}d->_L54U~e}KVsct(JA4_qXV4#p zZTAqYZ@8+~L32xuEg5VVBrW`TDpMv`d_3-c-O5nc8xQ-`WXa3RuD+NrEmebpO)7yV z&O{`k2*RD49ctybr9^1bC^x#s~y;9U^Fqs(&?dI5GWHF=C@m zYnGPxU;t%lZEb34d|-bX)cuz>Hn2c(my5lop`^TAT0sFD+?8Jfmy~pPDgdpqe z+#Kj>@)>G7dI7l)G;cwBpV@LKEpOAAeEVVR3I<)=d?6_F2Spu#rR(t^X3+u|M$v#A zIXxpI3dph{n7kkWtfryyrz0mC0-J>eGh9V8>+C{k6#Q+-=g$HNHaK*DV37pH#ww<= zjLXW(9vmJ@{7*Hzxpt>=Vm1ZIWNV^?@>N82cCUzd`7l^(_w~h75mHmf{WAHsP+Y_h z_?|dej)2xPxG6lepW&XFon4qt^#SR7gb*rtk%>MISXBY}5?H8-Aixcho?wpE(b<{z zw6F1fQPDEEEkITkTIsm|O&TL*GfNbWk0Y+g6eRh^?ZxrxR z%fKtvfmaS5GSZ-V3`d2DogEHX3HS<%q@<@u$HZWtU0isXzZWS0^9E4Ol7SxwT`9zK zho&N}zw>>^6 zMn}5QaO8j+{4IneoUn+07$FYQH({Naa4Yf-69j zNN_VS0ONra1kSy1>|o&2#=+Y|xQ!(U|B*|`zSpFazo9 z+x0m;&Q)Vo)6xnDKSooC#^IW5tq!W%PAPBRpg`mp8BvR8vIT2oN!VQA%-bbWWZ$uZ z7IlJy5KOPNAqMX!-d}qp^Q0gt1!)9QxFj;bU*K_>Us3|2BP4K+BR&c$fMbxS0~Zjo z*yi$6@j?wy;JgJA|A75V8yaTmeY#5)8%_>Qeo&yDwc6K&JRvqV6p&_+Gxp_mQB+du z0ck{p4;n2`KY38_OO_{7`_RTRf!VS%Ff`@19-)W*U@Q1uR0b@etE<($hcKLZ?%VGA z-~XSV0#Hc8*48o;>Iq_d!5i{U(bRi6MMY?E$(^~fFcJ`IvL(OX0W=C5x{$=6)2xaQ znH=cWfXzxLI0%}UnT=T`WxWCn5sb-}p)!OGw^7~9b%%^>xnVJ&`)8xulXKIZKzIRH zeE`rt47l`0cpkwp94-fE^QrvWmAso94~XneV2CL)5kadSrb6pHk`*i><(1$w-zpU9 zb)kxLGK@`4Md)%wR9Cw+|1RNA5ZY3JjswEx4I-K;T*ltft}W~tgspF10$l=l=Xlu} z#+@)jDjvWLH4Dg}%rtqhBkXS5J@++aWY7_kh-9%shB{FCLNAY-n|mYp%Rd%S;enhF zVSNT+p?SUd`(g!R@60!mA|oRs>@`vZ$+yeSh>)iC!GEV4LM3Q+gA!^uB(cO_2L~^P z3iq#i;o%@meqLGk0bFtr41gPfrnE`h-dl+s8a9clMvAx z{{46hQ^Phxp->X;jzyf39z-eE*CR_y*XvPc1EroXz_$w7}B`M8+Y0ntXkG|J^0G zCnn)FI5|NWk_0m?cm$8(9za|c1MC5>KTXg>v5heKMj%}d4!i!zAkO*<@oR*H z%;Co_PhXT1BYsU)9m^NEK`?cc1(UoYsV%LuW1W47t+BAk8KI8D4qwh*(AU$8fgc8= zfnTFf=~jP7RyTLtBA_AwUmK8>edu#+4VJ#=!K#msSztH5LpmV>BSu)=r@XBHz;ba0 zoD0Enk${3?U;y9TE1H;|&!pCfW(~~k;Q`XKusj`SurUDdR?vbsf!p3xBX?Zj9UC6T z2f1~y(%N#rdiRdn{>LYDSPkT20m3X|ar3AuK{G+bw6w3HiCLEW=>ox$t)-}Y^aF%P zaw;mj%e>;98wCD!adB5fga%eAO{Ekf<^NBkAAaVKe*k$i{w232pUEni2NmZ8gp`%B z)A}EeA|J6v)N>g&p&@~)`h+vnjy4#I0fheuJhn_As~pl{OBQhcg#?B$55egkmqt)C zRQ=JE7lc-fT6pn@y#_nhZT-8}MLq=6Bh@iSj&c?mmw)IBQhXF;LThtS@8j71<($QrL%Q4SGFFJyiiKViZIqe~`ZH8cvGhedTI`LVv+{$-M! zfq{W(jHMJlaq5b_ty{Xw`r1VG5aw~1nUN&MtuGkWrLVeP-axGw9Cw8&Ao}-b&cmv< zk)&fi8yqn~wPNLW%=PPe&U(T1>yJssxypllI8{9#XOZM2#hyU1#@hrgJ+ zeb5dX=2g(Klwj$>eg14@XDVvAk&(>bKxG(3e-hu^pGi9}- zJ{q+@hoOUDe7W3*CvP6o&@}eKKtAVpiTIq~J}eY_qU3 z1<8FX=M(6ocE`uXy&{{67F-lUoSNU6eUxP4fNdLb0HUV3v~;jd%L0l`v6Q&qL`P*j z`Y_9VlKb(_`!a65M43QDr9o7w3R6(1>?~g6D2e_xh_?Vl>G{WrI&G!K zNxaaw?$ms?>LI@_6EE=X6~L=8$K3ata&r8}aa$WdD@9(v zg-_QU94zn`ki`OQlzBqb(!qy?XBf_A^a49%6nA0cB@VhrS8-qmQbr&CbFB=U$HkKA ztzYgBCC2FRLg-6UQhzbMN?gp$&yOpv{8Wo~n+P|9h7Qfd$Vt>P)V-Wrid5c1F1wj= zZ=_zuJ>c1{>u$6xXIT^uJKY8h zU>Q@VZQHg9n^{6|-f0)TOD3;@TJ#JI*qi68tFoQY#%(WNe`WUSsEM!I2F9+K0bGl> z6R*Lno0F?+7Ezwf_Rj~W&cKlk&`H(f?xpb3kU-&fO)46QgEsA@@VHA!@w|E~Z=!Wo zjR@CjCM0*vR#boyMdk7JtKXqRgR&wC(~P1;19%bRSF7dBt}2ks~8hYWj>AK76{dad-Sp zk|)1T3kVb@4zz;8+f;PW*guc6d7ywH^`;H7)-4oD!S!= z5bh_pZ(aTvj(G8b&`}QS(02%~0P9OCo`#}Wt>D-zKzi0* zMwN%$&CJ3-AC|_&O*kiEv{fScq}}?n2bagm**V|nPWWPw(%|4O?4lRHl3cDjJJ=^O za(%>oRqLp2uetuyuGFg=fJ(6STWr)8j_UuQ1_AU<;+)`m&2m-SDKC|BU%u=@14B^9 zk8AoEkpjE3XtZH#)826f+7u0@+Ka#y#Op;woV|FlBaxQ6*oQb+RaHf2Cru+5Yf3Cm z(WN*S-6oxvuWuXC1)e$6hB7)PHg-G3i-m=S`WM?jvP^5mM{ThHnPxPQ<0U+{nXC}Z zH)5TFf&yV2xMxq-sOV@m;*q8J}@{85O~u;%{Q5cK-WY;`b_8+ozYe4HREU%ka$dML#FvI$u2Z$>j3! zMf?6l1-{UD^}%+EB+In$$G1E~v6c|HeL*q7Y|#b%Tql#@aRtrdKx%&_nxy}(lg4J5 zUd@U~|L2FDWVxpgLKLU^FS4YtaN4{%&q??H{!pg)XHlCe9RKt8qN<|u)VbU5Z)yd3 z{_Fkla{t?p^xymnJ?RAd7j4+E!yoS08&<|lIX5QWseFd!_vhB(GJahp6b>`YlU<4! zu(^;~xrzD&pWus8QB`40363Q+zp#srg$ggleJwNBCz=WV4e{%1t4^Eym z=~bSgcJUj`=|t1u_>=&AGpAme zuM4`@usAd*=)QD|-Glr0@wFN-e*E~)*!QW79ND>S>({Q_;~m(CQ!baey@=X&Eg@mH zg~hR=oQ zmF4p#$l)Di-4UUWS{U>^sUJ~@}l@B`|Nokd@$5_(9cpojU<)U@x)l`$=K z*#pj*jQH5nP!>U1z5m1sr57(=BPoXU$|QfdoabNDYT-nrmnnib2%}iu+y%@lnnr)!l#cWG`8N z-LIcNoQbDaKWcBa8c=NyrjO+&Ma&uCb$}^P|F_tJ;QCfux`0P#P?+AmyuAI?(q6JB zr&W&ORJ8TME6ej-8UZWC?kYIoc}k8j(r2GOeR9G7E+r+IntHGAH&Dgw#-{UT{gUIo z-oAVHNA))_^EZ{1^ScKTS$&6%9vz+c92bmvl*J~?md)j_xxE2vqEA{E2L;;Z92~ux z)+_4JUw_TQM^Kf0z2nu@2We|-PucV)&`gV`?OUm5ZSJ3sHD?-MIzSk=&D_y7W79Op zm{Q*!rS0;`?c2EzA8dJk&kz|r@OLLM26IN{K`Qp_*Kht&4F?sKGkB+!TaG%E1I8R2STx{X zjY(ECKLf&(i#^d}nL}#JuKA-@_J4lT{dFgJ=d)U#-;G>dH59cx4tO_x9IB!ME`0{K z`P}dc>xWI4@E6^po}8TAwcdEsl^TuH? zqI7v7RE~z&7`>^eP~Do_!{vlz@scIR_`#3nO_Ru2&t}X9!l_+5c06_Xu);h8g9~KY zKj2~2zw<@YmmD?jO+nPMIM-@3E3QkQ7ez%+dCErT&&i)AHBVpv+=jFtJLv3n`2gRz z!22;;Sf1*!*fhJe^aNP>N1VmZ;Dp*#ctZEm zvwmAD6XNVVl`Ery%_+0xBt1KfiTE z3Vv+RsL+s*Aw({`h~?kK*ZfJzsGE=VTe1Tp7!&gd2U(-YGVkU+5~GQSO^G402j9`Ow&;S!fSB_+qx8eeyg-}LVBNwu3xE}5)ew{Gsr zZ7mbz>Nfg?_Dk&$D)ni)Lx;uykUGi@DC%|+Am3F;nM#Z|@G)`z6~KvvnG6}A13$LC zB$_9>Sag?A5DK`KICQHvIps`n!iR0v=gm4SWQDuxs8LawE@~D@K75xEr$6>n@ko@X zPBm|AxD;_BBgQJz(%!xc&My+%iL?LC%UjfV3s*v)qkdM)YM5k~T8de98vxbuGeYT&$0vZ3&-Yb9;sE0+{(OmQasXzUwjz4YgYz?>^4yCMO;pNjd;r^3M}GP~K%;4T=R$Y+3T|UZLs{=SVs*tbJnc8%kSRzkf%h) z6)*nd`;*&hVw(`{27IrssS#y+&z?Oy<{(pooM=ZwAxVcKLNNR6@1*)`7~`c*O^8l$ z`TS}+PYlrU^lAmBMGdNo6AhDee>#5Jy=Tu|aP4u{SzUtrPWWT|k*X7+%eX$Npv79} z>Q`t(ZYfN#J5Y2D=>c4&OODod96NnrwD9p%02nbjN;s{Xxfu^Se7>0pT zX#Z-I1`~MgxAmp|OvH}@7K#5@(Dv*|%+bryDrA9g`QWHC5TBB%ZZ&sy4)6}dxKCO# zME|hF(9jUNNEQ_`@U7+v@1}MB0Rf#N4&&}VEhs$>0eKD97`TeoiA&NY)KPZm=Q8KD;= zaM?Oh@w%dYyKLp7h4U+XMCh9K)y?mIT=OToysKt!p{H7Tn%Y%t_} zsylx$iXS_n^<0Z{G&RnrC5!K|1i zIv)QVPMn+AO|Cv&u~9TBSsrrJ+KImDf7K=ZM@w-^si%^X47>C6xdBj`Sv?FjxAUAX z*jYH7vyN~`N+MY3?m0z-aoYx<^ve@DF06 zxDL=Y*`;#qsyiKF7J!C3;`ciV59^dv$AXD*36~P~-?*_QF@G^+JKXN74^K`*f?#!x zRk0wrljBZ&{_J#<8@}9lN%5U0AZtKrVyflPfvyr7@cly#d#|`^o+v{%ic%~a{cLiT zd#ppT1~f+IlPBGv>pOPsdY39oNqwt^j_8UgTdC8XHPw=PlwpB^ zko&f@b!~mXT=hv|CC0VUhRa|b&JvqX(BCW|1g&1P=KS|_HfN3+&XnoYX<)3WKD0wm zMMbad2*r^-|1cw{(WLFAz`K!@^aOUN$g2MUuWxeqSC1F{#G0IgB^y)9wzYb}#$n`q zQDfyLlYLa)H&RkM8`=(0p@C4re;bZR^@#p#NE`WsRHILYr}^hsx49^~vRdEvn%$tx zRCg#+zZMrahy`MpJD(+DUwpQnpi!IJprpm%8Aam#M~^}@?4LVDgr0OcYmSk{dapBX z`uYzP3oEPEeNIf6t8(VAkxMUY^-=UG%KyIZGl2hKlmRe}Bp+QOm|Jj!L-Al0J4eSM z3>Y<0e0nc+IP~F>L!`rx#H>`ul4O~aA>N?b9&f_t0DuKDw=PO*dZsDCt+;fz^_kZC z^Q&vlimi3Co<4hap1fvNdTCJvbKnQa9Y?~$pOP~#-Mo1$Fc5Iv>+|gnZ$5m`Yieo| z@rc0Pv$S}5_IMx)*}d&8FnC5(#8WDA3bRI^OWew)FI}3Ly-M_@kh~%dYz1w1Z>~<< z2)HZpK_I}}I1T;@Be3=B!-?+o&z9Djo|t#u7j1e$QeubYKh?aK#!BN{;xWOL=8Df6&hO>DYVQnU;j@&b|8sZd*cY+=iby$4K)c9y~ znjb;GoN!y&tmnC)J9qBvAOLa7Mk~}lC~G7>Bob+1g^g?N9?GUDv-m#%d$TFkB+g~A z!Syr3AEme7SFkb?n7C)RZaT6r17&A zDuN5ZmA`v>?`)-0AzaE}xTf>HcT()JVcb+QHt{dYM8kSLVF?^;=|ZeYWT)h(uXzhwOi~Bjxe@vWF+NSGq^jT|a%gFYQ-T zW%0q=$&aHQE?56g8l-roAU<{*oqrl6S)uHi49yk;`f@GwA zeKfVL4@}eZ@}|Uu-!~{{s0yjbxN>n?y?d<9!@irGoo`ku?Vr1UNEmp!!=a;x4?kJi z+O$+f#RH;a9TbG(6;u%OxqHrFS@A#kz!w<1{gUw3?Jie)TFF!&KbMOxH`|D=D5IoA z5pTv)b|f^P`lnC3j=IOAxIy#BoBe_}K@Wfm=Q9vgXX!(= z`L0vfn>VQP^unAkFQ{Cg3sN|P`HaUkPN_n-r=dYenBm}!vIQslfI=;=QP$zNJMG;O z?;RwaZc% zl@wJUxBvR}KL>TcuUN6@k_kn~Y~EGM8a{%==Ra+N`jfI`jS4)41{eTaGUu-MwGG-LGC*iU0=^MX>Ddu|(+(yyr&fU8`e;BVo+x1lpqMpv?9K zHAK1s#T_e?!%>+IwFWl->dl*T8eL(_pYI6hEWZj?oTjEHwB6h9;WhE z$f04whIKm_aqiry%a{KkZA*M^`*mQAa^zndE44O}PW(5HTt1y)QM$I#KcuE?NI4!K z-CT}mJZNr;LDRcO$9Dtd+dq#vU2=^QOo3>5c*6RFM&GMfxwyG8ls22XDy2eaeduyG z#T?Vx%uajTLnT%aW<=x{=F~lV`k&nPs}B!*xJ*~cSgVY-!3yKr0O6=p_jKcm5CvO8 zYBz4$lp$PG31j5^SDdXoH#Walnsku*`gU2_0OBXMX;VoSq0~cGfKNQwvrJ45eD2&B zomeU!t~z3v>Yso15TlmzE4L1`Uj(G3&)nJr)6mA}5bTL@eLrqMf% zE${G{J}8(FUIAb`6WJVEsGVRw7oWZTMZt)PkC)C}Bn|1A{HCO!^wer>qJxe~mpSTP!uB{Ob zKMRgTIu>#l3Rid3$+2W=0gV${^z`)7X=Vc)iW5re-`{TPVBq6nMA;sw=WrRtDJ^2% zZ;89+cC>ex)b2)xNEKW`60LT&f4cdx)=t9ADzXNGG#&c-gQLyAr^m*v7<|q0cAJ|_ z=kX*9otFQ|e9l0Ci~J~4AMS5YaL{e9%FDOY_bKxM(;wD+6f`G^ba(I3zPopK7M~uy z2ci_Iq%FJBSw#WiD8LpFBZh;%rWdCt8?Hb4>C%ZQBz_+siD0fpS zI3v~8tag{Zjm-|=93gN3|ILI57E~!7ic%vi-(z^nNZjSe!E(RR$%Ft_lly*V%6@gSMT2K03P@W5(@Eo zv+}WDy{yV7+w=~il{3}OLPqr8^I8AVsr`#B`)??*r#@L(vwu>#2|_%0&mJLiC8i0w z9?5jBv-@%zx@h;R*ldrew12fpTE*v;`MtT17psXnS!d3RUGvlN7{OWl#($3A0Su^_7J}E(IiVEvFKe z9z#00Qrdv{AI;yZdngTRQvP>C`LJoa5QB63nf5^-U}Rpfe`TB3?muEAlD;W(b*Gzb zNUiTJsC~yYN-{`{0T-*JJIE+&YWC-Ghr&%K!Ns^#7IYY~Sy`yQQ8p}zGTn~)Nc>_( zz{vgLzykONp)DJ8HSyfJwm>C!A;X12b^m=Nb3xRO&g-~K>}2^A7t|L`1SJbyY|h0TmR@kBdtJ~Zst^e zLKQo@p?;c51{tT0YN2Aow&s3<;NyARAl3Q}GTb&r;D zt)QMzMZWp;X

gtG(aVmZThVENSOjT{Meq1)n}gP%)Gck)so#Biu^2?Cd?tR0j(C z8$4bQN&N6pqx3Jj!CsO22ViTe3glsyVBd!)&aLleclSwNbSmEnVtF%VwFW(S{P3Z} z(lTB(Fc2krFqP`?sAkx){T#o!=Z)#M&QQYbyR!1um{HnzZcCj4ZrCTjIjB2?rsI;Xz&QGcK=Roc5R_4Vh`^~)rV*493WH0&rb=(St%RQ4!9e0?+sYiY_4Wpu4O3j$75%i|)#9P1={gN4}}5 z(uco7T=a3z#8RW?eo^L$Azb}+CTF=`YG!5pG3ZWu>bzf7)$Npnqp zoKOU~{-d#xt+_)$<2@>)6EB`WKg(3chl+fCxQ0XDJ_-s?m;k6Uc51Z@?Za;Z(cb5 zQ1uP;^70xnY?$(y@135I^5>$)E%k18m}h7hfl75RaU$(oklv)R-aIM?jvSc_SfAl4 zcr%JD9`;W4&{=t;r8%^L-*BPahoa8mWl~*8oz0pxVWy)lpiBjjQspy|{&aQE84a^- zs3~ddLwcP%=FlR>HRR$Aea@UY^MMZa!13b?);>CR8caHzSQT@#K4*}!vJaB3VUs5x znK5Gqir~XwC6$#Q=?PUR?vd>cg855JI}w=Q;}mJ7uZF!sfWN;HnyfW8Hcz=2`VodF zYn+;YwbX9wAt40VB{KFF1REKn2$j3q(b0flbB+wY5SGRPOYp{w;-rnLXg2bQ5yOWL z-6_~VqDGuc<&x76#Buud^Q+Qn$^hMwX8DEHbVQ_rh(WfBE9|?`1qaWf6 zSEN*w&E4-e?0A$1$X|?&jm>lce%RvanMWu2;pdO9bnJ8J zG-qs@327y`Sh}1z)c00p4BH&9xvr~A+n|Dgya;??&Dyn#$a)|@Ps}%@4vv!cfm9wo zV#F?}&f#imwQ1k|1Ru=o%g!9}&f{G-v6)3QsPXFyjhV_BJY>jI&)U?XQLXul3>Omh zK#})xtUs`mL4`X9aj5HjeYEHl1Ov*A{6@On4+mHj8bHw{4pU;O$8M;3TQCb&tPh(q zr758}z5N*Kni^R&y9GCJO&3K9MYo_cJ6|=w)t1|uU+T8LjdNsy+C!d#_)W-> zMnrx6cMq$4rnOS>#^Pe>W&~0oMS6Nar+j_6`EeME1cyVO9v*)L6#@UjPuC@++5r1j zd$+qqy9*HIT>OP1bS4M0mp~~)5YFa%f4s^8YtyDpjh&}@xvRrRKiO%gn6Yu3?-S_w zeP8&IBVk~0?K*VG6NK{c;d4!u6cra>*LvXONwo*_4Ge}zdJY(1sC#^7~868wC9ZP86DUO5UA zuM!rB4bBCPZ7@4=;0whCt@l(zpUhWF9duKmhX}PUMgPf2mE#Lp)3R)9?guhC;kzIa zV&TAx+19XWvI6v^^@}q<$cPRI?B$2p+KnPKpGIr6g~q~d`AN_d9K8by0blt{H>#W9 zMY!FWJg)&;1ZcwKQvRx>e!xjW{D~%k_Q9X3Mxx{GomS*Q2Dht|O0o`4gq8M({-&&{ z9iCP^P{qp017!i{`&49Pv12NV(o?5SNx%kna4ass#mV!`Wq7bTCW8Z_%qs7{=82*+ zp}7lPndR!$gKpMT)t+1DQ2dnsW_a9r7|M3P0p5nFW!Gup{W+gTkOqK$4<9UL0o0?@f7J;LREx-NRkg}a-95Hr%E zOhyQd;&xtM4}$mJdFKN|Lei`~Yc4xjw)BAXy2m88p=MoMpQ9@u39zr{9|18x(O=LA zIVWay>)Ur1Po*f}s}IJvympvcy9CI=ZFyPr%9ntSBmVl7P&t6sNo>YIx+3l$I8A#ng}grOBvcnFndd<`xMbm^!Ua{9?N_R$7=y)$Hwnd3EZbPZ2?yOlQE?z*= z5O8;!Yj1@jz2H!m7GBkX3pGg0;kF|Tbo1)cEqF7D-PyO98Q#P+u4(l zSz4NwZM_j3gORPzt^YkqtI^%VAu9vIkBGO^(;(jyns5Dq3JAgpxJU6$r!*b^Hojx)LkSxQjE*Ig(AmM3f3Tb9#q z@O3%k7J?ENQdT&43Q)1hkkdPxb~iD5tX=-a*0R#nZ1pYm8zrsNI_A%qzfd7=c9G0N z)l-XZmIt3Q$j&8=oQj*Yus}cgSJW(Feo-@O^D@Y}c!RkG)^)u$gx!DahJq zmrVYMUd3Bx-p#qW`tLPAOSJ-$ z_ea8jm|HQ1%0_SsjzA;$J*fCv>dl)(kyx>@ix~&EnwMKHdo#CWMRme?nr&%$>aHPK zl>*iXE`QH#>FM3XLOO($FSfooZWg@*fQ%gJ1cFVLP#!$^?X8;qOCkgAug(BGc0$jU zUs!1V*AXrqmyw_vT)h z#4N$1EY(vUxm6|)fR%dRSZWZ#1?%K^?xOeK!Gm%(Ik_*#SC-xjvFmo z)@lEJe_Bl$%0(XosB6*C`?c?iuP=J7c3}N-oDv%Sy4XBwQURNZVI_8o1LH6}aBh~l zS#)nEqsAV6NYI|0vUXhe9z9~$D6#$W<~~SJd3f1`cKbfZVj=SlWbQf=jm-fI!XQLL$G|alJ>Q4-ssxJhtt`t z3%iTD~(R&CS4r3Y}prsk*G3IK@$qA_z z_qdbqlTR9rfGAJx;`zO{aLXn}MwYRr#RaQAab0(thXe&GP1~vmem2<6twAI4Hp`R4 z!C27uQJ!_?6@#HM?N_{4)&A9}x~I>dJ1mwjzvS6aBY60~A3aJK(LnIY0~MIZ5GjT4 zx(A2Hy}mL@+Zzg^P!EVyRPH<=qGQ{= zt>4vRm2|RNH})uhgvA zxjQK6Hi%nta=+dpsI$^6>^r@4CZQLBoRIRvP782rme%Uvao;taB>C-FLc;)w6W~Lp zt-1<3HsDW%!XhG09(5LxX6uhlyT5^U@~WDfTWqfP@l`f$nNS&lDn+$@kgqZ$yaOQv zhwT4&q_VvarGv@RrMt7;YD@1@9mLq?s#v6L?IV;S6ldlwkPJS2gPwe7JFgqY7 znWO^32w0oimP@7RBYkQNEP>HKa}j6I!SvnJp1GZWF&k6PKcpE_Wv>EWYBf(h`t|KQ zC2pETXo;v*uUOph<+&Hz{RBMp>sNE_+AHQG{>sS7nXj1!_)M25=UQF{6Bj zC0WttiQSm6XTJ>XxeUt^Glg_&(IP)st_t4y^+%?^2%4 zb|Itz8G_P|U*Kb)-GTEE~Ifif2LCA9f*=+{2o$h0NiM8#b%G}G?2hZPYF$%TmO~)Yy$2ub1;kPmS zZKgHtC;iMg*dHc%&vHPS1iM2#keE(ulXL(6ZI~lg@};Hm*w|cu@lG{{ajcCN6tf7n z^6Xkc#e+eNPBHg@qSq+$8IwiR8K*)ZJl6BOeXKov4q%X=FqrSbcm!d^t{;cgR?g-W zbH1hMd_Oo(IsDLO+%2t&fgRg0ZXU>ZawZoSFmx8(;?XiG>)@8+jgoKLmLf>JC+N7$ z>sONOk_jHa9kVMIRo=HbLe3Wt5*cRZ;>Ep?b%e2vhQZU_n|On|NN9vEo5~MdOuc!moiF=A*JqNA~~(e$t8Pmx!}6?p)ZCQ8;}!+cJjJozw9 zgV9kmTPzQQ#9dNYce}%YQ!z2!5HGj+4NMC@0>!HM{XCc4BWVehs~WRvGCX|r&KW#m zK#lmtUJd$lgJEA5lmqBfD4t@I0{4X9ylQ}g^@A~To{lUS>LgjG-goymsGK&4Q#Cbj zW)|;3V0zpDVIerVI=Xokl_nnhk9Fp+j=PnfrUWoMmI5aKrJ+GSbVA>*4C>!M6MTQQ zip2S6J?`y4Y}47eF}CqVS=p^c#q+q%Y^LBkJN&hFtio7^qIbuMQq@-7 zEb3Mt4SUm+;?5mA#vJxqc*!IQ2Ic5`&Qk~O0mDFI2M2s7@{w{zg%R;p04mP8<=w(g z1pYX+{_@(mv5qVGgxCMZ_e;F&bEvDu{Nhb8K1JgJa#FTiMy(mEV6<{&nOzA_L?&fB zLp$7By2K}lj5N14cH=^?YAxa(gUb%`cE$VLV$8PJ4a|>`Nl)>OGx)a&~P?W$}9-w7#Nl+(Mdr+0h8wAZ`Ih?tn!c5-s^ z0dJkV3Nc&&}S`cks0C9^aCp&i+iS7t%Ml$izODZPIxu<&JFtGW-y2 zBraRZu@?h_B=chX4(?yvHNU8rNpp;k)^#zGzsRy4u$g?j31rvp6bRBGAt9!>ytUeQ zQF!vPT5V-oe>AtV=gtk9mCW)vMlD|y7rzM}?)L90Pv*||&$E`~W2qVd>Swnne zM2x5U|e3Txd1H zHPoDWYEhvZ91BeKYBtefdS2@Ze>GKhr2(fg94ukB^=#PX+fFZ%Nts~!}0bEF? z2OJv6>J$={SdIf?AJTtv8`|+$dx9rxb@m=U94IB-UU~d@V~e8|uV4F$?Ud0=tYIG% z##%~j9vutnAghFwFuJ7THqkO%C!zP2u|f;kvb(O!?>Vq4nGU}Rwd+&+|DGIsP~#*K m^H<|iGNt~%{ewr_B$sCv#O_<}u};E&=FT$Ey)whn_x}K7kNvs; literal 0 HcmV?d00001 diff --git a/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst b/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst index 3e9f357c8c..3cf92f4409 100644 --- a/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst +++ b/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst @@ -9,8 +9,8 @@ Overview This recipe compares the regional means of sea surface salinity with a reference dataset (ESACCI-SEA-SURFACE-SALINITY v1 or v2 by default). To do this, the recipe generates plots for the timeseries of each region and -a radar plot showing the correlation between dataset and reference timeseries for -each region during the time they both exist. +a radar plot showing the bias and standard deviation ratio between dataset +and reference timeseries for each region during the time they both exist. Preprocessor requirements: -------------------------- @@ -202,8 +202,14 @@ References Example plots ------------- -.. figure:: /recipes/figures/sea_surface_salinity/radar.png +.. figure:: /recipes/figures/sea_surface_salinity/radar_bias.png :align: center - Radar plot showing correlation of average sea surface salinity for multiple + Radar plot showing bias of average sea surface salinity for multiple + regions with the observations + +.. figure:: /recipes/figures/sea_surface_salinity/radar_std.png + :align: center + + Radar plot showing standard deviation ratio of average sea surface salinity for multiple regions with the observations From ef3ba54dbd88a3535199f796be1c7f75437d1271 Mon Sep 17 00:00:00 2001 From: sloosvel Date: Thu, 5 May 2022 17:32:58 +0200 Subject: [PATCH 16/16] Update docu with suggestions --- .../recipes/recipe_sea_surface_salinity.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst b/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst index 3cf92f4409..688502bf03 100644 --- a/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst +++ b/doc/sphinx/source/recipes/recipe_sea_surface_salinity.rst @@ -9,8 +9,11 @@ Overview This recipe compares the regional means of sea surface salinity with a reference dataset (ESACCI-SEA-SURFACE-SALINITY v1 or v2 by default). To do this, the recipe generates plots for the timeseries of each region and -a radar plot showing the bias and standard deviation ratio between dataset -and reference timeseries for each region during the time they both exist. +a radar plot showing (i) the mean state bias, and (ii) the ratio between the +simulated and observed standard deviations of different regional averages of +sea surface salinity, calculated in the temporal window for which observations +and simulations overlap. + Preprocessor requirements: -------------------------- @@ -205,11 +208,13 @@ Example plots .. figure:: /recipes/figures/sea_surface_salinity/radar_bias.png :align: center - Radar plot showing bias of average sea surface salinity for multiple - regions with the observations + Radar plot showing the mean state biases (simulation minus observations) + for the regional averages of sea surface salinity in the selected + ocean basins and seas. .. figure:: /recipes/figures/sea_surface_salinity/radar_std.png :align: center - Radar plot showing standard deviation ratio of average sea surface salinity for multiple - regions with the observations + Radar plot showing the ratio between the simulated and observed standard deviations + of the regional averages of sea surface salinity in the selected + ocean basins and seas.