diff --git a/.gitattributes b/.gitattributes index 1d1e82db..52939567 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,7 @@ -*fits binary *fit binary -*fts binary *fit.gz binary +*fits binary *fits.gz binary +*fts binary *fts.gz binary +*npz binary diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d1e96ad7..ea936a7c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.7.2" + rev: "v0.7.3" hooks: - id: ruff args: ["--fix"] @@ -31,11 +31,11 @@ repos: - id: codespell args: [ "--write-changes" ] - repo: https://github.com/crate-ci/typos - rev: v1.23.1 + rev: typos-dict-v0.11.35 hooks: - id: typos - repo: https://github.com/pre-commit/mirrors-mypy - rev: "v1.10.1" + rev: "v1.13.0" hooks: - id: mypy additional_dependencies: ["types-setuptools"] diff --git a/changelog/215.bugfix.rst b/changelog/215.bugfix.rst new file mode 100644 index 00000000..b4c8d07b --- /dev/null +++ b/changelog/215.bugfix.rst @@ -0,0 +1 @@ +Within `sunkit_image.enhance.mgn`, the input data is now cast to float32 to work around int/float being cast to each other causing an error. diff --git a/changelog/215.trivial.rst b/changelog/215.trivial.rst new file mode 100644 index 00000000..e03fbfba --- /dev/null +++ b/changelog/215.trivial.rst @@ -0,0 +1 @@ +Added unit tests with a JSOC cutout file. diff --git a/pytest.ini b/pytest.ini index 394ab15c..49c94ef0 100644 --- a/pytest.ini +++ b/pytest.ini @@ -45,23 +45,10 @@ filterwarnings = # is being ignored # # - # https://github.com/pytest-dev/pytest-cov/issues/557 - ignore:The --rsyncdir command line argument and rsyncdirs config variable are deprecated.:DeprecationWarning + # // These come from the oldestdeps run // # This is due to dependencies building with a numpy version different from # the local installed numpy version, but should be fine # See https://github.com/numpy/numpy/issues/15748#issuecomment-598584838 - ignore:numpy.ufunc size changed:RuntimeWarning - ignore:numpy.ndarray size changed:RuntimeWarning - # sunpy warning, TODO update the tests to avoid raising this warning - ignore:Missing metadata for observer:sunpy.util.exceptions.SunpyMetadataWarning - ignore:Missing metadata for observation time:sunpy.util.exceptions.SunpyMetadataWarning - ignore:distutils Version classes are deprecated:DeprecationWarning - ignore:Starting with ImageIO v3 the behavior of this function will:DeprecationWarning - ignore:Please use `gaussian_filter` from the `scipy.ndimage` namespace:DeprecationWarning - ignore:Please use `laplace` from the `scipy.ndimage` namespace:DeprecationWarning - ignore:.*Deprecated NumPy 1.24.*:DeprecationWarning - ignore:'cgi' deprecated and slated for removal in Python 3.13:DeprecationWarning - # astropy/utils/iers/iers.py:1115: in auto_open good_enough = cls._today() + TimeDelta(offset, format="jd") - ignore:datetime.datetime.utc:DeprecationWarning + ignore:.*may indicate binary incompatibility.*:RuntimeWarning ignore:leap-second file is expired:astropy.utils.iers.iers.IERSStaleWarning ignore:leap-second auto-update failed:astropy.utils.exceptions.AstropyWarning diff --git a/sunkit_image/asda.py b/sunkit_image/asda.py index a7fdd121..32fab622 100644 --- a/sunkit_image/asda.py +++ b/sunkit_image/asda.py @@ -1,391 +1,391 @@ -""" -This module contains an implementation of the Automated Swirl Detection -Algorithm (ASDA). -""" - -import warnings -from itertools import product - -import numpy as np -from skimage import measure - -from sunkit_image.utils import calculate_gamma, points_in_poly, reform2d, remove_duplicate - -__all__ = [ - "generate_velocity_field", - "calculate_gamma_values", - "get_vortex_edges", - "get_vortex_properties", - "get_vortex_meshgrid", - "get_rotational_velocity", - "get_radial_velocity", - "get_velocity_field", -] - - -def generate_velocity_field(vx, vy, i, j, r=3): - """ - Given a point ``[i, j]``, generate a velocity field which contains a region - with a size of ``(2r+1) x (2r+1)`` centered at ``[i, j]`` from the original - velocity field ``vx`` and ``vy``. - - Parameters - ---------- - vx : `numpy.ndarray` - Velocity field in the x direction. - vy : `numpy.ndarray` - Velocity field in the y direction. - i : `int` - first dimension of the pixel position of a target point. - j : `int` - second dimension of the pixel position of a target point. - r : `int`, optional - Maximum distance of neighbor points from target point. - Default value is 3. - - Returns - ------- - `numpy.ndarray` - The first dimension is a velocity field which contains a - region with a size of ``(2r+1) x (2r+1)`` centered at ``[i, j]`` from - the original velocity field ``vx`` and ``vy``. - the second dimension is similar as the first dimension, but - with the mean velocity field subtracted from the original - velocity field. - """ - if vx.shape != vy.shape: - msg = "Shape of velocity field's vx and vy do not match" - raise ValueError(msg) - if not isinstance(r, int): - msg = "Keyword 'r' must be an integer" - raise TypeError(msg) - vel = np.array( - [[vx[i + im, j + jm], vy[i + im, j + jm]] for im in np.arange(-r, r + 1) for jm in np.arange(-r, r + 1)], - ) - return np.array([vel, vel - vel.mean(axis=0)]) - - -def calculate_gamma_values(vx, vy, factor=1, r=3): - """ - Calculate ``gamma1`` and ``gamma2`` values of velocity field vx and vy. - - Parameters - ---------- - vx : `numpy.ndarray` - Velocity field in the x direction. - vy : `numpy.ndarray` - Velocity field in the y direction. - factor : `int`, optional - Magnify the original data to find sub-grid vortex center and boundary. - Default value is 1. - r : `int`, optional - Maximum distance of neighbor points from target point. - Default value is 3. - - Returns - ------- - `tuple` - A tuple in form of ``(gamma1, gamma2)``, where ``gamma1`` is useful in - finding vortex centers and ``gamma2`` is useful in finding vortex - edges. - """ - - if vx.shape != vy.shape: - msg = "Shape of velocity field's vx and vy do not match" - raise ValueError(msg) - if not isinstance(r, int): - msg = "Keyword 'r' must be an integer" - raise TypeError(msg) - if not isinstance(factor, int): - msg = "Keyword 'factor' must be an integer" - raise TypeError(msg) - - # This part of the code was written in (x, y) order - # but numpy is in (y, x) order so we need to transpose it - dshape = np.shape(vx) - vx = vx.T - vy = vy.T - if factor > 1: - vx = reform2d(vx, factor) - vy = reform2d(vy, factor) - gamma = np.array([np.zeros_like(vx), np.zeros_like(vy)]).T - # pm vectors, see equation (8) in Graftieaux et al. 2001 or Equation (1) in Liu et al. 2019 - pm = np.array( - [[i, j] for i in np.arange(-r, r + 1) for j in np.arange(-r, r + 1)], - dtype=float, - ) - # Mode of vector pm - pnorm = np.linalg.norm(pm, axis=1) - # Number of points in the concerned region - N = (2 * r + 1) ** 2 - - index = np.array( - [[i, j] for i in np.arange(r, dshape[0] - r) for j in np.arange(r, dshape[1] - r)], - ) - index = index.T - vel = generate_velocity_field(vx, vy, index[1], index[0], r) - for d, (i, j) in enumerate( - product(np.arange(r, dshape[0] - r, 1), np.arange(r, dshape[1] - r, 1)), - ): - gamma[i, j, 0], gamma[i, j, 1] = calculate_gamma(pm, vel[..., d], pnorm, N) - # Transpose back vx & vy - vx = vx.T - vy = vy.T - return gamma - - -def get_vortex_edges(gamma, rmin=4, gamma_min=0.89, factor=1): - """ - Find all swirls from ``gamma1``, and ``gamma2``. - - Parameters - ---------- - gamma : `tuple` - A tuple in form of ``(gamma1, gamma2)``, where ``gamma1`` is useful in - finding vortex centers and ``gamma2`` is useful in finding vortex - edges. - rmin : `int`, optional - Minimum radius of swirls, all swirls with radius less than ``rmin`` will be rejected. - Defaults to 4. - gamma_min : `float`, optional - Minimum value of ``gamma1``, all potential swirls with - peak ``gamma1`` values less than ``gamma_min`` will be rejected. - factor : `int`, optional - Magnify the original data to find sub-grid vortex center and boundary. - Default value is 1. - - Returns - ------- - `dict` - The keys and their meanings of the dictionary are: - ``center`` : Center locations of vortices, in the form of ``[x, y]``. - ``edge`` : Edge locations of vortices, in the form of ``[x, y]``. - ``points`` : All points within vortices, in the form of ``[x, y]``. - ``peak`` : Maximum/minimum gamma1 values in vortices. - ``radius`` : Equivalent radius of vortices. - All results are in pixel coordinates. - """ - if not isinstance(factor, int): - msg = "Keyword 'factor' must be an integer" - raise TypeError(msg) - - edge_prop = {"center": (), "edge": (), "points": (), "peak": (), "radius": ()} - cs = np.array(measure.find_contours(gamma[..., 1].T, -2 / np.pi), dtype=object) - cs_pos = np.array(measure.find_contours(gamma[..., 1].T, 2 / np.pi), dtype=object) - if len(cs) == 0: - cs = cs_pos - elif len(cs_pos) != 0: - cs = np.append(cs, cs_pos, 0) - for i in range(np.shape(cs)[0]): - v = np.rint(cs[i].astype(np.float32)) - v = remove_duplicate(v) - # Find all points in the contour - ps = points_in_poly(v) - dust = [gamma[..., 0][int(p[1]), int(p[0])] for p in ps] - # Determine swirl properties - if len(dust) > 1: - # Effective radius - re = np.sqrt(np.array(ps).shape[0] / np.pi) / factor - # Only consider swirls with re >= rmin and maximum gamma1 value greater than gamma_min - if np.max(np.fabs(dust)) >= gamma_min and re >= rmin: - # Extract the index, only first dimension - idx = np.where(np.fabs(dust) == np.max(np.fabs(dust)))[0][0] - edge_prop["center"] += (np.array(ps[idx]) / factor,) - edge_prop["edge"] += (np.array(v) / factor,) - edge_prop["points"] += (np.array(ps) / factor,) - edge_prop["peak"] += (dust[idx],) - edge_prop["radius"] += (re,) - return edge_prop - - -def get_vortex_properties(vx, vy, edge_prop, image=None): - """ - Calculate expanding, rotational speed, equivalent radius and average - intensity of given swirls. - - Parameters - ---------- - vx : `numpy.ndarray` - Velocity field in the x direction. - vy : `numpy.ndarray` - Velocity field in the y direction. - edge_prop : `dict` - The keys and their meanings of the dictionary are: - ``center`` : Center locations of vortices, in the form of ``[x, y]``. - ``edge`` : Edge locations of vortices, in the form of ``[x, y]``. - ``points`` : All points within vortices, in the form of ``[x, y]``. - ``peak`` : Maximum/minimum gamma1 values in vortices. - ``radius`` : Equivalent radius of vortices. - All results are in pixel coordinates. - image : `numpy.ndarray` - Has to have the same shape as ``vx`` observational image, - which will be used to calculate the average observational values of all swirls. - - Returns - ------- - `tuple` - The returned tuple has four components, which are: - - ``ve`` : expanding speed, in the same unit as ``vx`` or ``vy``. - ``vr`` : rotational speed, in the same unit as ``vx`` or ``vy``. - ``vc`` : velocity of the center, in the form of ``[vx, vy]``. - ``ia`` : average of the observational values within the vortices if the parameter image is given. - """ - if vx.shape != vy.shape: - msg = "Shape of velocity field's vx and vy do not match" - raise ValueError(msg) - - ve, vr, vc, ia = (), (), (), () - for i in range(len(edge_prop["center"])): - # Centre and edge of i-th swirl - cen = edge_prop["center"][i] - edg = edge_prop["edge"][i] - # Points of i-th swirl - pnt = np.array(edge_prop["points"][i], dtype=int) - # Calculate velocity of the center - vc += ( - [ - vx[int(round(cen[1])), int(round(cen[0]))], - vy[int(round(cen[1])), int(round(cen[0]))], - ], - ) - # Calculate average the observational values - if image is None: - ia += (None,) - else: - value = sum(image[pos[1], pos[0]] for pos in pnt) - ia += (value / pnt.shape[0],) - ve0, vr0 = [], [] - for j in range(edg.shape[0]): - # Edge position - idx = [edg[j][0], edg[j][1]] - # Eadial vector from swirl center to a point at its edge - pm = [idx[0] - cen[0], idx[1] - cen[1]] - # Tangential vector - tn = [cen[1] - idx[1], idx[0] - cen[0]] - # Velocity vector - v = [vx[int(idx[1]), int(idx[0])], vy[int(idx[1]), int(idx[0])]] - ve0.append(np.dot(v, pm) / np.linalg.norm(pm)) - vr0.append(np.dot(v, tn) / np.linalg.norm(tn)) - ve += (np.nanmean(ve0),) - vr += (np.nanmean(vr0),) - return ve, vr, vc, ia - - -def get_vortex_meshgrid(x_range, y_range): - """ - Returns a meshgrid of the coordinates of the vortex. - - Parameters - ---------- - x_range : `list` - Range of the x coordinates of the meshgrid. - y_range : `list` - Range of the y coordinates of the meshgrid. - - Return - ------ - `tuple` - Contains the meshgrids generated. - """ - xx, yy = np.meshgrid(np.arange(x_range[0], x_range[1]), np.arange(y_range[0], y_range[1])) - return xx, yy - - -def get_rotational_velocity(gamma, rcore, r=0): - """ - Calculate rotation speed at radius of ``r``. - - Parameters - ---------- - gamma : `float`, optional - A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - rcore : `float`, optional - A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - r : `float`, optional - Radius which defaults to 0. - - Return - ------ - `float` - Rotating speed at radius of ``r``. - """ - r = r + 1e-10 - return gamma * (1.0 - np.exp(0 - np.square(r) / np.square(rcore))) / (2 * np.pi * r) - - -def get_radial_velocity(gamma, rcore, ratio_vradial, r=0): - """ - Calculate radial (expanding or shrinking) speed at radius of ``r``. - - Parameters - ---------- - gamma : `float`, optional - A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - rcore : `float`, optional - A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - ratio_vradial : `float`, optional - Ratio between expanding/shrinking speed and rotating speed. - Defaults to 0. - r : `float`, optional - Radius which defaults to 0. - - Return - ------ - `float` - Radial speed at the radius of ``r``. - """ - r = r + 1e-10 - return get_rotational_velocity(gamma, rcore, r) * ratio_vradial - - -def get_velocity_field(gamma, rcore, ratio_vradial, x_range, y_range, x=None, y=None): - """ - Calculates the velocity field in a meshgrid generated with ``x_range`` and - ``y_range``. - - Parameters - ---------- - gamma : `float`, optional - A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - rcore : `float`, optional - A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. - Defaults to `None`. - ratio_vradial : `float`, optional - Ratio between expanding/shrinking speed and rotating speed. - Defaults to 0. - x_range : `list` - Range of the x coordinates of the meshgrid. - y_range : `list` - range of the y coordinates of the meshgrid. - x, y : `numpy.meshgrid`, optional - If both are given, ``x_range`` and ``y_range`` will be ignored. - Defaults to None``. - - Return - ------ - `tuple` - The generated velocity field ``(vx, vy)``. - """ - if x is None or y is None: - # Check if one of the input parameters is None but the other one is not None - if x != y: - warnings.warn("One of the input parameters is missing, setting both to 'None'", stacklevel=3) - x, y = None, None - # Creating mesh grid - x, y = get_vortex_meshgrid(x_range=x_range, y_range=y_range) - # Calculate radius - r = np.sqrt(np.square(x) + np.square(y)) + 1e-10 - # Calculate velocity vector - vector = [ - 0 - get_rotational_velocity(gamma, rcore, r) * y + get_radial_velocity(gamma, rcore, ratio_vradial, r) * x, - get_rotational_velocity(gamma, rcore, r) * x + get_radial_velocity(gamma, rcore, ratio_vradial, r) * y, - ] - vx = vector[0] / r - vy = vector[1] / r - return vx, vy +""" +This module contains an implementation of the Automated Swirl Detection +Algorithm (ASDA). +""" + +import warnings +from itertools import product + +import numpy as np +from skimage import measure + +from sunkit_image.utils import calculate_gamma, points_in_poly, reform2d, remove_duplicate + +__all__ = [ + "generate_velocity_field", + "calculate_gamma_values", + "get_vortex_edges", + "get_vortex_properties", + "get_vortex_meshgrid", + "get_rotational_velocity", + "get_radial_velocity", + "get_velocity_field", +] + + +def generate_velocity_field(vx, vy, i, j, r=3): + """ + Given a point ``[i, j]``, generate a velocity field which contains a region + with a size of ``(2r+1) x (2r+1)`` centered at ``[i, j]`` from the original + velocity field ``vx`` and ``vy``. + + Parameters + ---------- + vx : `numpy.ndarray` + Velocity field in the x direction. + vy : `numpy.ndarray` + Velocity field in the y direction. + i : `int` + first dimension of the pixel position of a target point. + j : `int` + second dimension of the pixel position of a target point. + r : `int`, optional + Maximum distance of neighbor points from target point. + Default value is 3. + + Returns + ------- + `numpy.ndarray` + The first dimension is a velocity field which contains a + region with a size of ``(2r+1) x (2r+1)`` centered at ``[i, j]`` from + the original velocity field ``vx`` and ``vy``. + the second dimension is similar as the first dimension, but + with the mean velocity field subtracted from the original + velocity field. + """ + if vx.shape != vy.shape: + msg = "Shape of velocity field's vx and vy do not match" + raise ValueError(msg) + if not isinstance(r, int): + msg = "Keyword 'r' must be an integer" + raise TypeError(msg) + vel = np.array( + [[vx[i + im, j + jm], vy[i + im, j + jm]] for im in np.arange(-r, r + 1) for jm in np.arange(-r, r + 1)], + ) + return np.array([vel, vel - vel.mean(axis=0)]) + + +def calculate_gamma_values(vx, vy, factor=1, r=3): + """ + Calculate ``gamma1`` and ``gamma2`` values of velocity field vx and vy. + + Parameters + ---------- + vx : `numpy.ndarray` + Velocity field in the x direction. + vy : `numpy.ndarray` + Velocity field in the y direction. + factor : `int`, optional + Magnify the original data to find sub-grid vortex center and boundary. + Default value is 1. + r : `int`, optional + Maximum distance of neighbor points from target point. + Default value is 3. + + Returns + ------- + `tuple` + A tuple in form of ``(gamma1, gamma2)``, where ``gamma1`` is useful in + finding vortex centers and ``gamma2`` is useful in finding vortex + edges. + """ + + if vx.shape != vy.shape: + msg = "Shape of velocity field's vx and vy do not match" + raise ValueError(msg) + if not isinstance(r, int): + msg = "Keyword 'r' must be an integer" + raise TypeError(msg) + if not isinstance(factor, int): + msg = "Keyword 'factor' must be an integer" + raise TypeError(msg) + + # This part of the code was written in (x, y) order + # but numpy is in (y, x) order so we need to transpose it + dshape = np.shape(vx) + vx = vx.T + vy = vy.T + if factor > 1: + vx = reform2d(vx, factor) + vy = reform2d(vy, factor) + gamma = np.array([np.zeros_like(vx), np.zeros_like(vy)]).T + # pm vectors, see equation (8) in Graftieaux et al. 2001 or Equation (1) in Liu et al. 2019 + pm = np.array( + [[i, j] for i in np.arange(-r, r + 1) for j in np.arange(-r, r + 1)], + dtype=float, + ) + # Mode of vector pm + pnorm = np.linalg.norm(pm, axis=1) + # Number of points in the concerned region + N = (2 * r + 1) ** 2 + + index = np.array( + [[i, j] for i in np.arange(r, dshape[0] - r) for j in np.arange(r, dshape[1] - r)], + ) + index = index.T + vel = generate_velocity_field(vx, vy, index[1], index[0], r) + for d, (i, j) in enumerate( + product(np.arange(r, dshape[0] - r, 1), np.arange(r, dshape[1] - r, 1)), + ): + gamma[i, j, 0], gamma[i, j, 1] = calculate_gamma(pm, vel[..., d], pnorm, N) + # Transpose back vx & vy + vx = vx.T + vy = vy.T + return gamma + + +def get_vortex_edges(gamma, rmin=4, gamma_min=0.89, factor=1): + """ + Find all swirls from ``gamma1``, and ``gamma2``. + + Parameters + ---------- + gamma : `tuple` + A tuple in form of ``(gamma1, gamma2)``, where ``gamma1`` is useful in + finding vortex centers and ``gamma2`` is useful in finding vortex + edges. + rmin : `int`, optional + Minimum radius of swirls, all swirls with radius less than ``rmin`` will be rejected. + Defaults to 4. + gamma_min : `float`, optional + Minimum value of ``gamma1``, all potential swirls with + peak ``gamma1`` values less than ``gamma_min`` will be rejected. + factor : `int`, optional + Magnify the original data to find sub-grid vortex center and boundary. + Default value is 1. + + Returns + ------- + `dict` + The keys and their meanings of the dictionary are: + ``center`` : Center locations of vortices, in the form of ``[x, y]``. + ``edge`` : Edge locations of vortices, in the form of ``[x, y]``. + ``points`` : All points within vortices, in the form of ``[x, y]``. + ``peak`` : Maximum/minimum gamma1 values in vortices. + ``radius`` : Equivalent radius of vortices. + All results are in pixel coordinates. + """ + if not isinstance(factor, int): + msg = "Keyword 'factor' must be an integer" + raise TypeError(msg) + + edge_prop = {"center": (), "edge": (), "points": (), "peak": (), "radius": ()} + cs = np.array(measure.find_contours(gamma[..., 1].T, -2 / np.pi), dtype=object) + cs_pos = np.array(measure.find_contours(gamma[..., 1].T, 2 / np.pi), dtype=object) + if len(cs) == 0: + cs = cs_pos + elif len(cs_pos) != 0: + cs = np.append(cs, cs_pos, 0) + for i in range(np.shape(cs)[0]): + v = np.rint(cs[i].astype(np.float32)) + v = remove_duplicate(v) + # Find all points in the contour + ps = points_in_poly(v) + dust = [gamma[..., 0][int(p[1]), int(p[0])] for p in ps] + # Determine swirl properties + if len(dust) > 1: + # Effective radius + re = np.sqrt(np.array(ps).shape[0] / np.pi) / factor + # Only consider swirls with re >= rmin and maximum gamma1 value greater than gamma_min + if np.max(np.fabs(dust)) >= gamma_min and re >= rmin: + # Extract the index, only first dimension + idx = np.where(np.fabs(dust) == np.max(np.fabs(dust)))[0][0] + edge_prop["center"] += (np.array(ps[idx]) / factor,) + edge_prop["edge"] += (np.array(v) / factor,) + edge_prop["points"] += (np.array(ps) / factor,) + edge_prop["peak"] += (dust[idx],) + edge_prop["radius"] += (re,) + return edge_prop + + +def get_vortex_properties(vx, vy, edge_prop, image=None): + """ + Calculate expanding, rotational speed, equivalent radius and average + intensity of given swirls. + + Parameters + ---------- + vx : `numpy.ndarray` + Velocity field in the x direction. + vy : `numpy.ndarray` + Velocity field in the y direction. + edge_prop : `dict` + The keys and their meanings of the dictionary are: + ``center`` : Center locations of vortices, in the form of ``[x, y]``. + ``edge`` : Edge locations of vortices, in the form of ``[x, y]``. + ``points`` : All points within vortices, in the form of ``[x, y]``. + ``peak`` : Maximum/minimum gamma1 values in vortices. + ``radius`` : Equivalent radius of vortices. + All results are in pixel coordinates. + image : `numpy.ndarray` + Has to have the same shape as ``vx`` observational image, + which will be used to calculate the average observational values of all swirls. + + Returns + ------- + `tuple` + The returned tuple has four components, which are: + + ``ve`` : expanding speed, in the same unit as ``vx`` or ``vy``. + ``vr`` : rotational speed, in the same unit as ``vx`` or ``vy``. + ``vc`` : velocity of the center, in the form of ``[vx, vy]``. + ``ia`` : average of the observational values within the vortices if the parameter image is given. + """ + if vx.shape != vy.shape: + msg = "Shape of velocity field's vx and vy do not match" + raise ValueError(msg) + + ve, vr, vc, ia = (), (), (), () + for i in range(len(edge_prop["center"])): + # Centre and edge of i-th swirl + cen = edge_prop["center"][i] + edg = edge_prop["edge"][i] + # Points of i-th swirl + pnt = np.array(edge_prop["points"][i], dtype=int) + # Calculate velocity of the center + vc += ( + [ + vx[int(round(cen[1])), int(round(cen[0]))], + vy[int(round(cen[1])), int(round(cen[0]))], + ], + ) + # Calculate average the observational values + if image is None: + ia += (None,) + else: + value = sum(image[pos[1], pos[0]] for pos in pnt) + ia += (value / pnt.shape[0],) + ve0, vr0 = [], [] + for j in range(edg.shape[0]): + # Edge position + idx = [edg[j][0], edg[j][1]] + # Eadial vector from swirl center to a point at its edge + pm = [idx[0] - cen[0], idx[1] - cen[1]] + # Tangential vector + tn = [cen[1] - idx[1], idx[0] - cen[0]] + # Velocity vector + v = [vx[int(idx[1]), int(idx[0])], vy[int(idx[1]), int(idx[0])]] + ve0.append(np.dot(v, pm) / np.linalg.norm(pm)) + vr0.append(np.dot(v, tn) / np.linalg.norm(tn)) + ve += (np.nanmean(ve0),) + vr += (np.nanmean(vr0),) + return ve, vr, vc, ia + + +def get_vortex_meshgrid(x_range, y_range): + """ + Returns a meshgrid of the coordinates of the vortex. + + Parameters + ---------- + x_range : `list` + Range of the x coordinates of the meshgrid. + y_range : `list` + Range of the y coordinates of the meshgrid. + + Return + ------ + `tuple` + Contains the meshgrids generated. + """ + xx, yy = np.meshgrid(np.arange(x_range[0], x_range[1]), np.arange(y_range[0], y_range[1])) + return xx, yy + + +def get_rotational_velocity(gamma, rcore, r=0): + """ + Calculate rotation speed at radius of ``r``. + + Parameters + ---------- + gamma : `float`, optional + A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + rcore : `float`, optional + A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + r : `float`, optional + Radius which defaults to 0. + + Return + ------ + `float` + Rotating speed at radius of ``r``. + """ + r = r + 1e-10 + return gamma * (1.0 - np.exp(0 - np.square(r) / np.square(rcore))) / (2 * np.pi * r) + + +def get_radial_velocity(gamma, rcore, ratio_vradial, r=0): + """ + Calculate radial (expanding or shrinking) speed at radius of ``r``. + + Parameters + ---------- + gamma : `float`, optional + A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + rcore : `float`, optional + A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + ratio_vradial : `float`, optional + Ratio between expanding/shrinking speed and rotating speed. + Defaults to 0. + r : `float`, optional + Radius which defaults to 0. + + Return + ------ + `float` + Radial speed at the radius of ``r``. + """ + r = r + 1e-10 + return get_rotational_velocity(gamma, rcore, r) * ratio_vradial + + +def get_velocity_field(gamma, rcore, ratio_vradial, x_range, y_range, x=None, y=None): + """ + Calculates the velocity field in a meshgrid generated with ``x_range`` and + ``y_range``. + + Parameters + ---------- + gamma : `float`, optional + A replacement for ``vmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + rcore : `float`, optional + A replacement for ``rmax`` and only used if both ``gamma`` and ``rcore`` are not `None`. + Defaults to `None`. + ratio_vradial : `float`, optional + Ratio between expanding/shrinking speed and rotating speed. + Defaults to 0. + x_range : `list` + Range of the x coordinates of the meshgrid. + y_range : `list` + range of the y coordinates of the meshgrid. + x, y : `numpy.meshgrid`, optional + If both are given, ``x_range`` and ``y_range`` will be ignored. + Defaults to None``. + + Return + ------ + `tuple` + The generated velocity field ``(vx, vy)``. + """ + if x is None or y is None: + # Check if one of the input parameters is None but the other one is not None + if x != y: + warnings.warn("One of the input parameters is missing, setting both to 'None'", stacklevel=3) + x, y = None, None + # Creating mesh grid + x, y = get_vortex_meshgrid(x_range=x_range, y_range=y_range) + # Calculate radius + r = np.sqrt(np.square(x) + np.square(y)) + 1e-10 + # Calculate velocity vector + vector = [ + 0 - get_rotational_velocity(gamma, rcore, r) * y + get_radial_velocity(gamma, rcore, ratio_vradial, r) * x, + get_rotational_velocity(gamma, rcore, r) * x + get_radial_velocity(gamma, rcore, ratio_vradial, r) * y, + ] + vx = vector[0] / r + vy = vector[1] / r + return vx, vy diff --git a/sunkit_image/conftest.py b/sunkit_image/conftest.py index 5fb35fb3..298d134d 100644 --- a/sunkit_image/conftest.py +++ b/sunkit_image/conftest.py @@ -179,9 +179,12 @@ def aia_171(request): with warnings.catch_warnings(): warnings.simplefilter("ignore", category=VerifyWarning) smap = sunpy.map.Map(sunpy.data.sample.AIA_171_IMAGE) - if request.param == "map": - return smap - return smap.data if request.param == "array" else None + return smap if request.param == "map" else smap.data + + +@pytest.fixture() +def aia_171_cutout(): + return sunpy.map.Map(get_test_filepath("aia_171_cutout.fits")) @pytest.fixture() diff --git a/sunkit_image/data/test/__init__.py b/sunkit_image/data/test/__init__.py index a63deb13..833a0447 100644 --- a/sunkit_image/data/test/__init__.py +++ b/sunkit_image/data/test/__init__.py @@ -2,12 +2,7 @@ from astropy.utils.data import get_pkg_data_filename -import sunkit_image - -__all__ = ["rootdir", "file_list", "get_test_filepath"] - -rootdir = Path(sunkit_image.__file__).parent / "data" / "test" -file_list = Path(rootdir).glob("/*.[!p]*") +__all__ = ["get_test_filepath"] def get_test_filepath(filename, **kwargs): diff --git a/sunkit_image/data/test/aia_171_cutout.fits b/sunkit_image/data/test/aia_171_cutout.fits new file mode 100644 index 00000000..b4936d96 --- /dev/null +++ b/sunkit_image/data/test/aia_171_cutout.fits @@ -0,0 +1,2244 @@ +SIMPLE = T / file does conform to FITS standard BITPIX = 8 / number of bits per data pixel NAXIS = 0 / number of data axes EXTEND = T / FITS dataset may contain extensions COMMENT FITS (Flexible Image Transport System) format is defined in 'AstronomyCOMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H END XTENSION= 'BINTABLE' / binary table extension BITPIX = 8 / 8-bit bytes NAXIS = 2 / 2-dimensional binary table NAXIS1 = 8 / width of table in bytes NAXIS2 = 705 / number of rows in table PCOUNT = 477057 / size of special data area GCOUNT = 1 / one data group (required keyword) TFIELDS = 1 / number of fields in each row TTYPE1 = 'COMPRESSED_DATA' / label for field 1 TFORM1 = '1PB(806)' / data format of field: variable length array ZIMAGE = T / extension contains compressed image ZSIMPLE = T / file does conform to FITS standard ZBITPIX = 16 / data type of original image ZNAXIS = 2 / dimension of original image ZNAXIS1 = 769 / length of original image axis ZNAXIS2 = 705 / length of original image axis ZTILE1 = 769 / size of tiles to be compressed ZTILE2 = 1 / size of tiles to be compressed ZCMPTYPE= 'RICE_1 ' / compression algorithm ZNAME1 = 'BLOCKSIZE' / compression block size ZVAL1 = 32 / pixels per block ZNAME2 = 'BYTEPIX ' / bytes per pixel (1, 2, 4, or 8) ZVAL2 = 2 / bytes per pixel (1, 2, 4, or 8) T_REC = '2013-03-10T12:00:01.000' / [ISO] Slotted observation time WAVELNTH= 171 / [angstrom] Wavelength DATE = '2023-08-12T00:35:15.000' / [ISO] Date_time of processing; ISO 8601 FSN = 63978590 / FSN Filtergram Sequence Number EXPTIME = 1.9996049999999999 / [sec] Exposure duration: mean shutter open timeQUALITY = 0 / Level 1 Quality word LVL_NUM = 1. / LVL_NUM data level number ORIGIN = 'SDO/JSOC-SDP' / ORIGIN Location where file made TELESCOP= 'SDO/AIA ' / For AIA: SDO/AIA INSTRUME= 'AIA_3 ' / For AIA: AIA_ATA1, AIA_ATA2, AIA_ATA3 or AIA_ATDATE-OBS= '2013-03-10T12:00:11.341' / [ISO] Date when observation started; ISO 8T_OBS = '2013-03-10T12:00:12.341' / [ISO] Observation time CAMERA = 3 / For AIA: 1, 2, 3 or 4 IMG_TYPE= 'LIGHT ' / Image type: LIGHT or DARK DATAMIN = 35 / Minimum value of all pixels EXPSDEV = 0.00014741437900000001 / [sec] Exposure standard deviation INT_TIME= 2.2734375 / [sec] CCD integration duration DATAMEAN= 485.60272200000003 / Mean value of all pixels WAVEUNIT= 'angstrom' / Wavelength unit: angstrom DATARMS = 545.021118 / Rms deviation from the mean value of all pixelsWAVE_STR= '171_THIN' / Wavelength_FilterPosition DATACENT= 280.91540500000002 / Median value of center column of the image FID = 0 / FID Filtergram ID QUALLEV0= 0 / Level 0 Quality word TOTVALS = 16777216 / Expected number of data values (pixels) DATAVALS= 542145 / Actual number of data values in image MISSVALS= 16235071 / Missing values: TOTVALS PERCENTD= 100. / Percent data; 100*DATAVALS/TOTVALS DATAMAX = 8024 / Maximum value of all pixels NSATPIX = 0 / Number of saturated pixels detected in image DATAMEDN= 290 / Median value of all pixels DATASKEW= 3.00361156 / Skewness from the mean value of all pixels NSPIKES = 366 / Number of cosmic ray affected pixels detected iDATAKURT= 12.2741585 / Kurtosis of all pixels DATAP01 = 0. / DATAP01 DATAP10 = 8. / DATAP10 DATAP25 = 20. / DATAP25 CRPIX1 = 128.850098 / [pixel] CRPIX1: location of sun center in CCD xDATAP75 = 285. / DATAP75 DATAP90 = 506. / DATAP90 DATAP95 = 728. / DATAP95 DATAP98 = 1121. / DATAP98 DATAP99 = 1532. / DATAP99 CRPIX2 = 770.56994599999996 / [pixel] CRPIX2: location of sun center in CCD yOSCNMEAN= / (MISSING) Mean value of oversan rows OSCNRMS = / (MISSING) Rms deviation from the mean value of FLAT_REC= 'aia.flatfield[:#135]' / Flatfield series record pointer CTYPE1 = 'HPLN-TAN' / CTYPE1; Typically HPLN CUNIT1 = 'arcsec ' / CUNIT1; Typically arcsec CRVAL1 = 0. / [arcsec/pixel] CRVAL1: image scale in the x dirCDELT1 = 0.59948897400000001 / [arcsec/pixel] CDELT1: image scale in the x dirCTYPE2 = 'HPLT-TAN' / CTYPE2; Typically HPLT CUNIT2 = 'arcsec ' / CUNIT2; Typically arcsec CRVAL2 = 0. / [arcsec/pixel] CRVAL2: image scale in the x dirCDELT2 = 0.59948897400000001 / [arcsec/pixel] CDELT2: image scale in the y dirCROTA2 = 0.0191973317 / [degree] CROTA2: INST_ROT + SAT_ROT R_SUN = 1611.47046 / [pixel] Radius of the Sun in pixels on the CCD MPO_REC = 'sdo.master_pointing[:#549]' / Master Pointing series record pointer INST_ROT= 0.019326999800000001 / [deg] Master pointing CCD rotation wrt SDO Z axIMSCL_MP= 0.59948897400000001 / [arcsec/pixel] Master pointing image scale X0_MP = 2052.8501000000001 / [pixel] Master pointing X0 sun center in CCD frY0_MP = 2046.5699500000001 / [pixel] Master pointing Y0 sun center in CCD frASD_REC = 'sdo.lev0_asd_0004[:#24543760]' / Ancillary Science Data series recordSAT_Y0 = -7.5134630199999997 / [arcsec] Position of solar center wrt the SDO SAT_Z0 = 9.6419811200000005 / [arcsec] Position of solar center wrt the SDO ZSAT_ROT = -0.00012966892999999999 / [deg] Angle of solar pole wrt the SDO X axisACS_MODE= 'SCIENCE ' / ACS pointing mode ACS_ECLP= 'NO ' / ACS eclipse flag ACS_SUNP= 'YES ' / ACS sun presense flag ACS_SAFE= 'NO ' / ACS safe hold flag ACS_CGT = 'GT3 ' / ACS ID of Controlling Guide Telescope ORB_REC = 'sdo.fds_orbit_vectors[2013.03.10_12:00:00_UTC]' / Orbit vector seriesDSUN_REF= 149597870691. / [m] Reference distance to Sun: 149,597,870,691.DSUN_OBS= 148604654620.95764 / [m] Distance from SDO to Sun center RSUN_REF= 696000000. / [m] Reference radius of the Sun: 696,000,000.0 RSUN_OBS= 966.05877098022438 / [arcsec] Apparent radius of the Sun seen by SDOGAEX_OBS= -16227387.64153799 / [m] Geocentric Inertial X position GAEY_OBS= -23388178.717349175 / [m] Geocentric Inertial Y position GAEZ_OBS= 31112814.703803089 / [m] Geocentric Inertial Z position HAEX_OBS= -146303240601.80157 / [m] Heliocentric Inertial X position HAEY_OBS= 26051953076.54546 / [m] Heliocentric Inertial Y position HAEZ_OBS= 30088584.84069768 / [m] Heliocentric Inertial Z position OBS_VR = -2479.7253086366986 / [m/s] Speed of observer in radial direction OBS_VW = 30426.553328105838 / [m/s] Speed of observer in solar OBS_VN = 1039.787757566942 / [m/s] Speed of observer in solar CRLN_OBS= 144.99025 / [deg] Carrington longitude of the observer CRLT_OBS= -7.2193503400000001 / [deg] Carrington latitude of the observer CAR_ROT = 2134 / Carrington rotation number of CRLN_OBS HGLN_OBS= 0. / [deg] Stonyhurst heliographic longitude of the HGLT_OBS= -7.2193503400000001 / [deg] Stonyhurst heliographic latitude of the oROI_NWIN= / (MISSING) Number of Windows for Region of InterTEMPCCD = -70. / CCD temperature: CCD_HEADER1 ROI_SUM = / (MISSING) Summing Mode: 1x1, 2x2, 4x4 (0,1,2) TEMPGT = 15.056169499999999 / Guide telescope temperature: GT_1 TEMPSMIR= 35.023307799999998 / Secondary mirror temperature : SEC_MIRROR ROI_NAX1= / (MISSING) Number of CCD columns for width of ROTEMPFPAD= 16.625757199999999 / Focal plane assembly adapter temperature: FPA_AROI_NAY1= / (MISSING) Number of CCD rows for height of ROI1ROI_LLX1= / (MISSING) CCD X location of lower left corner oROI_LLY1= / (MISSING) CCD Y location of lower left corner oROI_NAX2= / (MISSING) Number of CCD columns for width of ROROI_NAY2= / (MISSING) Number of CCD rows for height of ROI2ROI_LLX2= / (MISSING) CCD X location of lower left corner oAIMGOTS = 1741608047 / AIA_IMG_OBT_TIME_SH_SEC ROI_LLY2= / (MISSING) CCD Y location of lower left corner oPIXLUNIT= 'DN ' / Pixel intensity unit DN_GAIN = 17.700000800000002 / DN/electron EFF_AREA= 2.36043 / [cmsq] effective area EFF_AR_V= 3. / version # for EFF_AREA and DN_GAIN AIFDBID = 241 / AIA_IMG_FDB_ID ISPSNAME= 'aia.lev0_isp_0011' / ISP SERIES NAME AIFCPS = 10 / AIA_IMG_FC_POSITION ISPPKTIM= '2013-03-10T12:00:08.501' / [ISO] PACKET_TIME, Prime key value for theISPPKTVN= '001.197 ' / PACKET_VERSION_NUMBER AIVNMST = 453 / AIA_VER_NUM_IMAGE_STATUS AIFTSID = 40962 / AIA_IMG_FTS_ID AIHIS192= 0 / AIA_IMG_HISTC_BN_192 ASQHDR = 2211462238 / AIA_SEQ_HEADER ASQTNUM = 2 / AIA_SEQ_TEL_NUM AIHIS348= 2645257 / AIA_IMG_HISTC_BN_348 ASQFSN = 63978590 / AIA_SEQ_FRAME_SN AIHIS604= 7135383 / AIA_IMG_HISTC_BN_604 AIAHFSN = 63978582 / AIA_IMG_HIST_FSN AIHIS860= 8388608 / AIA_IMG_HISTC_BN_860 AECDELAY= 1537 / AIA_IMG_AEC_DELAY AIFWEN = 204 / AIA_IMG_FW_ENCODER AIAECTI = 0 / AIA_IMG_AEC_TABLE_ID AIMGSHCE= 2000 / AIA_IMG_SH_CMDED_EXPOSURE AIASEN = 0 / AIA_IMG_AS_ENCODER AECTYPE = 2 / AIA_IMG_AEC_TYPE AIMGOTSS= 5187 / AIA_IMG_OBT_TIME_SH_SS AIFTSWTH= 0 / AIA_IMG_FLT_TYPE_SW_TH AIFRMLID= 3122 / AIA_IMG_FRMLIST_ID AIHISMXB= 7 / AIA_IMG_HIST_MAX_BIN AECMODE = 'ON ' / AIA_IMG_AEC_MODE AISTATE = 'CLOSED ' / AIA_IMG_ISS_LOOP AIAECENF= 1 / AIA_IMG_AEC_ENA_FLAG AIFILTYP= 0 / AIA_IMG_FILTER_TYPE AIMSHOBC= 41.119998899999999 / AIA_IMG_SH_OPEN_BOT_CENTR AIMSHOBE= 26.096000700000001 / AIA_IMG_SH_OPEN_BOT_EDGE AIMSHOTC= 55.3279991 / AIA_IMG_SH_OPEN_TOP_CENTR AIMSHOTE= 69.335998500000002 / AIA_IMG_SH_OPEN_TOP_EDGE AIMSHCBC= 2040.8120100000001 / AIA_IMG_SH_CLOSE_BOT_CENTR AIMSHCBE= 2025.8680400000001 / AIA_IMG_SH_CLOSE_BOT_EDGE AIMSHCTC= 2054.9040500000001 / AIA_IMG_SH_CLOSE_TOP_CENTR AIMSHCTE= 2068.7160600000002 / AIA_IMG_SH_CLOSE_TOP_EDGE AIAGP6 = 0 / AIA_IMG_GP6 AICFGDL1= 0 / AIA_IMG_CFG_DELAY_1 AICFGDL2= 137 / AIA_IMG_CFG_DELAY_2 AICFGDL3= 201 / AIA_IMG_CFG_DELAY_3 AICFGDL4= 236 / AIA_IMG_CFG_DELAY_4 AIFOENFL= 1 / AIA_IMG_FOCUS_ENA_FLAG AIMGFSN = 5 / AIA_IMG_FRLIST_POS AIMGTYP = 0 / AIA_IMG_IMAGE_TYPE AIAWVLEN= 7 / AIA_IMG_WAVELENGTH AIAGP1 = 0 / AIA_IMG_GP1 AIAGP2 = 0 / AIA_IMG_GP2 AIAGP3 = 0 / AIA_IMG_GP3 AIAGP4 = 0 / AIA_IMG_GP4 AIAGP5 = 0 / AIA_IMG_GP5 AIAGP7 = 0 / AIA_IMG_GP7 AIAGP8 = 393 / AIA_IMG_GP8 TRECSTEP= 12. / [second] T_REC step {T_REC_step} TRECEPOC= '1993.01.01_00:00:04.000_TAI' / [TAI] AIAGP9 = 457 / AIA_IMG_GP9 AIAGP10 = 748 / AIA_IMG_GP10 AGT1SVY = -5 / AIA_GT1_SUNVECTOR_Y AGT1SVZ = -6 / AIA_GT1_SUNVECTOR_Z REQUESTI= 'JSOC_20230812_126' / The export request identifier, if this record wAGT2SVY = -6 / AIA_GT2_SUNVECTOR_Y SOURCE = 'aia.lev1_euv_12s[2013-03-10T12:00:01Z][171]' / Input record record AGT2SVZ = -6 / AIA_GT2_SUNVECTOR_Z AGT3SVY = -1 / AIA_GT3_SUNVECTOR_Y AGT3SVZ = -2 / AIA_GT3_SUNVECTOR_Z AGT4SVY = 9 / AIA_GT4_SUNVECTOR_Y AGT4SVZ = -43 / AIA_GT4_SUNVECTOR_Z AIMGSHEN= 4 / AIA_IMG_SH_ENCODER KEYWDDOC= 'http://www.lmsal.com/sdodocs/aiafitskeywords.pdf' / AIA FITS keyword RECNUM = 49010523 / Recnum DRMS_ID = 'aia.lev1_euv_12s_mod:49010523:image' / DRMS ID PRIMARYK= 'T_REC, WAVELNTH, RequestID' / DRMS primary key LICENSE = 'LICENSE ' / CC0 1.0 HEADSUM = 'TNeWUKZWTKbWTKZW' / Keyword checksum LONGSTRN= 'OGIP 1.0' / The HEASARC Long String Convention may be used.BLANK = -32768 CHECKSUM= 'UfL8aZK5WdK5aZK5' / HDU checksum updated 2023-08-12T01:43:14 DATASUM = '636179446' / data unit checksum updated 2023-08-12T00:35:44 HISTORY No historyaia.lev1_euv_12s[2013-03-10T12:00:01Z][171] COMMENT FITS (Flexible Image Transport System) format is defined in 'AstronomyCOMMENT and Astrophysics', volume 376, page 359; bibcode: 2001A&A...376..359H COMMENT No commentPatches END hdhbi.` f e]el'iopkhpCp!p$#r&s)k+xq-r0Tu2z5;7t:5|<~?%~AzD!FzIuK~N yP~S|U~}W{Zw\_qadgilnqsv$x|{-})/?L|_{\Z\}`}`~}[~~V}[yWyI|LMzT{IW{|S|KLW[^u +  <^ #&(+7-0`258:=9?BQDGiIL~OQTVY:[^K`cOehfjm}pruwz|0AM[m{~"AV6Qr М-^ݬYOU[u$~ - *4 #:%(+B-03Y6 8;{>*@CFBHKNJPSViY[^a1cfi7knq7svy7{~Z#[-l_ORGŢTͯaz5X9k,g%  g#g+"%O(*-03Y6*8;>AvDHGILORUpXO[+^ `cfixlNo)r +twz}wY< ~_D-òƹ ɾ  +  /C\q%%# +C" f##!   '#G&a)z,/25&8"<!?; B\E|HKNQTX [)^Iabd|g jm psv +y}}]G3# ϩҐy]A%nK#kC tE"W%%'*-y0E3 58;_>@CFTIKNeQSVpY![^za,cfiAknqut#vyx| ~kS?$X3n +;d~¡-ǺStԋٙޜw wttzspnnQnp-kkosncPo +f "bedOdnili Zl"j%/h'k*e,lf.f17_3e5c8a`:a=$`?eAdDJaFdIdKs`MdP7_RbT`W\bYh\c^b`ccKaeihajxeleo>bqjthvoixg{@m}gi{mgQkk#nqqmllJkh!mhm^nh9pki|klPll(mllmigBiȩig{flHpԴm$nّnkmomGrp&sv otqbprCoi$nfkajc +6b ee`ih.add[dc"#Y$W&V)6Z+[-X0AW2L4S7<X9T;P>;U@RBOE2Xl}#}9Ge7MnEGL,pO̓]`Ћ$֊$&.eW6w˱R)_r#fu+ B *#(%O\XI_ f\,Ms Ad7cL^y\޶ʮY=x`k'u)HQ97̘Ebhy.3.b(ߩZmG"qUw I*EY !0&!<0P\MtF8.J$X|e.a]PKH &0|Һ7Wr肮rƒ6a6U AeV!$akMӸ2goXjU46Ft RBlD +޲30@(z( (Bb{%$W^%Z-1dO(Y5}dIQc*apʹ!irWhNn4HS +[Nآq"TH]!qKѦuޏҠTVKRl, B2 ە1QA͚A=aәM_ +"[ܘ6*oeZgv\I2:dtS$oJ*͑.HrhiAۑ b*@ZXv7P0Tⲗ;-T@P%${ Ok% E_@1DGt)SeKH8G4^D bvp03"}Q +LN`, + *:Tl&"b"d&(S0W`81V\Qsng1/t~vHUxmq&sT!E#,iHمGr<(VZٺro=PĘAY)`kZ ~0f\qʬ0[ϝ3~4lW;Be[ + OvuH$DT'a*ҩF/ABQ\,I{/Ug3輦GCQ["kdl5]~7vT\c wxrv0 +aowyDT{X(hRI Ꭲ>JDPvD' +ӛ5 ;dXU l袊͇ĦUĂ/J9s}Exڒ^<M `bgPMC̄ڵ|IO?I]?~y1r !p?[[QC:>a_v*;Bip|.eh="|I.-SY>4f-裲7\BF_ +#^?X|YiU*3n9l9Ud-ɀXR:Leg>fQpf57K/զJv! !dϴ/W_k%%b`i5k`HTYdM +(L ֱ 9҃4+OUwmnþ22tסd)RHz&3ѕ6l,TO-j;`Kdtx!>(#Rnuo!~aX^=ߪv-^ 2 +U$M}X8] ) >DZsQFTy^ -U\ &Z&pn^TTő_բ8ɦEVYBYPW?u)^ Յ| 2:¬XάI!I +'yfdIVl`h K-Q&Hj8>&Qg + PSWwW,٢R+j8A +{,DI m幒E=:-nD*A2U}$ /XgBs*$`P,& +X%ޖZH Z!r4LՊSZW%#vBJμd(pckǏw = fpB~X8 Ֆ/ILj¸>JS(r0r@m(ЀW> UV<,mmGS|HQs2…|# Բav.dQߓk$.B iHOHPU*T!\NNYfR+$i8 /V[Dψecظ3Y J44MwdbeL$JrxB@aE^vMⴂ͋3o"T:pQZ[Cti +xDuĝ²Թc#CDA }Mwi;[ +)Emp`A3 @Fw˿tK +DR <4cCe>GQ!4kկeG%PeYXW`FV啵"d GwuMk 7qߍT/2pp(@xu(1`d!ݴ=Qߞ#H9SP*@?Ĝۈ\\B̬LUz/B] X&+ՀlXU.):bbIחP&Ny +0VBȤ-du//ѩ.&y(毙I|UdOE7Z6K5  eȉ9(՞TDDqsTJ[^ʼn8oRnq) :M/RyI3t8eNPʆM+A 2& hQMɂ7X vSJ{m]0쓴Go_']I}[U#YRjI'0$v6϶|$mŐ+&e!AY +,4Fyؐ.ۘkʢjb1D&Lt$ +M'8R6sQR Dseug>!^ċqDE85q4I''ɭieNŻqWw30,Æj&U 3(RhIXryoQ%̘M\=19|!pB `cg"}Rl no9_Ud,=N& +Q"VHty1WIǕNPgqw, +"'iKWZjH(@OiVNRd >V-}giE A$Jt;rN'hi}B$lWY0eg8+g, +X?aMQ͜Cgo6?ZF"xJR$󾽸!D'>F0F;z?қ#FL/eVGJvzl,oɵb q23kCHpmIbX"ʪ irD;VuiQwtZ;;.D7V8ࡐ]CѦ&[u j+@k~&\W RVn_,d( _f*Tɧ.`%f +%E}3/*)sY1 hP#Pb\n5{<5Ի)m_QSּZ +Yvb3*k`EebVk7Y2GFa\iu0PM92VGzn:B ^-PU}Xf&2J#͓QԢ+(`GJg`[]V0jwy +~ؽNO\ +:]ptT/VT?6XWQ; +c|@_;h$q)U&ƣȚOUUN&f ,س#R@W7J+SAn53-j$2Ba :I\V˺ -I!x=lLuYIQHYXFb-PdQf*X-C6uJdpp6nlb7*E,Y R⁄ѣ$2΂i&e!wJŹ7ZZ~Cdr6MK+},oO1A+!bυX]Y+c"6Y@~U'+9/&{+h,k),Gz +ֲgj ɥ-`#b*oJ 6mđz_?X#yask%O2i+%.*,.+QsTe,k=4c&cC$ud":%l3 +>ݧz$- +90"{ ;E4x]aj;NHWB37uqUdf[|Xz/:ɢM)J(e4+,c3<|&B咚偁 ;V}/gGY*r XY#.Wѧg=;g'M)H;_Ӝ LVS2Bo#G^/ LtaBQ,L8d);簪JG{҇]6 +LJ[\|G0Zx33[}㏶JY7GbMdHFiLȃJ0dTpJ\2҇f4@-/D6dżI+ \;=+^kdݕD'Cع^몈(Ь +"b1GIqM#Іr}*G[פ.$U&ٿ sXJTL$Yˇ6ų!hX&:HXEš}ڶ ]bJI>P2"4EN~*=25"Yqv(2 GflMaR+OϤ);Re R\º]y4xcUU-% F\@Ķo,1թGӄZ>_>b{B80@FOF_&Q3D猰(]EAEttgeT?ʡTZ'SU-\Z5Uq"tw{ox֏|]2I 1Sef'M&'1nUXur}y/Y7Z ddDn5c4m7h#os?qA6#cB H$R Hj3( -!cr[>Sr#iQB&[TZnî?JhёSo⠗Dȣ\ u0WFiS.Vᕚ{gh4WLB>I1Yb&Pb_f+WWm%С)AzMBןIcECeQ%|6hoT@PE ,>4I8Ӎ/i"% Z`F&QPpU!0HA]^?YF+LܹRX,u/: "":EFma]z]fN̚/gC'MB9¸ɢ"sk + ^B"Dw]HA +绠I2pʥL2-LvlUPyv}Ra[ ']fN ,UeLԨ7(? 2嗶v0to2&'VHr+fm䠍otq< (_ Ұ̪JmII#q.U #e'BJcܫu/YeD$s"> e; +Zكb&~ޙC kΜ+2UX(1ӝW|Se'ۛqy%z2GVJd! :Ly*2Юn}ʩv|P M8ΦMEὓlDO9e.1d-D؈emJ⻨;_{v _,i֎J(.GQvvhBpXk +0H9GTΈ ڬ/VK7㰖[lWPɤυ + +r b!5lS7U,8;i\jtP{.-&FA10!RȰfڒ-"!Fk'aꭢ Hǰ(O)Znod. kDo-P]V‚W? + nhU?Ni{ruu8~)vA0VRwSV00MN +}Jp*ҩ\D*wU5Ia1Mmfƴќ8k;e7X\:>X6DW\̨]\haט}Z>)1Ԓvjy@p2EY[z6eŒ0"#ʬP}$ySycZRI(uKըFgItȓ51͆@Ғe~"tGJV#J8yq>Skc_ Hs{eETqUW%^P`[f\GIWyPѕW,k8n _KX>Hȥj6)$PPabQ\!?5Zĵ[$Gο#Li ,tק>S`irS" YRB$O-b"JdeNh2(+a|!CIv-;vjԭ%WSv<8dQӄF o#UlB:TAQR(|4>VⱒH_[DыEd/(c3QA]'{{+eTbS3f%;V؝U)3 6dHD7jXf;L[~NUm% F+eλLN'^TՔG7%PO\+Veq[TM2ND̾N X>ŧVYhёgHSOA0D!/u\/PI ڔάK,³Aڢ pDNc˴M7E5:Âqhg/q8vДA6a6ЂA:8Xр~-nr6~_DD k ~GX`rThHZB#tUz!Th{Xg復E0!!UKԬQ+&|J\^ԣ$]DI3{Rz;|(ma@kEdȻ|X9a_T)=^JD͟^|SxͶy#E(dLQf RQOo}W)vO=-3+id|lDDPB"(lRM6 +p ++3OXTXVm[ 2 Tx&4,<` +a`C9U̘JmHW|(\Ք1V+UnRS+*( :*ҹW WJe-pl#n勥SR:pF}C),ˤ}Z貸vˉmsHd$]ntłR29M9OMy_aI΢Vie}C(U}$GTlҎ 4jKſF22 ;"1ʛ?)P՟_7&Rj>+FtKGz2L:uHIG敋0X6Qs -pT ,2\47F gu4^z"0*Z^HɓWˬEv}~K}+}}"$ാb:`6;9T10QFM P +@6ƒ_[D6:˕r&w ۄQFA$9\UsӨq $(}XHmτTdT,+XMue0.vQ5{( 22R +`H9lL(CDXaB>aC1 vV&q+&ԘzDy}iDI-+o~ REO=5,*w%R`eo+Y3Kě)G@]&1J2Rsuj:!G;Ia?}k ,ʢKdsv]-hGj/,}0ze( ~Y1Czle +B9v2kXA2(\a$F Ǧ|E!`2Fa1ަtz-܂SdK쩤onfĦ$R= +K#M9GJ[kWuHHHU3-Ŝ*rR$c' nT[-´:ݙu.l1:. jn+4,i +c1$ +&_d,wJ`.Y(sDxyd"&wtwc>D BX\ +SLx:SAn7 dJUߕ$d 2ctƑGpE;k^ BLд~ab)_?M-`EtJ:VYˌ2W[HȊ6!SQe].(+;]XOSڐQ +ta7΅DmY0gG|${ 21Ζ(بuffcQ A L_Tfk|I '=meXEr@ŶP %oMȻ‡^l0֨F6Du ~ ѣ{E&G]9L0_f0rsDB%=ֹ g5(,y>9Dq4HX"M E!+4?A;TOpl_&+IT6 e%?K4[:]]|&_Ȩ hB +Qiypx{%jf7g5\0؝TB ^J:_]=uUJvAXZr; - XG.%$,t, +`4BB'VVN(oG&>zpV4 5!Mz+%uIsF݊86+' e^1_ 8S+$2Z<)T*T|cp|$9dxN=4"d5f4SbN FCudĭn1=;HU P"%]5@FmSB 958(:\g-ZU9|u%GĊRF`Ax%:/ɦĆݙbLYOFģṋD=aB1*1V*w>jz($NuXujV('$oԭɉN,׆$X9/weTr2ex]gbE  ǣQXItBqgLomNb-fo%K\"lTHTsBHYj;8 a/S_/2&p UHh[~)#0821X# A.ly¶8`]jN +tFU.ΠQeeymPNyF%%#3  I%J +wuW1us| :R U uh"(tPE RϚY6PI*8&$Bw6PlQxnK#o!̌2d#e*nmJ$z+yv#פr.LVK`0)NdAt^YwQ(˔E1< G +t2*.>ᵑ˟`K}s7+4"d 1MLYw_!x@ARXM\9ʅKjBՋlmnMЋ= _ZAږZ n + 2 yyEeUꜘ|jt`NDhX9Q{T!6jPʐ%5'閁"7~e"уc\Re8,!y] +|fq0"/6&F\d5*6qS +QFэ;$e[ݹ96`V(8p[|O@C,&zh2Se+h-ATQ-`J'];li$DQ$PT'wnv2%+z;"^Y u^X73FH&U_;· 䣼`_u 9q;D|Ȑh,نw3 +H!!CLunέ&Q1aV QJL!elpuhbf~O%" Npϕb@.NlD7#_&KB߯ _ Beҿ㤹R0$ҫЄ뎱#[Z+.lpAPE2 3/,yaEPO6JɅ-H pG&Wə)Dw+S!*Fp|.p_YwrUS&tP*W3ZiAN*a+On2֒8zHAT,oCkJTJVerWDll(.0t[ !Ƌ&?(_>kO ֚l#S%,<6+'"Jz]M8ArXސTO$`i|p>կC(S 14OA"w P,ZPb`T ]I i,i"-vE[k+0EFRCN ob܄$=8-0jNa[bd֏USrXbc VD"yapde|k֔fŗOd20v% !4aKR (r(4HEJ/>\ +Y÷P$T뗧jG찚P9:0:q*:l;LX'qQqC{8\?a6BL j08tΦys*LYĭ&H6Sj C~Dk9EKovOa9mQJCƭɎnj"ں/P+p`hh5ЇķSS%WvTzxcMgE_DKyd/QᠴGMIe(z 'Ʉim@lU$28! 6g /(d9>2GEd 8.`TQeB&O*C: ݅n M.F\O: y-%j^ +8<{a|4dȻTWQUf>(p& &Kۦ ޒMdpo(IUa4H@v6g6 Ք X^]|\dH(mL~דIK脢Z68Cf En+'#ąU6TgJ+&c,ɮ1ӻ +3g"޿䔢Tu /B@I|iRp mV)| +&PrTU)`T5sHv级f0q +>te9b yd[y"ӡWݾ&k&o|S6CI,-. [ 1)~+A;iUfrrȥC.ŘYS?,TjE$BQ !< 0U7^EM/|S:ՅMEM«Y53$F&xF n6ճ w 8sxbZF(ͷ]Q~/+*Hȁ@i`~0X,AE nTx)Յ.хq3Doώ*Vq0G-.=UOH|DK!$pȨK (iT:\1s J%Jd̜yT">=v(%;e,$p 84Q6Yʔ6yGjym ?Z,d9U6]a5?TϠcomUwB +˱µ/y'Q;Aؙ)t^i(tBQaV3O%TIW-h>hF--gojΉTm[2KG "#x6Y55XCDrIq7%B"#F6{Y)|0X4A\mFbIV"OTo8V N$MZ}6_ӊuN f Tț۳V͊Irv وoh\Ah^]5>= +7+wKblIeHh  plwvKD[սKU ]\&/]0T-HP63>_؁: $Gʉ+8]Mhp&NEXI SUJb\f#bhB& FKIAյO)TPOST.VKX@h +V{2c?[a_>\"+LEk6?iY 8NO4!_E芚,H+7)@+4޶vƪ/J~N4!p*]{ĢE5KYQQK<ؑtXqQ^8AQUL@@11p1 2| keAf;SG{h3% m!5HskeuVAc=w6Bԣq˃,Wz#>w EXTzbc>{SRD44IN2`#9~|0MM'[_W%yavJ*?8KWƑ% q༺R`HwlLTo挤m>҆4m4t4**PLsҘDq鑗Q9iPTPZ +ߕW̍B?sSh.-9-犬GЂ?HaV N %U /2䂙T x2`k/)1՘R싂y..!9[Tf 6wLh`̐t(ؑIe٭lŜEEh*8KUx&As黻wQwGLuO(m  +kE  T6C7_AZaW3mڮOu 5<>27Jy] *{LԪ>ӹK@g` + {YuRlF0b[6Fϒ&8+e/]{\ŠG/Dlh'%ӨAzU2|[Ҋ4@E`.'lO#.˳"!-BFL d ( :Sz<ǝ> bR?e(xC#bM*bvx]9ng+sbO&BD{ Ee5A +Wgj"`L*ecO{EĂjH6"Erm(N*a:괕** Vx ,>80ɱU%W2CFUH@(H Y!VLzK;p>͙w;ʃpyeSa<8^f隇FestĊ3U ;QfߢĻ ϋkgHVʪTu)NrwŞB$׾/R-~?&(K;1\0 v'> ,Ɲ?R'mZs#q8Hq L[F_&i^.%qv܉uwr;%‰W:uW& $WmX̆E@*EM;y: rYbUI`qWTO}#HO4{R ggkPOX7ħdwsL0sɔYh$kqc¾v)ፖv@,F*R3;Te=8jh&D.h.PI:vqW3vPh#X2\~jS[b lOc]?5"ڠ5+^_'P 0NcV_DAa/K>llre^bKoB*bC04J>>+*SvcJmF j6ANtaۙIEY[NB^7EЕjP"A0>D]`V R2DRһiҭ]ڔe=2RQe~ У&s%P&{-V]3NUwBeL)`&;$<9?K93u}i$;>֭,I3wxȦ"< {Kڑ,9#BոXp)%a'ݬy:ʢP EAX B"V>I'T(K@؟ߩ^+D.-16?E$*8T˳n5]Y$!eL嵇z +K9(;]ᐓOo#v-?­H?9Q mRdPyh, Zfoʡ3gHxh"]T̯TF2u= +h{lp@VDz-b/˧ 2@r7}h4Wx|XwЍvc&I^_q1lBw(#Ʉ$PT2.;ԉPe]{fV|\Ajd.I_1[uAY> H@0rU5-6|/80V.-k6+p=!}:nJtVBz(M5Qh^ɜ6/}@()` +,8VI-8q׉>̋U#"2`4 +(6U#na')\AtHs=`$a'j ֧E(*mMCjiI]h 9+&"i}d U3q~!Sn04=" G>Á@+tַEZ g*=fM`FgY%ԸVca*R酂@qgI&.{H'N$҄nP>2]Wh6$ܻ"Pb0MyE;dgR!ܠ$w1A娪NoB.]:2D5$ C@{GI|P5$[? +Ϗ0O;U磖-۩oa΍4*E_IWonx 4ըRډ:ߝ`n[LW1ԡC靅n(x/&"w#% 6/TGUb%F7?I:2Z"%v ,Yˆ dPv\ +)G bE7jlq;_dbα(M+T0DcaJ5@p 2f0m."<䠚[>Y\vj6#wafs!c \tQGuS?LR1`E0K +Vix^MSph84vH}x)VM =ٝB6j#r+Q")!wLiLJpoI(j+b#T3e#S(sPfa$xF6"|<+5HAy fB^7Rfx).ψL0DW ,>q0fk994;vc'QA/[qlp'{-ySBܒ)8 pƀA${hX\~F +bj +7(g>k. y^@&+$1 "&SJ!'1J5J*i4TpʏoɵHgt\)˰2A4D2a3(+4z~8ށ"4tIl +Me6'~H22އEisH-j gdΊo&M+!Z=WJ5hEΦT2غ܂):|q9RPU:OjLmN3Uhا(YkDZ +.K,{eBAR 9{I,*Je.ƂYC♠uT^ E d3ɥݱ<PX("`h0*JLNL4GZt$ӎe3}eT"qg$f(jhj-$rOIƈsU2htD|%H!O"Єd'ȵ tcrTd͌ Ċj%ipN  DJl5yDMkktI1UjAQ +a@0Z/3UM],,H +$Xl\MۨRG4ݞ[\ tNM vű )`޳T1))L:v)POQ2V1>0U@W?\a;FK +ku*YW:pŬ2HȖ/jy0GHзf_7k9f bNPY%M[4 'qq9*{Ϳ+}:J)iTdT3P*k8]\-uSe7;*:bM ًCD}FCCPA)^Cē$h663O*l;{J&KWDhc۰ϐX,2EMf 0 +bBc>Wj*1!\.YZ зE*BQ13Bb\j.OJuJNuRڑ\"g 9&mAS{,}x= NfB(DϜ;_jpvGQt{`2:E]݋zH) +4J1eJe4e\&ߎTn 6GUM :0EdV +[xsM Gl 71?<!FadnX47RKXm6~(Y4AJ1e g+@|D7_n}t-wiwJD:'(|=DZ&G.hP`$"iŌDD8;Qad%L.{ oO`Q#(CV3fĞ]خPaLĪ^§(iQ#kPVDG9XŽ]y \%<0&|hQhLy̰DD%Ռwcu ̂ Tƥ\Bd/ qU^6t4.X(1#jijuhG\]qSC1J0"\½-ԆdfTy>.Jo0HÑ ?L (|hnwQKbi" cO(hAUJVg@"l2 sUY['2ٚ]Vk %6-SQ&O+6,Dɗ,QSJWrq4$╪lbA]ϿmG dN]㏕RΓTt1-ʘuDZ>R9e"xGIqXa dC-`ϪUj$nE^=#kX +NjAnBPB~KH7?+{* Z0i +`1RQ2#:nJdX+2yPP @t$^9:}X:hψODjGhkBq"0_|>EyoaN،1\DOqRyf+V7 ?UDHR/5GɖY#P#fG15DxKT:@ f0,W*@h2vvH`lԻס6r#5摶wOD +|xf!ul2%dkMk:rd;SA{LrkLTIË6k8.x֢g*R LuA׊⹑#B5 +֘>q JQÇY1B8(TXLewX%RtIaQ&ō! CCQ,7E̺P)6n3-ÊxP6V"2!yL)n?*7 + pJ{OMnܘlWhKB A6<Ҕ0P&`]*9~Te od[|k \]|d8|̓m'0ó=B`ՇhŪr%tsl(eA{IW‧l a}s]hjz%aE6ABeJ̑;|YAd?ǵV"bҨ6) +XD^&I>04((.zJtmJ}txhMn5!̔i\gHnJQUbTR|MV"C`A(HD`xrB)e0Psž +PVOq.*^CO +gKh T\. iRW#vDJ$@mTmMLTIY Fk:M ^c,IMpKC؃%4-se {;ļ#(q6)HB%| u}O?}U){@M_O{(lQ'' +H؉ ~IFx\YQ].H*ؐ> &G^ K&P81tH, CCAb.EwjG MD0\nPAβ2Kjŗ^:'=N'Mx:)cbB鲊DhΣͺ^EFM^EQ/7%B> +a +Xj| uO/,YPܢdI-YhZ<:벇ES/` *C9xD2ʨ̈́J󈠈ae+Xآ/҆Yw&NsT4ꮥ+&l #%IE6xn-J[.|ux.ު1 \uVҌ@z>C @!GW3&dڶU6lI;b}i[f~ %ČK % pB"l +}EcDrNE }Ү$P$ +%!pX*¤Se?hm}] J$\/ky*&E`V@ + H@o P\ҁBdffWʦ(FƿMۼ“lOgI֨ ޘs8Ӫ)ߐ "~}Ǽ&J +/ϰmg&&8Jum>! +v*R J !9M'rN+o1"l2h^;wE;$YϚEͮ֝͜]xJI\3>“fVbQ +xvHZ}@M^*A-wܬ9vyu|fn.gߟ)(2T<8\(GkfC$Ib +I2K؋KMWSD0^]E= gW4Ua`MjJJFtfxXH)Ǐ&J ~GI .R7KVCi5v6soB=L2 ɨ`eLPIЋqcud=#tTɵAe#I Aoѧ +Ô, $ltaq(\x.GLK%(;?~h E^kbedHe6Syc +0Id' i -3Aҽ3.A0TQ<#K~^bt)/IlU]d>I#Hh-Q Œbkq2l& D@L}{B +/0; hCfp$5ND@@vnfC:#FG:HZ&XC pjبADCz$dQ<—h~3&טt E #z*PJ:ɵAd^iyD׆@-s.bEzK.^DTR,Ci!/e9"CbE.K E"rBڪNL^4&=$3_̚u\1mxcq,ƾ#*l<0FbwVʯv(Ƒ˥MOUh7*/(7x,Ĝ,H{lRUyZe>OYL}}p :>BP! +O.׫uhxo+K_EmіX0NYqh,M vJl2uDy|m< ep"BeYQ&^)kn1oBŧr+4 + ;71ԋQ1GBR5f̷ 1`5V fU]HFcܰjM#YFmH",SrL3S%ײTh#:x]m )6uq9Sm?ʚ4;E%GKl4OdHj6h-d$Reyۡ//7F9^]\,έN\,0o^̔iugOWEvTx)OK@ +9MjTI%uT1ƗjȫIy.A>*rnyNȵ@ 3*|2#k7ǝ +BFS# dh.dADoOPƝȊU'hPJrT{l-S.͕03CF/ݑ+(9#A^nuCN(BOg 4Dzpp<\_Rn{QYiցꜗ YZ:TuܯSһ ۰J1%T]4Qv6%PA`c~p{șw©kx i$"jX(le:zݱ}7T(LDp3$22QnȫIRZDX6AZ(`% ȐoPeB;6C +"d>|oq CjbrBXqԳBh$$Ed2b]B]CSxϏG8b$0*d,U2ŒtTA"dg;3B$%/hX(T4 MWj +RIЖ|WUa k$$.P}Ps`*Tr$ +2J.sQb=*X8nj;[ABq!A!tr*C[DVY٭asc&2ՀJq дWJQiP):=jLR\j F+q͵P@1X:7-VnrĬy~iʄ3ThHTV Bo)hm# [xH&WBFH֝JTI˄L *.I97رh!r +iɶbaĒ#hC{I.jjLzypj +K=^o rO=mQTn)0'%qʪ.(ᯗPSQ1ܴ/XZZk_+Uƅ$I1%B:HO`&Y[m*QB޹v^2 <"8-c!c9DNIrBΦ*iJa9'ZS+mC,Y&i[*N0nb~LCb$,E[Lr&4{tWQ@4t >:`7;d+Jw(7/,a1vrwD[yAe.bH$xO:`0ESr3%Tp̐Nª@E<|X1 |6+CFb5j X*$s-(t+1h:pu!XunlV)cpQ\©Gur,HXsi;0Ȓ:${qw!U1 !Iۘr2JF +O=Ege+9sbxY~ Cde[k)9CKBt޹,,qP7~+\m+%T-= +-7ːTs, R.Ts)qt؈hZ;xn@lXG\^dJ6IO L$S6N^kdӘI ;Tb9m Mslt‚$=J*rt ;fЪ:ge nYv8VDZ:Z5d +)/3!i $c F(JB\i?QWnхB>=Y\0HU_Y2lk/m+z'(/,HUi5S{1)7ut *IA.!##1h) 2/ +V٦Y@M(.FB;/P^'N(u"% +bQ3L1z N8V$m?T9Wl,ɵ"L +%@QBI:M4:xh/ gOLoBHPeBO"8 (Xވ$,L#13km3|H++c7O~sZZJg˜&8\% +sV?dPS\ yc. z궻E*f)lo9Z̠"L +fUb*qqNIO$ %V ^]G+ /-P=]] BP{I~EPʱ#"BDZ +mF&0<>!OBfK2& +=g%M ݣ`mY* NSd59_ɥ%hcם$&';mlH̔kKU(ſ7:|Q&y28Laim!XЋu+y + HZnkkJldp4KdrђxklƇ.VlZJjQ+, CDQR$̅=bDr{6Y4XG;ĥ6?*5ܦHBJB¨`L#)A7b32›< +[U p[qƂ(wmx +ٮMdB_0n>.`o kޙ_{*<X M0($Ъo;5>L/^%74ͻ:Ibp%B5W.`а&tiss^, t¡QdŐ BɭWt$!?Xl^[L@62i|M$nƏGdQNX낹8>$F/(bu[*V}L9~D:@ی^zH˴(+*aTzX*OE&_BR_6t Ea/ˮaYw(DGHڈ]EUiU:&>yF9̽-;mSVTܓJPm䮑1RQɣ՜aH=gM <,|v[]F +Ѵ&w4C9ހv՗+(~Au"gf%hqq2!t|/53K1*cfJ:XD DW Ht9&/^Yʒ,r$v8*$ ^wJ*{011godBFqy`CpDބ]P@&]J 2蚄zy9H*,R.") ,ZN\$qD m6'aFjn۷k=7e=4#G!3XIEzDw%K8`H!C7nȣՒ?LvV e_5Hl%݉XY^ #b?XvH˕'YD/Ҍrp eZQ +O'`NKy!b\bHJjіZD8* (%?Tu'=b+&UK[Dp$VnJ }ͳ$HD*鑄~Rh ]<|\-Q @A񐝜Qzzƌ{dL]ZXtҐ&W[ >(N^Jzxk(%\gnܶ1+{0 ( +L*w{F!He(0.vqVT;8HITHE-HJ Dp!^UsVm(E9m/%"Ŀ(]V7߳RD"YUx0BŽ |u _ #PakH w5chQ$Ej"֥Hd26pI hY^I %KK~Sގ}щhg0Ǐ \H@rur6vLқ%ma3ZT8taH 'so2BA! \~^2^֤ ]ZK\ϑx$\Pg'g̊ *TP_Ula1Ac|_in"jQa BY"Ŏ[AtijOf3\[)PIm}M1hP7f8C&u e=:L[h +"940MPRSeԒ|hDIcaZ(ڄ*7PV,lfnѴNa(ЩMQ. +- +!B; 2Z87 W+a 0lQ򂸱E%qfDq}}qSt,_[Ia$*vhc:e:ϡ`cJ)sH~(윌܏ V ,;!0h #SH^HĈ_jK4vǥV +-I@Lb^~lEQ'+X#h:rZ^r8|+M@V| +aBP'뒢Jf[GOn[3ZSomܛ Hr vw{d͈؋#]Ab*QR0cCJ!$( ɉ.y|ZUFB>PHAB$(@M om)FL*Y֧9Qhsh-zEz1w(MRabmL.t) F NILxDmEf3+'urҗԡ8'>]6c'I'I$vVs9rUx vk +oN .;BMLmu#0 +YmʈG$%/A/%ԝЛؚP\<$`UTu\~e&L7%wEu6Cn"01k%%y|cU"' +"M}-EH'ɨ/Nt{h\CcQF]xi{oFu'^Pb;y黾GEAk(u R($9_ *S&.жRh?"KM%ʑh8W#vRHjP),4*l57*L3AY.c1:|:_b Gdhp HH6H[Hz`;tUtnTAMuħ +a {-AUDdr ++CP2 \:TV*~EVzs , Ç+2;D<6avI6m5:c⯫H$ˉ_ +NBR{徢-nHwBK t\I Q(XI4袓]cAtx_0:ȹLo&t+g nO~eF)xm1recHwr8>U/]ȓ ߝu=b]O}^U w>$H%6VԾDЪ oIF gV4R.0XvtEd _ᵶޗ)OLж҇ȺN{qU\^DTJ 57DF醥oI֞L ^gݒ΃DB$r/cd >P،`Ŧu6lw!D%]V<̍O*h Pvs(IEl/Kih d +Ca֬-EZ,<% Yk3%R2vj[j9{g@6t2X$;&J$k$I;)B\ާjZVKEB òkT $t:;Ӓ'qTj@^r(H0VyEAĚeEXjf늂qœub`YDKFT!|*RS0'h!10pjěe7 %zFd>چ)\OuM".ZP(ŀi_T$6C@A)3'Mt4aKz˥ +6J yWTa h<#.E.@3 sĬ}\ljP%[qEsh:9ȐzRF9ynM œLBElړ JjyDLaxN\& q#uH$ZRG9 @ܷ\t7(bs\ +/|`ks'xm]n)\*I}1N# ;a-Rqi-K["[<ҭB0(\2 Ę}idG +YES[#t$A3(;^0 b@xRO#*g-SO^|ҿ*ziXJ\ /KN*&tn.!yo<&A+YZJH@LTRacl7D|aSySXﻱ*EFm-B2la2"U!#c͏00ppSj̴8:9 2> ?Zx=륟An.IHe34 Ub*wdZcɮ~6w +Q,A2c,DAt ώ|hbBJD2quH˥#K&YPkgv!$rl8 + ό_7U+22OuCONH%xmFEttcHFQI}9igyё@r +@O4tf++uHB2J?(fh(eÉx,*kyI/lz!",g^ ++P/iA 3E+\3h`4- E3* 5vRSrDžjW5/ &`ѷ Q + UX笤ēQ |6UlpRTmVzko/SJRϒ`h"(ʯ 갅25}B]xB\3inuRU3 8.FӘ]_BKSg]m(-`<cJuL +Ek ZY˲ʎmC63lpRNKX^Q {2&TIv% ?. +`HȂ4W ^B{U\:]u#dod1C|"QdWN>&#ڔ'LYrje+quJ TF6uy0ݚMF<9DwDԿ:$Vhx#C +.'78Ld-@d}} J`yO2t͊OEqߐTXʸ\gxGENxY{? +2s &!ߩW/NlQUp*ADE&&PX^W0H6I3X>jm"(.b0ELiN5B$AP֐Y 6Dx)7Kg1y<"a6yL7?7V?:CákƔf+4Ȕ&r5TuA\bK:]i\5\/P+m˖Z()$ԉ[XK]`(eDPkV}e4/7!6d +&DX)M)9ZȖ@mO- tU{"[>8̸S1@Mxc[tдW nRO>R#:~Wbpc@bjYŶ=լM\c%ǭQpr +lnGySy)}ibw q{BzM͕fJ\ĠJ@Dq/MI]訁cYˇl~衵r!QW]^HRUJ4 f'w&&G /k`ua +y/\x#x+ pWyhB.I|%q;\fr) ӷl-u jY4Ե|y(8&hMSI;?K'ȵu!l> *㦅\-զ\A)U,aR[Ų'/peOfXunʥ݇ؐŌʈUR^ܚ~TȔnr./Q e1⣋ UN2P BeNw!1>5n2O)0X"byw툭%)Z(*)M 2aFVkNqIS Q$`ҼnXaFiyBz|$Τ)q`Vyh3I'kդP&\bWr QQp^s!y16.*(^2Z +ئH0لז%vK79vwEM{䷱n8Uո8l 6]fgcv= +Y֎J"%2Z/R D<(67mĝ:ۖWA#@ JEߍi[Gr˪ˊS"aAL4ek3;DwB396_sz^v,=Djt:6JMu PDHV.s }{eF7hVGVAC6\[-J¼E™i760qa@i"VxoP]&IO /yЧEJVHEGQ(?cJ2h7|>0WB; Vyu!~O^ ^A xj̓6hytN=P&•5ߩ\5;u2,"_1E!h ++*wPm=biBz>d $eD+("CD)_f{:f[HX+yȇ9 Mv( ^fWvA'`&5ҞM;[>]* Z2\LU +|",ƢB=:4*)N|pȾ$%h#x*% TE+o{J0iwPwfŚʱ;KK otr7i2Ђ< -#4,X>'Gw~XB;qSGVvG4 [tE :4hmK6;4f$.rg+X;RDUf#uK3hZ)c(\ +,ˊ^ɋZ$hUPf6,T":K:D 59G6S)C +hp 8OL%9٤.hTPGr&ii4-BQ^lX]U dט +yZn+ꋤ^/Ax8)Sw~7'cFb Lj,^8}I7#oE}ɪY(h$_4bBv\ShUNZIg BWpq8awEd&g:R4ƘDrdȁLW73Ep~dGSU &# t ,$h"w=,КQfB–BÕ¥ +WE{pDF8n| խb,ǿ3QpxtH`ͫHQkRauq>Rנa~׾g$Nw1\EA?H=!R_-߄ +#Fւ19LiZkZafVLJ0B[0XGIYeC |WM=CbD. 6䤘A +eH3Ԝ5ߐӵ!Q5-) F&(f6h =~RUMfE* !XKVTADi"E kfw'~:R2-\qRD#G +0깘D͖ +Qqtp +l~DΎ22])R6TU"$D XDh`mI +J4MqIcN:V(+PItYsao}eW4:A&I5YvdI4"q1 <µ JgrFnT glIâ}v/E~h.o(!Q谡P]fP $>h(l%]| Kb@h7lc,B -8q:jb&"gu6f_ S]9+ IBR K,AA,_/ zi`V.V\ 6LB<޳l Rtaf:bu|U+ە7/~͙Atqn}Zi7MnT;50(O$Uav@tސ%/~B_)MWoJ7+b-ۢ!ee7fyt5rH>rDeC^WHE\BU2bT:O># W'Eh2MD  Hb"'vˀ\n馈r춺WcozF l\KE M/i)RJNJNlqߜ$R8-]**<>a )c 2ʚn7՟+QTB6-Ca:- g?!WRW4 ɂ~L60).4gp`JuتZE"3S A`@ar q/Rz-#Ynp-WU +'l{6~VTV*?}|+-6M@s.rNXH ;rR4^LS~8l XXFTV BMu U!ƋEO:_-ɾq4lTԋ>"?il /co ]kJ@w8e|c&$Hݨw2ᐐTW1cSGN׷M&L]bqڐ́p]zW@I+)R "4~Ӿ8$`-r UWO ȒxOB&E,J{*8~ⲱE4 +}ƥkw8[(HpM5,C +`,q t0Eaf4{yE =ba&'(]ZdO58V҈d47Ncvi4f6ZԓtX.Bʞy$P)=[NJ3Cʍ +GֈUd h*YdSjR@fBCʚJsj%΄C"X+pwBPgC)%LxYZ NGlXŷ.2ܩȟ21R-.qPv{s~X\1Ey';Ks28*$"2'`Z@!:ŧgMki Ƣe}񬂆'"Yk:5/Sg-5!=-C064J4қu\ D X$KFl֌]Ƚ_z_5)+K_{c29WR.rաt޸i:8&ljfJnV3T?ݽU's-?Xe/NOQZT|BHh=@J|2!DgA,³grQ"4%U)q5DI 8̔$n`fF1\ ~yiyUx"TQe%DϜo^5"wFK Xgp2OFbO jbLhfN7K533kI7PE5Q#VWR{;lXRJG*7.Aeqh&H [+3lTZcV0GmfR)`U& W4@h:X@RVhv +)[ UzKęs(XH(~=%lx`љo`ϸ\ީ8CN'dA%=IYKF+ ]c`JTJx]j9VT(I}s[$>ZSkQ̪j}INH, Ǹ#+Ou̪n_ܢ | 9JZ^d(bF&ڸ0hC` +:em4__N]98 I9X +Vw-Ԝ[#CP/`oYyv;mOdiM"wjs@G"_2cmLP}̑XM.7Khr(-q +VX\iKMo2…X0'8HX|&謂K*ʠ^xLx&ڹIRtqo .gՉ`k 6D'7ÔD\Q_{M6 e\M]{D$8ַ䑙-.Y6v GX'Q=w Mbݬ8e  VL"=WA}1mS* ՃMćHD!zk>gBKUA8)f,y xh;T`GC+7\1iUAdE2hi:/.t*j*,YGR,8ksk߱c& .YٗD 1f0+NHR֯1'hBR.-XJ3;%hG l_ՄpUjZZ4"f1mRyJIcMŤNKgi1B=85t3慪EK}5[qF6@@H P- -5u +]5uғ*.oD&bJW"7 6}elSHxyU*p.ˆ".+4I"!+>I߸,%^an+J, ^QA}e.F,W6TPw۟Uc6ZVd>&OR~.kk>x۞S%RGy(`m[Q='w%d +m u.C@hb"u + >NBhݡJW)ߴ0p@ ٘;UR6Dh2Y'N&J + !%OQ%*  A^jĶ"oLa=9%KǪwSoQw&l TtBFBeWS7Y%۴\T$hS65W(bަ֨[cGpt4ÀfXa0=_ۥ`._YĈLp ✈X¹V۲NI۽@ŚMaAG.fᆖǏR}guqa2.ILiafBcx{1zR3*58pRW(bdBchϔsgH|X3rLKh|q[5Y6 &j-&QiPA ZwnT%C^⌑2, L=huUlR^7d\(=Gpѣ($`e0t4EH~8g't>U(:"sCeRXA$'akGŷ챂*k9f ;t)BvfEc~ +rAx(v0XJ[i :Q$^m wROzFH URJʅ h/&Y%N- +Du7u +ib\7O31GfJ`!yj~|@FxȈD +"l?04 BkD`Rԕjm'CG܂RrƄdOLP_;53f +:)Oo06 $)3 ƨW1Jֽ߳@+쳶L5q\<$j2SD鸚%ĩ~.RM#hwU0B^.HAOg7$L6 S0YAp(EJu޽{/dVΨИ_=> K1i$1z%<8"{`Cr>=;Aq>zj ID=U;YEĮh̐Z~iȱA>zH*8Qen=2IX8}J*FYOSYQiɑb+%2KQb]L&.f &J7H]1']be~sj,lWÑKQ]"ólC.y:&,BQ—<~K\p3Jlx@DdHLR( XޙSM䌉ɰYS&)ďI<#?(|1cĎYI9 #J<>^-nRYS8ITL%4 +vdW-)p)aNM-_{P/wGuX#dLD ItRS\vAI&!mS̪}06^@2!hHM=&+ҔYLe`݊h@\DnY!K?sz WjڝZ5=;`IϪY켰 +-Eh`6/{J#'-FSn]L) ^c»3"]a+]q_"ZņҕSDA}*pENM;>HL +^4k2":I;!W%VN2180>yx) $7,1wWbD§zcJ[\6#v[2Y[\gymkEFcIU)@7X bNK(;*wU$6[zODPjj#/E+iI&6.4Ժ ]!Qh q::q'Ɖ[z WK h$[3yiê!0 ÁE2I! UI]rJҙ03"W!33Ԇ$kHwXjDu8\CtbqFHm#B~fl = t(ľqNa4PHj."tlD/;wQ"Ǒ% +@U߱7t * /6eƭyVۥqDd#2&ϒ1n +lQ]= +3 aR_\+w .l(n?.#ї  +&"uMtā?[ԘpۑMMOmmu(ܭ>XjUE+OJܜ9Ɣ1)aMJ.yqg s财o EG;W0ߟP9u]Z0~#j EP +ǓZ$UA L_6섰( P,j!ä܂Ա|$܅Z R!0u:R։g +*BdbI &żH_ )qFo`ӈhEs#iwOȦ^WsIq0J;hjġ]bF#Kcaeb"Z̟~YM{ԚX𡽦Q +'-{"j?WJ} @2{;/d6$5H)sC"*J-lb \E N\l)B$(3ucsj WI0U +ol(@܄Rb UփͨNMm.b@D pSNP[WҍmS.gwTH>]ogIblK1\?2TP;Tbf]1:,LS./ŕc9<pWxTDLAT"d\a#hAu w'(ha峵|C@̚^p؎jg;\)f鮲hܑclP3:Fj,^T~"{Y_e +!uZ|.BY=?eOL%ʑAqmŦ3A\K o2{2G,OzAoѕ*`Rf6+=־TDI0A!x[x葻ԔR3Ho{*"(^eP#WhEN9[_Hh&,o`n傉{4X$$&e//Ѱ跣&EK|_H8J^zMNaRIz i޴s!/W;[}&I8BٰZaQFogS2\oZԏء"yXi.1+Of> +` Xݜ2Q0xvZIQ2k9zOJ 0R|Z3I7! U{;sT-`\ZaY&3p$qS]MMII=0@˾FIͩ0i1]~!b@.C5IB䂥֝!K;>(eF + +h(й'!!$u&[-;<##6O.Ajmg, +1e3"Ax:f''rLУ0WHY>+ٓ+7-Œ7Fl U??7-J(9P1)\e"$ˢ(]zu(턁UT00Na)PgK-pil4>i!NBND6J)ZTSj@/R>I/c/Ѹ~uEPe0X zwv%:{,Ǭ%*Gfvg%"Đ-*Gbɀh1LMl?lԗZ +tca/@ʎ:!vSV6v.OM1G_!\rM-q8iX* >'b1>AB9yąP^Y @XiUk-*\%g@;wW EYK7k5м猷 ٬^@Al Cl^^4M/$z.!&Zv T+,J^i )e,QAOtMRxNjb"!`nz3SnHIJû(OݭQI34QEm_$`6u>0EUήuDAg #dI+%Kqa$g,Xd\6J1uT[7rKK2lQb&K&j&H2XLNk\ +b}mK--Z K׋":ϨW0[hPJNRT;WbJǮ 4 "QNwI^b.p8g9"+oT.Z + |zE^_!&BZ "Z(KdA-}PE".cuY\D XoVWEE6OQZ^/&*[c.nO ++SB}|p_#W!)VPIJ0ӦJ "*:L*&L$E4t;cHe4)f] ^Y2a5QhV(RN3fM?[=* h_ƿz'?QU:IWh3{x>tb u^[[{ Ě><)N"_H}L 9ٛYJOq+cffY Rz &e]of|ez CT>!VҼ9N쎻<ɐ҃\\\k>=[F? PҲX GkvzЧK9 Xrɐ⢨J^^ y=5 Rbu,!'_yy@7]_GQ@Hl0?FD&y[1b6 r>K$zQ?k һ[q"tN1AIبhĴY2IaMqaP'Q✸Al +D8YD 's6X1Z<aB$ &U 2IF*UN蠂P|$,u02t/|x"+KuX#ME҂4~pqw"hUrXN zIՅ.y4e*(śZuA%&&,Gͤy*KP.@i`A&W>*te ;Z>z$TI'NWFnљ}+edI#% _r!rbXj(=<,CLQh]Xh +Q*9i1d,c#kkaµ`JDZ'|*FPhN. `dۇj1,`=dY۪a!.øG}X]]ڊ3ԙ:&T Ԁױ`A#Rrr)D\ 0 un-1DbGvlYY/(k\ @3μ!VفUv)"L pX#Q]\vǣsfHVIS_"hAC0\i;B$g0g$ RN]7ۦTg~PK4FGd韘*edT#^R%+M]Q=M7z#ʈzUId"L,dqCEf, dP΃X DtqegxӖݱu2o$@ѪUI#%hALb|a)Guzⵘ%<ȍ!\WNB5/iI>x*>q$t$OUhTcp!*UVXV&4'6;˪-GK)ۦRh+hK#̺*/0Dؓd+ 4Kb LN0,![&Q4 +4 G) ~z+@Dh$ىĹW*K-(~_fx1gUJ{|P6l#TC5YBώ @B( \޺J*E]ZV\OqjAilry'9[ʷymjaIT{1 bIcV;-PU o +b%D,&};W5NjEG֒'6KZb\3D̏.6m SeQ.y 8؈HyxL ~XXl RD/"m*qY'.g틖7sL1p k )`Wbiٖy4x_'H4UTB +dE[TSˑQm)vQj$NJ YyCO'8?nQ?Cd,tK.?Ty9*[;-,,Na*|19hꢜ>Wİv OX~g8P2p?$PM :)E8e>ک+a!TI%aYʳ}@Ċy3E LN_dx׏r$+Y )wIXA-LQ<QCЀHZ؄Y>ڼ,vHho;\kE0J+&YXd7hڝyvVeIqJD2(w:͒VImSU8, T-DB!ƞah}/F f@*.omsB +d #N&?JIj] l+a'ǭ=qjPX'p1p Oe_=NEgS3,L+2hFd.O +RihMs)4P"$R)KIb}twB"pxl QOAv + 'IeE9ud"x4Vѫg٪rzhx;#U^,"5;&I+9B<|pIp N!^ı+Ti>24 |JQyxz%\*2HzdHOm|y6e|msJ֕[7Xة3a:nQmP6T@pee e)Q'fNM*Z^(MBpXu揭mĊwFm>8IXK{UlmS$BBhEL*JBXN"fQ@רhoBvY{BHSД[I*- @(Ҩbo_ݹ!%*{Wh+M;x^a4 uR^k !|SN`LEr +hHq Һ`m&#_v =EÔqqp#l'l_be*]HEej9jț<ɞNgwbİ(hSe9,vG{& ~f\!s^>YAK0Yod+*&aF_Pef\Y"o'#Ө +KXb;4&­Bd([OW*`|{.3ꬹ t/ XU<m)^/Y٥,`r1Bb,4qP]p"S%Q/(XUxE0]w+|fI?UV4yL&7B-=l`i#?'?P۲B1 |yԏXQY4q``_#Ca֦)soNygh2B5cėdzt-1}&p ̞g~Y_[/ rN&aQ +X2 JJ0`\*]`Mr&hX}MtF/6lT&ei1 zx2Suo[Ii FDp*#EOF=\'D)e$pgc8ћMuȌ[Q{e>ht) O], l\RNf&hإ]``6BgG 6o Lj<ʣg_hTb]AVj\;HK.\P3* 6%4ަh v/N,9 (b3GN+G*̈́kPҸ Qi>EPnK(#&IUYQxzZ5V&]P8Pv +<놲-bw;<2M:jdF+iVk(ge:Ar< Ժ>ߥM-xi~)>X*s)FJJ-LS0"0tY$E8l#X ?3Q ʄi6wK Qݔ#~H$2e@.CSj}Fg `L'>/rMո2x߳%f c:*!A⤭R9·3I&J&#'Nd)^-S{65`;x`ӖZ]*cmdR]=yã{OsMvOکgr3II !QerVH_Ig[Û۳&K:z]hFwi TRF†F,3$|w:,bё^|ͨP.8IZ@D|L6%'bU'_%O"RcvM\Ot2/r"\ v-dBEͦ)C*/}Uj7n:ZuϚ[AbbyUՙWT(_sN2qt^:NX;/iT@f13EF̢Q?nk?q + JĹEz%|9ٷ~6-+e 񖰿^nLW+GCHJ^tE,I<_H|n:2h#SI~)D"Tw$vEslblOr2G?Cn. $T,ܪXeG3WtY*_x`V , mUG^KF Тt h XKr juau#B5V@+H"co"l³":!8QWHʼ5GЙE=,i90GWZ"p A!m|xF՝bRE~1j΅4ɘBLH Jd:3>ǭKaX$tP]2f%$;&rt4"JS}Qhypru,vb8fa +HF#Qofs^jȖHj[,Xbбx8P7zDTҷ9n+x7A2 v lqU8|SHRM8L7NVizE4#v13!R l&% 9?jN.nJ2!]CpXvW]ޑ0eDD&&ٽmBA艩gMX4 ƒG Jcc9,b!kIGå%[|<!)xPhM-#v$( ByjP((["N#5F9`*"iqiHmc]yխ<*CXĴ 0THJ4r[TAj˝.#s&aAuf!Zp'fuhݲQ]m +LpHVZ(UU +p"lg3} +ǜLȝضv3$U-!>S}g0")Y7b}&1 I SbcXM}~Ɣ`qb"ẇЊ(- <`iI(G_o Ȩ[ +~ehmE[KAԗ/e(>AEE4be#MRxNbw WK:KDujة.XUH>,o! +BUPkM0eX*g.(U@x\H$$nЮUݚʒ,Æ)W#lۊe &Pr ]8İge7Fpqm\Qb&:kDW3(RM6XrjY~lж)<&H[f(u)GY?dZM8.f:'X:)Tf;,M *]$k56,>{!t\\N%I{Bv$>Ip*\TXR4Xe68@~K ,uXZfث*T×zO&k'O8q 88'Qr 1I'jBh +ldMHJ0Ezyj@tI$fyA$I݉վ *ϴYk!%W#:uqU&Y.7E#RBz̷Ej`4E'{6]U ~&lA00&Z"vcyQjѳmOy$|\@ETI*sAt鈒%u&\'S,}9SF\`\|8fD= Ţj?IX[TYLD`Yl$$(tDK>j +]wmC+Q$\B /T`Y ˳`a,ΤDZήiE+_~&^-)&(u>MNKS(z4Ƈwm] ?D{Ҵ3ѣʸ1+HBM|1 nqnafv˞XGHO]^NT]dai +(DBmrpujgd,'X&: ĀZ[/ܢ5XnzUCfקu5Q\1E5(C78\6,Mra|ZTc3nQeZFF2};؀&ꨇ.4SkVsбh*`>q_M歫$/CZM.<KPP˳ ^dW @LWY$N$ȔuF:酐.nZ6*җwb2tJAB9 z{ߣIY&ɯ |5dK"6/\"{A0"C?5q +X2S`U\ +㈔i+o%,÷QB:}l(9̉OGdžQ Θ0N\?GɷqUeg(Gr-L&,Oz#sXE +Rݱ%eȔ"4/D8ͯD(ZGX$3t*1B[T4^^ QhGL.OL^uԢq #k a5EA8!LvYv*P4!n)MœKFG=vFſ!eI3(A8q"8r쑚U *aFu+aAhr%!oaڦO]MAD"ĺѪL"JQI9Ggd6rU3pY _bBK6`(n KUX40 xŘj]- V +b̌nN9qYGU0_2@C|$98cM5D .HЙEi52b玱LJ̥ `~٨\:_/],}cdtNzޥ +ex"W[2hY*?%W&`~ouHOKE):T3\r 7Y+<7aK TD%~6JZn +&CQ$ @\i6V*2(U :Ďնh<#6IxRaH +WmhU靪L$GKP3 %\X8tG\VԄa{yk{+X2Jo6H胶Uabefg@׊wxI6R3 2 + +6 r4&b(6fYatD#\ 샦"9%tpll5f} s#Ob UX,B JciMbץ]m<`fHw瓣fEs0 @! h W|*[.,d [4¨n[)*F`OH|94\"΄2' C/Ȱͺ2RDh.t`j%4žCoTt@2bx."yGL\!tM&MK +(pP4;Q&5鶲QD`y4䅔(2,2k`$xKL]ϖzԥe\r꺖<_b-fJDPS&0qN9kc02(U6-2la H+e2*ϑ"\ñq}AVImj֦`V8J/4K*;XU񪠏PH=Z:ieb|,X$HϦ#i@&ue{=>5wM%>HUD`NR*}2;km(ɮ%U3ՅUV9IȕYb8+ +i)\FVީ!+8H*W͕¤Wk$? + z} +7]\X2A}I IVGJȭAgPbPcQغrY#8k2 +([&53lK+ j,J-hPI(΃01XĭS!JDZOUx<kN빐`@kruҜ. YQM֤Z0R"qt*@J!̓%wtz,׷:L{',I{ђS@\\:P+cL]jXō;ݪM,Jf^ڮ'DNwR_r95R˂. +8ʑ "NFy**!] L`?4䨆*#f?f*/)=;U03A|BӔ؈)h-i3b<JHӲ*]t+D\q҉>_ EQ6ҟkp#B' +{7/E~5M^;'iڢЎNf 5!,r!AaxhyGOlt|Q<>WUL'UX0l䈬Js#IX>]7Vf$jWirM/\”Mm6_fyBeb퐪LSrha}x4UqyS3WB_h!4(arD39()~Ӗ40(&ELk_p( +ds ՀpIsl{hr7cӍiRiŽaA@Z'UypX5ZMk-O3MD"P/PVbs^T̔؅>HvU +aipVQn2Bת_cRt|N֡^UJDOUOH͗c|],jQ1YәNMJ(ؗpZFgSOBe/4UYș/'.#A}S2`d 5ǎiXfB(yYhsUӁJE1,c?*B.< xICdn zD,,\sa_+4nدg 禇!dh$S%OVk&$؍F/Ujo"NS_N0DTTMyjtS+&x.cR$ܩ,w._z`T&˥} @\uȦ/EU4Vh)0 ,tAթS.iNLٗnrbh"nRS\eTm4J O$xi cޣ"M̺f&,%Lz _&PX$x_bSM0>!si0k)#eaU&ʪ%"yQm::¡k( .+e}K+q&Qotu`ء,Vst:͔˯2"\5C `yK$ev/C>ȅ>/6I&*G+,H.1UK IpN +P.rN_em5sEеYyEk([A\ Ync5[:' +:I)1-ꊤ@dQ|v:2Ut.{0߆O`+;J%x^I`$`]V/n+QW%YIIT/Ę +X?dQ(Wk/ƌPDd526iB05چGH@utHOv`٤[ dk刾LA]HW2Yc4z' \ XƢ +M89bx)CNFpARIynM/+""[5"̩u -qNX"ЩG\$@Ȣ\040Mm 4Rp>&m,'MGE@I=d\N& r6n>fzp+amf >J5m7˹a(_^l&[k^ U[2K } +L#1__᭩) h)뜕'cELe#5OrDu:yfL,P$v#_ډ)1 S~O\?EjopEYm*Ы](,H+dMK +vw6eF+I9nE00&,lXPHccmR^|FJ\ +A]ghGWN4ǢN[{[%"՝(DE-d` J*\Y%쉊$dwŎƥc@~SR&%}$0~A4ܿ-g`8(C#&no7M`ʵIOl0z~}YRiyABVn): E%p>Xs ׁEAgWe{[ml98Ё&f:ڒ@K+o}w&(=a_`²VTVnFqV!E%zHxh0PtSrztgӮԱdKjV i{۬Z:,x8VKn"u!_lv#2D27!2Bd` _Ծ.\ֆ΅'f6LyW1JN;U*vLelǧax~)E FgI/e0r}˚R%Fպ%V P@(mD*WGC`V̓`.ԇCbN])J7ܱUN!2gmPĖd#.Vq/^qA`ߓY7PtAO y#bJaULEFz[Yb.c-` % +X>.Iyn +^ }{蔅m%hE>\,I&waԀ,|-OċY.Ve"_#׏vl>*k< .Z:Wg[ɴ埿S'";B2RjfK8\\H3I!.}fܢmE)<֠y>Wv f2B=2&E ()KQ|[ Pb ˡW|Iۍ~92xgpw$c t*W\WJQҁ] xVs&(X$_ޑ2oe*ynIgׁ +%UX%VeeZ_,ǁ M7k7h@j]K&{yzJR +[c$[xgk 7!sQ.顃CnOP";>h{ꖹ[7H|JLTU/qrɖ@jGT0(#MF +Bo#[&X-TaϹ`X&0ړ JIU Q + 8,YYA o19aEq8+b<p&wBϲbh|5{ibn KҜC7(ޘ/Tj*}P(j~RO\Qp(2N*8ِe=3ڦnǪV1B%dQ032]A+2h+Qtt/ಷ g hr2\0`9%~W"-npB fjS.#XfR<^Fq UD0oie/70?v V-y^CnsAb53lZD"Bos#n fhOa)홊r~'5;̐橃Pazd9-ڴ(Ҿ5 :GL;CSW:$F7cHWiH$mOO v81d.;WF=-˜521h@izQ9$|6k3S":.9KQ{E$\xiA iN+"m_" ɧ]ɨCB_F9*K'ܩ.estEdAR KḰ\Yi#:nkd@[Lm 3be y1EHNMtWkp?̈́X4*>ZdoK|Cm *IѠ+r|I/x>'!H 2TE@Z*tRx)#2XpMGRYmiWi_:QiB~]*%v.v4MZ+6LEaVz$В:q2X8cc)$p+v} )^?b&1@W+4JAnS@8.A25O0 57 lXq̕SHONwwvYQ_Dy-((>QC*2,d!HlckFMD)BaTnE ^Neg.|2[sܲ*+JG:$\]rB!)Qj@Qs拾i xDfUmų ::,0`F{-gbIJO?Qx`6 zހE +r=4\ 9Y !7=ehk&P/U"HN5SԸ*DLtVuzh"Pߏ%GVM˙xJtko6_!ɳ?eޓufPPD;2Q& "R[<"ɓLrX?B|<ʞ[Xm3ZX_hM5V9^Z +LɵHW(ي|V&;YRfOk./n1 +y^X3_~r✄0˅`NJfNz,+ƈ(4֔N޲wӒ4<d]"UH-3bR̕72^0­Pd2{ɗL5a["PőaّډS٠j)tlE6NG|SS")K8/ua<&@_RIfJɸTaKDGcmDF /lDWe6?JCm"0drZsP[}*LL[ڗЁ -4Vf*ugPUhm`<.G7נvl}ɢ(TRkr&rF{>FܒzI,capIX<!BF|F|MkՑ$`ut«$h&͗hʔ;6 +N[wB`ѻ",ժuÌt $qC0f#xG)RUBy |"^3H^-m!@2-z# 6o@1 Г$y^ +dnγ(U=_#jD1"eb_wB {da+耩3cEFȸE&ah譱-3 +)U:V6Nh*>uxw2qre-Z+iBسhUJt{7]Jņ6ۅ*Ĕqt2*3F}w_36CdPLQB,ܛkJǛdY[dɰ|$:*JXT!5];|$j*4_Rl{!v.. +BZB2(+!Rlmq%SV:"eު*>x(6âSI:dXySx!*[ S<ڒX2 ֘O'wHZ'BY$s9#s{y-W\?]bkpѓ&:UH$ ir8AhB*!4=`JL6ۏQl:λ_2&^l|HlU؏^>ckU<*RK$82 ّ٨]R&f6%#Nir"V>TMRmJd!OzlX0*xbF 8˘\˖ʁ,QD ¶DEDc= :HATHlc< + +Nm t'qv,4D*5MGoJVb%ggyS,HtĘ%q^WN RMOWFh. O]MuzΪi#ః& *lFVzr淇-?uA"*hZ҈X! 7j9K aHLxEgE/q +vŞk,dPGJPQmI䉒)fYcKC_S;xWX +('r)^0Os#$I4H V̺T-F.0p".xfEkIbW5]| +TV2aDzUWauta{Z31~;i G7> 8$+G +&yD"2(R+| ['JnRVܟjv<PF<Jdv|)U`iOgOD[*A(H(hʿcT;/ӐRUTvV8-6>Xep {Dh61QЊZ@}LG:u,r|ڲv囸U=>?QgDG4p`DprIN>fXd"I")F^SfvBvq}s/֘ >B%^T%bܣt%T4WΙ-AFҖl#Uo&;֬ݸ3qŅIhHu9=詺=J Nؽ8w+*!U^n蚉#S̗1<'崇-{&$ xvwPY Z +vOUCIV"dOLD͗'d]8Dq|"lӨZIGWL JO(–0Qz`&Z H@qvjA7kV 0 +HTK䌐KU,@n5mkj䉣r&cA^n-zS2'Ѯ$tdtE(֔0BsҞ^]vpۡV~t Phpi Mq< XWsO+@k@ mk;ְJW((?ϹUZAfh{B$Y6UWBiGܚNoq U4PM^E~hiH-Q]@qb؈Mvkr(E wS'E2A- 2XPSvt(rfJHb(T{gD)Đh!H`$– 6Uȑ!&b2 U+qY(`bΎ 1d7FV8oH̜̭7*xMM$Q6:8i=Zddޅ}ޗlۛZt?trXcN0cdڶ&{U[\L¥hTy$M{,Ě/3'TsjK~!x1aZg{J*V.\пђ}xh>@L +t͆F*eN H$r@i +a wVo#P*ht:A t4ؚٜtŧQMŒd@Ebf-'LtйXDVSmKfsYqU!I,05p3M +gy~ r?O-FM:2G-~b>Q4I'r5z*8^_aNr%ڇY1#th Q QAQAj D%j@tolɔdIQgK'bHdNUaEjOrLc-q`Q&1#Wbż*oͼ?`rqaITh?5iB?p:àTMz NlP + +4[ dHW岺3:'_]`. |,.-exҜbFJ"-7b<( &Bמ"P⁄ٌ✽mv0I\['#-ʫlXqNMEw _@e҉ʍ&D6(ؠ]t ~K&|c +r|b(oN% +@"ih ]gMDizZM욅 ~"oɲTHuԺ<3\UZ%"Mٜ3Bbs$q18kN}:ak=SԴ%̘(U/6N,+fn8Ugڗ-l \!HSTd!MTe\wz#?`Jw|{Tx%IC% jP2!!֎Xw*qX-~>nThcLe]{H+D=aB<7e4L\l(<\Zv +g +JB Zg3},@ϴXe +I:y7YE(Sh 2x1*͛oxX@ӂC!)r+Y^FH1V>hB@S2Q+2c hGH!7 #VUG6A!{dKѴ>\%_p.@[:;ɇt$KTԏ G%v)1Si$T!"$4u@rFt떒Sz;8mIU ۜlJR^|+yN:\.-X"نMT(C3aW*Hl֤J.)%ntX°)Bٕ(F <% +}X8:~Aj\0靮hDq6W^2ZNZٳ8 xArLS7uQ?}U.8onSVzGT–G*<ݨh(h/6%{wUP +)#%FЭc&8zؓ|bcHuP?6w[cTu4\h4j'P8[}d[vLBY [64P;?HW֌^אD95j :Zd^<Þ"y#NL*~9gX8b$.3g^5r;:.@^3Dedž'>J%9JV9}2Jt]d;r| i󗓑i?A=`ŲGvJEwdӼeJBKv< +aUw@ħ5A++iDGTo/ ++^Q[ Ύ}ٕ\uH|-Vcl.Cbcm:W6 wKkIsLoԢ978{%,wO.E/ëBӪ]Y*zm#;]#x*X +(hU6_4W.l[IhBpH }K + !d fKhi"<=J}Ht(}vk٢r@q9oHEcbφ'!I9Xjc\6QI! 2VOn.}Q0Y]eBuqf P&|7%AhI a|)ؘ;ye e;^HɆ9nTou&S]d(ڏX@B3x!F+>eI̊mh-}gt\Dt;&.6s\2R*&FL RR6j"/D?* y4vd))T&>x>Dm.60Ć\IpȹG>Tⷮ#CHv %ʢvKGĒ :TrA@Q`:E2c'*g}Ja|ph&ZeQ$8ȼ.H|PtcUjSXbA⶗Cۃ Nv졢;,GQq.-6G٦kXF@2{>^$PǛBE?QNOg|9~le &."qt2>8N&=!ԡ̮zQS{VuʂKB c ܹFBꪈwj%$me< 3YkPcf_R(d 8]}I/ӫ '>=1.dYCA_X@0(K6/#;s꺭^=nA-3)'4dBi,RRXh +CA#z3̆0_܅Fsdu*ģ.g蝲?M ̣l3z^J}'|aE/. [`CE%JzM!r@z☙7ݚIψ0ո:8-RM6,ʅ0 DSvZ ;zR1N@o=;gaZ{UŻP[DJgcԎyq/B4Mk éG,!ߝƃKega@)dȺbe_V}`2lm!o@TIuS}t4%"Cw`wMY PUJI,)d,$ɞE x6w*BʖQ +sTȪ\03֒F5*kz-Q~QkZ糶Ģz]?@j&-Q=3;]`my}itș U,ȱ_8RA>h uNU 8ٌ~3e @%hEP~fL^uJh%"> +Sô̖(f* o/KWo$(+wb'u {DM76Lr?!̖Q56LA^HKIUZh7bXj<|E̎X]SjUM*5(-#.</1g;;bSf +~(uA{qh[ P:f?#@9XUBp#R 2V̻:CÓvXChI$"Zfo"a|6Ѣ`@'slI"9z'Q쪣RɅvĎk ZBUV-E|pW26a@A#DL6ոa>N iSΙfQp-Xב:,U) ?0j^V|n/: $ewdb]?".-"dř0!E%5* hmEƥN&iR j ^&~Xgp!?NӌQ..e mltbڎ;32ۭIk#r}^u7  +t8m((oŻ)*G W)Vfv֩lT ] +)8FKn&TtCwk$v`\{'f$c"FrxhMR*.y&c &%"[ ],uo\Yk¡B~tDwRPm[MBVBѭo(8#h; mru%S wj`DШѱb6#L%z$Y!>=CȬJ=Lcwu~I +]g* ]ݶH&紡6&R$#wH]R$ii~yEORB<1G}1c;\Q3,P!wa + kI&DkDkJlh,S-|jҷ*_crH/"DgF +u44.a#B4 j93̃kyD\[uשFJBSm̹MV`USSvcA*q!F3G1[oܙ]-XW:XcsiBF~IFe?Щ +tGn |b8+5qOIuNuzƮ +iK +-'UCD mџSRrAw$EOWcPiՂ6ϬpC'>ų`Jn\eC:qH|A D4"~#' l_³fheB_Ћ7LfB)+4J#WZt+% \!xbcr؆PH +RiBr'4*c nB Tɂȣ6?l}DSYPhn]XDtu1fi]V.-7+ՊbNUrr44DHQ^"<|HWiutҒn*M +R )+:Jڒ5理˿J.#A *oR.i ēIAOD/gΗc[Sarh< +0G^^KTHHG(g#Of:#D4)Kv{yS5}~!ʡa + 1MKZgAx>wk Q0X2+E9li +q LJvJq%/\&xdT`$ @ewHڛUTw㽥+(H †༎/AdC2U a&57H%Ģ P]$2,XAg,Z@ fFɒR1evzMWTUnlI6/A!TQ[˳ϋ{D["-t])yگLlxߐwpHN/}"ԁs`{5lJwQ$FT@yh"{$WkgjSX +6(m=(A"2Zª? kH"C!QJxe$#vKp̮Z$^D8'lSC#%_\ڧ%K6Af$i.zߢ͒&m32[ +z*kd Z]R`0 FJDӳEyfhfM91Lғ8I<*Hy +in&SJWPѷX5|$i +p0x"b̦$fXld,dK7 ~zu4J8At,jX-4ephHUB"$V"oy)blIS(Rws$~E/9TzrהBG@\nVpfmZΜ;Exya +lD(DcU^*7(GtWN= "9D-F/Ϟ|eqPD&t#1D>0\f!ܠNT*O",tHv!$M"{ +ɗЪ`3vKXѳr $&%K+d _h%9;t[*mǑ^ۮyǴ- +欴p'e0!bBh͉[j#;Ej}& C2 bg!kyXtb 'uҢ+Jł~_zbYgTfwxRj:7XlDAY,]D9jЩ@UCaHmIi)-"b%[%ɩΩQ̊չit&!A6a&KCFR\RD]HVB^zU)"uZkOMB%ߢ,4\0"a4 ǚGn15=d(jzgUFc:JV<ᕋ%ܦd QY{$\B]┚dzL'dKG<N Yߗ{`ccQVL#Ν. !1FL4 1l [Be1:<[$'jLX5,,KW@FT͊LKLM"6~dRE4j@ؙ*iyeI{vYU Մz$0Y6 fɟAKʡ('$o2%Ac#4* <%kun%L h˯guX u lF7'em{H3bW).D@HV f$AG2@Ef +Yъ9=82=tDm3<Ϥy:8TceDoB.FNؘgErp>4U +rAW\ ZjPl[6lZ'$`qUB7BCnG(9 +b**LY.t_TJ?lK|Kt:&&IXՉHZe: = .GzTZ^ RPd `Ce +$[xѝ76=mkR}2V֖bVjj)6hL,o/2ӵz'{(KItCUlni3WX(ɷBϤ?/ofXx`5š@Sm AHZOQZO\{]NHYLi,lҹQN Lhwp.X)B(.Yw6Q !-^Dv9dݱt$ME +.ZC[4Bt",UK'Prk&H7?aXaS QIAc_?f'!,ϑ8+[_ȸev(h%;W$dm.]='D !xVd!R̀{ 7v7Kh AȯcGEWlB$騞 Ӂ*(i &YLeN#Ԓ9JEL53bBn\U/ 2`FO ax,$~$Rm=p2V^0ec `K& ^Vu)5S n"[A.B!1kd2ŭ\ Vڣp1@g) j&vn=hK*w+-uXOyA*QKD5`h +\ѩRje~ PLJް7v@ ]d&i +nFWbƈJȧNjdy̏FA"laW?3yVDݝPJhՇmV~nCEGB:>T;4"$;M +YEŕ0 '@J^?ajZK9 hHܓCs$9C;ܙT΢(B2O +Csyr2n|}AJSտP|LNK*Qł0"O"T3U~SkaădZ +U1gM^~VcD H.Q=W,^wMZz#2SpT./O[X^8B7NԆ.xR<ɰVEiaiLhiL0dN$KAR۵pRjxĈ A_.<++ཝ5H +`B()}4qd_BfV Třb!Ag ^]%40T$0Ad"⃺ 9/OI 0r`9$R3\:;PDs+>n7gVju3'сPM]NuƌE^ +Ar勗I3*IR^aFMAdߚj,AH;[e;I)eRrVtwJQ-dJp{:a:v9Re#}1g'HA_lO E +cx%Yà[Xhtx6 +(R5sBl7빌[Ȟ>* + ӗ] !a xX<ӝRSPPZC"$2LtK\HfCE6-wJkylWllj=:CL2%QP@((:}gb]ѼU}{$y |9CB`wNIV- L¸% BZW!H+XDTX2E?=2>7Z=[|`uɠ:C}P@篦O\sŦDOaK +#;M4JcRҎpM?`L,H_$lv-T5' ):Fޡ45|E [n2ײX<וy7r $oUl{C1UUgE^Cx&ͳ9LbU3Z$ӷ# )霰1-T +9X ϔP}95fg(D"<15gtl-_J3?wlY4PʥrgƪAGV&#3=2&A `@+Ik#0xf!s hT+1Y;[V?RSj i/y5qwcܛ=͙ޘx:f֘Tm4l! ! +vdۄBc;t)v%Q5XW +R7$% X6WkbrIp` +ܔYH 9[x]kl,>H CJFjз*,G>EHӤ&P; H'z!AܰjD'@:}R$H$21>!t0U$Uݮ ȫǠa8kt9{[Na!RHkO,&ݶ%wR|M.QͲpޑ kH20>X zĨ, L8oF Ufb—-&i:L,C,6-3$lylۦU 6l$㶠 9C1 ߌ&c^JddWzse +tuLJM2B%D|jO$=O̯Xf|)z Txh}(|h'cibKM<>IӃ3-n7wI #_4!.)fP]Hu56*v6&bLHODI-|h.`I:B&bm)3US󐴁GJ-P*Wf .H`-X:"H4[ɓ/QB0\( ߞ =TE,s$8W4:TL/6}޽l/&n{ޝPr +sOÄ5Hn8-a46̈a@n-S~,Aɯ>f Xhl.Vr0cjk⧣$"i`q9 dnKktR?5&LMSuU,|V4!_հ$S 4lWiTb&)DHIJ-0PB΢G+3Ю.I.ڈ,}fXHT9P%#h$֕Iqk$im6"L)SE.v^jD! +/30 "4E}lΙ(XqqpS.`RkeIpQ۔+gE:ēwjJaa^r4&)6dHFPtQ>4<CޘlآZSډ w2IX/fp-TuWG"Lb@zlUܗEEo*E˥&VHRVƞua)Zb+6elEk*&?wZДe;́zu(u&SNpo`SXb`w[2 y+ +p29 @*:qL # 9XJŌTGuL̰Z_Թ+cmI(i4Xt\ ]Lca Ԩ*xͲ-`}Wйb,SUU]9\P^ui@buOȌz'yG훽q5fdw5oE (.A}.gxA-k0azG>?Mʘ.{{Ig/2l:Hr$Si/_$ye:;] ҩy]xF/+iD‡jFo$mwTM.Djme4G)tpq~xmh8c=&D4 ~tm&UV6Z:85MjS:T* .2 h1QG ՚o7 ^ U釱TBHMɓ@%ۘW @kF0he6Hj`rȪk{k{i#H* Ba?ʬ"k{NFq#ߘ]] +Bmkn;#+Yq]oTX4" Dɱ>Z!ɳYgifLj0hIo#Uy!hQ +7$uYzk)$(Cbe͘RqZ*AǥհMFBKKXGS%yBêZ+S& +*C,đ F`VRRLd+ꯝ` uj +F/HTKA! פ-)XBLk%+/|"Eh%<_(]$+pV[]ڈ p,O|:2&[BaѸ1h)wKC| TK\ .FtQAd.OM%ux@D1SR,Stb8OR^2t8ɚ<ZVn;܂ڄlL n{+ ynfYLl#BҝOEsyttd̎8Rw0 anh;= [U.hW|2͒rhmBZfh+AFU+U-M%[DhDUsm&5r +x_dʁZЩ&~t=$l |XɉW2d0:2 Tu/ EP兼Q:_k[:Hn+DNSz`xek%>W hKoZꊮqZc,ff!DTlV`-C'$>gKn(X%NieH軻L]ߤ 0%&h:d&=JHZHݛ"}\b̔ yr=={"fX剌͞3Jt:qٶ˹+A[k0"GZ4TM?a1㟞 + K/l=%mzI2\$)έ" ɤ(gwD"zU'Q1vevGe%9LFt%!KP0a(f'`8=GR҃87q=/|-&ŗoV$Semk00My%h4JaJ^-FWEcԧީ#2z)\ RVx*. 񊊒2L8&snJ5|A%KIvn&epΉZ&oBR'EzЖYR WR>Zj7/&la +MT1*3cD*Oxwc,V zms:=gL.D4H"uFHFҬ|ErE% IRv#yALѷYj /c_;.F@tU-ezhj`_Z X^{LIRv +> WR&^VE0ϤѦMO% m&RJ>+ F}8"6GaSuDj7{va.Rİp+ZVq:UP!$ T*0Fd}hUӆMAܧ6NDUo89bnMH 78^&")i&|IkVArm@wQ$b Y Q!tGŠKuk Lgma>ER`@mB̢[~KΫY %lFFt&^ >|WDKɾ6F6SU=;:EE{Qe19eaN@H hMGjNBh[N,+[22J|* ^|(لyscUHNM + 7|(eF›Xe(Cj F&U5Ά +–k>oH̋WUY/ѼK-$[ȧC9?q4pw9gDLDYWs\㯩c~Rrg*JDvLMl_lP"#1Tq/X[ėalС_hZ{ +Q\H bՋ~"ߩ3.8Ʒ&<Ju#ioiB JU̦Dƶ ׬~(\6˶UW;1s?u +9KJ7xpC#-iL6L EiY +e}̛X{ԢP;sx]&͖]0t_)q7CdCboJM&&U*.25V^DI0Ebh'XS#Zt2,,öhU[HM#PtlF% ["ކzIpXVeG8\0cy00ԝ$.DpwxBG] +>>tΞMϙ6r{y|hutmTDLAWnu.JpI*3&b4eF!TBPOxhL뀜S'p c QNڊta}y|t!Z@FD5@?(!m+2a'[ uM[uMX + +3)ag.*Se%DJ>E A*TKj'8=Fk oXEi 08J )8MB;5PU3??5r6i)w}s9IkPԈ@6Yq? )"pojn'v-* +%p] XIB\)WBueXE{_cehQ4(s +OpAmSѧZhfqД Dّ*HlC |3Umab+P]d\Ng P∏V/##G(*Dd&}EZvcb +#kYb +/rhcC",Ɇ@Ph;]oӑ5F޲Z׬ZMADhB]D+FޯLQCOGؒ@kșAfe<%rݑLd& Kz2?s#h:mAS2V\@HV|DXnTi_"fhuot͈ Wf-!hȘ|e؟ߛ>ˏUhdT[XCPI&$νtdu%BDye|3/6 '$}?t/ Le-F!rݟ0K3;,Rtbمb/J0Ѓo?J%Vj-ŜQd]D[w3(s]ʤɜRb놸:ehRl.{Cխ't mͷ)++h^ `mX +):*PⒿLgFȾbw$ڹTۚwV&Jݑ x;ܡܢ1EYtfxЭ$H Uz.Ap3]ԓt<0>P$6RWh2"+*ίgQdS$5=Q0בvQ:jS?K+Q8,H~.D(A{_WN~Ì)\=W r'Cʣy]R +htG&N+;S;QeƊ"nĀ4X-S#ELUXqI2321_}(']8,[Xv% )Um]PIi"U„]9x B,%"#񟆆~*?$Gku3|nfHx?6)2 v>v +u1|Wۿ DuDjAT? +s.|=⠦P42GT*:Ud:nl6ݕ$l"m~`R,퟊LJneIzRovM3G|⫒˩i}Fl0i$%r-JqLi;7'UYz}N*2 |UiHtxBE?2ש#5jj2z/Rr#}*ET1MS4JxHWRsc~Rһ2/6n =iGbG 0pY3I(3'J }x$+ +ޤ,q +LuG00Ui~C&vW4)PPlk%q2C)Ocyɮ-0T"8.jml6XTq(A+40,UGf61>A0oDE[_ya,vP7l JX_Wn'P@x$&\y*k(s/ e.񧀚72 MnT! ojyB/.8z#o$S0 ʇOBBEU[ʴP0 ,,B ?>lkmr3jI!0$vJeKKɢF>1ߤjh&B#ACEXXNjblv'b |J6\.nkP)L +ΣdYQc@LFBe, yS“y h.(DiT"Dr*@:la*Gq=+s)*juShCTۧH@:aPTID|YOz`Z*Dz]:6wz*$+wgdUHg>i?ED3,U$ L"TKE^d9[]\mscQ*r:8)`sPB~!H,ޚxW7$g-lUƄ!5 }_=[$HH@k|lL5V=@н%zB̍*X!x9v}j0}pW̗RXMEgE|IEde(M( 1cJRXoN:ކjf5f8̶*c#"X'YW3D'LќTE]yZ3aC\unL2jZJ$l,<4+lzѸ[|0~`AZ.j&q!o6 r'Գ%8V:.ڨ43.5t +[gexU'VCNHj-ne:"s"66C8v-?FKKDiW{W2 jEybRjBIMf.s/E*>(w,X+vC'I\|ѬTXj0&a&nHU/S| 㜩hR2*)Xպ{h$A9lf &O y )' ][ +t!+63b~ݦIYN7eXTS181}^d2FA]R(D'HHkL[Ni?gS(Oy5a%T.+S;2GoЫI/ c)c_0yS}z=ww$tքFɧ9v=%d$:8:8"[q'<,7 pL&-/tw.i4a*A]<Ff5䫃fBajxUG5 . y( d3AXb*7a9uMTgضmr+;iԈe ćEN(|$woOO +!4'g;wC + *B൞}281-tSB!FlNJij ~N#'i,Ju Va%>><0Y +ln27,x)"0mI@aV@y/(+'U%(7VrPyh1URhpL&",PBNSHWrJͥ+ڗw_PS Μ +:'+)m`pv(7P뾣*),ȤY@F9 LEBlĹWDm2R6e:jZq: z=k2t[Vo/EHp%-X(H|ɰ @I6:CJF^*$\Fߒ*%:V=; +%i(vƗqQ,Jլƕ&$2O22< )DWi#DL' w9UF5HXB_P/" sB}CĂ@t:RN$R$x~zO?r`wбp߯gKloI"ibۊŢ%k.봧"ljyEo=v̺'r" +߬MMH~t9y eVi7ˋM,6GdJ`xf,(͉-|-S{6{#M˼MlBg6%KI1DW鬪 {(6YoB?" zE(j"d>DCFVe} thh6YRY@algv ȯ efM瓓4'h8}[r#tYU$E4A:39h*Hh{)|=Nf3,Q Ya<`XM2.N $:m= 0"'BQIϏ&l))f5rf.|`rPcY3S@zִr4C:CUGuCu2$ad <xq wpD}n#s8,# s ˋh`)%aYSKO36zlt2s r"#0i'v0a] +S{]bXbRo&R<Ÿwh?ƚO*ǧZUmHDoAÉbxq  8&̋:nQmpظQ-1m_(zT lw25j"vn qdӓv3LֻJ@C6d,>@^$: U~*PIclK!,0ddxLC8E1;hejW +|lŠcRzTyqK%8(bo O"/EZYM&}vjUMZtyJ\Qr+|qAV(AƷ;Vc CJy@gdԘdeuEY0Xh;F$F?y"jszefQ?d;L .yFc-~eiH?:]rQL_ FF\I沕kfF`JթuEǺhPd E┈xaJtQdF!w0ޅL , qݘRV=$­ٹ#d:6) -7/+p[ChdBndj'y"$~ bc6rS2FYP]٫,û:|1CP-79UAGD7/1AݲL"bͭ&Bx `/=lBtjַWcQY|Zi$cvRVWU(u\ W"(Et Wd@܄%o+`\aX>o\mMgH@w@̪vEq~'Q"MT-91lyF P4Y%/{K9nԭLIİŮެ`-`,%(;IF8:-Ҹh :t&bE p%}EPn>6`gʲϩeY*S?N/3VdeL?X8+a0 mOM3Nɂ" & B"\k.&3SW#N/w&s 6ɴ$ݞ:%ARn)G J\ %vv#1F/SGw KR"Q) dJ'01/u#I44{N8EPht9kO,-. |eJ2@׳1dI}>7]4զ4ggSX\Uy4)6X74USE=Y3 [BVBOy uxhW!^!Aj3g' )>=$4V35b[}M"Zn$z1+D_Dݙ$WOEp+ bCJ ZŬUѪYmyWA3f`[cooۢ阍Łߌ: gX@MҀuAZ4Tw pe-Y[Y+H̹Z6bxOgQDqU2ДraGCP4&` 4y*U=-a=jCfׅVYq0fT5)K UȒZԞZJRu2D5{H~mY`ަPү|;(s 2Y Ֆ².&8 +ںTLi!&CoVCMPp*ɂ@7|?d'ônz#0@QeX*jD(~.G=[ +A-˪KY~ ۸h*> +$"ԘU> H(jWlXǡ " f,oPsVHJ*h/1Hqd1mSF f{^* +QOŬhFt`vT8jƴffNVBJ\HF|F.#z UHۋS8ܟ +PO2].PkaXm*Iaб%Kΐ DeJ_4Ń#ʢDLy#'!!Rv$HD$\~25_6NE/`Gv x-I~,HɁhe&d%K߼RzN3gzsv) r7YXU;6GqW:SҪ]5&XJPY@(@CoIqha v"jz-bJlI&5IqL_b"f ؆wx©YI/~HUvxjW!,{*&$DEUڭa>ZB"FŕT\f$ꅔL˓U8j춺EdW_$bzIFl4fX*Ix%1d2W'mSJCm:˿Hx?B*ȵN&4WZb 襑lLoͽujA{ A;\rÑk+ˇ4A"׳)- &eeI秤΁ ^_a sT"CYANy\U$\ Bѷқ.BXIJ;>Ӕ +JS"$\%] %- I\aP,j))-09mrLqg!֩6ۯW Mԫ-]8_ozD:_-^G0>x(/5+"RTFGyDVmW*ME03ȧpyzvq2<<rXj1]vul|AUpՁ + /Zō$<`ЭB }ȽKI{1c|,3ƋfqB9~yDG8&(&&Pi:j!++nmQeoŅX.ačX3mO `'IƱAET +6E?(ffٴ8]!#߁  ߑW{]ԳDBٌazvzZIL,HGl 4@|Vd1ͧ%c 6P0Я?RDODZ#6H$CX|iBB^qJ+JfEqT8ˋ;yRDLrY"E?eaRL\Jmۉ)* + +MF4PYwB %@_b8dcIU_c&{L4T*}˯mRiǩYPeIf*_X6P@/7o5n_ԦH- Q: +{EAOKd>">pU2HHp|}"MQR `yR&'E򶂞x^4ޡmV$DHFvh륶 'Gs!X`wdo$.l_:\8G픻Jm(a3PM~ƱO#@ .S勐EN@Iz:)&}bUTdAhK7kךb(r൤j" +`!(Bq7z3V#4V"X, +bS?j'Ha+,~13'MOWcڣ9A2@HdGv-Bro.I|Kh9H0>xI$ݩjKvÔV'BV_ vi)ǖ^psDO'TtvdKRFtj^@j%VTB۫;t6h0AhHؑ3 +nBA]1+i\gBpHRb 2]HysXKgLm}Wsn2*")t^S!@MU$:}XiscH Y".*7FC$tV3 2g7LEi)Q`~zBa 2LDBmtƖ]M}ڤ@,S}dT븛8f@*Ѷu%{oEԾh"RfaQDPDmg13G!V  +϶JǫGٚ y(] +& 齖d^|߮ ҹ霙DQ_J! R)J%ip=bhU U .8d [ 3NQTBp+ + 0KoͧI[‚+Q\C\ \!nNV( +.!lgu Ht:ܠ}sg72cԃcڐ$&[Ȳ4nh)r7"9{|Sxߗ"#DJnGWJ$u48_m묀tixܗ^KxMaf:?i + ?]ķ QDI=ئH"!ޱ5 +bFJb}*j(@7(Sd/*yߒ/iZdED0]\˜Ak T"ee3eCDXljA3J"tknuWW9v ud RXv(Ȑ4&S/#rJ4$]>UD|&5M▆on]1 7vߊRPH|FSV謙fL#v:$h9KB]@2N/oX-;M's jХk|ͼh5b8GмvVzkZsWWӕ$.4\.w>'S;W |F XǶ#4->؉eLz sGzP!U| +uI"ĥ`?fICbls`6ŽA4IlБB4˖Θ>jwOPpj10Dl,7n$v@<Y{ƌݜRwRSoGW6'>ʳ!"+i.bt Q7bL$$D Wky u_3 6KM8yGl_>^j荅삦&Y B*'ٔTH))~#><詂fVkUE㌊rEt)'S[vE J:gFlx~ +>tQpWE*ƟSHb"#sX,jߙTփb6l|YL4R=w;@+K4O ˙UiVEDU)Or{!Y#Ń(wvAU\,^S&-1Eu;!r\[A /5_,BM MhHF{'gQFQ5ɴ4)"htcf?CM0+(hMo(j=d*'LA{r)&xm:z3' F-Q$q$#(f8BFh)f%u+GpNIQn('%4L:߇IE>a}[([O(T.rL^e|nh"!7W2 ?-Pgl}MߺSu jN?BV +㙝KN%AE9إPUul֎*' TWlȡZvJ\ ЌIT]rQ/z3@6Ҭd%"GQۇ%*$a^'*P0CGQhKyi|LLyAxj2H'pJkT(uV>hZ*V 1FÕP(a`E0Q6%E6-}+ׄs) _L ne*X]3}^jXU\&>D/8$ٛB2g:eԝ|S:Z"%xyEY$ ((!,\`mJ<) 00œ\UwF] ĤhK +eE$aO<^TXO#1L_qDI0a>@.wΈ6!" bDSU{B%  +8{b~6F< +tɜ.pTq2y =eA9/sZ]ݯs7r65Ӹu9$7;؊qO$D)$ + 1C|T>cz${4ذ (cݗžOX&D"oq]8(tCaɽa0!CQ'qTKVN*N3gD,o blj2Uj|lX>政 +ȶ;uJ17 K? EcIMԔ}o!dh8V1[)W7Hʑا6LXAF(Kghޚ>Gx"! + wK%VHF@ Rtu]2uGrj T;1esY(kp.HYn#=64#}SUocqIOEb!̊{7 ICThP\C>Y +קr,#&iؑD3zaq oEbYJզX)akbTDuDf7ϙ.3IW 8:ˇЈ$+GlV./`ZXwhА54c N_ެzYK +PB#;xQ}N/llZQlʔ_%9Ip`ݑeC#yӨ tSPs¢M!+…EK#;*8g,t"AE lvISb("  +ͩ.mx m"e ]Ń7\uie%D푒~$.EkG0]XԈT4|JXVUG]hu\HEm8TdYDP`I+a +aaXx:RH/Ruu=3 +j)D-B}YRTi 9xbBz79q0Oe+4W(h ^iĕ3R4K +4%h^e.q)#'= v&m_cx +j{N*"`NB +`qQX&n\V$AxQWt3xu7SZBDC;274s`c{Bʪq@ 4PO!„Win/e u"Α _^%Qȍ/)^aJɮ[TWFmAC3iDx]֤CMչ Ő&zzeb<(RAXQ}3L@P?]K< 觀]ł;ʇ,|7lȢ86[seQ҇RlԗF1 +nć +D-`/;E.zBIҤ]1FU7Q|Y9Iq$ĝrP?:jW}FGM J.~gQM"UHǽ}AlMJO7!sr$,%̉ u$aniYFO^$2U;#72r +Q#g˭Ů1@_fպf̓S\(#Ry +Uõ ,;JPB#HxǐɻdD30V 9\h:ED<BAXaW]K72ȥItT/cBs8jZ Ue]x}gJw(R2G=75\g=B_$D s;uDQ 7 +h3AW ddfp~7Y?q✠8¡ђAv,N 7.%:#&@چp BS@xN UwAZ +|U,] ,<}3NX((Y8(&iȚHd/͛ku4ľDϔMb 5 + dS] LY2ilha г8!z`>44*T+6ȯ+@鳢fe%ojz6JO34˧d&߈IחeDU_gwA[? +8R}"iܤmжa6d:QpToy +n84K"wjʟ^j&qM5'*KNǸWeʿ{ZkCcz($ >rJjxR&2V^ %XJL9nZ:d H?tsЀcY;e`HDw*W3#rܧ$fw$wL&Ny U}NBT$P``jtu&L +Vɦ3Tءx ;pFM$?$;v n3?HұaܣqZ^=JKOi#eY dZhUn ,VI?{o?T}հpFQC'm)+F4~Y2:(N+D"1b!B+Ɗ L̋e 黺&ʒ@ƍ5v%#GdCOGYVttA铒wT&{ +r§b~i. uG^Sdcj;h.'gR'uҊ(G$X%P–ą{X |2<[Br +wx\g0u290z净Ӊ>kijw8YuKR=e@(dhLj[P.| @@&L*j8!;sҽ (]H&YRނss'w^p_JΈ>kkDHҟ^c#IKS,lrt)o 4ne&TtSLtF8NNД^ٗ dKrɰkW{>|ԻS[⺟vr2F Z'wIk(.pag)@$5|^k&0CNz&*ĽW(x"zek@̯wu!8jhK^nZMٯb 'W!*@mW%Z2"SD߹rSkKWN@Si,.rrd[6ah.3U) 2!ѰQ'b%jMPxrP^)>iPtgK/Dk|ԓvjaFTӧ  BaB+P_;Pt/[9u,kLهxn=%V3$!YN&gܠ)V"Ҕq+XPt2l)k72 |x@A,;Q/Jp uƕiV@yCy#ߴSF}-0AMAܯ^ǩ((";TAfG$<I(g1CC8$#QCYigD9Sʗ9sVė{d'),@g!Ǟ(cl ӕj^RtYR:,ZCg }ZIB}D%-Q !+aH7Q4IBSJQWTu#‘MײuH񽗹o}D͑`L3^:v!pͤ^gS&(%Hu@A6VPƘPXCKmn |U:O4Udu $&-acJ$D/")bMrPN5a_odoIgBpz'-MB7/q3tB]`]g-4\zyz$XL8!BeQ+nqA)4;#JQL~Y/Š?TU3 5ߧ^N<Œ!F\a= umd5L.'P'@fI -t&?Z!#0!&,Efi(p*X xP#( +سd9P +,F.z2W/)9dXƮ"JFE*>cG"m&%k1_pmOOTúgu|3j,tAYD/q {ˮ nnp3]'%oIԾ +$Of+nk""Ư-,NsI>ӵDŽ3Z>F1$fZw^d"  +y|QĢ3S"-0:#Xmg;@Ӕ*+AF>J"$BYtmDŽeq?:7mκu xA`9yZ54sLSO$)ŔdeOdD襃VS<l<x^}B="kmA>Bn+D\PФPٍ~` Em*zEH)e.^j/ڒRrX 'sd>S-Su'A/O(XʹViP"U PPnZeYdN*sٓj4c +󇗑 u&JYJ"%)Zdp."-Cn,sYψ`ThL̄\ƐnCX\(ʒGLG +fIEhŞ;xF嶫ߧ1ŸuB:!^JE<ړ`Tk 6,ܔ)7Sɔ*d`fX 4"`k*4l#c5h9FIR7jeDףNY}p!FX@ݒ*cLN  "bSwnYyقtxCvMUh(I@!ВY[I] + +Y]һ-#qV2 mhI(ĂMEbB3plj"w R00\^FG'(+[BM.5-3H!RTЇߒ.A* +-~uu0ytX!F'xȗ4BpCWA倰 .t(r(\N|sen uտ&2C!a&:1x@$eqf{95Vj oh; $>@F + 9O,4S.Amx}_TDbi$f08nmkN[Zp0}X3 ,f2Z2 Jf!IeVS #xR>L췊eTeRmEYDAhʶ~G+ 闍ڼiTFD(10:`*i7fW)#WdlxJ*-UlfyHk׸Bb&H4R +YX8e )0&*C[kƅz3ɡyv~¥T4,l,B=L@I?qAm ݗEr3z@q3GaI40%}^f^q^ԾɼiVL28V,.ug|Gֿ(RJoLvKQKǧuxh BuHH>qYDp=d6LBWW9CЩ#MIDϨ'j*jzNk~s`r[jOYl [!hM/|3]ƢV[M$4hdF'Ug/ź-\Q; ׬ +t;p|cG$m]ZŗFP0`a8x)jC!Hd~K9g|'uVeyGhy]D*o/S^c_X7 l3_ +-IicF 匍'C]b:>,蓴Ξ0F^ea{nBL]ذ^q Q{"z/@O3,0}]9EA3CӳTdͬ,ob `>S" ++\퓡SXYQK[/Q.딯*/0Qt,Мҋ(3y[_ |J>T;?\ +5U?x԰Iol }2]8pNi +]~mї!F@΄24q49@ВLKe}#:.K?0Im5ZL8"؋4,M]#&37L'8ץ6΁,'\(.FAvp4ԅs(K9.dkV&ERs~#4x[#<洒p 8 Kl 8dZhʍd)a9*ݛ]3C5;-bs wb LD;ɹO2rb16#oR5eWy3U?_0ePKU';Tcz:Jf*ٗh2X2RK.LU[(_+@_l g@dQL{FVYsK C<$F)Ul$ځ'zk-Uק$\cElDoRahRז`ll^6_6s޻%R;b)} RfE52j|`=4: +8g@h3K}ȫ~TolJKU%Ew;!&_R{,d;$Eg^V\Eq`C*X; BਲjnC3l$K 9eBc+TnmMy/9JkIjtLE#WsZ4WQ+t`v#%W>_\Ŀ1(r1S )FXk@P)-E8D3WJV?iAS23'@ z>Ųj )$fDh3QZbz!M5YT6S+A]̍ҟWYx<:~C'x -4LJ"Xw}/ϏJڥ~%(.#p^>|LZ97[g4UFm:MFF+\#Mۻ {^6".Y4Bi%^:fk +- + cUÑBe*Gu @JJl(ߏB cH6 7y) ,&dIiAU[MEvJLȽ6o2<2_ܐ0qp&e8m;NFXl;Zv:v f\bH]zm +Z#3[Pŕ;бr6`J'_M,RΤp{,\n +&L6!qݻ(!p]u}u.j\dҮx{|G"L&SbXMOD {!ItLf~!Ŷ"0(v 4Ni>k9:#[mE8!.!QLT+޳fy'T7ѓ-c &XuXN q@ܰh,.)(vYTKbLfP0G=L*%$N5d;i+6Z +ez}84,*z*0"?MeSBQAg݆\FZ)3AO}Fh&NƳ`4$]̃3Vb,*gwi'?3j:̓ȺJy\fKop-{~vh3O |Re! s>Ȅg/#HBaTfSt pP2tmWM4i7h@bslu|%"aF?bdNX%}ɜE{<َ['%g*Ul>4|{w!8dP23RG;0aTjb}\D=^ +2#e!9"k7ĢYd,J"ƗDC3ʐ32B鐛ч1DG{V]>Uzj^5:NE8Ǯ;1}C+5',yRL.0CVl܈ސV)C&f}@2R.S>*oJ,(7CY,]uykueб:5iV#e>F,h"Z:Rnz rٛUHd1d-Q9R0m%2TmT=lag  +aQwR;,p~sϘҔ{oODӌSV&Fj݈8 A0q](rUkV=r>C=ȸ!)L.tDkU6P}rraEu ]NWZT.4IF/$JIBߋ uUSI:b*Aãf5rEsJG.2)8tgXH ڱy6j: @AI/f"-+8, ArVeHYhr:@wQ7ҦiĄgLXj k)ЧLɁЮFSN+jG#Z}Ϋ 1wVX٪f ʼ8%C: QZ۵Xe,$S| +aLWwxO8$W*ڥ&6ȓ&DHzQ1f60_[=i!U7P@Ν7kbfYV)r-*ՙ[ #\2{2. KBdn RhDWF^'СUE8a)"-!J:kkW4@V3 c'kUQX8D,W|Ee1:$" l7V`նWmۈbB :%YrqH,X!WrM~r5Ǹ-ا] fih!{8'eb1[FzDCu3vSnj ϗ?ZǽIQK;J +\Hw%4Kq`tu"{jU2QRlLڿ`~ÅDnԊ@Qru^aj+7 ; lj0!4'kܭi9t^lUcyo1CMDY~P2Cj_W`RTCn_K?MSpB@ER;&Њ_yPsziMd^'W<OvRbU= 8 ".<\ N_8e X] +VgHbR" aDq5Ea#h κ T@Wt|W5}9'3P6KX> S:^-]-[13sUf::g9,NfKQrC#ə)㡀hwj ,'=go`hWEgFRB(f`:+\:6 \#҄Vݩi<: I"n)MLP1%7HRg*Jزr~,q-+-αy2" !1xA}zdH%#]P!؜%`¹-XTed"PIJ_qb(6ϭ@.v9b8FʨNg }">'Ŏ(>EƒbYDDͿ/RQ. +بAHɃ:=:?Q#JHRZNI' +WV48K] UAA"cqY5 +X'Ffx6'|̒гB$ ]+dE +ҝJ+t-6epU>1X"@ė%6xY߉ZByN#%hhul)ibw{5𩽍&|&of4w$ѕE.^E=SpiU-;&u9͍Eڃr>|s8"Cey7K d LcܫEҧ)?wl\Y/ab*ZC|m=y\WH R +dvN[٩l +@XR"!bRC#uowMXL9q%탍6Qo +,L_q|;LI8O =KݟobTyZOE|(=lD@$8.P_]CmxԈ %~cGhvJ6 +'ӖfʩaqUO'4#Q[|Ѳ_#%fe I?D[`ϼX#eъZ*AQYWqH<7ZBI<(QKUV +:DQ:Aؿ(i(T'-SNkh3bjh "&L{dݺ^zMaSΩ2~2[-rG5 JGpО}zGBeAU +j AB(buAN{ɒu><(>R>Vx7(^D'n$3@DVlÑ-rd/Xp.fGhvM&4"Lꪖn@-´(M؛mZHvg1"{kh[TLhdIZDf3Ԅ!G[qGXPF{r582q9$]Ld,0 TsbBS+4oy`tR4)~TtH(O*ELA3r0\6-jDAz(وAZ)I^fh Ԍȱq +{+@bRkn z!IbhXQ5mI34/&a\Xg"NG3pѭ̆Tey^ x +F9QT3iY%h`5ho fvΡYwqTͿɥTs߽j|J5IC2e6 aNB\Fw .MnD8cX#9 eC2݅4n |Vb-?ި/-ܲT5YHV_=0 tJ ?k]xW\$A8@[k#=2Z򊨚} +dEKU;cyNxX⑸#(AOc5֨B羵D,~UMq>7*YIswɸmK*(u]M)045lhaz~#!&!ӔG6)p~DLE3B5D7S 6"ƑjJ<ʌHp@[#!񱓖M@t XQWbT5E؉:[E,cD8}NDں`I{yѿς'mTJ$Y?Y~J7mK29w)}YNxSnQLh5c2AyT"U1-Mii,V 33sn;<`ltz}tˁl,;+f e&E 00ztxZX=m0u0ܣr&4kɍL+EVS *dJ msepT&62ΒfIqQt$3 eZD1%.yrsG3aO[^d +xeM!Tzߛ +1 /"5#}9*ͱKB6?;2b%.(E4xM@Ạ=O0< =Xv-%:i$)zE9'= 댜->qѰ>n~5s1)W,[#Lj!\]zʛ(2Dؒwg=Cf׶أ8+_{ք(ϝ,gkky FLW4[+8R3U߃nU(Dj$2T1%-;e#5C"%o |%;&R=Y:.+TU7ڲMS6`FZջ'xH骪dL(xI ïϋkk 6Dm%Hq^PѦ='Y)k&M4~G~G6g,uxLR/qNԾ I<0Gmn @s +ҝx9X*\dʥZ %GvDFhdD +&^-EW^Y2„Fw:]Y5)kL)8!Gbgd?xco)r%JNĄOPMȣ*XXIY!^zڐE + NÑhW!ի)bdҞȳklEj)4H$vOpֻψ+Xha\U6[)SZZ{Ma4;xb|6yd1r5NQ@Äd+W}2`NFGkVSNd/q@!@.^YɛoF:j-Nac7IWՙ,[r;V-2 +UNs,kv,ˡo~G[d9'k +Cg3R(bz:FtKȄrU>`LY]"#`AUsB;[f mіWFΧ + +bãX 6$_@JR +y"MTwTZƢzx6Ȥ;Sl'!TjoW$$ccۭUp%TE{6KLE}rS[Wm^ur +qk.0`p +^>EEGh$Zϒ(̷it#D) dN^B%yHQ~",^5+i#NX#R "=wf(Đ#_¢ڷzC:=ҖS6?QaM~GbRA(x!V&QJ!ƌgE67wbr}ϗ RW Ʀ6W^h맔=w0a!:\DL~(垤cH`6 +kԾ +'=~\ZIw2W<($WC:w:HXIb BfOPĥ;>1 +>%. ?W*'#vAЅRgyꍬE2 +{J`UަҳҩQg==[Sm%+Dw{w +Q/ӝ>fpzMk 8/KtQ8l\( +MfՍ/P;`iuY HȖZec㉒`>`uk`)뮟b:K7#@1Cd˙9'* x $˵wp$9-ㇵy麯0d#3APJf!tx4euLתcGI@)Bl潄ebBVbVlPRkį֍90@X!k#,U|7Xi-Eй3*9_bK$4;Hi.[_eݖ~ͤiEeTfOrLn PDKGu&^)& +om7Aܸ?F1Bk[52[bXWQEUu4*ѓδo@ЗHdx7xczV`hAz$/-:WjŅ=ī + mjZ-&&{?ϫ8Dډ喉۟f8 )\h.5I8զLQmP:$2@N&kb*3 S=`U$iSA')O/W`Ml1!à +2vH h)"3n73N&%zip|WrFyqxet|7NطA2v"\e7zb~p\Y2݄G޷)&>:P\KuHta19\wh gyfd)khA"B007 BCӿ&␬CuJ`GFZKТd +Ⱡ`t%/:Z-A_'*(o%UDton5g۷=Xܥ Ni>`a]괺SYxШW"EfFwobyvDl_?0,9b-SLH>.pvP M}:xu^6$jdF4VvqX$ы3tbMm &mT  +c*_F2A+.r7sF#96\C5iDg̐ڻ\*Zʮ,GǷ%XQ$$E۔M2 h "ngTm?glon^~tvʎ k!-DS* @%*Rȇ>.FR~"HNȐ3 +#@#鷨wR%Ŗq@mZq淧$w0YiYUlwXң@͍s3-)&;_+반WlO֪ɺ/"n] 恬42\{M6Y1A? -1$[ϵrQ|-+O ΃&r.l r7RN ] * ;}y;d0jq8gb.{@E/78#yNʌ 23Q]o%4˘ϙ@%O\O#d`kES! mt'/F^S_MoTSj9WH,h +՝1' @h,o*nj{Srm1KՠFl4[B +ӯhM,MvgɃ_] +" sRlc`25'9;+ (>]RD9K}C_6=yd6iuhPJbGoQ99ߨ?DLP^{z@&2&  +A^;;+VV("W qcHRS9ڏ-o =,h1_X%oÝL:cPqQe7WZU7oSe9Uu4|D(E׮ 8xBܯ!f]>PJ~dJ3r!\3;r+qڂ_]4!TIK-M2YxGUmawYG/h<ꠜLo9@L!դ6 7/VDwW$7 7LIQdGMogg m{DY2ζ-,#Q '$ y,2.M8D]WnN" +ZxwZ[5h2ÎЁA1Ϳrh~tJeUiܞ{õiIYS@[tT>ҏbxD5S)n}*@A+*@h6% sVu1KqOǟliШ"V#cdB GI(A HmѾ׸JNKFYӥ/uPGHeh|`* NE +H P$;͑RW$OLT +FZF)\iFl/*8Н)n-\TVf{r~!BENׄĦyzō1w{&1eRD??gQwA! N'$_S-1-*KTAfv%2Y@Fd4V(G \9aW eJ>9#I6 +mvf
T|9v: 8i/YF E#g N3F+XLC Ndԑ2:T˛LI!R|(vɦkN;VfjJ$MQ7C#hIYlS↩*(CԫQ +K`ݲAG9cPDCNvbud\}=":&iU7E`LXAMWɍEEN(ZU +鎁RDOCD.Uԛ)#cN _qAK /i?x4tx'괷JO/ +.`=,c1\J +Sդp*FZh9(a#7PHj'3}FKgBt?J + q5_#wD+u$1\NC)F7}"B@ ~fMpz¤md*D +J"Ìu@1Pnpy|)D%-B( [{X{K3K_N6jKA'-r%NӻZL;r;k%6Io :(=}D1ɼ;(*dNq/W蒛&܉> p&x䱵y5ܒ"JbNDC2ӥmf~'ᚫMt{"gfinnJra? HK +aGg4*6ؤuf\G]]!RB";Eq16I"9dTf݁i2Mf2O=DS*h ?xZN6}sqyk'`T /KMbGbKl罄s%x2Pn 9N83&PJ4 6F= &1@T +Ȍvҷ(=T@~-&YVj !OkVW6$~JP\X/]@GldN,pQL秛,CbFJ#ia[wآƿV`aB[Ig\B3F)Gm;kK21&2z2E34O9N@0Z+}7~cdD/I[6VqZh +@6-8x Sy%/[AQP^/XLN`"ueOӌDlUa&nk V+Ǣ%S++2-|X5XD*d-4dARb*P+U&@Y>`nd=IO?Ye +Pyq.r`VMD(FMЯ F۸\(@R` 'RGӄv3mCtcHCZj)%jZnt}=Sn$הS0=&*^_;5t"!ȦNennWbϽ|!yN37}o".ͩS* +mtwY#o|H2TeolqbLUB5c4Ct?iM#&]F.͔%X1dyX957S6GE +qрfdE?PD +Wk3Jfr9u,ƍE[Ϝmtw'Uh N K, JTvkWw{{e=0̐IC +NӻfCxN R6BGBDͺL˝iB0mhSgf!eL@倆M%!Fz =AA_cf^\Ni&-(Z+^ +!HѮK0*#zC4fx<>I%uJ%hf2 Tb{Qd۩uHS=#Y[q41rkz7fٰ|4R*tȽv\Wx!F, (-bzD +Rx0>O@m +H=[V h +#."eb2b5 :V# Jv`x{s{a/Ky(" )*9D0K !ٕ0Pܤg2F4kΎp߁q&AM28dq=ӚŸ6VÑ 8Zm[e}I;5m\3)YSjl"@Ôa6T1gd:3d>QkJZoJ:/ kH%d$Td*"ɮK4L˜A-E}]ق>A.)qԯ]*P=}!X/#Ka~dzgRz5L#+'-l'CvJ$&vb[4 D|/L.N[[9|zV.>h9kKxXt؜RLYkhڽZOq$cl1W;O Q !poDQ< /7DH1aW۠y-"jJȞddEC=FdZevshSgh*(C67r0]00*>gqp!vq^e& +c{)F2%CȐ%ٛD5( Z,7&ICkBzqW}2[Eƪ+otrQ{*z[޺<㰰ԕ5'f|1B~H|;S7]q>-ݨjJ:|T!j?  [L]MQ+R &|K܏hYd"&OGwu +) +s{M| +jP +,JJ7w&.JĆ7f`BꓡXD:q8^ŕݖOc ̊FBEPE9BP>ʷAoDEo7$ۊOȬ2-='Aʟ(#؂,zh ,ՖQ*:Lfdl1/tDnP"&K/PA4˚yd ;&/ŦX9auHTEnH+zoԳOӎcWe`X s[" B#8&M58 Լk|QͧvlZ\CB'Ԁ6~+krYU, w ZQX"prNn"tY\Qvt5ko:WEM]'ST*WpNa2b>4UJTZO2&|YTjKХDksDa\\.K+&FyC1e[Oc9/2t8ruKt-Um8pZJ;:x.Ts,vdZF2CP7>O@k ,7;0Y{urM a$#B-/EfotC_/ƕq \Ueȕ`Ƽ;+5^?rKسh*YTUcfN(Dt*A±VʔjȭY4vhLא`sHn/OD 5s5 +{,.0R쾯;WOSu4.gvbVxM7H,*o\]0m,Iξ[R؝9"/oG:A$S@8ŖK~>1=î8$IJO#KlXF#pTQaOAz+GR3.x#ΫK8ѻphAAw񐫻Jn~MwnbT`6,H\ Ϩ"';hNfPK\U4Tdf6WjX5$ߓu 'vxm'\4%k떋F7j(prҧk7/ +ƄJl:si(vN.R6`KumR셾dMnFK@Um4RpvBJ;H<6}S3HAe`,;<&" lEQ@YPIt5#fU"7j^ *"`-1"w fD^Di( %2Dȗ5ʘĶѡDbsV3+9ј+-$o Nt2˻n79)e$AZ;WЁ1#覆^*NK)XiPɇ\}:RO +O2e}J&"y_ ttTu=,]PUUɤU@FADD[4wR^tGbOT]ZĄTZB£!xtu14V- x FLĹ+)&w" $BO: ɡQTHU/+WeԩK6LoҕLQ~Er3Q h1C並vH/%[!K[xiRR\r6ʩ>G@@f$D,lFy_y這tڌԱSaIv}Nd\!2Qkɝ؃s2鬹Jlm BRou0@1b&՚zZ\6^C8YYDO8r#̷^fSɱQ"#}dCu۱* A:y;w+\=@8<`jc|ʥ6@Ӛ eC +6xaZN(Z[7he|!JaJ`t!Q!c&mM#ʝɔZp%OHAU'{:;-Wvӹ y$ܛ#7@S.'sa"E1j+x y&E,YQv2+w d?nBaݝ鏧X +#LG.Y5q,lSUz1ptLPQl;gAoP.`;U:ëˋ_F%VxoJNQD ݁QxĚ_y920h24t%ԢE!E0qS0@8k*Q/(S/2t?#Qty}StfR!?wOi!_Nd /#:#]iݪFkJn\*AEc et^-?Upb^U_Ñ1DC[ ^x=0@f1Ÿ@D X;2eGJE$.__38DVCh.t+2;f͞.IЀE\diₖ7icet0|9Ycrȩk1ntSf8 b骠(w<*R)h HS?#!̄8hRmbSd{PZEH] +b ^B2h*@Ah^ݤLj/AEW%QDN(RŰ@I $~f/KD4Qn@0RGMfCN" Y N.*/eY%%dćH-"!ru(C 5* FEVQrɮFcMܿ QHHdQs}Z#2Va/]ҚOY<*@h&z"\fkLH4M^JFy:f]3>lD=\ܮ^y|D-K/lSaK\W]^HGwʭR$J $Z#ꮪYE5W[]֕B^'sI{V8j-d9LQ_~lKq5*VPc-0/D +*]g*(؍_~;.ze$B2b5)0PI'0kH^=#߮199Sͼ3 V\o^cv<^|H %{y0F}hܰH\YuB~$4^`uhL]1♣G{ dqEE&,c!Ukdr&3a*ֽ* rbZW',=)vhϏiolIscW|[b})hbZiof*zǍ['NK GoSE0l_e_gRD۴  |˚鴉ʹ[{ ډMM1EY#8/ax7CtJbdFvfyfņGg$h= +~{ +"PBE:(DbWUMlSZȏD&ymhT[PbO|d_`7M'\R$[0B7|@'ܺTAY{XkpX-ŗah<$VJO& +^FDz +3iӉ@UnjGG-3>"d{MP[IjyHgwM;$* 9![B[,6i:NuʊX5PbfzzzW iS$hƵ}q]jQ, ҹEoGLkzxg?4@LjF?-Ģq*D6цYPW8Mx,Z|e.y$ʔ4uTps.1[z_ewktLYt򸜞َ曩0H[ڽ.@!29m'48F&h 2TiyxZ%moB9޷uuE"NLȆсzD@Bi#=)D(CZL1dV.{k6ж#-g @.괩9SX^x0rQ>@a06M(Vh\ƠT@m2//@N&5J#j8]rj 9L{bB/*>6o $? %8ب齀C,ppcP}( -~ܾIHX(y8]\YRBJ F< '=阣 MY.oaZ_$LB֭7X#d~W&MT2c{h&pDt4HMtMĠ >@"ݽx2"`k@.2$eDrаݰJ>SA;I$Y͌KsXG/ud*SAA\Je|_ h6}+kڣs1K8$(o$ [ +@^Im\o66z&\tUy<'B߭^Ӗ̣udoet)Ӈ,48|b" S@dSoX$: ]UqN'^~l).ͤȔ8FwטP2K:k5(K1?kSk2gU ̕ +$rHDh$~w|[H];mϔ`,8 +q{0VҴ/PK5 l(5/od.(ޡDlU^JVc]g4$el pIBgx.ܙJ^*f8۹:aTp,73<,dm4!?eOqO,$iZE dWMޱ &b֘>mo;H͢V6ҁg6qfHU"A7v;2#0)tcύv\OjIXԺ$XH$bǗnH PZ:lEE˂_ ؤpm8yeZFҦ3@m +碥Y*zI?AVq"uĈ;( <k+هr'wXBY,* tj pd"jyTPHhE K[b:Ѽ#ٍ]ȡSJ)B0{M:?r&ѩ3Y#Tw̿B]\ XH~“Ɠ͌ΦV +4U)3g=0x_6x%֤bGV )2azZn^t.a"FzT+8JR4pQ'DxX#g>+TumZY6ݸ:S*B=DVDUQԆd|GCۧ*ґFj We˯TAA4O^@Ey:H+1#%'l1mIn򕦞*E-q~rw10|[BZN&=-|j +i#vrZ6mj!efͥL`uw*pzUI[cwq#%I >?m>ߠ=AR*)kbB)qEd/^odPoL3=EzΫ28N[OݫuERXT4Cc,~v#WmK'.C$T"g t-5Ϳn&EQ_а y?kܟkϴ.fy$5h +=zt=L ( h"V c+0߈kF驂jbx&94scο4 RaI; SVE%C zIDWɞ|dZG #H6p%j[D|;l7t;o1#W,RIn% ݗC^%N{[(Ȝ0hﴗBЦڎ [j"*6e#F=mb{] 0!B}dm zsF3S] q3Q$6_Cyr.FnGLe%xݿS$IK8f_+@RڑE)5M<I7NnL YTH1۶,7XtJ6GHWUګ]%,Y>(6F*W^MEt"K0%@_ "T5+X%6`h'#4J8 +oSe+WtxCyXI&Fq?E}(|l +za|W~IPvt𣄦wQF ۏm$9[d4 8ەrtFAGg "觹Ȣ[yxX'[ᢼ68ZMT4FZ_$4GLقS73.53 ZȤ6JŃXTXNF&9%Q"=+i2nрm /_ȽRX-I?7Iz,RG!I`((G_ٟ +E(~T PR+whLl,nsGgAŜ#4cO h,T.NіЀ䉩qdP"P(*dE(wf7|jHM*$!` ;0U݈HfwMZv*o -7?Ө6-)KLk +sv(ռ (3mn&"< Q*' @EjڜbT*{βO n88ނvS%Z) TjrJqONqf !#ԁ+)29]2>ΡeOIj2="rPvx zh&bചBfd/^?sgĥim,&c~ߛ(dǘ_JOPrDuZ\l)D?f"M\mWUb,Х?[':4RhYګXR CgVBi/tDZUp~:CҼ[srҟpe"&e,M ZwIldֆ@42&0cZڭX" <+9ftrfЯκ`֛m$saC ğۏ/T;ҨֽDzEHtEB ;$*fͬwU; GQXߥݵUjW"!jT"LVȥySLU_?7$'UZɮ",bÓĪ˓$skB +.UYI\4jk;ɢysYOdUcoU7^S7oW|mJ6x^;4$wK}yyU/lYĘh;ZU9I֥ȓHΰZp:l=b* hT "RD[~j/+nhCpRG ُPï -ԋRLc"GOR b&SPJ G=6Sr ߆`%1g6ąԤv$t U5WvXtX۟Q~rl|ɘstݛ0|*+ڞ;$"+,KKgKL79|۴EC l-qq7ˆvG^S!HPÆBx_[F 売77AP"> +@J H+fSZr9A?`AR +1# iwֹ"LGN.2#L%!SOby/fp#O$^:Í*8VA4 !n +PĬ@YQ/f2gw4u"G2Tjk勉f 'tʥg//4- T lEd%.Lb6+۫'f+Zk >at c{*\;w_6xHN&3AV'ӟLaX'V=%J#s:5䈔<b\޶4'nي#X}FNRɜrCjtP +" UXuƽrLdbA&zz(pFCfv'WE/yPJx)#DrL:yQ +6=}g#`%|B7\2Uf%M +<$GmV}uH3 T ONXZP˦k\rlzWm"m.TO+N*rn(,0 +3bJ'`6Ph䮡"H-=ATgg/TLJH+]^ܘR츓adlQHU{3957qs.d9hÖ%U*݌;Z'8H r _4(9LF 2wTU+DB҄2?ɴ;4:tB, wU!Ru&WShg,2Rͥ*3*&KT^_sIR(ofؽwh鈛qUU #PئW%ż &ݠZ{xT5%,) Lg w2ƻuȡPpp )LX"&wb`qŹbTF> Iڌj㚫7$Bj?Ύ&2bb !Jm2I3F6=FNEOJ ugV1  O8#bAw 咥JxGI A,׈<*$w<'sDsX"@zDVᔊ4>`OYMH.j8ťSzZ^NƋF)A#A\||q~mv&Nu񯀎l]kD|_T632g7wIMwwOIณ)a9NU[N8ӡv =htFBlV(Ehlaq)RPC(j9裚5UEѦ8kjh+ 0x~90'݈tpaOx +B1JCN^+A0Jsn֠'Oֆ216Z\[ZJޖ.7;?GfhvY`.&}\vh5RVG9J'@PzkykHd +|y>In)pm WY> ?] +J~`.DwtSbikړ-;= Ԫ"; f`Ό(pJk҅9 +f[J8򣈸ɹilZ *bڑZZǞDmpT\* +98țtBU\7W9P)4+\Dhfkb$#fNtsbbvWgoڨĸigVu,d$n V%VWfNJ8,~]!Q{*mYt܁2FD~͚ 6]3$S .6>R棚hxTӁnWK2*+U,fm4*N#ljZ $R U{p"+#R3P970@fdw%D W50}+m| bB1G9 +U}*h4 39 QУun8 >t ۟#$'E4cyNWen;C&6-u#krYH9bn/ `Tw"U d9{6tVP"iEX, (KtTSo`2UvɛY),DbAsDw|SVP/n5*#D@%4-;|G2a#'榳+tҾ 0pBLqDnkmr +bUC\&[xz]s7" ab*bb,XcF`Pe, +©<3u'4JnU%"S049ډAuiB"3 + +y(=#Bc5zï9ډ\Թ?ZEK:\`a4l :U +1&{FCBp,4,2\](n0E&Sɬ~4.H2n +V}3҃#h,&3%AA!{_:M$V4.xI`X6vMtVT,RHs:I\uҨk)ĩ<2aُ +m韐]Ow7$-]@h>3dlȊ +lM~EʔfVQ[)e6)GuxUŕ]ffNQQrP %V(/ReX@Za/Y?N%+c"1ѤxDiݐf8\ԇ/6Upon JKt$C>@~Ndr"XlHtԠ +6 2d'̋a{|$EiѪNV;k_Ta\߳AN9jI\4`mTu,\ߗ:ά`#F2)؞2\$ ^?u1CkKISG~klhȠ$E[h4!H^؁a@»GB7ZvnSbY\̯ZUp*ڧzPĿn۪o%o r{3P;i`\YD@t_몭#ٿgC7THh Ca.H&P] mҺ4ēöy=U"%A@iC`b|!CwhI,| +‡<d?8"YY`+~`qGVU)}8~2I8 P+_BQ +4$Vj5$Siqy7P`kVG2h|Fh`zp϶6!TtMlAv=2F@h74t##cΌZ +9`aVYԼ=Mau65p΅,cHUJru. ) һI5FBIݹaI44ә=~bNoXo)ZrӷIW$2T#aX+lm86k vv=j~?\ '.DLwy^_UA4_f*(a wdVvoYVu[IU9Zd@C }Jho V&BJwЀ/ Æ6fbCP.V"9f35UOE }vnr~sEcqݳ86Ewě>JBo}v۵5F>'"E2{@kMɒ,-<%(|]`v c4䓔)^آsg~֧[9r R +]( bMQ:W$DYB:l,oF:ȃDxhWk'=[\ʼn(8̪\И<ڶ U'W؀l :l)MZq3hy ]]OQF7ˁI J)͈_x7 +JX2a8)Uy4ϐy24 h1~(Р;V͖HIxLyu8|ҍt$F.]X\j"t͔ ~T)0=2յ6EyX]]MkM5RKB9SaBk~ήL:dM^#5ǤE9 j~CLJJϑ.|`a\  5Mk HNY0GBAq)T"MhAd' yjfƿj:F3!9*d 'AZ i.^ ҆D<9FqzGcI#kn3ٌsuɺRDqLoaי`bDܶ#ƽ/uUјFغ `2S:sPE-J&T?$]F Z\KRiT#}+@lR%ĺM1v'W3LG +/9|0࣯Uު wdV.B5.[aK']J>YD +7^c;PTtO) =@"gj0\Uui5Wƛ6ivi]F$iw*B:L43&M9E#qa{ $F%BIɧR\?Flu `u /521@M{#DXk;#3tTG\GXAǂdIh +MJF@iGEդ,Љ..Q TH 7C5-AFNW}5'kz4#A=ⲳGV/$]"L[?h$;! +_LE1vGYYOݝ`Хu)U Ie)CUD$ +bL,Uu8{(@ş51&e3UjQ #%{;0H?wc*`Vkcp4e"mAErН?k |T#x$2ۨN!u LJ5[+߰+ּK zZ2'ExJaX@`hq5֕).jHҕa  +8S\FTO:ZOk*J0-鏨F!³`j+_H݃H|8+*—0{ /b,zsGf!juD+w◺&ě(T'}϶O.k£%)kn4pE0٥QR).PLi$G*.m\NdT &Yw´ Zꮹ&u!EBڀƻʧ$1xqE4 +S=̓=br&IOhoT]Cmo͒I!&''>[h3 ! O:CIv˖E^ʢkޒB9qy?uaUž ZJYfdi< ZA*\$,D&?d-"_"|V'Q\W BGmy؍I/MmGDp0P v 1 ?O}OM}vJDHC&YS r I(=S#G0+R "< U)l^w $N&$mW5}K3}CvY+"3Ax|$C*Exz?=hK/kҏr1|rP##ȱ%dA56vTD: t4QgѬT0B +dђKƃ0@ y[3A]xM cþ(-Ʋ7B0>$ '2< lwꓣ] + V&M*@ؑE[ Z^TLIiz3-}eX4ˢEf14&El3wC:{U(LD(h6 &z|BF "'74L!T v^vo]|'Kx0 ۦT躥o@)rۦāڳq:ӫ(%d3*P؄ \)bۚ^+V\d]25 }3\Lw# P3éAm`#Z2 +9tmH07kiQ-1{"-0|K@jr͗Oj8Hh5MZ\k#r%ʬv ルS9&R$e2'b{urҹ;r2*l ӑ # D@bSp)2jB ؚrvuK/nH%' CgPuUDD ČSb}EAoV +Xt$HlqnSACxXY`*fʩpa-A& Ą0m`P3.X70yW +kQ*Y"uG{J FJ+iatsr$5=4l[ފ\ڥvۅxlZT#ETcP#kl#BV#|D[|-0^$d<ŷqo% lp^,esaBMt^[&E +>^)p +\bVs0{&ѠY(h$3|iHz| fpy%h.ǝ7c#''nЉBxM(nb^C-u oK wR +m`v;~D8O#+z-9]S#WO쩧nP+zĈVjKƬR/\ЄrQ]*jx7J& TI-!+ƂfԌ1%Jٍw__ɸG +2JЭ&ja Dxg D13| sxIRx& +Ml\/cWQؤ[Kw:6_[Qd +}3Qo 0/ ZC욾%ZY9F +1d$&= +EDE:M}r +_T!Göz + /t]`ZsP~&[/ɋM5Z—ҙsKBzFu$D8d[rXǐLN ~Ky3$(Tv-i^jd<0N + 6:EDo \]CQ$Mc:+e|\-Τp{7L022$1g7[ERi8L;b*(dfqM@GfԒI"7X^5ͮ:UGa)<-#ڣ@,hnvy]!LH>[f[&w Od|g'$odCe^K[H' +rscv+k֩MȭD JQ' /۫qo6-R9mr2σ֛ bG2ThS \{<٩B}jd t2~3 i'-;}Y84tx_8L]+a<SV}Jj]K~O!.zkb-Y1 PZjc^B:*WAZ)Pm(r'+ rV&+cTir"E@,ZXB~Iָ1GR=#"![M0#>bW~Beߔk +GNu؃"x֕޵Õ@&6Էɓ +&ʥy3\ޑ-R>yZQ&.1n”'eae8A {zlǤ@2>d$VEfa`Eu A :XR+Q 6F:S"0$'%?Q7@c 攁_ȯm\T%tP~ Mc(E&ĹrQ֢ tIݫծ6ѝ@JE\^(-h +O4W F"* SPA 3aO[.Kǡ7KP(~x$I@,K l^aW'81%R\:_P sƋ$j (x*&qbSb!84 ̏ + wM0 1 sO"jqSW.XP"$ʉ]#=M +,vI+aWIh8>e3o݌MXdPl?bفg4F:2,c;;3oAvg0Nb"PPfFzǯL!T)>n +ȓ/O# +VMƐe~()ȋ-CrR)~ԻW4:(eYNO]T\8=T]ECzȄu+l\h>qRzdM)Pق6"o$mJLyvCX z1Ŵ +wN273+U !Iva{Yl<鍞^nE"gt@&5?U~Ck"28]5@Or1o h&I3)J"AuK]Z[.#25}vM +"+uqU_MQo~QSwh/,"}\ 50 "#jhK7mg3LD$oY`^XF q]F쫫㹄dFAX(uSF5TTjNت ݦzюBqbV@@C;SF/*F[8GǖDu@]ƑIH$"1E{ai{X3qdDʝK71#z3}M=]A^i +AqgؑP$+&IގȀg٪kcY 7)q!SpM9 ҏn}Z5I U3QpB +E. G<%@zR ,v0vAD`TY]N2$k9+WbЉE`!Xe ܸ(LMfxFmx0^bE~5Ro7}]lAk(&7iJN=d=9TlcfL HW)=a;j'xk{&"$Jݤ9Oh{3M<8%p"zx&,IzDi*,Ԇ8e:%VdTJֶVRʷKm oVT0 +G>K+6!zU3pW+ DB '!ݤmdd_(%yq}Q|Sґej98IHo+"#xIal5'ݽe%$ V0C& mU-WV1TJ` 5O+.r9tZbW dG@E]ʰg*])\1t!v )#o4 +X_+3DZ]f[s,!x+1/jw 9\⺑/l`Xȕ 0@Qج"ڄ[\ +4O9_-A4pԉK7"N9[sx+f*X#IoMɯѷ +KVnR8f2Vɘe]Sp)]QAF,\t=^$Y:Ӂt:u,D`1c8R⳱U+m3%lDx-S86ha I^!oZ z3όu} hϧ\ejh̷olS.(.] n5$Mc 0TiR%NHBT1^x&BCwjLXE`_=h$V +Rl\_`T'ZqG(IJXV%vΓq-3Bv'Yiޮ뀭+V_ht@]) +C"Z^> +U݉+1Ӳ4mhŜL©cASγP i`>㭲x>P}A ߙ8YVQwV\|[N)>*q-pT4GުֈK;LHC3±=9gO垏$f)%`#Gh:0]T*q%m#DSTx J%ʈ=)&y4Y&ni {HIpCmQYjQYS;)gs#hlgЅHO]iqTiUWSߍbQnzDŶ )oP&LbzBxK:ˎ׉ݏt+$ Im͎lT]_ŰǿX,r$pU`CAԃ5tV"qo!NQ*&Yc<ʲreu8n\b#OJxJ yep\g٘ϗ ns,F1]^.D +nrlR'08RG 1O4 3WX,0l4BKY-ˣWTpJDԛA_q&S-[k1:siNT#K >>ɴ5Z6;Kշ&F\$ b;+,Dh1"d&y*LHS*ح\*d]V܎ρT/lӕ@W=ZwW͢65Pz ]Pq0֚֎Dk"!_g1ڴ%'OEZe#Gzcio6ha G*n,ȉ"8)lRB*O JXgj1u#VW~%R-^kp+fkYc0Pgnᝂ^)NJ-Zc& ŒOEHzUtqkɹ&,˂&T21g4~oJ2f/jal;jEͷ~%LK܍1jBVŪ0~mQ>Ƌ$" + +XSXv IF8=W<0cs\+*|'fjdtbdY׵Lh ݲBt%uwCqRKcuQ(<~l#&ySIreu02{KEA,`oAA +(%YMh2-P']L%  p&)W$O_D*}8(׿gTYn0M՘^kI,WXB# G:AE;SI=Y$\8N%15oՠFɦiil#+$‚JYsv2UMaybtK͎He{5G2 _L #Dp%@Of Jz Ɏ5w֜"X W_٣6tl~e;OuŢ$L~q:u! m-v43O (囩!SX=1r*kī P "o(oG '7{1}*0Lɪb~ʦ:x݉}6Dq#I3XB$F!djXpUξ%;W"q$ػsA%30OZh4ZH(\W+X?*\D=}T%Fi^EN7QQHi+akTijHnפG y - $X3ԗXZD]U|\g^(dO:k&定aKi8D7AJ + S7>h^{Fͩ_i5` 6O +t3F=s`y]`UXP@xT5gQ($2k¨EFuYYp8* 3|}!84;7 nݜ`<waBWS$EGeهnj6mK{M~d%>eEF2gj Z6rxuW8 O (ej<:' "3zEE[ 0]AS D͗)X9ODy)y3cWa$LXhpV&xd Hc=,2 (HOHmNTG~nFA!9"2Fv%9e -;*J?J&JĆʼn\zŋ+lW\m;yK= /YGkk3٘z02~)usEHm_j.:?`R|$o¬ F +`>¼<>^,!]POK"ϴZOTrR\(Gp_GV+B מ& kdbbHQ}W^1TbIΡ|,WH;qk0#8e}l`ü+&.H5ˌY}vMH:A*0XT_ 7I.4MzM&Cu}itՉMx9V*V/艕U +zn_:''9w ?rTClPOh6yF^=Io*rTۖIm /rȀ ,@{3-(V󳹌nrSZыK,Ye; L@;՘gHNx§kmgaכo ZBU1rƹzTsF[:uգ0+ q^jAy>@{#]׉¢ bBW[H@V1]럅uU\xTj*3jRa6 +uJ/ThO~٦$swAއ6X:HY8%A#X$.;l M n(1)ңȵIcV_ڶ 1`[AB~s:vX+DOJ +!̭}.h AwNl^ &S^D*4_B +pԋ.Xce\LR7Z|D$^%RF*1B&N̨HN[OIv׈ĚT@,L +Ec[_"0_ JJ4+Jb<)AFwōsQ>@0 &d5A*±M+B˦n@6R6dh5nF@ +Fov0e@gCџt|cŮYsوrh^FDS*QH8zDu7dث\Tivx4xVjD􊚮S+0E+ZRe}]ˑqL 15߸aN_i~[p2 4(!j}񫿱b|,qx\?omDPݔk^#V5*5y6V˙mSg#tDuYUC'e2Us7e\X#[ѯXnLXm!^Vx;^Dqjrا&j{ ˫쬚̲u,*\iGNWeȢH``ѕDȔV3O؀m\)"3d)!Ͼk@%x ftytW eJ,P=.Fp)8_ x Gѳ#줰ܤJ6xo2y3_v+u$~!RW9@SrH6  +RM`>+KVF6~C@y3/WUg+282pz +_~qԗB_L;C/55e-h:5^[Y8lZe˴PJ{"Wi *)`Pmqb̜*F,tL4DJ _dPpZOR_6N$fA?V*IQ+!ćAFqb8nt%61nuPcJA]LiRP,#d@0vVccr@M z~ ;na;d$(f"42)s;JnDbRsuPZEJTXxtG{ڶ㵁7tA2 bP"4e'כ;;gTݦs/w#(C~#}%'k5Rx[wx!&ɟ2].V ="e[7& a9eRb w#J:N\{5&xDHQ}'D]EF r$O);bϡƌN߸ =K*3!bc>'h=W%Qv@;J%BB9]DW}hHHy*SF8Hc֥Q `5@+8F%=*yR@9A=}w.0I%DudBsnhSڦ\`%d=/' )DGo +_2S*Fz\36kd8AA"h ^&ag5U~ 6z7&X\ h&> t$ C ?ٶ (t)!n\^ևy-mrtRj*{ h$#He;Ķ]8B̥E|]V%ΩVlB%|gI)':ܿڬK\6#wCf:;J6b$2DC8\\sHfɛ㦧%b lJ٫:^,&TW36P6)VIJeTq2sd^lȢ: z4"y +%nQK-0aq~^$`~Yq1KdhX eMOA_xrsx jD' #=4 +%%gbP^>Q[_dSx@Mi:1^ @=<Ign 1<^|#D1' f)I5jh9)V}h.veYS}6J~H7 %HAga-+Fly~.?xqmޢ⥕[ qM iL,uflC`ͻ={ "ahè3C|ʂbD%%6ɥ\eRe'MRU_ Ed%V+Dm mfh1PzJdt([Ў|&$ԥns_B$h"b̔!1ʍϮ(ղa0 ٚp֖P\?Ew +rPɛ?.(tVdrFE='Q"ڲZ0PDAa.UM|$Om@D%*m1թ-A#uDm^b-Y9x~ H.tkE"q+e(ftU^#?Z*me*" A`xX'.-&V! d2l{Q*Oz֢uǞc!r$I̫ݕVGBhX%5 xzfh +kʊYB B7BQ$/pT?~\%wrýp9'%+&t!] HMGE_̓A;Fl⟛|eZ=T4`q+) Fj׌p +e:'ڥr+=v*RRWBԗNXUu@ja~dR%"Ə%<1Ĵº z"!]R̕n$aYU}I3 2Zn\gS'51Z2„>(2/kjR6F;ς+kOٓx>Ba B<03 ?fzˌ|Q(b[ -&fwUH֒*jRPH&~+3 &nS>M$M)PAϏW^uX*.APO+*9%lBa"qT! " + +P^eY_=[WYI'6 +gO (uQ#[qôd[Dw|p"K3b5,:" NMVUE51[N",()CEֳ0 xA葁bk]p!78%H=S)Q)"+{<ʭݣsf"ͮ|iG2u_GW$JѸĈ1ҊV|%QJN'bt{:XfԝnpL9b1}nvӅ7&6ơV%Gm &#C +7_x:+Jl7noc$BD@YLm9JZ6S 6窓4=`N}tÂo V,4{ 45nښI:rSC߷5%eh5d hkgۦO^Y驢?3[FА[::>E&8YApnCKE8X%W. ˤkͅP:b`R"Ӻڄ62P3뷨x-G^2ȺH"&^⫲ИPEAM؉PE.Vn40$ F2 BB2uG}u]S ]nBW@xkhˎl c4a"e^Ť#8})ԭ}Qy' e m#$Nqs[pH$(K%- +/u:SI0X_p4jO >f]5mJ[%J:Hg7B ;F#vA 'nݛ;o?;!KX%?r)8I_AdvC;Otn7j,NkʌΞ!cHF5B8q@3~ׁzד~d堌IHj}[BɆm3w>D*E\s)x0)r< =[uvՃ2h"QEu~|-އ|&E=-Ec{.8oZ/'hJP40^NYmrWPpПSFn뀝m| +6 +ȓУ1ŢJMPySU +~_cUvd4,u p8A ̺tlm_YD~-=t."\FJ~ed[!84`JPk +dm{,27DfҶfS)jn M "ǓQGRsؗU3ęlG:"L$3E:FH/m9bo2x "z(}^&u$d ulDjD# ^E*HpP.2Dn'3Yk;yEoB ➊&x%k<Y)Nӱ Tȇ Tc<\2s,)vASk\>qULnhL[*;[g9dBJ-źZ7"VO$ )mW,q"D*e ƒa1oμOREJp}_FxP&"\lݭK*ʋ"#qcp5*;2{ר IAXLxvHL9Ɋ,ѷJ%,Ed69;k{^S|M|M+u|{ BDK*"TWsVU!uSWYbm| zn#Ij8[4a2"xNEh+߱) jtVIڤ~LYWd'w}eiT|t߯6Ѥ+x#Ackv;)|=-s y?8Lٓ:d_&Ǯ]SiNs*xQ:S Orhf /2zUǝY>d% BqA*ϋ;\ LLjFR ԕgho,,xn98k=G'WgRN`JNN7o>v N +vJJzg| +],Dʙ ++ʤV<#jgDz_="y#{07SVnOm)~CڼOń{XR/m'5 ׎*`9tT$He,b)Xb|MALI(b6i&> eߌPG +"Mg+e$j&z~!!9c$M8KCdǙn , X]i*țidX^٥4|ڭV#욀?-rTm0 |}"EVRlJԒ 0e@R3/kmCzLVA!5(vvSi4ws076IJwCTKndUt`Ci> RjH8 .a| +y,1FG٫iE9xՈ7 >(%xw]9XKh6tuVPC`wQr7Sf\F7$J :xE\2ÑT<\ m/(`o'gDٲn_ yŋ۸&=R +B P!Kh3,TlZgl$rƆ+_QbF/oC(QmAz R+~Ϫ8ͼfOl>3#xf.|I7W?(-@!T4g`A%kKdtj(=mᗫ B]t@ſ:vʐMgaEv9fDD$%uak<7))v_0 T)՞fGHQ$Lo,SqK6d6Y2zF];MڣGwཱུOԐ' F*DycI+3`5uLYՆKd!\?9lD-(K:rG $ȲvUɣ_1PN dIf웅4߭TE$PYr't\ѫr3U'ĄY;'-sCLXD/ء&PDQ0{.'~8NS_HYSMEӈLW*@YCȊ.y8|ӗ]h6LY"H xl&ʂw1Z K [%mWN7Zs%XD/ 4'l$CYx4Li*ҥT*4&u;ފJwkakL73浅E,G^ xw•IM-4dk bG_Xa#wa8 - +ZX񵯦5oJV ^ʮ,F_ f$`# L ˑwAbIFPFVګ*XRq(ۄLX;k +Eug%ê"{09YԐ¯hQX`D6{20&%5.vkҷfwb :kSvXS/UyY[Ӧd1DջH +Jy=K.B? \VULU/,&t@NߒLS^'ToBt>#=$Y :_ť$5H&^.j-IW{b#S`u35'zꦌk{XCKX`E;E܊cEJ:J9 1Zޯ'Q|mV.4#&[,+XNT.J P[ae#βE\Si R +W!Å8p?xT/hJy`M@1+i +}Kx'$l/RY"apbL@ cyђAL 'n1cj 6a\;r $Uۢyl ~4w6ҕTu!ϟ?w"j QR\6 ltU- ÔђwL' +٣KRlsrf=X@=_ȀgRhl `!70 UB5ntZJ/HX52"6{zJfX^/:G';i?5XL&x>w0\bG-։XGosȘk7EDQ^3U TbbT?25816`!JR{idTlɖxW,`DtZ\|.,銃AMg*LIRdĈ5)U1F0y)gKiS2HCgM,.EN"*-2TZH[8C&1A@uVd_w%BSQ $PnR cC`Ahxy NY7eMܑ%Ef?䉆d([bPUF ~[?c-xw_yjWlziI-X-`ML&XSLiEW1Et8;(|M3O0Wr3Pj#x[*/. 4 %8f"!oEP%Z~wR4 sG1,{~|8 2izwުx|&jy&f XSک5 +Wef@So?&%[De;ag0FI-ilӟ5jM}UhpklIY&[bC|2d +:z젰ReWtMԳO%DW|ɀ:ٵ +M%[LMI24@|bS"ZV/xEOmGI1:l1ii-\]ڋKq7H +ni x8.CgM{kZ{2X~ilȍU\U7O &J=ګ?]C͙dMAH= LSaWw)ȦKzJӸVܡrDelPk-ndۜt"`PNΑMN c8 C&6r<0D%%2[NB]iHZ۪UЫ +v+}Mڿ? I1EM0Fgg%ɫO]ˌU~+!2c;mhH>Hk$4ޓ;lGNWoƦوV2lj԰{M[3$g)Q7%9jAF ɌǏ 2Q^aduQ(#vb1 Jٖ%l?)lV4I8k+{WKh1f925.t~97˞i1/N{GT |OtI@\X ?v*EKMW-:O!K&WD(\w9HdC+ cݛVW\LLIc>9*REVIuW^tU8[)I s2 +"oeV%Hf GhI0lʾ[E41qǐ؃j]KO!F|߶cl*@a,Y0M2Ke~N{vL_xzOU:0φ}́{m2Hѥ$-x? +R;iSH٢W3Cg&L1&.0{EELwgw(j*nG~1  +B1̌{T^"S"O+9a\L٧kԟ08x[݌*9rr[4]~z6}iUf ieN4=S3GY eRj_p}KK!S -Y*xI'RmZ1[\Pji~$U2iyEkڛNy걶{ ZޢP8"8 /`05K>ϭwH$0r=Ґ=;-ъt;: }bN A%&+w2S ‰WTą!jn_/Nˆl=̠JDlO"Rb2|k< + +&-m2En b&"O):3,1Ҙ;ƒP̈́\ZZVNn2(^w__),> +Ktw*h2F=r#Ajy93=V-׽+1 3hKaWY^Ş8d Wz֝ƍ"~NFYtвh27"llD T޵IrMJ&;(\V0 -7RR,*T8=Yˠtsr,]hYKB igL!bBJ_]5VD iآĪBn3x&RflّWH=4(Z&)!bF +@0.W7I XOWQYTxt^7.@uZCjeIF1`ĄP2"6(ݗٚowљ'tM,gax2a_SAqUQxZg79EC})U^+~(h"YfmiԈUoJA#xkEF Ĝ-\K}7ƺXi4h#1I܇L. *~پ1ONKb\\ v9.ԮpեV5I85c~zVξ󵮉^0>W@NZ7/7GBѻ5˗MQ.^NypJ3;9|>Zq9oml^x{퓙ZǗv5 )"b#D:gLj9I))LM7_hi,rˍbO)6qocYWdG rI{t,K0aS-Xtl +A~0lD_ɇ_q0Sc`֦S?SR6I+IɁ%(ئ)ib4뙓[ +4V9nul;mZdTdK~l*c"6^g2c}uHt|_ :ݺRxRռȫE΍D07훌>.|0vBʼn0" X$9‹;5SÅJPZD=(ϔV+HKCZK>wmTmB2%NY&:O {#v --#XA0x +Hin9Q଎MESH]r~4 E=0sXz'.SŤ창a[E)>c6ʉtN_s;]VvthEi6r!ĠPc'?y''͖aT,0 &9}Szvވ+jYԔT0ϧ\UvA6OSB}wE=$u! +ڎk7-=GR:d^;i~񅜍-*+t½\,l3*Ժ8#lˣA2f5LY"zqFQ RsC3@\/"+6"S`SqoBD1I6ni1kNG~#PFnI?G.vѦK& n'SLV8:-XafJ/e O(C+"< k5j.Ph|Nt%hK ̚B+q1[NXg~ +MzWC'Z:UU3U5I bCbAO;ۥ?z&Bd[%OMtp-UF +;1F?X24ŢY/2ۃdʉ!e7DW&ϩH*mZ6JaM~w,[!/0GB̉p%4mxIZ/DNhUQwxKCb!`gPΉ@lCoJ2Tr +>t$:b)'4Z,j-$ibf7mlz.έ0D% 2&p@&c&x#@fR:aXB`cTz)ϔ ;9)jC^#WUy]|R| &ߨg)e2l<,dV \Q|-91iTāb}0p׭m 7_ΧG9UcIf%Hrg$_쫍ޝrttKgQp!T"gzCMkL?8[T҈"gӎ'?K6ї7(SY!PQ%H{PիU㋑AڦF"2ko꾰*ӄMmVp㰒M u!" ۲62s0͚H2 D5[O)ݤPg0bVNC֮LS19CD1OYlVAvJk[cȺ~oq*NZRZH1fC6ZA"&XH = BM_Uae0_&sSu#:bgJjL +/_eI6XZo= Lq{~2V8 "*lye4<+z7; $vʅy&1"ɚ:R4W}WNVιx}Xfȶ+dd5 hؑR}PkղLLI-Wb*[CbHق[1;Y 4WD@!|IͲ#d!#5fUU S,ċ0wio@0cBZcĻ2j\1Q Γ/fLSZ`{jEq85TOU{!L^) +R*uMC+7!g?<&E\yġx̣ ?2 +G2w OUT`UIKT3.a3XLẃ|b(>P`R;:0QiӃ!,"5aVI%Y~2Ks*emݯQ>V3v~/Pf[_oxk@BG&LE:-30?$y|cHh_2%~h= +As2Ur)6QHfw/ 5AO1aRqQ֜$h&'msSq#̋u9v#K}",yp̒(9aQ1*hdT5(вwuFGsfQ*%tw,P +R,Z%iۭJ@rz$b/vF%.%ukXO\ΐ" F l~xbd䥽nH yl&6D8z$^NՅDYv|Df7692/]%P- lqPH_̤)iN+FrhlnBc4JQG , jzF(g[*ŜOYbl + Oel/}y4:d6EZ(`P +*ͬjq TH2R˛OMU*Աl~qavn>Ctu~S"/xcW̄="*Bnw =Y\_4VsD.)+Eb1A94Y%% aK=[-Y*ꊗ2Βg^@h13yIF=%(/bY*Ag-uD`pbP"f6q/HJV/`2V.Ȇ5F=*ٱF3QHPCϴim S|pȞ:/n ,łY4ܵME%l?] #Ώ$w7bLџ;JxɭHۏ5\Q5DcN4-^nKe,I3]O uB.Rch}q.ݝĠ׶N\cpyRB Np`XbCQ |t]#+ dzpL;dQ#8QWUKlNR(1lzZ q6^,JNj13f]X`jqg(y:|aI_{;FwMtϥ/|I[$= }Aڱ-hw@TŐF*&!ScT+~iOJTMC0а|ȅ"f'7uI 9\ɏ7chz%KK=j"g%j{.eAy҈¢v5,_e7SR6LZA R|AuN4k"űXsK5DtNlN?(UEJPFMp9█^k#:N +f=zor$K=H(&f0M)oӭ Dz81oJxO> ᔕႼ2.M]>5(xGUYX% 3$eldP>r7~jA%:GyQEVuh)Y$zmr +38۷AQPqIWDj( 5OVUXp5jo?Rji_ks5O%Pm7╩Ҟaa)o5,h\[x$ MPL1Y%^=gok%KFgňQ9jYi)8͎d& \$* +*rNbǀf悃zI(EzC[z$AșaAI> V s:&~ +v_a bhm>EX^m󴻶c" +LdB_,5y_1s ,zrlMM-½␹2UlL0e2bd帪_$$K+,xA?HNHi2huIci7x-b+T Q祷QK PMSgŽp,E<"+97?.XR#5l+`#]i^Hv<re;gMd4Khe RI$F%5j㋁+A kmT< qaƸTMw $28R"@)'9q1#BEzVQe̢1 |Dͽ>a4GFm6Zz0`)0.yD[6%8tcGM3|I&&ƒPD:Ѣ40xp:!LJt{#E0uӊ#{_Y}4eO-8Hdn>dDJ;#6uvz=oXU J_R|zuL4Gcʡ,Rh-~7K'RINfР-AռN' 4S(dHGdX3p13BA)1V)ƚ!Fv:L~iP&KX˜gXWǹ21q:ѓh5@R5i;rR`Yi:c%R^Z@*R#ߴM1 +X>xx-*JHr1,. +'ɤ͓_Ee.li`Bgޣ :yi'/o0OY]]J.rߢOLf X"`ޏkH&{hfeCUݞʸUKy,,ܱ5TP:v !dYQ +Fa#/?2Q6d3gEzb!w,ʡ阂Ē_Ze oP YbtEm ĆpI(99%T@?"+T|& &z0.O)(w! klnPN+\N(`XsҌF[9Q cMv/r\etm׈aruַ+Ȓ&l@0|ᢳԶZOz;z" `CDs5Ϩ"}{6վHnVMIW"29fbY.=*ƹq>u`!:Xw\fVԅ7$'cBeDI]"!Nuz $L "Pn qVetvٞRWIoԌs]ha&Ԇ,*n%i 4d+CX[8۹ +*sզUAp쪐TvFP3=HB"2Js]t]4Wi?2ӚNz-h:d-3g,HQ_|NNe!&B?fEAR92 '^܈li}.;5dM:EiCdmk!WFBq 97E\Òlcd}4}X)- 0wa3ώ\;tO<]ttkr ͬnZRRtzԢ)'ANor.v;qM.ߒ-:k R5f,@+_zm8u4DMRV%_%zeXHs(.5jXJbHP@r|Z7D7;7:Ҕ\#m K"*r4XV Z L+;b-}f|`tDw'NHL >Onc@@p=kdk9Q$C8a" DXIVo |n_?Is^.ZIڦ_!bWq˨pcdga9w"@PV8f=j%BfjcGc l% Q]Hg2|Tҩwh߹іUhn=[e*=1sl/6 b9W>-9B-%e3Fvu]OmrMXGZJ+,&֗'[v8]+!ӄ cUڗ3l3]u-)\2Y- - ߛ{M֭/IDRr2[̯;Vf:1t3T(Q>A(B1(Lj^e>tGs5x%%Y(IC ["JۂUlZXnx+j7yJ+L~ȃ'mA'40sjOkmZ'5K"Q\Т]+q4XoH[8Fbo%ђZ6 F4|fɨ!Hv)~+6ko[钳C97MŭсC`dO} Q,?D͡q<ض=RڵR#YwFR[)W"2̞ lHnmuщr~U CV$S b4CZ ,^ +$>-uS%R itB>բaQQL]<@ƒ@!3uX5>YJ$dٕI":/ټW$[bJ$`l"ah|G`6}+٢HV0#\J##tMNq 6SZΉ ҂kO<3w*$'T(+X,3LU8ȄtXq*=>ǿ701,Fန*A2:˖M0^5'  O ϭ*6n7gB%22oɘ8izS`'PTSG1F&v39Ynٵ,1YO#!X2[U䪙%>ObERnFR>aBa \ɮd=4,X.-2$G)f t` +W,L P+ԅaR|RM7YW)2K|)7*H*[Dw*'6J:N}zͥlg!Pe#Zv'ukTB\[FTl + LK4܏L +R&K!5:&}]"$!ea$s/i _ +HX.pE*I pN!e'; +t\+Wi}GZ/q^*d|Ht 'I>@jĂd 4wE/te )Ou^TH#&Ĉlvut;5/36c6nX@)7 LX6l&p0!Lxc q!Q+%gJc/n{?;ƅR) ظǃXͲO^ǻd{.RʆTyc>e!;P2cCe d/tebkM9iQeE,J1W=O,tϽ!>}j,>VLDŽhGW"[ EU u9A5a~ ".j?t>r~'<5t);+.i!s>۬):*нT#2m>8lNZ8+nսS9dH-f\#%-3qH*9l$gCTB gzlrkGn,e!,oi-4BL +vv")r^sdLKۮٰd}(R爁Gɘ0 _qWSɓ,L&(WADj%ĉSqm21FJdMa9ԭp\XTOL  !9,e28oTӵGC 3F:~߼zlx9.Ul}–ué +]|{YrS (FɊ#z7MV4Fۧi(E>BCτ_.śtB|?F6!GP30f/LB}d`R&!UAtDn2k$'DJ=RYK׊k&RGs)en:{ ~RMh@`#1:13ψ)ǗUU0i1s[z-X5\q҂7-?>ޖ湞L:B  0ǻm)QO\{4Zv.-cK%?0(ZE"*֏fLtguĆY~ VfZ 3xсXfCRBAX3.ߤD݃Ґ"s>zih!3|qiР,e"gτmX]pB4Mi1/FܙpGKg~5?dF?Jj7˴1 #oBCr,TBJ:@]İn$߭VM?*:tT{vkslv8v}쏥)`)D&5f{MpF(X0YPFfx}&jŲDECbDv,KLXAF$>$toIlqłfeͬ\f,p/vl)L+d}tȾ daϬiYFF7kR\t#b2iN @WX1QY+ ( U mx ,j=".GܽX0TBP.."cхPsn \* +Ӭ1ݞmhUnkgvɡIzm#иkS.Ś7C>zO% V4'"(ED`z#-RLχ3uUqyȶC&)LVC ie N7xU#oJ6["đgWD92ȓq'E)tt{dsT zL*'d@݁2XRjXB{-?@"#,{ [Û' 8p!@R3r -DF/P4H'Ύ=\Z>e*Mle(vؙ-j^n* +%dW +0jl'/Q**ϣjP!`p)װ\*ʔ񯚪~ N+';pp%' ,ĸ +,lM!oL&# UZE ɌD5A7$wKjfrLQV7w/rˮBߺ-FH܈HD_v'Yq_%\ײ^^]X?)=)(mBlz,s{V PL#lF,k!%s.M8ܰ6 kiHMwh4*aSٰo_nX鈜Qv ApP):'p+69L-Uq/E@^< 6 B."Nm#cwĬAw~z,_/tH~B)wB-%01OҸykи U=e +,l:y\%P(,VG3EYy{I-0F}guH0nTDTkTx'OMGx(J v'$V̑*Oޡ"Q+$pHhahE+#b2վl$cґNZ$'- zBFIȺ&CUnm( IR&WTb20{@bOdxW@rtb)MSgd 19;tf@{F %t^--@r\k q +* j&3odXؠ̌?SNtm?S?RqNy0 AG@FSֻDEX@DO _eGXgA +kBF[ 7y2OˆW<#9 )e;[ Ѻ1&(w|b,l[H ㇊ 3o9W7~{2UrMLa^Fae\;f-8R;>ȗ͊y׃h'd@"ض*kSf=$v~V koW87wVP2͈2wd|n{S<'Ec(L4lV]ۆ.n`' fDH%`z̄8܅H$e!ZL҆>MYƼDp.7#^^6U֖4/Y +H`Н43o @co|[a`zTO5v/&e$I3/P=SI7&dVH StFsӓƒZCvwc7k"ь|&>5e Q hMn/bnIpKd=*~-u̥i]5_L} Mi /kG[ڑ'c"TG|\j=R0{"LHskdlŽc dTrP$+H<yq~\w + ,4UD +Ee^4F,R$mY2Q2Ad.GjPش@)JrE4c;&ɸsQu+/Q J<2}"|fDbHNW"%.e 0reTA-Kyq;सB&DF6Fhp+ZAQ*fzL\ȧSnsB)(Ҡ9n%\S;%VXc=["<4 r"KiP")}9,Fɱn6 Qf/R1]EH빈aPޅᴴ[xq{tALj+_/I'MR(8KEi3fip-|c1{r/ )2Aus'9dׯ꒎PYt;>^L+HGi7c!xmk* ZQ% o/-Gr10%΂  j3%P`IluY6H  l@Ζ)RtȂpD%Sb!K4IcXt2 tW[<,b#,Rtk"ۤQ[5x'DS_v*DY11W3s8ZA#UIrtSbMiJ85ɈL2O^LYk:d^dUڈ(C*^OY+0PQji\k$l-VHܵ.",~k)r NlNR%MB +[jtQޖU;XRk0crrvUzQ1XQ*eYą.2,*aÍ|K/X7hH)J:( 6yC$`>)$$ /ODEĊ{@,pD/KF@ǼxY P]~(1NYV^.)[vb !d1oVGNif-II+?Q_t| F.H`|6H' wMxQtfdi #hJ Њu}iJ߱ܤv ECNemɂ|/yQp쓖}o6N*e,*.!qkS՛F0Ѳ@݆V^Zndئ$ Le}V6@&jq н1$0ED +jw4p%3L%k;֗JPKJКW,-ЁML[^eCZl[<o?Q(A:`R/! J;AO(e8>5s 5": ALKMnJͧG2YQ@&BwUjob]SٖhkTQ<ū=ͣR%/U= hw + 8 ]?E0U"4j^F;`x$@rb^nD]S) mPDŽ~cavU;f$" +7T&JQprDMCt|@s_do] +CJceb꒲bAh(|ux:^iSETf̲SuLztTg-+'&_ φ6=*uɇ}Мh${n4q@PJԕhߛ.r{ h=fEKH̍K꡽ _?aDʍ0Ԯט@#}O[rI995^#z2`Ϣ+Z 5Bx X^*b|4 Zvjdta&#L#`@49h']\(s#rZYV@Ey3GNBk|qf{LGJ߯WJ[* #6Γ(UZbuͻS9C>.5.'0Ep ]sx¤L7+tkt6E`"pY2z-ngT]8<[n^DN{Y&qbt ++ia^(Ivr;fGdžW4zyU|Q]< Q)!T_tXU pX**۷zvw2TY׼E\wO`VZ$LK  -n,m[>tbY=Cݤ8f~5q?YUU2j$MDZ"hiュZf1͕cvػИ୶-5͓Zcިd??ߑA>ޗwqM)]~ovh_k #-A8 Wىs呯\R]e8ȷaOLA#e5l M#Wzh-~:pP@\HӈŰ)Un g f"]܈؇|JCJ4@f CߧDLy@x>tW˛2`0(Zsi(4̃1p.C^m@ ff&K_&U,Iv"^x$R*jpF.ҕQ3)QI!q$Rtv) +y2kLc)ogz=N} b/Xα:_NkGߊ B^ {?4gdԲ5DB̹0d,Hi?Q!Z\*Ž6@.#\ЛXסhscP.ǔlMRBFeKx +Tr I`j +/ iFb.S)zV%i 3]̫H3|ZG{P 哃+8nD> +JEhfs V?ۨ7(EBs@H!zbڽg'E]\svd/c)Dbc57Z-.@&jjk +ER|YӾٮȒcbHV-E}QulϚ#pL/1S;oNSۜWZYD&||T{pk ,ziJï45>߭8VU[8V|Ӥ*A&DK󩈥zŪrKBD=@T=)g (a\O&^s. iYPJ3[ 7́Ēs?H2&UeNR$R+-ʈJ^;6FQ|}\|6@mnu43bP18;SwB_ +6gfvI؆/WV \HjĬKF!kmwјAJmwT;UOwũCwh'x;]:.h0PJgX~B;p.jɋ>Q6Z}he5yhwe0Q4CZ&,:FGR{ "QaBTf-" 8ڢέqKƖAճC΋ $pjZkxG'W(8?pM_$ x*DHW +DjJ.)hd 2K]媰3I3DY^-/v2 uF8%lT+ 1B'et}ɛnx +ƝF +C%&@]EBZɮv 9%ki.WӜ0mc3c6qPNS4 =nS!ed ^Ԍy٦!_}km[\7-uFMC +s揂 %$&"ք_n1N @L0 +wb E+iUl&(~ԜzxOܯ,NX1i6q+Ks + =07ZnN& ۝_ ӷC2`PL0q~^h !3r2VV1Tp|/+&7$F52c6 +I/IÛthp|w̯`G:㱪j5vv/1u>ln#yGύH+f\.S(߆Z~:SD~ 0EBh*ƛk-}uPK*Nl,/O>!X"LKty-³B$mz0?J:RIHS ,CuO^,׼JhE ,A&[Z*K(_3&~ЊgU'|,82#X!2CY䱓` * + +Bmv/̴}aE\_IY69`"qF.fb&@Yh{37)H!EUV+,,y7E!e(teI~tgH9$N<_4oI/@oK% :< +o4 "2!br%#[zZ%صjtժTL:A8@J˂mAۖj3?,pPM?TLHl:RGRmBwipEGPl( bBԪJDk[nk"TP\">v K}ݟ5-*0l>>f&GZ&kZZ=+d-Db +h6@ًUi]R`E( FZ:ط$u~h~l~ev'jm Mٌ5U>aVYɛr KLX?([) `$"-Q'(^(fo1zE75ɽ){f=Tu^3RY,]LMԌ@YhшenB*QC Z Ë>Zj0\ ,$%Ʃo"/}nnSYi#ԭeЃs2i, a+K@,V>ʽR/^ 㢃ѥ߁nWB"jnu !6((^;o _4ŎU f<-Ѫ/waP_XT]HgXq֟CC kZMVFDqH ߉WG^=Dt~Vq\r`ZrLBݻ^R; SV-[S!@ɥNEԿ-3 +n`Zp΃R+ԴquI9Z}@FLbvZﻬLǂ+] ;ՕU*E*ꪸAݒ<7j:B,aSP#$L >ZzDet XxJf@'A5f7HU;ߒIѳٱ2Qm +re*cgJ$=LuC# }Q%HaA1 mOHLgpZ8_SAlMexH?D]6 E=|\;hKt}_J:r ޫ㽡a2 +V8u}e|u)3vEJfxOݬd^I`@]|Ǥ"]DJ dLވ *la)MV Ĭr[nis؝խgZz`!b a2DY +{7]VH JْQ`ƍ\*IG>Lm-zC#hgQ>tOLF +,hٹ|"J:Fradpl\ +_Jrеw6)^KB@=_&Q> +q3 27m#v7U5R5&`6+|uIvJrs ( DK /'6u=)GA˰Lb=+yF 3GHt*&,ƥ..=B F?l'fxFvF/Wzu(F0 +]RC7pRR՚/Р`7#絜=0 e].\"(r -S׌xڡǫdZ",#,h'AN#< ܁u?ڨ.cu:+ohK'ЧR@~X[n;SYE{LbP!ԣp(TϞQߟʽ*< xǣ *h]&) LZ@CpaӉ0xb=LYLY}[-I9ː ~MxP,h!|[Ɯ6ftT$YZ P҉m Y%OHTxD0vWv!&  N\cp}s0 mu*C^Mf=5_$-G(+ SUl#;4̈+H9=j)Ac6\Jya# e u?\ك@EX*VDM0% F38K~R5X-|FlX "ph!ʓbJwڧے|Ѫۣ/9Y*EPô$9j78a46mJrxeʛb#ȗ4;V\^p3q"?o+S}hG00N(KRʠ #anO*;t!)@eEZm> +ԦԸZk + ʒm(MJ㪺&L /Bbn)*J$Cs1c':7$dCfm{1ؚTRϣqLJIVd0UmBCʓ/SI* We +3bԆT5Re>"4c|T^vQeIfcb4HxW+a ?>*nn9M0*WMq'{i*"Ben|ED\? +I%ig:i0Q8"Fm1OhB8CКWU7zeW#$0 bs FDhBaxrӾ>j'j;`vDdHHA6"e%! +_E6iAxʜ2n`#NyI7G'AUk$/|ڼ}2[2măMG4qU$// |5jXs E4hEױb9ۋ;E +!iTv}^D8AFS:E'#x 3 7+* 1vZ풝XD!&\|W9 8ɳTYqax_YwN>k^O n5,-G֨1VBηl["HQJS\FzF$nK&Drػ꧵Oߓ z]Tp#6 H{!%/]8G7}[+0cȬh22jg?#Й +? +ZAs@4`17|ZE6rhlRG-nNeFk$>QS{9˯ + I6H\Xt +Q`DJL|aQGZ(Ib:g:dBhsGq3J5cCJHMʾf1)Kd%B#g j+9I`Ԅ;簜Hԛ}p5 ϶m8;ccz"x颔6Eh=ʺ9.>eW6YOdŏdzP!k Fo6R5r[@ +5HS&05pI*{dЩd#Y&0Z0үڇעH –d3KYQO-q8T-NMPv,%Ad*q-,ȡx7ٜ"Dy0̂T[BL/6 >HI{MTn6[WZ谰{P`#)Hgjr0%.kRpֿ,t,uup? ̲$"TUv6"}+4 wz3.= "":=K +.x/9[Hħڡ:FFM˜GQ!>-SW&pP*PT1jQV &Tﻐa1R Iߎ%>מ-R9 +,9-tj&W+ )<&q',xSFE96=¢kcW-(YlBj`HYX(朄P0 PO BZ^OD8DQعˎQbTM1/&њTx$䬓>oN A짧 +pKñwlPV79K-ߖwjIӡ36XK_/ډK<;b˳2;%q59[6,~n]r"%NSmEն1 fJ5dA؅tIUFd*a԰npc}i@`c̸ߕ?%3$y/#SdaP\p T`YeYU=NȻ(|$K-BlUҝ $"mgLnz<@eլ-N\Xb ;֧CPf >frb6KR$:=0 +)K)WUk+d̨{Q;c>,Ssd+ 0SGĿKa gB&a:_9ӄz11X33`ܙ0Ti?k0q*_ʥx3\8vcsu9hV#8(WoRXeP_%$~Xd?>%U#&~&gaKӽJ䦱 χX T1;WQӧͳVkP%W't +aa91sPgTՑED4X6#!wDEQHǪEJlrzj&?Aܟl|P7`60MCu~+kH-&]Z?$ +kX#SlMLm"cKL!*7H O4QcmJQ'\T(rL܎Fi?Z֏ȒI"Ti֕Uwƾck ȰW"<u- n"*Cк(N5+ k_"KQM+fLj+<0IEE͍j,QJENwNglNV+!; dƍhXvȌIy=D2l]D\҉*)˹(N " 2hs?̺_SR +h}3xcÚj웋2-PFObN>lg禽2;g"}^1SJpݱr_J f-U1[6umV ! )v]/0$nj?8޴?ӻ̽:0=ۺxw~2.o *>),Tl~(watd,&锓J8Cg YL +T39+[~BԆDB%@dOT4LB5S},¨oI-`ndUbig|;] +F6bb"|%Oʄ B ].'D]{Ex6eQNĂ157"u?K٨DB;zI^Sp;'8S!ӎ+A^IEFA y} 4Njxwz!w6T)< +\G>>u?þ7d#B"za)w7ywܩ.7e.Ii59 h,ۂ9C*F]"W6HdCv/'*rWHvSIuv_^dL@ S1 +fZ@mP364hMBqY:1Փ4:N*rBQk2Ų!5ѹC}8aa~R#&#:"~ R(֒c5i5HLM5v\%f#'U,(;ٛ~p$gvblƟTynm +l%I~JbS>,/ٴ~|9Uj$ɰˆ(+Paxu~lM#ʊx +R^@lƒܲxW@E7(Pr* U211-6V9` +y\$kES @P$ 34ZdM/<)Pt-t&2z0O f7rV PgSNghJ"`XjiA\l.SþUVq7޻ +%ŴUL2[Nb'" I;QeU]|]_9MO 9V WcEEga "կj7j$j|3Ẽ+H#VXLo#\enjIY̤C!b*ڀ\g䁪.,(P #-ʦFP(im7l#}$3D'"Mywzq\& R⩺ +!%(Umpb +%(^1H1h[(T%h'd11<:AKLxDЬγ*ZUqt夈@&M ; (g° c$䳔%H$6 S0p _6؅;6ad J +=djmL2Y"V6t~.9sKJ*y~:| 5=>'+-FuF_xJagФX3_pQ4 +:"i6, +8_uj_;x9wU ̍^`Ux֯]:lVTP/3S1mA[LY*1D[jC)eɯ ºqjؒ!A($#6^;VlH$ +R('LPC]/?KL^ +ɩ'woH~+CJ΂ M}! .ӥ%+β^lQL~ y/ mrfQl0 +B +.wDS؅xVw)86u׽OE]l5ccfkE}C+pjVij_lVKX/)^M#OY *V(բ`Ub&AZ MɪD αLEf닕(yX nv^^8L9BZEi>݄#يOXl9-eJĊɕt%,zC+3?"FUOQyI+"VI̷+=GChJ%ݟLtXy .Dao$?0Љ7)`.<8ݏ&{#&r|d IY7YO c@ۖE>[|H9&{ќ*"zi? +UOaƪ9 %_$Dm)uZTŤm:U&=|4 ΐW eBś钍DFdjB/}wjz\#菮TPx#VDlHQot润78jhUNsYmZ7X#ZFrLئAɊ}\߄3eƑKGu5>S= [=z8τBC]V#ZY|-a`-p˹h-̻]a[*D9^Pf{ 4ڐ=A)B S"T%cRԳfCr$k *b*oq? k%'V5gT-y:Zfz,v~F%؛Y*"p7A$8N8z@/t\ҍD2.ι[IoΗ|E[P9b) x訾n(ҺPtNL7CSixZh =ZDOvM +Q$<ֺO$(ctzroWEsam=W zi)vр#tRZ$KEE0$rDł6+y,ɡoG\e7U;wqZVD#E B aGv7[+ Dh "8]+̡ȼƫfmn(M"Ⴅ|kͲMB!afDgX*2]]H,V&aC-A8E?""4 f:SW P=*؊۵$D&CY0rl.&scuLF +Z6 GUbPg _h%LҨsq,w~HRu|%h;M7NˇxG%ݶj7f3X}eJ ?%V+ێNʋ;t +Y/;sں33n-#@#bY:B!)Q_0<W^S;@n\ +\H.Y%&͜w̒UFeR.G_!M¨6@ +X R:˥i^jE~zD|>1*!$J^YYKK\bii'ټlDY֫%F jg @H )l0@s'3l8(Uu֨~A)ФDPU_%xBVd7il1Ffb6Kձ}D֙ {XZkXKjj Ui]W2!echMRتC5l .X\z 4e2.i6WsY=*VmZ#TOJ/Kp%4]W+Dn"5D3a=2gLw)4IQ͍.4nhFD.H0,Q/jE/I1' yglz "~m0)ċIL& UFnzI1>v1Ctzj:ySa)XMCBAR9=בl %tP\O%=yiYX#R/T ^ڸ|*AViac{-g]K4nvWOerZvNgfiNY_~tovRB +C5m!1_s ca'f.ufme;͋dMqP`뵤C#'8J) ,&,!|VୂRx3d+b7kš!6Fu8v:Sl TҘccYC@plvsAT`\YP?fQFqw**wCaFRADh*h%ZB+< N`p JQ|cZ z!qP⎝=!gZAvjY)od^}Ƈ3͵&%@Ϧ1h dna+n2mwʄ|<hXV?2w,dUgq rS>aG* <B{}Iv(ByX)ןimU6CӢ/йOs;Ws&`![3mgB1}͘5 +@.J+2 +(-f?,GQnb[qڒARi4:-;`w0{وZ]в4F8{2}nZho A^op"d˗ 5[xC?S2KhiaeQpHfW&DRtk$yN3Ի #bBVTXZ*eefX1a-%qr\gPg'X7^gG,0,$'.Z qp/=ج?L+ҷ]p2Y:)K@<鐮TX5KVl0 +!+AX&&Q<70B6 3"Qm n ptb?Rh~b0I,ǎa}"P8D@&U +[=Zd2%Sds;X5ƇK~)D-z'a~ )ULtVTD} l1A/ g7z_[a +2̖IV1XV65!zRz+Is.ZKU]N2%mF +Õd, D[*Sx$J ۟5O۵Ca6htĨɪ*wH|@pң'}Wq8D%HѢ'%rH' R&CK陑1f*3Fp@ȒUlSLg0E^wNJV7h6Aj*F&B32[+#=WA`wϫ'VAml! !P7Uhëg:$ p|kHlQ +n +Bs*i,vʼnOtVx\ +*=]{*ZjXMKb,ȵ1\(iYˮmjb|E0"*O&KV]>hX%cr< +&]8TM_Z6EB3lDy++(XЪ84%$R藇*O +lIqgc |P'5)7u/$?TK)"w@^4${@2DO !k{(_^ym4j6PfUDRʖY3 !FmHݳ>*1wEIFi̢AWx|%2eaKOfrSܘd_M(AT |wjh%Z˛ⴉ*rKͯCyeXl,v1F, eDq/|G2%(Qb` XkH)ızuW2UDN]= jeb}$ Ub +뛀qeh!na/k %lĹ-?5@^^ô#cBD砇f2sBڿHGª>#U:oJ9V/Zd#a]rB3]gK%UQ>So}Id@$ԒT y9 4L|FxfM ${i&}G=㲮E=𼁦CG(#EyBM$#fp5l&!(jψX~xHO qyO-Ώ`oJFZ麐Y]o`@lDe"4;D$1#JfH¬,xi$g[7{•|8PQ! ԴH7ބҲ`># JQЫKq5-6:CM>O2؏@+ඳ5 #qJ~T'ȳP0;;0T%'7D B gf*fNRj>뮪z[5ҰAYrB84ѱ}_ d$ Znڣ%k-obn2:<a9Ϭm#tMGՏ^ED5M gX#"Ccw4ޜޣ|M3eT4kQ`6XJzBٰĿ8ƔXz:E]u-<8&й\y0>)Yæ\Мن(Mʷ;6'%B|= qq(p,R}$V]~~D(y2) 0@>oMşX"Eb*29QۊdxDqe4ҳ،̀dQ,&GEO ` KcK]m"MՠroS6AXФsm`$dI4A{_*S.xP,9@*9֗گi4,Cz^ZKRb}\Cߚ$q]<{6q ^Ndoͮ:(^jH'uZ}1(t8ݱLA@R3`\^/0)9HZC4uYEUh6D9U^ѓ]ɤ=~h9enX.)ڿ1+ [$hh'Ğ°whYsR2Ђ?.K-{}GXoMkUOk9|P`XKq{E1X0ڑau", (<"S^Qo :T3:|"Q?‡rd+=t+%ш +4z*IwOڐ޲AS8) bdٶa@DWa0gw%gyT8XDzL2; 72` Ȼy(-D_E+3V+9!BR%Ү2 h5ugb /WAx5HRq [^ir2NFifX_eSRLZ -Ĉ1/ir!gc'۬.JU ʀ򔞪؁s^IVf@ \z\JHN} ?q0F{qBJtLN !w&N%\ڴEXҫ5E_kq9 SydNv϶bL=@=!tͪGR/4n-lhldJiƪ !{7^cQeW]͊oGb;PSn+fhLv!F£|_D.2 pF Ȅ%?مO0`6 +^'>i=K WO3URxֽJfuc+H[H`'A67ݬPl\k`ĵWkk:e7 t*C+ +5~QsuN*:QCpn N)%A v7!X%EiH3LA=$~h0PaKĈB &#j }Y$ }zpqԕ \U!v#i&_h諐YȘߦg¶X bhS!2}ܦ+[U-]CB>YP ZDJ&|X'D݈1\;RR,&2 +&1vi39/5dR?L kt 4qе0dEAp,ȃ`Z9"3f!Bj H(iU*SEôT#3ܖ&naG.68V!lJ^2*aPO(a;2FJcˋ[Ѝ;Dȃ53zjv<'Bqi!o^P}5V5e?{>X` +B6ػbWh*A: TDCӉriAU<Dߙۊ~G鲲`% +̀Bhs؎N ؈̌iKŠ%ky|s<ѰQ4:2?[MFצH ޺K];w&W]:%"!6[/ruOXCw-ӻ+d-NȾ޲d5АF + oHRwxɸ ܲ-.vZb>{ ANl)!cuscV +;cn_ڌhT^MtNXSYO/!z7 9!\͟IȅrKZ֝g/-Gk>"@EͱR5E9s2t7͈2CQƷ_\j!k +֤`2ABVI먧mVIo 0aP"(R^a%ȑRA$+!<{k%%!}! rF0$;#j䯝t96uJ&=I@Oi\tד4CR C W"Ħk7(Wx ~GhE`4;=;T˭SsDA8W6%œv{bKϫڨyqЛ*;y-VY6qDmx4$z!O|WLLYv]# + PoHq?m7&K,踦:*&j u:SmٍV>ZI~ApMF%oޜ~|KMaX`K@Hxel5>y SIժ]1"iZ75"+I0D܉vئq}PB<_՘䄟!b{pMGԸl tA2TJU+D4OX%+5q)܏S^\-Fj5a0O% +)Lv5$i#+D1" c&DvnȺK':Y=.S,qG\QIk䡚*P()qa4Nqk_VU@WڔYp1Pjd5XpQCR nLlNV=K>laJ59 |>(MD>i03p +! iQcv6en6PUDmKj[hO{*NB2'yhWH"PjlDY]G}~3qUKȤ!,^dD-F5sVe^ya[Hw8 y i؝|hHZDDc܄$qkˁ#K?[B`M]#o7+%I껬E5߉)s'iw/)_An91H;60mGEvQ! G; "%JfGp4oAOS+H+&eXAI >`f6P(d*DPY]JʻKƅa9O; B@P WGl % RbIn?*i'}%Ndb|h@mE$I& +!V.Wd*zUNdqJE|{seXŞ@EHΠXLݴw9v1!X +x m㛽@ +WM߻Z"Qc0cN)mXϡd4 a@\jJ>@$]VUWQ5U m&^JxyY$xH[UZ>]>UG+35N載jx7_"Os&/-C؃ѓ($a4zˠ{BRk +B&*WhBa%yc>=ls g5: >%=#zTu#:؁]m$+f*$4I=RS[z2ъi ee9fh +~xD3 ,\(UyO%Ek'ĺNSЙ=GC?ȗ"?η]O$ ,k"*y5܋_T&hu"$=G}E!H!3V%CaŲӑ +aݳJۋ*jWݎrq6ۅV XXJXFa_dj'Rj@}F}P!rHe5Qc+ԪX ~(f2WRFrM( -'LCnsьw*7Ƞj#}!f6䔐첞2.jȄZ6zwb$8ҍA\JB3n Dγm-w~@,,hH\DP}ܛVv#Фe̘4&[z*[\|Y єb4Rr= +pTQ^~}g~jΕ`a?&u8HTC7`]Q1띩BjG?!6jT[RPd*wU*d5B]!|B5Nj ޴-y]cDm]m28Úe"\]γm?yYS(7@/%syy଼_i}]||I?́.Nۥ;KrKU[eY|JTL(q*MIH)Į)l6R#n[bFAcu|*ךI IS,X㺌f5Ha0PsT$(?eFA{yD4w\4IY>Mޚ +5O~HPT9\gk%zeJE~kIxDxź^yV;"7|Cń7݅Ju!Qŭ_n^Ki:2~,#S9m$/ʋ$y +"d޶8\iK)oDoƫsbg@+J#t~#UϖI(Lo ;+!OB + eEr EF2^yU(Ѣ5$zBgMH0tZS2.t7యIįr̰ 5bA*+iu<AlB=uEw؀/j]*3r=$Dv$v{QHّ "PuJ.kRJ5\r6^ڣ( +ο0 --I#^obܒ{Vte·^.1vwiɢ%2j&lSb咠H%t`XQ™; ʛ ^7Ьn$ЬP5B2 +Ɔӿc,GCi6ɬ2S<|)16Y@y1oe 8)?Lc F;1,>ntm +9@nS0з&VW8kuJ%e>v&ˋ1$Pگ ԎBYC7Wo̵af3qAkrZTm[ +M`@- B3 +o +5. g-2{c?*2r~$ZFڮ j iƞV(~aؕZگaeGn3[$9I޷J&|.҉ {>Qœ;5#$PWu *LfzʐgI]A0)M)vf/ qGDJ{AK6;ls5.~EFתsG$JHQYi -"owFe];Z,-D{B' ߌ%8#t/cQ~kC6ĸR-5 II:0ѽa ɩ EIc/1h m!5%ؗHHHsk)A3vT*k +҂v+Iқ \a!&lU4^HD( BO*wAE%Sǝ]O >Wh`#q2FYj&=V?یౖd!橱`0$BgPJ4a Vvy|*ܔH  I)>\dѷKgQnDCZFapK B\(+HH._Zij[g.)$¦cTT*~MvmV`c[m]ӁjFS&_]35CB{JrrEvl#^A 8}]+*6o(i3k;Al<fo|QMv=B#xJVCiDmƷB6#D7 VRP_jy}EX04Pj Cqvwu"DƔL,=MM/#zh]`ЇR Yc==S8WR@lDwG⚫F2p=iV +Bw +Cc_~`\9Uӑ D(UAc +o.i#7}D\BUΣi}"L{/^ʰŏ|FЅQluDhMHN=4b2#Z*c ur`:vCU$PbSkWN&9 Z;Z1df.kfNZ t5up$紸%Pg ,|Ho)с_ej`XL75ofhIWRU;QCF3@ ,b9Kؔxٚ(*XԋxPn]qK F< Fimg mgƹ:6hIO0%KV@k/2:51sA6tkf^pF +dz=h 'h0\8^vhU +a Kȓ$IfX>sK([D5KՑ45bscѭ?#%KS} Ej2X/rg\g1ZW+hGkVlZhd ^pk胛$( XD Ggs =8"VR̹&‡-x[tqzg}>;2's=My`A*#cl])4>,6Ět傿dg2d_Yy}e(L,O)~~>fOt6b\U*x).I6ɋ9;xshP*A'y9.t]N<DmIxK+%(T0WAhK0BBfHOnTfn5jB~.=3xXo$j2D&C!e֓[m͗ahPdE":"5LM3?=m_2Qʽ͞Ep?_xKh<ê5XWdC";+M+TA#mn'"5Nx@ǙEt*!SO${2UphHhQJ3Ng1H|z}YéRNj X*# 괤=*W%E^B4%VxGjE`i *qRZVOD*SE3Dg?K"pw+G@$)!!HUT1 +af`rS|xDc#QO1EѰm4vWs-ύƷ.@E"@B3 +hlʥjt;OwhB:hB% r"FGFErye!ӈ"2D hV&`L'0 @)y{o.-E7]taʞ gz:SL-/}J֔7UGb.uqI Ӱ䛈l}"9ܶQ#W .oxj%:1zP׵0rqҰp*͐xBHQQHto"g RڢȀONN dzН\g6+[XiD`X\UI֣g"PB_u~QJ^chTݸɺ#gd?ԃt/E$N5Ĵ6x-2H7tx2,,!E4pQh(sў˧qwILR>3WV=$֚(ںB(Q J0#QOO'ҥl2ȕvW/"Z$Zzġ{ 0r \X~tu#"*\ >۷cvXwDvG !D)\9>z'*,W0QOU!7 +E,()B.x&!M2f#Z +Qtu0b㯳t֮d?G im]ƞz "Q[]ssoropv"WqaU?]Ǻ b PU_[ДZyI@Lu꯻&V@/^{j^NDCQiWGWu+=B+ZN4jErmR6OĴ֢., ಡ>3`e榢qo0 ^B.ClқGTE(L"֒Y1Xx,g_#%Ϣ E+$Y$qû>/G´4KAyYZӞxGi!:FBG6SceYq0OfU&3שNutvD "M^Sx H§H$2N):F]~Og$26=a%5X)kJN{ +旈8d2fDl8:޹.l4T~51xF2oA3IH)8!809ġYl(/3Vëˊt͆2,54&mV&LF5 +ɷil3JZVaA4gcƴ)dlXXKueT )gy,9qqҦKcQN4`w_(nѬYE&6d|.]C4#LE$0:Qh+dL _pCe +CT,MHNHHi;Aˮ% 8f&i.^㍢XT* )@.|ޣՌY RnUFF"_ gHtm>n.SbswspWOԤGI +q'j s bJz#5%ኳb1O#i^w9G3 +-Ρp#4rp&YA Bŀc׌G\p w +.=bhhM "KM})q6 +`N.( x͓Ć.boi3ӧb1 r^ML' ҝŸ_X̒)1rbVOf%Z'&"F}2_$$-V_Opk;"15%sa}K)\('f!<9 iV&Ex u)]IlD *WȘJki 9+O/I4PܸdwAM`ZB\wX41$~H +p!T}J~@Ⴚe(R]BVB^Z-vdp"?HV/؃b7LPE3`ڽNC͌M[|Zf 'F #¢xLvTa+#uDAG1uƵa25\>7T:pl6!ɂ5a"=|+4 E na0A+Q+Hyi0D|(i$˿E;A1 mOr+fZ? Y=>Rk|Kz0tѳO[B vdddJ\%f.岖Z&gz.R=LGO?JJeȤkOU>̝-4Ӄ|Am?%L7KlןUHpS{Mer훐Fr} E,E$.s,kMcek +JĖ>W:RwiS2@Y72E\i6.]Jݰ"=[ P3ՙyvZ@z EYnE9>U~@ĂW:(\QV<g11 Wx!a  + ziq#.Hy5>:JL1 F4adՒXkg_\U#̠/ TO4ѱ"%gƀň[\_>.(zӤd,| #J덯rbOe|0_.8G4CFbEg5,h.$s +d9P.QYqhX&u8~!8P~BKO/n^8/9LΎF e$%fD jui?š ѕui1$)ɩo5X)a gqK99C~Ha N$0!0Oغsuj✾ +dSEoJc;v& 'kr[7QEWL:s+ꭐY! [>{9'$xf vzvA9QdR3>~;bXYՠZNFW”lLH1O' `\!|PM"^$* ±x$L2`d $mV*b%CUhT]G؟}4#P".((M9JӑAu5f dn +ULE&iBPʖ|;]Xl1n\1  G6BLDki#4\ԍKLrqh tb]gqF ~!dR1XҜwZFGQ[c]^TXJ rw14ALklN1fm$w13 +"zKWBQ}.CF`II\9TK}Ɠ2TEۺ[\ˌu̓ǰyn>GI<-g*2٠Zɘa^]PH曆o ed",(u@ J߄9$_I<#i piQI)!UNU& ʕoT$3քc/OGveS=&0u))!夈5n7$\TN*Pp:=>E?,xؖ"#5`:t^İM OG)Eb.RFy1 v'jug=76kO_J%M&*ň +ȍgw+'@ڵI_4t)h)$v%;%\mV8Ŏ{v)SZU&y\WEwpRi_uNNx+)T$|7҇혹Fw/2CjN&BT#K OI4" :R1 {ϊ2dί^tلɮbP*@j,~0i h*r (vnJmDHA69~"+?+S-vKډZ2LI G1c}LAWDhy˥w{oBH*gkSRjA;,9(fT[/_/.ɋ+\[C2Ø]踮CP/NjSgMS3ax <%UFV{5'6bxjٱwHdlPڸ#DLi$T?3(܎DuLi,SL*(X ܑ%Š_ʌ%5C{*8f4ɕ#E Pab8IWA6{bU՝}D_vCMC`H _u'Pq!MJ+М$ bJo{!6r ҍW+c{H3rʜ|`C~o5X_D"O:S9 [8H긿rVhG.i),o j + d7+?x WL"Pq9۰.ұY I/mVɻm_\ϝ vIW&FCclrC2ws>-N/HQ92B-7jQgU=M˝uB ,MLkZ^ o9R"Xq_$ I/}%*dAKa.˲ACS> =zY֬jݴUkha&hp HX˅H;;/;"r?F +!G^ +#7yQiyoQMTrzם'fm6醤m=t^kDhrURv:^֫Rte{v7?AkTveQ2!PPw֨27OEbBW| I7HϗɊ)gokJ5CU7%GI\ +X:cn9X1}EdP[|l&~ (ŝ@tI>8Zd'Z7 ]]FK"g 'Dm;qp'}Ch8n%R,Ċc?,&32݄i 89+2 ?G0?NQKH +NEY +u9`}z 1{ӝҕ2OhPːUXkRx ~߬)kNZ[P0 ɚ^'P}nO(K}eڽZfF@G䏟 +2KԌHo#d,RJzZ^OLK +R& + p~D7@vBSAFt n$bD?aY9(hHA}=pr>Z$/u$$,2yOf Dv%j~h}?؅ +%|+b~ h\Ra4ෝ"W%o?¶ϋ0u[Ķ;zfeET<kϴt=SJmYGsڱqNBtv]ko'h +7^~TÞ8B M'$.b?~TZ@ƜYwLIUnV )·k6Zƅub/-ͳ8VLiu2ܟ1XE_'a]W2;_܅ʑѢmjDjYsC -DRh"ˣ@HarI5:,+>&cR6*AHU{/ge'"H߉H9XytO1!gL@N@̃Z4l0?FC!k"pPS|'fŴߘ4Xa%`$^e%NΥlyd\B=/% Y6CX'Z8~y^lB|;$ f2C;D3's0BW;ªArA[ +'O`|+CKh!EQ3caL>_$qmN7(a|8L27 V&̃n)k3(N\JA=ot$ ZיN$=(a%!I@{']N[t%j1xNBHH?h'WZo}Rn/+RrVVMl5}TBbw:R sGbSuچa|Fc]ުwXwEWN{U3Q~xi35Є>~4vM Wqz +r'k1$[VtDE(0Np1邢,&?c&*2l]YO>Wn̲24gӣVnʕ)fB&( cmI(׻.mb[Dھ"8JH-/$W.]̼RCq?G.F'&t`»D p7 %Au,5SVu"Ȭ$FJPZK $hD_䉠$A&%')& +;r2uaGyQutqSO{bn6veqLUUBbweb#xUÜrk ܐ)"evdBAc΀z`@x5,[lj=4v%_ yW~Uhp1RlbeBke̓/"%$BNGWź]YQn%`7[c X +˹hn=8Qq *>,-%sxp8 ˁ3WXjď)$Z72RA\7tM|n6xr?& شID =;0#'tT^@sVSށ+,rC՛ҵ:^X{*GG~:z"uDa4zE;A!:]hHωե:5|pa/3gef%7 ded kXtp@BK; l"R/p{V7{%Z$qKc*hTd񍛽`DAY?][DžStsFR|2*Dua-qu C6)HQ"-qj94_~:^%ǜNA3T:qx՜%_"N1<v?zYPr91a0BWﲏE0ަJ\ 'C/ Po\UAnl~\M5bpXG_b3LlV!)Z/觃"?j6/̥2*]e!iɫsKoHSDgZ>mCtSOG +.aQ8Q"sR_K.@u?'dWbTXSl~{nIdi遌;s?OYq;O>`^9$5[I@Y ;A\BE]93T+wZxM5 SvR$eVVH[L*`߲$SMh+Φ,ӪYxR㐩;DWȡZg I!UJw)lXPˈ +SԼ"@> +][ @'R{m9h> OF)?F*cbC*ĹPcߺZ_(f `X>}ݹwt +3Ǥ&o`aP|q0H1 +ۑ/g*0V)U#]m 'aI*G}bȢ,):+ (u 2ӑ'QACIjO!еμgI~3O B֒IU>^PiM`bdH'Y\" )'dZT(Xo:ho;4R{oH<EJ'!̶.׺ƆCg#KL0 b.BwK +4K6^œQ8"W,!^NG:Qfj'h3Gv+`#!z3CB9~ئ2 csaĻڨbx'Z5^, k=0nk:1Y@ i9/pg1Apl@:/Zw+.2n5Y1MQs4?(#ŽJ Z/eLYԟ*[ZI娾(>ZOlm{ܭZʙ][K_m)I1B?@ m\!rL.=ˈFL](.sX5B`[7'o#yaՃϰPbh:xHδ?r+1 ڂdK.pn-USɑoyDx>' c B ]6V'8G;P6Qx4g\z azTE5›?HjfBe.0Y+$ps'F˜%aoGȆTG@O +eHCT^ϴv=Md6Fzõ@C,.ƞ.qOTdb!`"bEW'2[$M ם=s +&:rx&KUE0NCy>QW6M8܌fj97l)MCC6 BD}]m)7b5#xq0YEfR&pQb4P}MVH,EQLL@d*&d~U\:و"Zϸ}v7FCI%@@P8B '_1E?5`Dk}_ \ 6q o #ےUvu۹\u rle$*b&C־y6ƃ0!jxSKJ~Zwԉ>W֙ +UUBME,l1۶Q!Dm(1qi+*DK/Mc Av{9 ,G +f(ΉB?'`|:ʵZH H+18'{7c1.eK@)`!\[B԰\KODسl0#s @>RǵBpRf!,oaq!= 5|m5Bf>X'4ܱn+g4ke5Jׅcd>? erC%Mk&${ `غh5D$kQ q@Bx؆Z6 ${$*ہ )$TYJ-iZ9O zf" ^:Ij !(?e:]SӐh׊1Onv.$a[?\Ѝ=5ܑ8K'Gk];.2hLJs3MbK~Ʒ)E[+uPTR sSDF":o^@pud}wt"L7N*iQ&$8-Pv1&!e@z#eUsjC(J&q˷H㠤袞c/jBRQ%qD] n;D>D +U; #8o k-"+Em`\cSn;ky;bB ڤOe<1s^^ d' [m;VYu>Y[YOEEܷb*;eiT*v!)ZDZ!yK%!"Xb0w6ǔ!&ii:ɚi-Z=ّ 1WխP驹ވ (ܔ=0`d PV%Щ2fSƜaVB ȘֈR +- 3GpiΌ Tw؋d҃`IGZXId̋Ш1nXZQOd6u"ۚCTZBv9kgb0贙4©Nْ%J c@O>PH3ᨖ‰UéR3>㎣@g:7;_.?XԤnp .x7~+iH&ӿ^&Fm+ic:^lr{3?L oҧR1BmxQ3[!p& T@QDZsxxp#8#1%w atkB,vL:Lc`!2"B̠zr%-e5[Gz$δ1(r*×j4.c](k+<+*؎usD Q`y)gNCg@*еM +'AΠ@DI-+,Y< 4Ro"h0 MIJB,D e¶^u㭕LPnyh L`**ɹ%ܘ5LZV"7Z\۲c ‘v'Ob1c1ܔn'ݱhK1Rb5+Z=`F(*s;țu$r?RK""Ba4*#T]xo(bЋ]cTRؕnSnF*ٙE%y=~鄘yf3Y애;o@jI:aaOk_-ZUj_$H{[]FNܙA9+A*|GE@; ZU܇a=8zD a&LIE3'fyi_eQ<|\0耸,ұ~YUl-SudbTRpҐjyZ|: +Y1|lrXbŦ] B""P(3:u|Uy7޺ɣyJDaI-QOtRd+*Zl#J) +$| +nUL;ؗM^o{RBFBXڋ9C8cV7O91h`zo-*0+15d1Dc=j[3ckBwû sS7_650iU ΖW%lLd|wLZT2=PB:ai('7bZ*է<|ԕ#*+.;6M5n;Bpk7Uy듕1V=[$iz .5OK(kFQUXL/|-RO cx4BIf ++!:+C`7qJ:|W)为ٶa$VjDXE_~quD}Y"VNōo1z@cY5E:z#.Ȟ2l+?pNʎ9r[Q*=Tes,88\^vC)90 +WcTu]@NFȁJA+u'j"s_diKbyCiDV!\B$DCuxM\)I|ꨓAu;xBEmMvj=ER腱d:zFɒ_Oi&pL^ًc1YКdfi+:trs + XS %kS]E`i,:՚xNt?DpO221RYUTn_Xr/7vH9c=oq2fͤnZČDPʓ!/NǾ`J2-ym' 3 +JPTuw#U)uG z*%nO Av<?"`͒9ΐZ tIЭr-'f ,~o!жg+Xfu5gw}4ѡZd-S_N?: uq!ۯ*c"2OM]yF+W;2TI~QG8t%7 6d3)gDw`#yۨm~ XJ!Ia3H ʊn+g8Ó 4Z!԰JM3JF̎,#J &1 @:JgaU|+ Cd#v&_# HuiCIpkR όZF`]]Ytz(G>cD]o#3M79;-۱x!u^WM \oiP?k#jFCb41C܈F{ь-u!OG/%PMCP}Y_kIcЙJtw\<Aߞ-ljYݕrB pNx̉=~q!@dXBObЗ q7ZhqkE@?b^FYu%J)oKŔ޲ѐCw\eE#Px6b-FpML45-s,әc>E'KuF.J(wƾ~l6U#z!VS[$E0H)xVtt#c  PvH#*vFtW8G力[Re*ұh0Up| +6$j9 KĄM+S d.U"%m6^ Y[jPp +uV\?A|5$4R_cpHɒظ"#!~ +&*7nApqA]z F-d/ٗeFȡ9TOQp> `\gtdXBV.^;0nY/;w:wˉɖ,f# +o&L:=94ЦQ:Z)^@U AWbi?*[Bei;AtfE9*/*pq߰qLL6lC)f?lV!C<5k,%#"3\6Ps*)wZ):3(݄dD$TSz;p*>hW@mg$~eo*L[[.IZlP?דqR <м]7 Wf=tIćIJX$p +>uDb 7v WSSM[d $qvR#MvQYzMH/R][Q ʽ]sZ#9?% +q8kn+;zBmĀ' q!R8h/A|{5XLKqm3FGNm׺M)ƀ @YHdr;%Ǔ,ؚQY"=pT?Uw^z# +>?2/43D¨Naĸ9 gH728KŗJD@H1ip>ɯuK 2V$JmINy"=( 2UCrheh\ >7}i(ٌA'xxNx9% A=P.8^K +*g2ƌG`~J;JU{G IzZNl,c`=yjrb'Eu&НiG *ˊ6'CV +P{܊,DJ?ҨzL&])U%hmF;{9%"aV+〽d훁[Cݸds+,x/x2vr#nU)E2kEB6ď̠D,028^BZb='=ѻ'o/ݐwrTߌZw80,% +OԴW!J{ /-Ql^f[R߂Q ?G>#X,g@ h61` +!x¨D}@y<=^8m ҆_{zHH4R>HR/$srtz>f#czg%!Se6&ēޥÿ*8WkDE0dcfY).+GܰҔoJb}ZoWJ^&1łD d^_HssRr۸U-W#BQAbfH1QD_=h'q\F F3 i`;D”rLpZvY[· AcFFX1/l`KK`7\@M:JD+jzX'/_+hRa}eܒ[ t@64a-8jǎCS2P,KNufK٨06؅pmB܅{|%/I@ԺVy!RI5 D|p(Q\(*8m"f P?y&|PxVc+R +2@m +K"'6R)" +7wu+znGW,MKWq҅7Ε0˻^Σv]i.+0L7yevEߏ +R=XL`Gcrۆc1R(@Gca6y +wD6_v#8:b!izOW֌D/#ʯ0Ƙ9ќ -dL@;{$ç )_fFT"sXGМiѭJ;*ߺh',&=JY!8ADLٹ5'm:͊GɉA X*!]Kx+=isrd(0Hy^{{P𖁷I3TUn#YE~\u/tU+|neYUD%EʾҞ6Ֆߠ&-C\E-G2L>Wr=$~*#dW ?z +U !Pt;-{6bURd|dg}6qX@UG2DOs#6h.t՞[>y VN3( }S4&YOWudƂlᐚ<I'w8ۧ-Mڕi =V=fK v(\\ߐ5 =ݩ̗3ȒY=kƷ|TK^Ḧj,lq1yU:=E>l@d +ovd^a%Bk)fqV#B$HAa+R[9/aH[թ -.<ڕW@pU) E:*qjȕ-i+MtRZ&t-'u}2GG2D/5=;\\ef֤i8%_@L&>K(ZR + 8c#m_EA>[>PbetolU5 +@- D?D;J)-SFh mA]x5iQsvJ]قZ6'L'7 +jafZ܇h(#sZڍj3qogTFDE8#du2!CVrj$f/Q) + 0 71C/W-L5xu73e PHP:: ZׇCb52N%tbIW\SΰA[o$*8%:Jsy_]uOa}e)@GKfQY}֑T^U Y1Kx]$.7 +^.kʶMNg4=`Y)@i3Ц3,Cfcl[n\ck:pГ&"l}BTN +7!8>`pJ+O+X<1P˜t착9 ȵ\`52ed߰|`k184OzG+z翲 ^E *a5GIUeEwcڅ bE* 8jwE]N#`F +\DEA.bO=~Ed̾n=ښ -*]Ijb=gGyMw8 +,HbȑI?t(4h^R҉Xܬ}jBNW"XCh)'%{"|#,DM<3s\+Bfo{ 65+u%{BlYeъTG˺$`%Е 8xؿ*4ܗĥȸ5%_~*,|[[3) L*`VZ^#@.h6tUޖ3Q=$*LoDqa'-IJhh>}詡YzA,Im`&ojhH!w?Dctkol f%ewzK/x*t ă~K#!3",4_'KɄ(cnXB-(e;lFF갉Zcġn-9d'lu߲vŁ6Pr_ _ E9`Q9^*JTnJ Et„H ٘-–I%I\@sv+)YLrrj~+^cu{$t)8%I8rim\Sd$ڵud @,,`@V߶QEGI`DKT8!5h"Rj_)+b,nSbȏL`8f 2eR\gRqe`p6IM28d8K'DV ŋB=>If)G2W"O.ݞJXÛF*SH,HpPn{4Ҥ0 ׵4h\-1SO|N$QC5iiss+ +uʴQk$tbn.,/4# DΉ1>ۣv_~)Xs5R܃ +"z])pi3jQmz72J. +NxfP3Qvv͖`)l֋1W [OjG|!luQm:KRMEof˶%xV7LKY0ٛ +!~5BTb5xՂ:zdU"!5v[ߚ#B6si^O@%mTƚ9#B$nNTHC-ʎehQ'Irl_xXNu + AD#.1&PN>qLE:7"4J 1}myveiaG IIh5lqV*X4z!JUFh;̆/f$FWf{uG!l$rqJ$qW^҆~eޏkk=pjG$rjQ04mZ6^ˬk:4Mܽ4܅r/=tr{#W\/fmBo$iAUy yB-I@E8 sn7J +or+IX|eXv*+J=X@&7[ysA{^l!(k:{*0NO$fBtJ:wc%*bOjVJ=?y/ݢ DBZB`:D((`(IAP39[Hb*4'wK J3K9޾_RNyH~q-U++#I{/uk;Xȭ$4k]Vcx|ܳSoIXFO [l_9 )ӣM]$$VƆs~3\ {Q, #$M|k!V%C4zv"&iRѤi +]&%8xP1~HK9ɾm SO~X + µב4S9$v9SM[auW3Nr1fiva!Ss~,K&Li`/qT`uE+l0!Z6A,'LN&J}U 1Y*$_ o6`D>0dw*rF@kOVtcJs0'm8lj-RJE(3:$JX{ VT&rfeG5erb3j񱝾kŅgLn|ߏ<D=yN+1g8 @b(bF +ʥBCN%,@4Q&L?*‹Celf@& ^.h<8Oq&O"L1IH.i/ܯd (X,)]xzZ0L3[fE*O~H`\e"YK=QKl#)fȗh8ŗJ2AmK\JW I37(%f' J\(Ժj[`X= Z70P=!vVU'EhI&(ltCWOY]6Hߜxr ]=,w:jBV\ d7^RN.ZmF֖c#D8!*;+^w 5`jϯl/36xZވ+Fc oxQ̱ #?n+p~2t̓g90MH}NgU2YCd ;:eb&r? zُ*1 >. f听PpkE932Fgb, +ܝGM!?79)QcX !a$ϧA.J{XBet}&C MՕ`lEȒ o-BkJ&q.¬QK9 eźPG^~"V -W' _WKi8գVWQq iPj:.;\Yぞ9*f!spoBK{*V5pP 4m B?.D [Oc<' +Yx3i2 3'իSG7IMeI`R8- 0 rC]=K^ixj=uibB9n>vE;dlsu*Td-%bZ&VGY^`mta96g!*n5J7f,}X +Kk-ku0,^~))Nz?Hl)DW%\Vخ!$% y1R'7қ-'tiW]Şd؞J: B,b:(hBIR71p:U"~[IC:q(jeM+.EH'칕!= !3)E5ՒutABpn8*@en)}FszE:{6MjK)lςohk1'v!41);&h(ݪS$mRt'RfSKR% ^O1tO $q 8($G?9"̈́suO#Le b`@jP4} d!EuyBݶwI4%9V34@QVY1?xK-\̡J݌ QEC9EƴpYaJ.àbBJojB'خ@Ƈ +r)Tg/=x]:F[>P! G C'm5Dc҉5&m pc2\F?65''~TM6U B͖u_d-zU}rJ?` ʀ6p)VɕeCDMD д12DZt+[X\Gظ'Fr{bϰ{\B)?ةYBmtb)zewxT?oԛN#X\y ,Q%#0`x+CTE\Iw jOKY2EL+MVAsl3T^{"Sqʢ /!c|+%\+hԄ=JlKQ=-6S583'>3a{M₡a+_]W#XiX٦k$WH4=2M:aZ۵BRW-L։ԋ[! +芡KʌS\]TR40klxP㒤|ҹnC LbFk~T6h2'1əh !@Πo$Q$C|3?/ k V6i?F1Yn5RIwf$^Y]_{W [6F$%Sd%2 +AhyA7{Mu#&"*4PE-b)Jn/=i GDO-skeFCnD:c A KAEy3n ܸ{sxX0²eL0~ҐMDcWQʀ𜌌*Ѭ8Ͷ(*0Pa/qu/UP\°=jēd=5CѷUq@[+^iQQM9D0 6 I|-<3!ci..ÞMa6*Ad:I"a'Tۿ&vE/Wh's$d%ScxE]qtkF6V,n7ʰC}Yniy6NZ5[!bCBԂd#,ZHߕ˘AsQ DI7V[A_=x'Jؑoɝ[@HK}Km"D\ЪIAQ2y⠜ԝu&1𸐸h"*nӥ(U:d G-$XΦ +DMBZ!M|O6, _ FoJz$avʏhtPXj` Cl +wk`Tu*1Ip%RxX{@+C%ofF ŲȨiV*e\bXh% y Ea±=g_Jf1PX^f&`kI5/wv F1;4NsA^G:OhT6xDđԒWN!bz̳x9(qLFT 1BldB!Mb.{8'"8)?@= 2,o8&韃kQY,paܭ;M!0s rPrKBsRv y]s}azZ +F`yrH((g؝b%D$ ɆrOˢ2@m%'U?څX= GId Kg)X h9Q%xELHUmd\{ *r<:7Vm;u dtUIdsBtE.JvW)ЈcI?籼.B"QRi?)ٓGn\(H +-B,T`Sa!YwA@ɰfp-RgbzF%J\H44KQt[\ͨ@jtr!&;&573@zܞD]qe0 -&G2qh0 ‘V+iԔq80`bZ@7*Pn]ErkbZ[oOd L~0s5<-`-y0ѻy_Ӻ95Rq\o d>|*W*[y+ A?EJ6/Ee`§Vf!CY3c=FBdC@Njo3D~{x7D.Ȯy+ZOUv!RA^yKjeXPD*L qtnOm B(u%dY1?hκvhE ԖH\ +=J:AΘz&Pn0y/8)#Ȼα:7?"r#/u&bJ,"0IxS}gU"Ѕ) f-݋f;A ZL"bL_aJB j +}YhTdI5kyA%$cx-_|:ֻ25쑲&g"5oGPX#Ud=ڛ-dAtAR|m}cg@W1~/>\ehR{nз,]vn9I mRkƥ Pe<iSͳ, GZM;S42Hkn 4WKL]8 a5h_"Hi+ %Y +_7"\a,c޸DQ0^՛؈KQ(S=.f)3&~߈ ooflAZX8 VA^w6rhCUIژ8Z>` T+r7C8F0 @q>DG9{2hd1.ai#7yD+"W8&fDSr_dX/u95XsܑQ5EzM:R2r +"?Yrix>M/Je.$PJwұ 8#]0 !") 30v98YN?ñ<>iHSEɸ7׆IuKwV̠eH2Å.G.#3Z)xWnV^ P72sT$N걒*it;$$]]HC AS'ѕ ##b>ѱ)ؾ8Tp:PM u-IQ,cJEXR߱.[CFlTx&c>.|B.En!& WaTb(j DMR}E^fN@F6#kX",1FR\[Zi4`aY:H2Tfv`'&"VHlxœ<`UZo+iNet+YZ@$ SjRW{Y)IEn(WW!9YatVOPa@Ð +hI`7T3-j/ SD I#ƣ*![*Έg1yD509=a @` CFSk,AR +N+ THMKK'n0]#\RYLhzMw1:5RuNhFPXWgfA &3~.|HyR[T5 BsX-OB\Xw"P"E|U3%B3W 6YQT7YݹnBUV3dI\x؛pdhzhmUz= ˈNn[7,He"EJʖYz&qNz8|y!.f ))yD]*!Q6Z +|k]2'!Q^<. :|(z.p鸾*!4"qýtCF!F \N;}-[[] ]CAas4.qcu6n8\Ԑ++Z,5m}[kχ)uتGHiE;,jڝl|cۭڧp#H~ P.SDq|ji-Rҽѷ'\iQ CF+JBrް6sƇPoE]>26 `Eְ!., dsX6B9K(nCoFzg{`(ey8H4;HK['=`Ȝ?j+̡NOg@L ٰ 6Хsqi"¸^2R M?]D/yL#7|(̱zB8dE0B$ ғUEL\rGGIޔ[T~150aܔ)*w}<%,|K+]%5G#t$F$ +@hmJO~44 d vDAVEE8"q:9L(\eJE%iR\FBe(Z z>GI,IX+L9:Z&qe^!7JrfX䒐\U*!)Ov_O=Sl3O^ /A6n"A$-YHNHHOz0I/-YE")J3fwC3 e8(bPiJ,qD]T=ϢrJR`][VEU/Tn~o92'm\oZn +X i N%·PҵVI!ŤdT%Zh{=ZçPZPJF@oq"kƬy,߂ +^0({EH%1?0&DѶ)LQj$L(SJβAKIP0V 0-G..cwN~Wwzei R˕d FhmVCm5)(ȸ>ܰ!e%D6s2R߸dзr.\U Ixd6a%Ӻ&6D"H**I_ LǢm%6bGt\QeJni" %o娡ɘ}HKOQk19B@~@ +)Jc < z)$ %mQnRcKFbpQ=4-D_Q)l_|IU|Ot 4 $YaJaEV_e姺uW3̿vѻ>b][F&V&_9fdNɫ]r1rI rm*-1"a7ƀ0!%eF#-'Bq9p$(,(~A +l&OcYˣ`P-77W^^S^˵_u+pi7hfb\!!zy9ZwEUG ]imGz:JH*x f՚ +^~f ıWxL'\g*0w^']vj6ߍ #3ƋX؆Y.YlػDl6{m1ԫ517iYKSjBjԺ̈́o\3OiLKHRPJP9x-h=lDn0+5k8G$=S _Fl fZ+B:$͍CmkHR TRBH"7H6f_{Y'<|Iړ$0E +_Ң$~(UؒP.ӡl-&}H-!ѪIu3@,HIƫ *83ʯt:LA  oR"^"Y? n.M-QQ)eXY^ f1#q q'"3X9UOG7Aiz`!嶧䌏@N} +y?0 `bKcUk OHӠ;h[+Td$fӯtmq=L? 6fĈ}LW[SJ}D튍q l6-Ђ PtPPyȵ?WBR;S7 $EJ,1pZl0Ԕ8 Pd[+RH*Ó̚}m%.+1ᔍmXԺc£LDRlT-q$ixF#7M&hn~Hɥ5mu@DLc :ƠNu .0BIb*T^Q„|+ +%C@8X1WZZts(¯FUz0$L'CrFU`x8_71l/)|7=w6*^79L `41-bEjŽ[x\B1R@j0Xӥ6JY[ :?$Tz܅d%#q.jMkdt("8Gs=&-x|/%f_^(Z]AfiC;Y0cRf~cGeOb3bZ\$@ $/"dNUW4IyT27 C*@aJG($[E%yN#٪lTU3:lCzsk'>S~&s@f ˮP&fKh{ ¿5P[M_+ݨ2wIOV@:ݤ'[7. +d {De8Wf;N6v"lNB7+`>GܕK5nP1 +%_PgnM rroպ#%hss]S:8^^t*p\Qd]@$:H4.ɢnҰIXɬTTvbܥ8+uP/N{`hAj.7 +8Է2 _yjPkku,5"&^fMĬD| l$XXT (e2Ouz@\k6g{[A% í_aE+Q?I>R'jȄfBàGie&ˈfӎє'3 b2}i~1?RLT11\K \+/[Y5$]dQEy25U%@w<&D({(5ܛateؖClX0Z! u +ጢB,U8it)L]C`LUQD\6{!j@n_q4(?T-^io \L4\iA*mnYFVH-]?ixJ61:4aBVl=AǀЯYNªk;bd)z{%G)g(ZbH7V|j(_OlnDH\cQQ-JFiڰK[ҹW{~vu-SȚQt[FV ,@C!Yh-Aˠ#pSa ]MX#cT{AbjeɶI ijM+7$՘@#4i`ce^. tx+{ӥH!o0nnGJ鷊 Meh +"ƞ]+9Q@$_ g0-Tq!2YEҟŠZ6ɹ! qYvFo ,ƀ=$˲s9fb-p"P53RtGrg K0xtcPmOPbeQG2+"s:Z6gXFjkP? ]) ʮ[nLb)9 +Id{LeHnz}}&kvչDݑ:APJnaq + +iNFu7![;!טހB,6ZHkJAK>؃"h((T`")ZV+=խ|YȮsIB}~o|c@DDZWd329"|T^/<.ȬP( VoΜkKW h}} +Q(d->4K#Hϴu# ˑAGmTÕ n900IcJ2 wqZGOevQ=^,0D}(Ne6Qs^5HX'BEsDAB_P#7xkb@ heջi +$#u&2fy>ldK?)M-DtɖeBcPd/q^,IrVQ!gb[U"@nXi $cѻ/V|uVKSJ`?ѯ +M =z@cS/3~ E*QqE+E}g*--9&szU@GuJ6b%(^Bg  WN6sFҶS{F"cݟXPɔ)7YmSz 4cyg]:ljPUIL703 De] +2$ND𝭳F'v,%ᴶHq[6R+^6 +a7h C>73<8ht<%N4~ +zSI8j, Z'C-K(7WɅtSMP5JUg\AзDlZ,{#-D싯qYJiҞ@XF` 㣾x$C2IqdeI:T )`ØD6W~i*d vyxח C6BJDpC~*…OXuRZ2{g aBm,9]n$jC$^٭~J˧K6nQ@{ v{}5Kkr$v,L7W7p9 +a.gX@0Τ7]ĻxƩd[N7-##Pz.70S^"&/LRsRfL]%K5.4 4ET4=(^ @ aD ; +O8{ l[H$@L}-Dcj|vH_ڙ)-o{[(@bMafk1f"gVsG^JoMD'm&67nz1h!/@N>'%/ϒ4Ł,X1CQ VfJVH)aE +JkEο9$s[:cbvd)\zJJrdͷǚ,aI(2@4p(&tI5*jQLff;mO +LKjJ~l$JIL7%JE起@M+nZoy-ФJBa `0ir?Rx 2_Q;#1L ӵ+7>HnOR P()o+gpUGp=òOK68m˶gMy$yPpׁْ l–ITwgo!&m +^k.)W@j:\}X[Y zMKyjY96Ds0Ubʟ5OMºwAqUnN2vuJY邔C" ,0Ku-`!o& ]j8A)t޺/ƜESВ#Uav,/Y4Nh똙T)&sQ"ċ[2jd$v;Օ yXHf ѤYyXZ?\ +/АU]*鮈f FM?h/5G|Q\Qk݉nμ)i:⋂6p3%IJJFV8*DTӨ٤VDq} i/e!%g 8PmI2WkJz=sF7l+6VS,T؞vvTW/JVz۹{em + +I'$hSUŐP9(M7Ydgd5[Lb{NYH]3:x[Q8Py |M W,8 F;C5Ko4/u/ǵV)|г @[?+5\eI^*rY@xuju' rLXH7 ((oۥu{YQD;n~.!4Y(/G"r:#Pb,lj#NBr?^,y8 +!(w`L:%so^i_ fdR G4BJW,d}{e Ae׬dҵG<3l I{bi7얕k0 T,NцB1i{k&r5<}lC}dCitX51 QMojNR*xM~> +ʝپ{q׳@bD%-:UHDC1DCQ\AuE$Q5ad u%3VX/Ná##3 +RPlbEm/L+zS̩VCfRň,UmG.\_d92[R%(%+;5щ3 R:3: iJra)Awq%`;_紛ًM + G!p@F>γh]Qa齤|0\L>Gq7s-w;9y(}EZYt؜kax&i"$,dsKRFf,4 5 l҄yu)[^twTG`HWec! 3+㕠ix @>cbZ(|*~`^HOF>+UԖmeKH$S0ȨlԤ_J3xe ppF>di^ X*8]˭ Zŝp/W >>+[& 1z󓫝՚#Ҕ嗧ṏe3Kc*BZ&XC4_A2TMI`Fă?w`0Th|}{aYXMP Rr\HHtM5t$֌q*uyL_ ͖~/ծt]` 4WC& ~RIgk58UyC2bfKa)!k-  ƿG%R! >BP@"IJ(W,gx.|к=D0wo24r90uiOxLj<,y2LEf(mQ#mUM)e]+1^SW-vW%AY}rbSK[¯_l!^G*cVG$>V:3 {\_KcJRJ(:E&Z2gDh#";R},~:#砵䁱mqH QyQw0kQDkk'G{Aŋ$PMJm#;DL$L+5׭%BD1t:"jIZnP^ȡI"ǔRRgE0RN% $ `5YʱNu +4 1ʔɄ}0v? ")_;8"22.H{yoުi$Km0&5缒ODKxYtPy>SLY,.wQ>x_/.@ 0r&iz w˱vc]pi opW NI+ ۳ˍ&EFmM^_ raeC^/?|vnϲDžN6OQ*EAzĒB%3 +#aM}4&ީ(SgX|ApAξn&Ig*: +MyZ9_>5,!ʤ\0Fo H71B\5zuX$#2Gr& ں*vNo0?KGGdid4ݫn}UZR(nV$˂5=2Hְqp2ޚqK">W 2u"Veιweֵr/t%(/B֬#pB^ӊgI >S+$#ϷVŢiY[:j#KsFlJJJhnYFV*xWm[2} 6[(+ Y5L∽1ä42D\'BE+awhMsc6揑]pD]D" Ⱥ|bkR[*MM3%` +@$ ^oO22p +^L S^wFWnNMY0]ۉ#n;Y+ۄbo߶m1m +|li%] 7RL59Cp\Fkqe*|wb$]VM 3&.I#=9mR)wR/Sb%6YzĄ]Z¿U71kN0rR/քl'wU-ǭʾ+S9tFCGjO8d "NjG@w0CZ]=} +q +d <;[fVrAN[?z#fϕψzxPT/+m͐wd8SvּPJv4s d +ulBs՗2lRM +I =PjjuPOQ90U"7*#}AлOt Sb|gDOWS fIkkJ>:Cb1pT U +P/JY4#TjRam8|[V/;A[r9W)k'b~$+h;`vNU $%~e-D +i%`ضAk=}*r|3SDL3(z'TL.Wa27V.D,WI[̆ ko* |P\@\&0*W"g:Fz:1|fz*>/=ve$/H=!),uDj)H,{^&FYg\GE}m }_ U-14| S[ΉJX)" &FOp*_rCz6 +B$3Eƈg&S]R/>8* N]P'95[6Yu YW<*24kVǂZ +=% ‚q6D,HG3ͳa=gpH+5p$ĜHdWJ}"]-D݂vnj-&L4 X)mb%>""-YzLq;I'=AZt]":FOؽ8E9U79FQ\66R(Z'r1ёcg :E{F6mFȿA<*yikd|&𾃏I^srj42P;9ԳBɂcFf;n ^⒯Me +(EH~>xBS}%]eogy'Iڈ Ў _H}$Ŀ + +<"X/X'e5۠P$஘_q!#]@MDlFBEV |'T 4h㥐Fo8EϬKmD QfLE9ABC5u͞]Qur+Ya#GmIrIԢyhǦ3K +#:"E.`C˯T!rɀxOkuǾkp"I+e% +bMI a~{;Idu>yЂ:/5DT(jL +^Y_t滫Khk)]%]g/1'pJREwwHUX1Y'x9:d5b6Ϩ~hi!r;LPL1feՅSI JW +QIWeb4gJDb4V ٧E}|yV$/حMB +ߝ@$o`[tgb"د!`*[l=\o +Ii|lrH2a6-nd9}5%%BCFlhX7O'jF!9k:Ǽ߁ /59yO֤Wٵ [>Lz]N=XG"^ٱtK I/ W;3g]bZв qkOtƫy6BKu+i(><[EG%6 6Fw#vP쌼 +hO3LfѽEMXLdp#YMxdV*V"vשxo?chrs2C XETA28='P~$iJ&sKH@9r-"K @GuP=]Û$DLl $< 25xzUB1=h(Q9;gR/{4o~TqTiSK-;o#~ZHPk6Ũ򠠑Zi_k3c)w\KFܲ(^]>MyB:S׵ c\a!tRBM3HRx&c!Cm l,+ok(h%Rpw*'EVU2=|Z qs>GZHAc o*P cAja ` af& 3n5K7z&-52+oW9|XJACāа '3eʖ-*H M)[Vc`#+/@\7>dq|AD=:@TP8rf2{Q@ 3!.@;p"X‰y+i l9GQ(3a3j|/=BUi"!"siVJ >}Q)W`Xem$z7F6,eNeM) unnةN)&)3#=Pyeڣ6Mi?kvxXX,<~M S D\df`MqGX}tM xMI;]̏?m2]g~dp@KDP&T>>I#J(ԡjPLt%)U7@0@ U3_{_&O\;Cr5HU{(@a F |O&fb=w=]l +xШIYYrdodcyQQ˜[a\SJK31+E+U=udԓ DX5bZ9.Dqjؾb&dQ4KqD u\li36+: +1$,I$4w@@@3`JBO?4b-WM.7C)%ԅ)SCut< +7?jzHd7Lns•ఖ?CTl๷c䷅ӓ﯀IwaSi=;vLCAwyAضXPZ-0Fme.MWac#y9x;36-QW!gE31F}=9ׂיjAfvSU"VaYUh5fd9gAfN.bb)w+/uTdHM睄x3bvi)9k8~Sx#b pRBDpS2o&mPt"8vY> !1Xd=j\gMi֎+&1"IdZQ꟬rY| ,YD٠ԅ9:DA@SH7~HAEn!jZx<=RO!6|aSq#s2v))p{;'.;UBĐ,` #ഔ0ݡ3)''¢3So(&@8&ֹ}q'Yun3S` yɑ!fb?A1Sb.hd:WPP)L:Px2|嵗ᘾ[Ҧ"7O*\>?GA¢}p9CjH4qmL5)VdOl^DYfsѽtY+ '7D9}z.⸠<,3 Oӝ霓SdFr~t:%o?=w,כ>80>b+?8oJ,*^q"]534j^~It}i@E垲R5cgB罌=RCl+`ʀ~=9J+L#Tn1/[1Iksg$1Bj;N̉6됐X!kά;R˚rfW*x[:,&FFa*09,99:񎁍C 8? I( W(,@=QhRBYT8.,0e}f>3P;g:7*RQ. +cߥdj$?p|UXgN0 ܲO3%VwV[tJQ<32-K*a)*7}mHUs8x7dM|%v *GDOcTfMP46"f:UtxWrjr1,#eHH7A I؝y*$'?@DRnk1Fc*F1nBe+; aRw꣆d*cWbk +ܦM ;cB^DF 0(Gyɨ4T,4QMbsIIH(tPBOB㠆\6e[ߙs^ jLnikv⼕>nב3)X&l`U l'TJ~2= T_#Z1JB1r)“~5SVS:+TM4OXPѧ%DVۣÒ+$]Q{B$J + dl8zʶPP(x )~jݫ=•%tǀ0PP|gE Qp$>s2d`igx!Jmx3`XMOgi f =dB͆ǒ_#-<9 ,h =E,}4 јznQ,aHkk5Ġiđ 6-DWe1iv6x +G\p2j%aj\GCGl41 [d 3+}&Ĭߙ`F}'8ˆƨ$!M_孰d!?g{(FeJh[JImVN"q!l?xwTYZ}JH?oӼN_#ԉ1pfn`4XQ^uPIþ(e0hDIW=!/!~½dc>4/`O1akꔰ9!]T7Q乜khbsd Α7R~ϯD2&ՒŰ[PB9%};mm?:T Ez $nFdRD $DV6`c*Q с{޷~4i0ieW-DBhR۵rxi:䕓Siftb,{3pT=XfX/1@!)J*nQ],&yp4TA{Y_ !IEm:*kFCJzRW1 ѣ~l\_,e8$ְ#5čq E"U=k+cguhF@3t7I6l\ *С@]?K%IvQ¸qԭ}4]nB)U-b0vLX'cّL~lmNVz]O3"$,u4]"J١㷫&(R|E㞒@E$a*QV+)=2D|P<%! gcM +x?4'd=S$/Y%erobi=_T}סQ9a ؝ 3i6}wUCLO'{\JRzB;6mlK kVi'cZf'^Ou_5R;gN V+D4ꖫEC63?BӐE39'VM̖3c _hL34HR@~=[R4('cuT8 +ɱ%\@{%0C)-YXKK,qk *$~jCu ;uOzUd}J5L/UY͕L3 vtr(h;LWd;D7$2 +O(#$/cl4P:g˞3PGw92-x.AlqM_JݫR)yWW$IaWlAG UYC2+)0+-E9(G5lc'G$ApkFKHjaυ~^V#Ƴ ;G!pZ + +4ͬpLoZLLL *]4c2AJg!T[l/;}K/6+fjrVXr5Uv 4tMլD}L|"[Jȣ6d;>(i/B7UCGY4Ž<Nۛ<Ư@XAq%7f! +iV#8Ks,V邑N1Jp̬o9ΊNh+BQ,^ʮ=5#^RMѐ"j,L st!*'%_.Q=BRDUh%N "nVe9ZD (j +? 8 PqЖ HKmU\R^1O +Ff ? +ǘule+U fk3=Ok@mȖ)W|\1^=xZ7qu+pg(DL֤#,`1u"Z,Цl%ȋvOR18(ޙhYq9Ln&:T,x?KRlD=XV57Hc`R1~H͔{QN,z;&.8dv-Dj|K)~5b\{5a5X{IF PВ1^)'Wlt+qn:#c6 +үFfЭJs:1LWz㽇tATrz/V.3esJ5jG:)1OU)$%C|޲D.e?->h[/9vSO8|+/AȘF5KVn]l(&FT6`' Ї \J8"( +7вMھ,W % J#X݁1M+-+ݎŕ|h!lw f-!:Jt"rtFg #CU0_KnvХE)EИS#n+g굷D3h о@9$b2B}*0B*4D 7e&!ٶO 7M0\ FP S?Zҕ Й x2zY'*X5O@_ȹ[䚝]ܜw"`ENrA1c"k*,ޏt뻥\:CVRh\EIX(M]orEJdKo )O)I,yxʴx2 Mw^iRvLJQb  #tݷ&ôU ('Sx(i(& P"dO`mQ`UH%'Hb*pY6 +BY/ fdQ$AdKzrO0L$Z{>a$.YzDͪi^9x4z&c*.JeϨ; EhW5O_^#E,cnȔY䇥:hOWp^3N8 +gdv2A}0 X&vm(QUl[UŕC_MspC.*n( ȻVaEEFlTwy+G+Rř -''LEx?iI#0RIA^Eu-.PW򱆮n-p`ʂӷG=*d@m~"*~WN/XVpˢ]HB(\Ibj[Ev"|y$pohӿoR@@/'@!@f|zoRrl(V`PTe#jgh3;`91될P@ +a1#Mrpћ .bhdGuņƜJM +9z"*v37i\C]'Ǫ? {;i=֭r ghlY59(|bLp%M?((e#X +a4}hn^x.tCJPe_3a31D̨ +~q2EA% ?)< N=V_eͻAX!KS&2U|Fm+z|2,V%[P{z#D 6 ci= +!4*8r c<hٜw +!9BMrt\I,_bFX{v>>> 88#ST8H-fJ"rhrEzQֱԐln܂DS*&ҹVEӣ{so*y-a Й~G7$IOÓՍp,4ɽULLbII*((/M,r(7^\i[W?簅$Z; 7BwJA Oe@ !fp)/QF~ؠ87ȒmSmY;4+՛.Ht]BUTY60A38T'!Aew|-?[ᦴ𭎩j7v఩I)*jeF@vMg=e"U]UȹwAqQs˗Ž*SKw4(́t a/XXh o`|`BE**<^_̳D%S2uRu$Q'5y 3}[B6=+]?:D[buZpt2Mu6YQ'x=TD6䠌 +PZ- zD97gxWk2\q"HAfʯAi]VV[/L Q."?P;/IQ/jN0/ ѱ0||EhRP[(63ijvSvc1x+E9yZ_j,h]xԙIN W@6 I̓L1*1Wm;"..θdˤ.Pos/;u5rS)`B@y잦\<_T䒾Yq: ḓH='1lUv.ɇ1 +ˑ]P%ԛTL~#o\wHR 9᫡좥a!k԰""巖%*[cmn@brʼnw7.ϙ @%5~*89<%b!1wK^f ܥ*Tn*4)sJC${9,&ȑ]i[d:2Ǟ [1Uir^;Ken;])% ,%IN#$Y%>ĉjR &ZyzchA"k aijILvf+0dh`bGwst$>߹S,ƌP#dvXrd&YFMTo$D:Jx xa*c9צ+>PBBV \43$KԙetDY,g6@dS'关o" Y}1Qdݢ)LPOk 12SglמJĿ9 J:IlNЁ1إ X{\ )fQQ^:kGAΐDgII>dBJ K[~t<Yw0fPi\:L`U?GI믆f꫾U.[I͜j;y 9d]6u#HzKdf쌳vlg?Sf[r2(f@E)NJGtA 5FEg~*&E,G]{.̃tY`y/͵( a<5ՔK/cgӫ&ye{E훐rk]lD@I"b®N;$hpٸ!m@2t8rF{<=Eb+RWu }<(F`;du0#`E“a  r brVdsQ jPtj5Lu'JL%M=UDE(e1lދf%m۽4H8 1ք8JgaM@!2&r^{|l&S]T$8# Yh&ykv*8%jj.`Y8~wqt\SvhӭKS7ZuZ SZľM$.,r< BH+:rhFNy4<)oNkeR $P)].e+*A%_ωsi^|pU5@QKEz1DIcdqo jRdP3{>)N`>oq]"bןZd^o17wRCAҢ8te*7R4gr-HDB*X7Ĉ< 2W\N" k p +:$IϢiJ.l)c[wKȦdYn::"%i:4D-0O)FX2$xSl⳽Wj6}1IJZTͶ,9Xή78MHq" +_}8VgJz?]D_7WGɱ /G]D,kh$}=M +nBl*:IJ*!=` }IV[ _uE">9UFRZMaz +7d\K2\\b3\iCIܹd@hH*PFswXˇ GD5`)*IտxKjR褎/)_)qf 0jdZ:, wrJEȬoNm؝zVsXTT&aĽ%)#JU.sN<^ᰵ U( +!g.']ɿ(54a=ţkוH)5,"J|Ub:&@Bsx?4X!D%,7H7Et1kQ69eSL\'*|'5llpQpL<#뙃u\pJ-59ehV;*16b==*8Nzv~^}画b`Mw[REoPGwTl6շ2j^̼~Q0ǔ5tJI=UtKڝ3jQFTH\e@V1eے;^k:ו~хs\ +-]X=G▂6"fvkP>ӈaJ-Gv涀Th5hQ?@ϊݙ=L?%:{:XSR.=FkFh@d@ZNJM)8k˟g5ltڔA +- +m9L) +1`|Q΢HhL$VE2 YI_0AM~;0&ʡGb@ˌR16H%*g-LQ|Z?-B3fR` (㓒p0Xd_x\]{Qu vu&lxD@4}Kس$^jMS"lF!;wxMVƹXh%ώV_ {OVFk<^"2}?e‚4[ „R +&NO`%#m[-rJUaXuªIzrD1*À0yq5|"19{]U>oO$!EPE"č֓A3t.I-V) jԵ1)ɳӃkgW=jtF\ϒT)jWFmCS27D$wm:lӃv uLC' /NMVXZXXl$( ;NV|zX`~0*Ir9l3K..ioM$hXSc L$2B~muJDv qy2.A34yA6hBs! +͐h$Q5jdVpLݱ1n{ +u.J|p2k|8XXU"cS#rJ T|:O^e:_ds0Wdi%m +{b,nW"6)Ӓm@! ѯ2M@`Q$$UM&ͪM:㍀01J]wT4Ŕ<XV)k$b\El+HiІD2[tqqDdmģqR:Dɂ#Y<չ:]OOG+iXvS쯗uY*ĠyO)ԈR)_PBpNьƴ,i 6Ԏ+Yf:-Ylb'ZċZ +zpz|qx*碑铅*ͱjO2޻L]nfI<`^s,1DHc߿T3- #Ulx9C$(-dC*U䜊9:ЮOTMub>2RR'ڱ3cs,Ga;V&iw;3:(n~NEefuye:4GKc2iR/cnva{?q_8TmI`TAanܽHII. zT͝c"_"n[Y|@Ή]ZCTkS*2;b%a+N}7;& 'Vf4Or>b<-*fXtlh&Bf2#qhl@D!/QJ&d拱Hk3{La~LiˎHʉےL! b9TU5KG(S~ STT\-CPt T&Bw0,%ײrWTlj$mȹh݉%h5p je:FDғD?;[tB;KK@[ 3v֚5)xo. T8|1L5ˇ,t, 2C!dV/x1zߎemeA`LjiѸw&g|]"#!2q Q8 壔4S>{$bfp綶&TEFOޖ|}Ƿ9 =h-2d[W ^/;5eu%n? _2p{wĿ]\L7fA&oRVH ov.* "d2+WJZ v¼&=3ȣCZڴ{Sz'k9*Z D5uًNdTgE3%Z ݳ$<'ւD8rah7diV;WXll.w\k 25I +j/`@RE~U*JWޚuZ͘e˒:hMK!0z)^06zژ3@r[2AO >op$6GC_PS}h\3SSm1@<;Lx?iT|Ptl8A5 a(_}p4vD Zֻ):fAM)TէҳbY%|`qu 8#U)[D~_j;ሜa *z|̼)gEҿp(s5?C+ Y߉]=QFZba%?^nGՈLFz 8^a6 LõVs){dD%㵘X yңἜ шBVAg=qO@@LGMF6,U30py:g5A JW3t`'W6k{ۿ7O; P! |7VeV8Y0dMjN $Xs |?J\LҬ*|(IOy"xP(Wwj3רRقPT +mNnk*KU:U+IFC|RʜXvcHz%vR aby=LQ.`T4}HāQ1\J&QȖR88BhC&b:-BRV~%Z[1,g.;-HDȱ _AzaivL@W^=Պ(hc{ Ņ`2τQDy-ܥF44ZkQ m8nhE'lN5rǎ&OQ󨂜~!O5٫C,IcǭH%4&hai6?Jǰ#T`88.٥үBj(9 T5 !fSf$rqa(Bfjq_i9LO m1N1ޒIgVgvM|7O!9S +B"dZ־.!$X e3L +e+фhH6ae=x1ݾˌ묐}F|pL~@i2 IA +(R} %pŞUChɫ)(&r[/)})1HrTk7yvvTTB'K/?Ɛk^"mBcʲ"oTYd{6~5$6zV`{2:7|-Y-,%+RX.a}ӧUV] Kv +tgZS CQ[_(91H#p/=? 6} zNLr$R?F:=bGL#6#rʳIԍA.ˈ*ʲ + BtCiɭ`^>ล! gBX)+0wd? HJKyhi ZOSA*߂'͐=eb=nv:J30foশpCB_eeY!,E[u]e&.&_Ʃp~ظ*"` ܷ\x)D Dʶf]Uy+.Y@4L<,K>7/l|* l達Tߌlq$,Lg^®h2XA[v|EV3(v}]}6 @PDX%_.v)a +OШ8?J_. iT +fP]dcba=Zߞfo0w$@HQ+6Yn܁k*sm3I}BcSB$ : Wg-|3BP+3 +C5I.5fRY wz&<(3L䑆dcQM%Immg7\bMDF}pjC,!D"+rNuSM$+%pk=*`V2@l,Lju52٢fvn o\`N&&K13Ì읓-l=9/JCJ =ց&83NPק)TT qӞ4Bg0m Xb`jL` + &gHqlfI|m hNCz\0OX띧2ڪh*-hɚ[s|C&hٟ_$"һ93Aeg-0)JTxGrvX,w [D2uƓ4 4|a61dlGW"r=[ғ6m$ߊIQ5_G䒦Ү7-V#]P~ АT Ɩ"(5A=+3k:0eNy%2/ZrpQQOW +vby+·2]7YTL "dF +iOp_k<ߎ~=%=jsB"G&!LP8""2^zHl6a$2p9a[A"4!DXvb%U1U'ӛ?4K&oV`^J\f789}3yJ{!)DelGihgBXR/7d vA9s2jƧ -bPSk))W0\(;b4\D7X0cF xB H}Og})|d4BcH/~̽Bȏ)&@t8+@-W^;9ospH'QɌ"e4ܝv{GZ8?91Ǿ;$Z`AjWb?nME +8AD +V"{4&1^D=:!*p0SPh+o@T/홍nWq&*Zn̠Trz[$%}ܸ U~#BDlh.MhVVT$\Fwoi>{G`Mx`XȞ2bBؚ3NO*g,+mZ鎞 +-IXu <\k 7fkT\bw73U򤷺^pU +U@h^ѕ)o3х\\6 +BzI/ơӨɶ=b2Izt|wK QJ1ղ=f{hl61&V̕)AW +i(6?*5&,ZD+U gR,i+@+q4mQB-Tt QRT_z|[ЦBZmȆ2HdHuaCO5ٞh}l%qJ3Z7vXTU5` r2K@R)Mqzῳb8UYT@"Ν!d$?ӽ]EA,6 <J `d"ZE:F_mJ}.j/!{C!%gKĶ]IkCk1 V{h x[dG*F?xz60IW3Bg& + HE nn$iMOIACڴ'1zjX'4`dw5! *rU:,#H!Z36bSui۳ +wգ۽j݊.<ȕ *kW[]Hc:].\% +@JJ1X%r#@Q^,d韯92jC}c~V(KdeFؽ0f %V٣+܃ܩ<,A1]݉(Xnh,_{[RM#"X\t.ɸ;^H2s 3XfdYhjn3j%+$g%il)+Egj> J`  ATfY>T{k39 UX,<9 ԅQ*(adz*7]B |+b?xMEN%ItR)d#ĪfHvTSvM. j. T D&$;Q,&H +Ѻ .ƢA /[/fi-S(h 9O~1ѽ4NRD؜بFyeL;IVJoNh !!p3MW!L8NC&V-3LuQ377( q I>j :)ࢭt#9FY&"()*ڂk;rH>>.Ռi.6jlPnNwZ0 2vA3H0  ܍> 7x٨դṠľaz)pVMO'i&4K.[?:Tr@ `,dd_BlZ&!g| ] rDLZX>4:<wkL:k4[cIbh@IldR* j`tP*XoY}YwMlY%]]ik94:c<GMa$8 Jcb ["ۛ./oO47̼ Fޡ_h.c\KxVhvU*6Ν  oW敂iC[FDs]u^&!ء8@Gޅ]:'K$ƇrDƴWd&O,C z7=!MB ;lR 3&d P'3 ~dB؋"3k0Eggq$l\>Զaeg %o&.-U| ,Kֆ2dD>3`H(qy"boLϕSeE!j$滜A;ޗ%jc#sxs7]F,@dQ/pRMڡ!߻]#^5 :fw˸VU7 yp(`:`*"Jqp(V h`Hp&vASJw|U|6ŕsLn7>v1v'̝Ed["t"LN8ĈFm˄q(`)_hhPUѭ^"|B.JGb 6Mh [LɺUmΐFħp~%Ԫw] !{Ljc}οdm2 OXtcfmqx=B#%IU<[`gY:Ms?RT*kIP5.Fq՛B`cӍͻ(H 䑮bXc_gqrjZx|LVF'Ԉh5}'RӂM,)#h }lƏ _EUX,K+;4)T>E{T5ܳIg@+0HQ!ҧ/ +v)D_}V֢Ds'7ͯv)384f [(>_Q-v^1Q.ǑH--2LX,UJCQ<@Lו +v'rLdy2MnTRqk) +L8v_" ȯsbQ { q~ ħB5ngJ+D\0pGNoյzѪ$I˒FI wmBFP&˰ph, E9ʙh.[nܻ.֩wi3ZŪ͗l\ؔk6Ɣ@B[h1"Fl[ԭXh̚MR퀸"/ :W'UoĒ#>\m#Ҫ_$r `D˄&JiV[(Ͽ#fN=Jk D1SM7sVZԪYcTr?\ELJfsQjzcK=RBՉ5.4-i3P|vs:L/蒹i)CNIE + ѱZE8MeCcͮ+/`(ܶ%T {Q)k \ ^`cSGѥLg2jd.&k&| a9/1jdMZ6!ot6ϣ|'2/KAQJt(/tq< L.RPTŗ9LkeeK[JC(%Q#8h{BwQpOuXPg݂@1 n&*Q dWk-S +y >sd3\%P֢ +L5U<ʞo@RbW"h,{Q= MwR5i@kW>$>x%*CJ2<:>j"Q:'r95W DxάN#@&É6Z6\b ++P +3{Ld"!/8g`?bbyybANV]g̽gp7e= B]h,_ڒHݞ0bt2d|'ന(u"$ɲ,IP> _2TļѰVgd ~WB9Q&ND-`"O`΋u{4SNqiop0,1z:;WD{{)Q-KLcH܀(n4G*Y>eVh_{wlUƮ屃af3Z6PyV ++c,X&D∑,*"jB!C9hS4<2/r`E{hA!^4T0I-Z KMyXpDuBj@AjwV0(2 otx7؈MND k'z5kf 4/sFBA* +wؒ=W_Y=F @$.'~ QsA)86MV2<"?gH\Y3ŋgRmD%JrTٜ˿QOLAE϶+ou(oViiOۭB"&^2HWU> &)4ضS~IbeK4Rind4- :&%SO宒T(q.j ~&9$VQva W(oĘ%JVrʛN'm|@H0`8^=G +cp&<*gѶF-ލjMǏHNx:0B\F,W۟"ʖiBRd+u*29[RiAb@R 6ZԧӉ:1*2+e׭Ԁ(r5P}` .F.,(ICdeZ9^e3#3HJ"Q񈑉tgXV92ۜj5%!I6E|Pt+>"$0;G/Y jٺlvxeyBDw{k04iaJF*H + `T3;%YӏאyAqeN?r3D/ t.m/EJTDOjzC[PAh;$>?lH_:Ud(P +2Qnt[ %[ !'Ӓ&>nPN,NrKB?TLj|bH@2!>ϸғ{&)qq} FMi4vbg/7 R)*LH!.|{U<<śg4=䞴F:"C-_h{gQ$gVm)I/d7]|s< A-WC*Z +fֱPu^LPt 0ʀݳnKs(I3u+v0iڶs\\5TƈF0AܨŰ!phPZ[պpּJ,"jNS3DC4^>|Q7ZJ|Kn[=V +$(L! 5=$0,LaR6<9r'x9}/ĖILO^ 37Cۊ? b 7Ts3NqLQ[eS)^WKTf#K\ev\T|UY[6P]%A>`< Ԕ+GwJkʨ`tZ$|+LBf{[4RAsj[ P7|*}ԥ\l#J[Rz_Գ޳z`N<z&txkI>(x~U1E1ѧXsI8b1!R"gY1j$,9G鱑i# CV zMQ ګ9'hgSrR +OcMtowh<#U8%F"aH;*_i2+X^ɺg1 ܵ?JT!VDcaRb/6RSW Mˎs{{72Y\UYM+=t+|zUZӚ9:.{J52u6~Go3 +ҝI4u:6z8^|[T}?il\ܢ=[z•Iw)yİT@{y10t 0 m` 8&Mܙ)!cce%D[9R  "1:NL)3H2`W9Ѝ ICbOa( xb,$%-'w0xXJlN䭼qQ%ƍ$4'|Ci<q asG[pBpVZ/GXA/m ̋MTT%R[NUWd!+"i+"%Kr48]# UjOoU;kuBs) HdTݜ3/m7 &8@ ,:$J6YF6 b!r)Zg ?B wٽuSק)ʭ!`!:處ԻJjr%ŇjdA" (,f b!rVpE2IB/ʢh0x%jDx9x@HOHY+cz2w'>- 5: i8>j!3t$f hI,KvbٚC-GN9M|ɕsy BA[zh68TDH:).Lve0кG  1#.|>q1uDH +jdXaB0y#"Gh=9zsRwnCݢ_jD8"XNn񍠉htlBi5?H@(jI 0 T¼;&8Ytt9p$KIkOġex F7:z ^1 _ qa}]oBJ3 ?THIcTYj~ +DMد62GE$fpDT\A "E<"9} +\ǘwk~<9r8,tz-x2'Ԁ _y+g2€p]U(h"h]NFia~n>683k +ROR(FljS$sDcslMD*}LbXs`)u 8<q3g4 4pWn5:W"42ԐcETTFu),]cTn ?2_pRE(#P$S]dzUS"q+k>x9EV5#T"9 V$a&F@㬀r1[%Ie]b9#AȂun-PN 8QZ/KQRtH[^WT%Se \rS9~<%HI ="ܨR-nF{H9n%ɿ +'vɩM!մ1gѓmy3"G- +X`98g}]tZҔAG#NFr[ۍOK{Xb* .e%qA,98oYwf뜼;s{XG7.*$j1D&@^$ygZ5 elC WtVnsPSVwڛ%lO -HIZ,ߣA-QdW%'azN 2!ݛP'MB tr?98\l^yy.hvFM_Ǻ+G̙cbfS^}U%ߣIzU};$'3"Y)19X5ZyhLI)GzVMc5c~ Vv1Q^ˋtݲ) +-2*G)Vܸ)=Oc{Xh^12$*Wj֔qp+0"4J7v:\O +T7ٙHw[xFI<8y o^`+)p %hf跔0%OL֪-6!G_jf>3Ё:c=3.R8A %2V3JRiXRwTZfb,bh-*.QR`Ѻ>-l.UDyHLT$PȰuaFOC!܇R ҸΐUdBp#DEA8 d&@h>w5882jޱos$*b~b|(Bqx#UMsi4/T‚!4'":-L*Dy[.2v[tClɂFpߖ?#qiIS=zٔ)` +UǒNԨ[,`,p*+ +V #V``6 riҭA޷d`$"9r&cj&oIJCb͘}=SP'GX'퐉$yCɜ| B.xE_&^9=6FN[U jT$,^&s˨r,Vz{;0nhƿ^E+ZqZ7$cAN֓&~ۊ 淍_Ap@6H(o@|b?ݸ!xQ]T^a",/>PF fC:ڿEꋊ@W"[ L)YDYv:dfATh:V#lFq6F`,rQ-Dէ\lzifEw5U4_[.8Ees(cXS{eKH +yQua©8 E[PKnXɲzPK$H1IAr +_V~ U+c:J6 Xd @yIX8b r2>A,q R W?rޮ=cry׃e[S$S:GWnXK:[HVcDkÊ+;vw}88K#-99m=O]1@a\LJi(Ve$dboTzD(1v޾S/'XAjIALnx^b5 ǵ4fUXmgH)-hݛ&VS~1$ب,R ( +ALpm.'fK& +u{Wd]lOVowIsx2RCe +E,BT$7 +I$5 ~IB$rCĔ{uH$9%΋`PtY@i S:;*ͻo~PpkFkj1[wbViR^36OrpbPGtڊZ?MY\a]'`E|NU@F|kɎPMwd;bEGm^^ej<ts?Kȁrc/`n ٕý!7VwDEcSZYaH@'[TsD^ԅ,j\C#3#O]B$tjg"pCm|nI0hh ۩|HFy 6 21^&SR$xG#xpV;[t*ƣBKb!`$AҰU6| +Y5P: '>2*g0MMMV y4'zř#T꽶;K57;~m/Kp^'4)ݮ>[t_ VmQE CUxh ?f| ZiWSߕrbOqGJ]|:g%ؖ* " />HDcŚDX|iq`V #2_pFG)[ o +ԫd̤IƋq!&tdK$c6k1h/&G{~(d2%D)ts˟ҵ/!U6L#ȣhLT^VPǃ}Zs3 pZaYMYҷ*܇?K+ÍʑQ4H79O>u%OSAl1S6TY(5 $.e+?Ud[&Lqn(laG F ø=υxo/ܐa"UM)wu:CH\ *5'rV9{ls̛RD/#L 1g>s:AQy{tqw{s S?GAݍzղD]X4rjbƂ/4aǍF*aM>h0ᚨ^s<״37٣G^Y $lW"[ ]*l/ozaHFك}U3CCMUɣUQE 1 +%4}gT4Iҽ3# Β>nAG>Y + hiQ?G  |:y\ Nߧ]"O3%HR[qlBX]h6thz_i." +c3U"Rp6JЛfOLJU+lY#{O%2T9k +SnQ,teE˕:ϛW;}2IlXD!6}3[L$zW}"mhG/s:\%FYL3 I tHb3< c*,Pn=rm#(&'S  +2]O3Wn;KZƯRC%G‚T š՟,ͮ]e5ڪ1ZU +Hh)x_-'x#o׫fT5mu,K z`VDbO!>kf3׫ǜl39s1{TV\8+_sXA語^R" B +ƇA̅&1ɯéM(y/Da|-7* V +J OU<ЩW#3R~.Il4@4prP}PZh8jT$\J'HB@xJR\% ͹Ni˗De4{[îvRX~wG90@Џ6?,*0 jQ!Z:KvE^HF)#`׍1U|eG|} fbDn)AD2PVٜ[SAVKY݌_5kjrSiFI"\֣:l|"E]T`B:^v +Dx.}j8ْvR;W{T_w&%y R*; ɩ؀Dz>afX)&x&qڟj?jQm2ArH eO>tKPU`h/e3F8ȴx1/J(a濨 @B5C,l%o2D S +]2 2SzFTtճd,sEtK߿,T{ +:ajg"6NݺHᢋ hYH+7aa0h-`KH`/q`W ,v3=˽^h,=>y +էc@͏]Y/l?V +4!cيb7x/pOAs 5"FLEC1 s:Qk &2rrQUG,V< WWq2؅ntUn~VŸ12YJQ[]i&Ť~1j|G!WEZ;Ml:BETbTe^$U4Ju@,UB<q4JVǢkJ )g N/o&PDO-irrd³@%0U<."O$MwԵU&-dD + +Q +N`Vh%&_ܪGʶ="> XN7 ŧ3U9Q?y|6{8L\B1lf|a{DgO2uK*H M]hh ,{)כ(9Q!h#;fQI[iC辷gO˕anI)J,A ̋k҆g1ZuwUQf^O'+Zz&16"5r 4~ԥsDթpF\ݙ׉S`gD-$y+ |UHD X ]mb#zw"UAH ِ䏼AwY~ R#ohA +Ik^I=}h&53ჰ.ASq !Qp$0P }0[c@e\Bh\+wi-KiG-DQ&RX}>= EuWr̓ByB?bIA$#|LbFv/Y s7 a`yI ]D-[G4.wxy +4F;HryNs:W-dĨ^w=X +`"L& +IG_o~b(M$v[ype , Wo̷Qx "РH +ȄR}٠uO#e%VN`윲L,qFA܌"l"8V}H!:2Em* VAQVWh0\D=d8EVPLL&\ŠxN7Ja^נ8R32*a0qH.yDjP7D4mzvdw#> + W*}LJ%rBpa~}gGeE/,(8mNԸ.x dʧ\u N $ 0rܴn+fPB^I`sA̚0xø  #Q旡 >eB7rȗY7^`_Z1lX(u 1ȝ!v- 92DoGdsP!O9FsyY-`YjHmR0Zw-dy80tAXu6*qT @u bbDNf ˧)ѸE(2)FVX6 IflnK t"d* ZUWU+rƂ]DZ':7A0IB$Ș +W^X2()LTepkꇩ E^EhWC;Dp\a.VeEAgڕa(UFMvpl7.#\Qhq< edB);jtr6VjUjaڋJ6.@(n^ PXF./"BB*dʦn(f™4kɓY^{2*.\ x! $6j@ Pޡl4 +%{ѭ< Fׁ7z3l=i-ʉ%imOHy54>@ #N%{_r';&Tw; ;Aӓ X8<%6ubVD_Y.e}dG4PYmYIɞkB96ex}W8;@O!`m>GG2 )i+)KrӿAUu>ӫkmia%〚YNWInZ7]TklRUq?F4j_ӂж . l.ʢȱ)hеcx 6{Mz |,^ۘO=k@ZvR5VE LA$  G."hDH,@댱FVPٯȓ%~ :8: +|@ٕ/ep2bXshYEh& oh3L3,sGVр@OS Л\&H(B,bʥr>|x[>G@B_-Z2BM?Qu?'X=VCTGLuZQO]lS ,(h0=bTET"fR1PB_ GnRF p*4$wO6Z}z^mIo e}Fd ǡ+~L+(5LUDrf2N*Xatԛ|خk,b<@u%gBӂZQ2]…0~,] YD5uе{a*qX  +XF4);m y("&jxL9cr ꒎{5OB3[TȞ> Fb @ru5ASoX9e_d)cd]k崧?nYC!2!mkgddC{+5-?6#3C zNw[!ҳXS8kM+W[֌[~^ؗ&PDV t_$[">cf@y_޲`,#2əV>K u.5PĈn +4akuNځrL}B6)y} {~T4TR}f2QCgMqKC "Em o+:0T{/RH ;5H/.A<;{@{h#6p8LZiS}F`Z]S"-`֗qK)6 l|)՚QhZB!)[i+<7_-_d?ti BHb9Z2-¡wYU: siXHjG4XNG4eb1>0``,B|X쉆DkX֠|@VX&wlC{zkf*/`#0%Zу\[O]~+|`D"`HTAOR理.? h(ȻWiaNRQSl;&MWZ׵"`Y[3n!wH7oV,~e_j3zX +o?m:8Ey⳪ǝNvi +PepӤg=.sT ǰMC$ք6ZV`B!ȖTZ<ɼYkykc>cB/KPek-͹Q)U/^=D“2Vc-_Lq4.z*$/*O5Ct:.\b͐h+Xd"eCh 6M_[2H\jQQ֐$!t,†MW \uTޑ(`L+ +X+Պ5(1^z[H(&&S dF(x[AaeAZ;dQ(8NrNVzh,M2S(0:0{0F.v'w+"ѨجG{ƔHU~̫K]2[ q0^('PuRTfeǾ !$>)E0jw-|x|Jk5w gܗQ*˩ARLLiI%=>P.GK!)/R䮏/Q!ipSy VHǥGSgϳ +d5(nzJX0^#o{dPRTѬi*sZpL@hlŹ"{-]p9*3AXKPcHTv>v J0b)! 4ahXƠ-1a~e{4OBh9FDdfQg4I' NgS#b,pi"HQ9ŋܣtշT/)x9u֭\:KO!,0D\VTQnCsܻۘXo;o71Z5d)5dlZHDYzfIrUr<G@U6Ŭ0D" + !3|nx~,efa~4vu׽լ&!lsSdt^ *C2`G茙% R2|) &Ý+i6A6@8\eJ*a,1,Yg"CĖ RO%(%hW.4WĐU\7Cq̄krl>i$q"B} A!؋>:!;.fPxNM"e+m)9Is +CFE P.ȴrĢR ߘM#%i#Kߥ0ǚ(* Ish0GSόT$T0&pInpZKW +@k=,rӹ贌0rqN(DlXLTbӋ)cLJ_me)gEA%K4k#ZϷTTȁ* 9zR+j@h|zQ]b*A 7ИG! +'=Z٨>Yc\Q[Cv>$;ʂs ꊒnv(tJrJE=}HTLCm,MM+ %R6#.ԫI[V~Jh\TbL'T5Q+5ASez.)fv[l D}˒qz,Ԗ.H9nPꓩ}<@ Z Sc^ G{,]C>h?"2)Zfq9\B-V0d/ڤfM~G@5!y֤9S wK"05=0nF5r7>&V|B+hNoW9lkl<}x㖏Iu +OB~D[yf= +1RR @L Fd4wh$pI߹֡7Mt"^tv4q;QRbvTW5':kwuROl* Mr_e*gJ|ǫDJf-rKD{+IZSF-{SV9: UqNQ5+TEݻ`dP(0IH*GHj_ +DC&6v{*Kx/[S#tI|UlmY-q'EZBɮMFYE"kFͬq6 &^hYEGwh"(bA$Hh.\RM`* I띷EϞ^70jݒȄ|fG*lAӼpHVJ8'" 0=0kO6'OU\ C "A2g+zGT챨S ^@T\N e*NEL7lSphP?"!/ ~~ą 3N`*N2x$Xl‚ k >j609X~0G (Z гpB zLB ûB;.J7_Go$WJ 0OAGvuňNhev{qOT 8#&uܴQ"P^&+h EfCi_ޕN/,}R?9'H(bm-byZ87@ k^J%qgnOqFYXgg{<>Ѳ:g;US%(+skWV~ժPH\]( +E:a #ŘKK$Fw o$P-V ;SZ]n7M*p-_ƥt,*Epp%mOA^ ձyppbj[TF ) a``%wTZcrC[0f/ǧT eފ;¢ ׭[$pZ>15?-%߆X7 #OO$K@Ahlԯ]y]e'kʩQKE>JHMͫ$[D2kyN֊m)٬e}?b̻ckZuR긚sA %4rqXvծ_f.ʉ{0cHC0#Ar`ѓ2?sf(EƄT}HPίu Uh#hI]ӂ# 3NT롵/P5ʱ7߇VT] E;]=`сY +_Z3ZmSUn1qjfJA}aADzUeu$޳k"S c a-Nm{<ȏ%đt-$9J|qtn0Rf۷{D@;f~i4MdY- QZO ܹq2p\lYbfp+`uyl-#&l2OXK*/ oA8S6'Q)Vok3 (e=;KAYHe1iq(O+Li!"Opgd&_Oj&̉ٞP|02i&–'%o=H 6MrugO0:]U}*>f)/n! E%ɘ&_cHwoiUh0Ȏ(GE1JLEMumJ 3UըEhq@Cxl/ ޮ+iuBLڬ_YlO/\Mh/dPyIGIܝrW;^^HCWdZ"9Yf  4hXR޳1IM\jFL,˂AHAG,lE)! I>$k֨)dkx^TT +؝ѥ4 >SJg0d-tŚ露Pov^~%((=}XnR1wnj VHH'=\hNk +/~)fk; w?c^t"4uSWu +. ~;ULyb$Y'a1\$yR{J`%Y#ݱ$R^OTfJ,b8\ aԣC +_sMC*an2ӂ͞vh:Z/:mk7*ABnLPM\7S儂%8^g!s  ؁QwCw8K(=C /fKdܸG-+ظ0d-dl^X2\(.eƏ pf5%U0Jh&!R 7(UP'+D?jU2+/p2QT\5q W\DjNE 9E2O@NP+zN>!ٝLvݯVnRJL 2PjiADnw + ; ѲȃJSsxTl\T,y|d(rpTtyp x5'#Ò}QU4,GXڒ(a]ΦtrڍKW`.QQ!uI]r|  ʄ!źu&Gl\; yA_#7#N~ptląaT%{o;er- Ph$d76Vtog۴qIxN ??VcU֟9! ܨ&@CeסPvS?SD,ٲg&*Sc@l|%"qQ`93 +./B壇:t{HOu7i>^tQQ%ذ9э +p Z#]! IIb1ɨ{=:I3SG<ߦy:Θ_cu̟ GO"~!+NpsT +"GJ2G)/ A9HOr~1[%Q[Jx_:~3P֒TU=[uVqp"AW{?1Y,gN@ :E0AyҦm]J}%$c'H} uȃQS*p 6"a8ڠHh`EF/q /AavUޯXј"QesK;tҶQ#__h#&c0`rHF @  '65 +ŞaШ08y|(D 6+lLEOk}!TKf6(@:b}Pd+0Q8WEYk{BQ)FO5|ʊ1j*7SWEZ7`BC9Qo3G\.$}GcxPBZň?wGd=`o:e!{Z49p1q.[-UI%/YH/,ʎE% u ΰ$U[*Fiɰ, a7@4@Rz\b3ð'2x,ʼhڎK;8h$Cw{(5ask1`t;@! g6x/ŏE+ !}j7}py I-jF.h^3M»1~k +.QT_R>ߢ-(O>ǡ;vffQJ֍eTD TXk~%[Z7i2m`hv[8AJ)E$7FxM0<[7_tVc׊\h9RgPSquE˓0mt[t?˄ئWBG( +`vښA_7H"h "STJ"s\؃{\MކdTj&)"5Zvf-D!+ރtUj{vA% .m+d-߯7m|3!t&:*Ig'FNM^~KoBN$(()n&BiV5[D{iҶ@{+˫ +T xpO a%_l&RBj'XA(\˔$ȜLPX}lFKʘa+cӆUl&ۄA` v2H -u;EQqM#i2NK~Ȉڽ˥u pP-tVLaO؀@4+UCFiwt:"8(XTF g[^NkՂA ^?L)ZD)GҚHQJʹQuVOoZңreWfHjT;%EgJ@<bl*L$HTD:0+72*o2UMPp<"=Sv1G8|E(m[p"r.Nꮍҷ+&@opZs\D U($E2 W|{c'Rn,H8tpFXI1A&rmG=Xc1= Djfq$0|-˒s^;W9=jqQʦch:e{dd -ӆnre1e"{#5+pâv"T5OB9TP@5zHD"XcR|sU6j뇫y#G!^ӆR$!tQyy&L! dH+nnX-C)Y-eWy脳V+3@U?,4mf)BSk!*![DD]i;Wو'f B_xrV6LR2$x09!_MP*1lIo%-i]\Bڽ\Ξb8=rN$}0 `̸mF<ĵe:Cn$/k1`tir9eK K]x4v]0m'儿% +_t`j څP +fɎ 0} Z.!J>9ϰT ?}Y|{`iZC|sb >eXVӣ)-GZO{aoI fu%,C7QLDJ*R%#<#͔LE|T&p"pقW ( ][ z"(kJ.iEIG~%uBRf`XćT~S7(|[8c#kav(XԢ!T,,r,ETKAQþω⵺yafRh$]j@= ^URO FZos,oyNUsX}Ba/}Eu)\XwcUG)XUI/曱rBؘ&0 [) :h7<5'z1푥$އ$(:aT ڸE-$\/oQ*VL%즲Bo _2_=)O{T.kpIA臆L@K*Z#@?2BII0/OkֱXD +~j,Ze?nMK(BR487Ybv(diQ9KP%zosu~<h T*(5F@ϷS*,$sV{.B9+ZKV[P!c5t&I)8OЊ/ǾN>Ry2P#ɽ.T#1* ~pb S2a r\Aٍ)'Q5)lU<RDN<9W r܈2gT&zw0 ĈPVB\#E"ye; -XJgmrX :VgbqГxtɮr|0bJ6tR &8@9$'ͫ$o7͌XL@\ISy +ڵtV + Z2„ 4 /-aVb+QTZ߉(;8gK_5D ƃDd%Aإy\JNM +j [)cIPsϻoZѭ]<%K!\C]~tzhQsM8"!p8pѕ_&|c!=J!H%.)UmE \<* he,Ht!Kw% z`IcjP>CAku],L)MGnSj $ 9&WC$"3o;|%K]eh.hJYcKw gu$529Ur |)Ln7s<$"%y'ZnlRѣ%+J~HdhQ&W ( t:.z3DžX)W*^ +!p\WP"* )@ mӹGׯQ+BG>8U$*`PH0gİTubDaI[)VWuv*ys瀐Խ#de/$VUx)_j H A\s'X5?많`k"AeHT3 &$ t''~%IHDVIe(Qb{IFU~7b:ALIgZy/ϕ +pgHbd%B!Nba(Ipz^& Eˇ2M1[xu kiEHl9ý2nS%+D.G1 "| -:tg4tᘱE^lI~"U\V@ ):L(E3)|'%>|R=.q?5e &mzg8 ݲO<`Rv*3O ƨ%AmN"E j iQ^_ʠ +ky^M=."M0K(l0&GйAJujI/bGMZ23nϻIhh$(^PHtF`BDa Io/oA"Dt5SR5_T*IR*2(BPL2rBÁA38tЧU^+8c9M8NZTs)_F-fQ}i\A`: ^2M +)@NB,)1MgER0κ=pa s5ȜB,kȦa(މnbjuvCu|8PΗ4Hou3US2rLc!1pqC8FIFkSRYKc91~dv>ryƅȊ7Vd liRbi +BARN3blOfHRJK); +g2KTfEi\3?kc-n]JbtǦ?uۤ7OXEt,>!G+"Y]9H~}-22,AAY܉> VgTAQV'ġqBM,I퓑q%D Yʍ(Wr%]5 +y@6 V(EB‘dž64uJ +(`A&P>q3/R`33UL 6fIԕ vw hDPx7sZaKb%qF= +h >8  і*D0o:]z+m͑\bٕdp6(}h'%x3Ǟ5h$P6]2%-^;%O>(ѴXz(rzMwlMr= u*)Zzø% $*otgLzph!OɤUS-.R?R@gpn=18<W+8aDUu4poW;&@x*J\!jB1"1*,%e,'W_,f񯕫q2/JdQ0+|R"k:D#/>Yѣ%"})5%Ey\밟<4Jm٫b<4YM}5.J6F즺ȬMoˏM7b CLUަ`y@lBIԦ.}Ǘ-䶉nfۗLyŻ24ӏ̼h;@9=~U䆉Q/nֶLH[fRre(4E5f(kC%IVd: )fQ@FE.>!s ߮hVLU%A- l룰g" ohJR'-?pPtĤ7KJu1[mlFq#ԐJJQrM]\20];X֖rAA f- B|- +oȺ5DFUu 껯d#҄N%Ub zH;fqP ~>X`=~d6\%IdYRDZdf"Dڽ"uu!n5y4lH1k:vU`]7;*M2JHFZ!#"s(g@ٞB6EAk;{l%:6? CǤ e}U.7USX*Wk'{k:$Vh;~vh#+lDKדR> U 6e(سlv]J h&HTl8TƾE1y\!i\!eT +mqNPtCMf\>SXdJ+W6BM7ZE -qJ2u~Qh +. gx R}2v(ލ,KCeVڧTkwȕmEMޑ\'}HZ[.gh2;Bֳc!\lͭD3 r-&/ݕ "hqa)ŏi 5~OR>0DIA8[c(ێ@ᠭs,(Kdh16y"\ JGb\%B1hP uЖ¼A-gmJ!bLbjܹ{QCx&%v4;Bz)J/-4 Ǚ7d=߸'MPnk:w+rlɣx7^`]68p84}v2q_XF (OϏQW&Z}D4 UάXm<7< A:"+%!p2RRd6<|G['[(㌸|(& +SNdBj;4͑Yiݵߧ~wj>iB׶R78K/$oK}6krb:Ƞƺnqߤr,+)$D`dѯMjeJUn abFEG 3ЉgY,L|;v\Q%?`@D9廬mi}}K`(w"g`>&5Ds.LDWL壪‰6ΩAu9 C1klNo䑢,K޿5P-qL_},Fh_L 8/RSCd-4KP pykư"D5-1ip ϺRwDl ;a6OH>?>:Q$yT<$ї*"X4%WOah#Q1|  eϜ@3nŋ{5E$~)[f( yZ6$$ ;ak牾 :!dElK~9u*g4PKC3"z\mNDԻ nGNW(u`{I%}]U'Mi}Zk}uO":@JxWtG:Yvd!M{vRR=E}B y1N8xZ7RB5ÄW#j=O#Đ%eEpa6X&܋u^\Q{#t +0h&M {gr2YTp4L}!}97$)2`O}#`(,W8A07hu" Gpzudͳ8gzX 1Sq"D!G9%d~E0PVmT4Mk% V֗_?S_>ATĐUuF|Ār:ڼبId@ _V(3"c&V+X:.W-]=QY!h`<p롑WGfڤ@֠.;ϰ0J:5-JIٶ ܚ +Baِ|=vM2`w޻ yyZaV J[O2;J(^[ґ "h(sXVFRT d"ҵy(Э9[q~{l?zV {@ r;j +dZIM?]fx3S<{no8O ηP@ƗnEdRc&.Jp5;arckW𶇓ű\{mjiL\q)67GK :8n˦<"Z%gp4]í&"[l~z2A8Qe,eM }gt +E :>WYab6R&A ++`ߩxKC-FTWH@XezB՟|v3hh +jDT :/7KXMSRxTa:AUl{’xk.#u Kg@}I:Ga6*B!6 MQeTU/͑9 gR/?OiL ׌mT+Y]5So5 K6 9zRⳃWK5[UTq#2ZdªsA`JzA; +4:=3/JYU +2ʶJC=cr[hqR]'X+t|t,h+/yF[3UaJ[C n0>\ԧ|~-!8tEQ$fYZD{}]'CFe,(x* _&' +?Ltrs"mm?Tgf*컥 ؖǠx?@9U#EAWҊd:cz?zVZq k֢W$Q2A4!(lHգAj  +nl"&j36\PtxHHf/y#"ˑ @8a{sCT6*9`}p_kDQ'1U^CH!3%~kՌ#/؎_oC@$n'xm@:` EXJdHӭ*ס&E*4T_yTDoCeD)_:wu+=Yc) T[kt'8)B;F>z}x %;J Ւ*i!_\D4z04^\)X-V,df`7xwKVWz:.͍Cpp 3NV?s,V^&'qAٷYLTd|'3 H?, TeH_15z@[eI)4ҹ-0dڑ.o0 =RW#>2(!Nlz +;'*ۣahDdOx)}y,n>!7c!#Gz+fq4m$&mՃc@agm71pOl{7u6$'biISnjs.?9b4U)7GyBU)'r! 3ha*yeyF@ īW*F̉ +[19z`B]DyeOS QehH{'6vE(QTԽ'k{e%N%{{i՛;!αXoHebeA" .Ec՚&@B?b6{a4_^]2 ,*z],|6Kez4ʲS &{z>;`Hpe8y5 he[gP`VKĵ0jmMM)*wia)Y4y XX bCeu]+SY:n -}>ݚ{h1e ֒&#!c9§@-3Cor"R}b$V~" V_%U gHj# {>UDW' ޒ)- 5v LrՋC^Y~ +s5/8^)_cwydS:|"u:G.8A2ff +ٌ'SLZ%jo,Y=NU$Wf6&@Շ nt/?Pb=O=It0{}Ajܦ=ygeri˻dU+H@K+OD:24T:Dx} +ǬE +4P,<eYP%w%Ith+fݺ #s0*2}רɯ?[Iݮ{vSi\!ݫ7()D;`+;HpH4PO)/yrUR{r udճ]ѢYKjaSW> +}Mdx0EM}А٠LM]^_-p$d% + 8Dͳ*~ٖ; G6"UyPt`ӄGb]M%نȳalJblX d +&?ȉO,>SXQO,XuyO!@L(`ݻtEqĈB, $UY16,&AeֱEHtb +D +:_pkр +\WtDQTNxU9]}0ش* Ӭ9Dy@HV+(3nj1kⵞP +j'pTI ]   vsԲRbg,(``hz7/h7MŽ.^%/1pfB@|䄙إR+ 'aIܛǑ hW4U0׻UmIs&ڴ\o,A|J$j==75nJhuѦ><]4Sd1լZk$cb]Z+3t!&3ྪ*ua>M2s[ Ҟݛ2[Br Dg'p,nd8rIhV+悛|'JMK?eE|luYOD Ƌ ̯K3+֝$/ւ1ErJ蒹׉%O{nђU,1 (ĻЍ5sbAlM%K4%A?`3HJ*D>G-'ԦP0nv2_-U nL-L,0N{TDb3.ݘËh"P2fr_|tTAMh(5"l.Zh+" NO1×h|<6>5Hl-(Q&Fw1 2qWĎ:M\8^Sc᭗U״ˋ^ M>>/r_⩶]XXQbJKRJPagND+))[ <4P0W 1nױ[IJGF" +5h+p(8;[.mBZKĒ9ڑldBܘECc7Dx D:וֿ5hKHAP<%ȅt>ܟ6[w)ג!qyښ5MAP(@ֱji*DTҝ?s5$ң;-m\^i  s#~!شLԉ_1#5_H.ExZ *g6٬mן[lc%-HD,X*['2a~e!g3b0a.{wO{!TH$wB+ӹM}lR`V,,KҞGmjęV ߜ.0YHmxMh#ml٦Twc*ȿkCLngI{(+H#qAb2[woL5nM+9SgXh&exJ%?g+`7x&iwm2S%:\|y`2 hC$`0~Ɣvҁ +3T6 +V1;U}o +3^D[ +/B[sOytVnh{) +H{1z 㲧Ԟ[P̷NC]( 7"T2(Epl(H%q,KBeUV} +RI.݈|._i}, ѤN&Xqd8DGc +b~yV.t% -K|¼e2lڽULx +9lH.7$ӲǨdΗ{α%wBhV8Vz$[-[Ę@V{ 0$5إE-Qi~H87LKUrn}6` pg;$nOݬ^&k +n|S{-RYcB2Xx L4b2"4bOQ"P7!T +qS̨c&Z~!̟w +G&H19ruetTflR>:_B/75/w:lj/{NNׇX81{lȞPfbzc|sKVΝ'0Kv*tpox 1J2zA<[PKx&p*$L \ZA5؊m 70O~s9}u& pBItVγ xYB.'Zgp:O7&euuj)2%67t )T%JiN6r#Ajft*eh\ )%sأ7Ng.3f4Jr@BdHK:OUcR",Ȧ@$'eK6O">>Ϫ햊Lթ1vS}Ap+OOQ3dym42l["ϼ|YrD߻MA0uyEew zvdr.M)8ke.X%wvUs{3/? K4'^\+23ZevaʥTQI"A% im8 ]FJ(pU-yx"1&P>?!v:|qP=!#W.W,I~b*RLgBc@s1*?)F:%Yj29:~(2}8YP@w♀v\cqBdAMӷF&paOeIIel:]i Fj#A /6bM[;b~r1SeoMDFFtʦZmp`qDղNš8 +*ʦa #ol2+F ەAޥ +6AX961B7Ӻŋ ꎨ9܂>{n3M8j뤸D۴g +LH&9k q8hqq=*qdLLh-b TK5#  7YotF<< o4ළTGzʓ$dҙ}XIT⇁s0N&]%qNyx@g yҞĭ?ѴfxP̭ 1mrЅ}/ z#D0,6nOqq]\Ɋ/ЫAUC*0֎j|r += !X[=%kS}䕕P!e$OtĐ)xjZɛ"=|QC|I+vY +2P"txeeWnh +#$i<¬# J|Pc#RgM!v]-KI%79tO1jVCMg'>D*ٛ ⓛR+ h<^ "?~|_S;DuwUt%m][WB K80L?(ey,aN4 +&+O1"A2Jc\XQ7iYRI,wcuv +fRl$xL^tcV+\@2\ZPZDDx' '6ShZ +U"YČlX &MPa&x]r[: +]S'8;MJ OIIL%VX#g'vPL֟i0d,!c:R kGd?_ L}WدUN^EﯹN2 %`SpYɪfN+ٕ|VU(T:$IDLBP0ܧA2hPtObS@|!ʽ=* f.k)]T7&wYA#PT?$)~L;6ܙQ^(ci؊1@(SyL; Rmu}虁O/Su|ۤnb6%W6%]\c#ʿ-=7UBUYݰ#,1 +>\*Pe}Cua`pJЪmÈ$ +`\yǡ|)$Mer +8G>T3acc&6|j6UV 7T۪Sy Z&e/ hh@3o)5ge0ٜ6{-ADB>ݣ";~*&rG/I,:՝(. +3ZY4$*EbЍ2=􂷱5l酥-}UD.-B" -B4=ߕs`X" L֧GBrrL:PeqThT "IV}bURpjArk/~HzFl+DXvď5ol<, E?+-YSBPUaX\%~~)SN3;LȉM9kH5N$$/xjv31g";'_m ' N"xaL b􄄯W؈R&:Zp 9r2)'/ny=6`3Oںή7Sc㪂fՈ^jEr+!@S P#x\\4 +qvox"fʣ^xKSV>Kyg4m&Bp3@Ϙ73\,&0X*RDLVIUjϻ1A&DFjnUHL;;eyXzOZ=ܩ$HO_zu|\敫2AQ̔DI-lS}{t b_h>T-H5g$rN)2k&3DT2n^g_dH,N+ؠ O|ͤƇV%Jk Bq9;&+oGS M/JyYdm_E2D8@EJ 516yԛսeX-njWPM@e,B M}u@%+'&+)-P%)~X* KYU9xIZ* Q42\d 2fwBf!JN7 9 R$Ĝ F1bEE<#Q^d ԟkRb` +W6aXUnA .wzJ2'Њ(؊TэnWD6"Qy+ sc?rFl43HXuplRD<́ 4R؇bΪ !,)#G~D 1J蛫$d*D3蔙,o#5]"n$/wuy<< {#͌VMlp@%A;dSeG3ǫr@HDE6 u1l˦{@hic"tH,W;@Y-ԅ+ѻSB+^)##+sخӗ ǹbEl-j p\XNKz2B}G-ʍG&Vh /ڠZЁ:{yfh,\JF blEsga(BBb$a )<HM{1حcnMUk.Ul! 959k>(&ߗQ/"0F-}͜U%) l@[tK%Qֱ%|VЀY eG)"E&X$.EWUs52+&GiR +r͒nd=,"sDfБ \: f'"P\2;o﹩#S߇,`NBԡxtI(n%KSgw4cJ7r{wGh *vd%u6Mj%BU~y8W/NK`L At++L| /qW[`<7 K ,'Hv5(fw|n5:V a!'j}Xӹv*%X%I`bѕR*hj|/vL(5o6+-I( %JRƈDBYiލr HYEr UV\\W^O1;G6e+WsQ*6-Fr.m2HXu\qaҋJ¦8! ]q!eK'M[]7^{O&eL{S*?iߴl-sDaܻeQRIDHFE/W_*REdo'vD[Ym)ϺC/IJaOc_o_?< Pۍl1-7tRXO_Q/`1< cSNKuG1BdS8q~F 1U lO`ė. liNv3mR|ɰZdmW8TQ,Ė1!S1bݐPll2 9+)|PC-$F֝DI֠UJ^ abR! v(N4 +]v^Rf[F DLJ5#F35j]m+. i6J}cGKMoET(L!}^DQ-@9K +mp\ g`+_7"NDkk] m[(+3smRP{m#yDe\NՒ)2F#RIJQBDi]m `@Ɵ ց0 TiI(ˢd8*74te<莡QU[q )xBs6/z!>B'k9l5u%>JHRr[pʣ 6cl`N0긻 m)" (dXPςv/Ǭ4F,zz?DV)P1crŃf +meBjPK&Q &B'Ri+cx럇AsU窘^k?c0FLzQ\dC|?iEU(v;TDMd`͙UnmYHdz"Hu}M:Ĺ3ht^;OV0žobqadiύ0[d$OrdPKUE6( U2& MЉ iXHjʴ|q3Y6 iv)VF\,J/ ~%oZo]!2D= +aK3ع UEmCO) 5鎷d'b헄6u#t oޜU7>^+q奀KWS7v"u$٩C73z{k)Ȫ]CkI +.'6~Nxs+p)))6D|=C6uu?cͮ*+9/,d3N~ĦգF?%,Wuox)?)2?ǘ%9uQ9ٙ< {!B@75T*Y %Eˑ_%me@ݷYl8*RQ2M"ogaS33m %mvV.^ύuiIkTY!@ >J: XSfr'a0Ms(21NԢEA"'xS$hLB2:_˔5|M.ͤ +2ZuFdJ /?E,οϏRD!#vч8c\keEvMKA iRV%6O-BLN?o&ǫ +vVaDΕ"b4Q;M5GI*1tO ltyBvYl"X&9,+jt^? ʡ'"LV9YnQԠ_ݤG_ggFġ?Z6,_pkF|_HgӭW2jT8ŮE +m4+[#V,RW*#LQ]#OKe g[(QK >IZm& *ߣRu-r"$ 9ݤ&c!@q)yK, UfIJ!F&D&w 7"mκ\0 Kz3Iaw.+-ZL'+-/Qg~ޤ޵ªLJ86ǁ@KTiVW"G*ISȽT86ԩ#) AUMyWtDi4L%Z_ނDvSɼ&zZl.ba iaFʙ!U/gpW +*j!*$0R4, iȿ߆1+EeXdƬKfS7hg>ų2h邠QR;bb `{e"J{kwlbU{6~#KٔEOnR`+隫+`/6QjD[$<H(L9Jv-BW,RBB|KFDAY#YQQ~BXMspAY ]TlYYvuՌɾDóeį +HRt;m%Fg۟+wAq(5a5c.rRNj[<^a +j~hZU%,?Y0f iTd+.8#UTpo67y86Fx~ktKˋ>4aT&VFU4^X/,#Hrv~%'Vi&oU/io!fݻ-eȭfA:vg svrΕ~}6e-yO_NR,D :4U[sI $tKtv*Wڞ!jmg0$uMo!u* PUP%Rj`+ JLo= hϻoxZ@k$= ZL6OnLx@r-w `Z(j 9%U`h p 01乙֊k6p+kGr=b3; 2<7;KHۧ( +%ܜ#e`|ZM".6ʬ|$f9%HVޗ9qU4jKQ6RAr_tj5XcM +nK^ r/kݛdv'ՐQj)Be 딭lK>yAEǮ}Ϗ8jܜ Ǡ8b?U۔ 9l.Xek+&(pTD^9L"[]0i 7B? UX hJX\-fC"d;ᦓUU&l^BtSFD]E +RI 4Yd.0R b> f*ִ}8%6iBr-AJ-%=H'>DU)yUAOS3Yd>-J`Ҽ%Ƶ5Ƿ$5FV/4&kcI +V|D"վDڈPj7(uU-)CF`dMvFE.(\]f{I 0ɞ#T6!m.JQ6[Lr69t*72$\")wU Ҙ+1~mlʮLR&;)Zi0AbRօ|]0շhp9-jL`}Uv8s-4;6je@̾mX1-" W{PȡQJJ +ϫg9<&dl֌dICFleCaˆyV~zK[6-,t3To/ O9iƀ99<-bpGS]OۣX_^tP5U81=#>~r5U'WОadp&|.+0FիJkF6asnS(UrNSh0 G[`ddoI& 5/{42^O\rӻRb58R6{*}!V> /=iޥBS§ZQ,g>W<_,(4cYJ\m=nrHqR}~HPgY/"vQP=6Lt5Bt_Y=70"hxRa/UU|$ 6&l\{d#!s7Y$OBk&ӌz6dw>d/LATޏ<◓gyVcᤍd2 دlEҒ ٕ +Gw^(◰SZ`kGdhpHV(RgH)7}n{Р`0DvdbA o$hlX_q#@[[kn'=5) ?t{F=R7 Tʩz*6E,}6DЪEѩ̈́tyc2,%4ol'm~3AZw#Mp /tۮ¾Zr1`VNR? F8"ۄwTЁX\YL]3$Qw&` && Dyo3Lo}h~lJa'waB,7<)N2O}˕BvDIø >B&l馛VCJW{h@Je`W̽{.7IuyIH`Ê +x:xu*ٙlS4&ZWT\*-ڻ0zdPbK,} +;Qsq2 }TƑ+){kS"fik4\xT#7\@8 H Ņ+Oa$&}uK녓.h,mBu! f[Gr ˘K|0MR8WgTS|7 >QoI xhCMXuA=rvKQ:5vZM|Ke7]M얙eϋ鶩 v]"`h |-mp 83! 7rCzzDHLۭ~e~G=A:;QQcIB:2ACwNb'2wib=VpzjH##o)5i?և)jt*_t23n8Cdѵ&٪.Q?Fe"n#<0LNALCj/wR?1Xb涴 +q$UI/^i|Y] q[6/r2 +X"$]3 iڬ yz5*,q¢'df5T4-00$JBȐNKzL,H?UpˀhXlv\$kͶOy䴯,⻈7"i0OB +u) +_%NU Xr 2Je[fARO!11>R/k=- =6)q&$ +hQwA =L-qe5 + :x>X-B\h;oKڔQܹV/́8ŷXQ6[\|XU[յ[{SԻƃ\-4Kq%$|!%'4xT cHhݒWw\Tڱ1u}fe/!@t{ Xej_ 4X&SbJ8$B M TݭmoF(;+rxjxJv}T ҫltTlwh9ilkakr'G9~ͺ}Se ?۫$SL4uhk֊%<$M! T,XW]eb·htp#d$T6 4 9W\tn((G*mF|5gϿH5EH/#5g \~,h{xJH:&Z U5Èzιlh*6#d緵cBX* $VNT,\x3ue/(Jj$^(O^AeQOYsjcK ye vspDnZH/2j!/di= >2OeƬfJK95ne]\&p[Z nJ i6xJ, &rggd$nIh鈘.8ܫL`w|b3nq +b䲳`x ADӒJsԔ]jWnqW Rn$LJfn(:[rm}dvtKYҹhZ w胟hdӅJTI0> r˭R&ˋXB,q*. +XDP1"]LanyLأ(FSF!$%{fue#:H3MQ9 īel3*h[ 5-ɊΒ(\b!@ly>'"%XmGdYH1f zIB걝y׬uPE{}"Ƈx$`m`97iO0@ϑ4b1>žI]S.nmc)'WlN|4`ķ{!\X7ub"4#I4h3$8B;z[o-ˤ(S}q"])'4Rpژlx x5$̫ OS`L.%?54zU˕H0l.Ԅ x>1_Xb |_[oF\[icJcd Ch +hWȐLtz(q&Z̖Nzրn95IQӢΞte^ٳu.Z1uY`|2` 7cƟ`v xE]/ #e ]؅6 Fl23yITvdP1[؞+PSǐ>N 0/Q b#!60!X[BnSw7\usW]oȡʷFo0h*i*U*EwfqZ_)M+*jO/Mf5suq17JfYFysq@ւx.}m)>+Hu6PНʒ \*mU 3u9Tp +;>hBc-d"x% |7#,z ܒX_TՕ+ڭ +&d?0|P¿_Lkh M vxIf[f1\ˆ걇h^i6uUD,N?HJ^&ĄG$3dA3aQ1qi(7!Cnt*-\#HMW~($A 0P+AVZS Dfl` E rqؑªA2:w3&c0Q +[^o[1C}bڏ!BJpw.deV6f,M%[{Yu|&ƆQ)z|f_OJj}L?Uk +>+중OԼK@$D9zmmg&Oժ븨K!KtUuM.( ˁE+)]j <@d-)!׌rBg ȫsH3YY+KrRXIk)*qM9m-K |ܖ< tF_ d^,S6TEe +6GJ,+#bKJ_ |t̸]rjW`I+BAUCDŅ+R+8N#wB2GD@WE0W4lʭݎT$ܺHr?". lg#>dh %@Dl'\3&$:L{ +iE)n"RK*)!]4P(vB Rm]7*ԉCȖ1$Z!z-N/#|4RĕK}}zێ6pJ"Z^FRuђ*zyQ8lЧD U3-JN1{rS&ᘤV3'[S(XE +,ܗyY#k/" h-2LȪr)9;'|j#Jrf3tԁni&7  +/&$EӒdڔ鸸u[4SSgF 3mq9[~ӊOzfgdeȌ~ZBRwM׬d`D'bXmb2#lExSҍD~E]1Ddzr .(͇ V''cM xKvXѳLΐ(=C!p!jecHrXbN D\.:O(q4iɍ1P ! `,(3%۸MeSht@&ajw#{O5|jyq23T=+A%xfhn )6 =vmmZZE?@6$p#!XeY-xul67Iľ EL+Ż9H3h:[9=YIf5CɎT!k;G.u(TuT$1,bxA=6~Hx_ `L/QCɖN*p|+Wof䶮տ)cʀtO$#4y*/~ҥoTN~L$Ӳ @ EN!UP!9옎(ѿ7t,L(JFB Ai2@+U/\ MDyBڳ3(%j_ 6||ߢ6pFFe|fB9븖Q+d\˜ /e6w:bbfɫmbە-S4QR:߰@u75%;:'"LݗU'2N7ZؽYEC8"+ 7KAb!wH.L.DJ\ѶNMJ06kܢ_EqUܘXSMo&pkf**LU +$Rt`h2Gpt\?ZԻ)TFsc-YL$g'oVA/)0Be[h{(xzk3d-?Jw¨d2UѡGLhҹ4]Ìh:v|'*Y6iAekXV|{-X& O0+6b 1K؟#T-MJ9LBE$ SxuvLi%-2xn9@{[DP KYai %Zo\: F}:d(")d4YlB~Y#Vy+!o$;!lcq,8GbTh 4g9R +][:ҘF ѠUulWfRtV>P\I2I"q>b01 2X6iuFiE s`rU9ae+!ltU"+ק:X0)_@Դ[M陥z&D1M{gE4 g,JŐ p4->JT &D{8[2c^pB"9B +G޺MWmmM*+^w0`"MsLus(Gl4!pc. rEzc b:vBf 1v(JnՎ|(d7C0JoPURǾos/0FK;@,O^~+)WA,׳*jXe1`Vs戫IbSl3m"S %u|H4Hږ:2DM[ң4NidQ(A' : "}# QؐP:# BBrW+IO)Z;Zמ졯[B}?ҞUX?' g2V|m8H +]-8lQ,{'j 7ź$sۦ]yS#T̉k{+mNuMEuPL :IY*xQNO;$* }uU;sfړr6VV6dS^k˫'Oln"8J86qJא(\R7c̊<8sqVl3 f~2bvES] 8XBqr;5~)rstph$zӤi dTz;K1y u2'oz.%)zi*ܲ;A=$.SYI#=aBs͈ + nctnUUtJ 4 ?!FAXhYڂ lPʭ,GXDɴH|PeB_24Y\C*SBv[v}$&C2Lcsu Q:J#:3Bh)9~\\H|'GgAYM_*jfs\he<{]'fġmNۨDZ_'ĥ֮Q?N.gSف0^&3C] niy]iu`qck`G"6_+.(h2uZ;+fz& yU*C6@C 6WĤ ߠlbLN91OIyܹ]E$6Dtbn/ؔ Nf+Be̊儷nVRm>kv6Eo^"eDE"[Vu>L:ٲFbl"K;ϬM6sվ+)PКSW!CVΞp8ڍ]DYtE`t0O3FR!E̸(?[t +,64CKi#X[w#@6(HHnBF tAusLff1bz@X a + */Qu.[9 LO _(;l! Q='tXD ] fEI9,6Vқ`T^iW +6a@As|"ēZg4KH >V^ܼ5mHElۜR=փ +)ՑraGc [WWh`"+0: ,ȺffkyRI6+?# +N3צ^;F|)UA^'(f]v}U7"TTkG- +RT鄂*RJJ:*~%d8C[s)u^nn/I6H +rA5"cWqzl/;0lC-3;jE)8ŕ +?4Jޓ2Xοdz_F?od9t=2\ͺ*w.]D5VVn>PYPUUl>%_EɜIe MASȑnFC{u nDؔ4NHNӎ$r(kpȊx$6tuO%j$>jeuȬEMj6fZ +qf]KY!ټ!,6QX*MH|DW ʚ_OQʊ m Lw_J;ʼE!XR7 㧠*| !S:s(8@/'c( *fp0*zbX8d.@QPV.́: T!Ϟ`aucYB/`_rقg.D%ܤ%.wmO3 :Rr@Sb1:JsR8.FH mC̲؄C(P (V\e +Ñg18r$Y1(+I@ؠ`½x^g?ܑ*!<:qnYn4 +k`)qwf9v9K/k{nj@r?oR5 -vPrU2 +ev h% WNL"uAq%8BFÚn!eLTŎ얓s`ҭFC ΫVQ~kL i@}dM1n 쑯&͒#g9 ˍ<6E0N. "<ЩQU)G-60C"D4#j-Zp#c/A>#ڀ +**( +t"תevXIa\,B&PèKJϹR B.+Me ̱)?BY8Ӕ+tx8/߶q#'Nk +ސC5Jo<BQ_'zMq)4<ҵ)*gr赊"K@_UtDGŬ +17Qè(FFq1D,4,>9t*o6zYcTH9f ]ON"GܵE-% + tRԉA kEAMX[-(SZI(57&iXg 9"^o,ŊG¨Y  +hԕ0ȡGRY;]y"VyƉIhqF}1<{cU{#My +5l)zXrGns_)5̳Ԡ|bҍ0Fd SNHZ;jXҷUhXhB2S향?--+:դv2R6ɞ_$K-BRfԖ -  Ԉ`[e/7B7#09LʄJ[-er@3{Fi?4p=h/&䭌7MciO\dʤaobcjC2\ dң.£ ykD6 + (Y0{I0Ljz2_KUL}WTg4:3VBa d**}mw!nBb;4xS<[B2֛+kGNw7ӿD|==ugJk]"tm7$4 ]UIϟyFzxgri]QhoW=DObd1wV;?̋gLntCK}2a]pֹք ]8WLC]Iדpc#"zt~XF@X)( +5O"TTq>Ev:hКMwbEDf)L_5dkB8Z1Cc+1E $GZ9r%i:)uYT$] !YJEM`_ )ki(uQ `l}JiŮXpj> hEKvFTJ Pl,lݢ2@FY6&{4dxѝyt[86URe)$F + 5 "Of?VňLMe9‚~(bΞ J@U&B\:8xa 40*E|k"T@ 5G ܿw-[G{脕U(L%:1MLX7MBNSLCMBfZ{.dfT:ig$ ]# j-;V\FtʡaBoj Ϗ%i +KVɯ\+6J> Go.jkY\/ \BM;؅LN$!K6*=PMI`Wg^<$Xm~Ucʯ |+ eX'!#\>4ᐬB?Ϫv%ZS YԢx/n' dLXlLm֙SEdV\bdK7FjJYRdh5ьAiat[|g2[#flVZHJ,Ild+6y[M'0ďQIJ$*N~mL72^g7̊0J!̶xMG_?t9_z +gG&x9Q2:ctiVYV09f/V092a)'α"6E7>+ߓD/O%U(D'rҥmדRf; ex^G*SYih: гxܞT M$IԢv@r$ 8!ݧS4}qR^Bz8}P7[݌gk.wR16¥E8+!7*bd> D3Iq)"Y*d'|B,k<uvÉ{ڑ)Q#My'jdLJ`e%TEQ!m"Lϗ5ve}S(P| +ͲЅtQ%9OZ7X]dmew1I"QWP"vkkx + rOABHM,8@'9f !5*Z|S < +Q+^"OU Hc%H >ZzbR2&DB\=4%5v`鎖7rKMmZe+ D|($v/EFnj}]X}%JPQ%]򗫩.axI%J5͜`!OύѫA@ ɜ\:WR#%dk2i!#[ˁIgd:8"Lu'a-8j'6 qCi<6XHXpWBjlB%9:Ѫ'`~[C'm J/7eTs1tg~@{rnj\D񓊹g ]fwJGJHCJO%:j-L2NDi ;C؉"2cLcc IYi }FD,B],i9iR' +N,.$݄12n]8&WKBV0Q9|dwASl J*~fX>"f{;`-~_~< +"pW$THp{)I99?T%=BzfjVKH.YVl6X0BҸVf#=vQ+:XQ #.ƸjF,IV*s!|M|ߤ0 ymkCI oX:d+_•jH|΃߶1;>c :PpCZm +&hlWmd% ,150p|WOh}ae!,Mw >͑Hy LZ1as +1`8wKn+WQzc>3s˺WW4ڹo뤢E55 ;Q9UZ[j%*HԞnnM| ڄiOu;B #\ɂm,&*I{F&ʜ3lsUPB0Oc,K wRD "JʕвL6hg0Aoj>WʲJ!DRQ ؃_2ڈ5J,xqh<^26 Xt>Meu3#Z/h6ѷSGՌO$M;AhR=!e5.hUU!d-,^ ,&"5qfng# EV(X]Z%kl|Rh+,sذ%fVM;2vgbnjίj>3#]#iہ8\ir%kRv*AJ%~O[P{t_]g rSֹʚ)dhR9XggB)Q߄YXպ%b$<>',LjZjYy=7b<$9gc`L#b.QP> ` br Ge㏷W_{~82<{4oٜczHW/R66bNð{lZpEq&"S:xUjxkDm crMjs@l-$J]f` ,D6&,z"*km{M((#qnK{IZsdTB4T{:H-pv3|ޡq*Y-# t~9"XߍR $bYֱ//'"13;J ͭV&t3tZ՝ McհǩjQQ1;HjqʇL'v\`uHtvLxT$4VDQ2(Hm2书̞ťN#;;ϚNЮ @$0d@.zIzI/L9}NҨ* gN}YȐ*nw8t QrNgLX8]~++(/DaL¤k nB 3ݷ4TK|-T) kaK#u4bciڎ9v!)OyȆaM{U *ˆAJ@qyy 0Br hD*KMU ZD Y'l`]"I&qr$xH/ n9m }(Rki]RZq_'ua |"8T\x >WT kMyhlB;EbA)Zv\F́pMY@!Hħd޾(t[i2ɍ$"%+RIqcLm"c Pɴ|^^g mSʊ%w78!9orI-zJvAaiwiG*ٳZV#I:rmO ړ6hBDfT +NL'ZM(aH.}dJ2+E&d`4+i11홰|Y<0!2b`FZo5t,H1 &\nR7r-8lX-ȟrfBL)PME$gHR_,*hTC]!I7&E_t>>.aRV\5޽jūs13;*LF!sZ|Hfy~KqC fjӴkN93$)zy>jc]HRK?+b@RJ#^q#2RZ ؘ%"*`NL&USɡ.Y<QIyX/ !GeEjtEL13r$ҤF:HoV O٨$ReH3mfl$ܝ0—w'(m.\АX"38;c]Ƚhk7 A\St4W\&",A ++N‡jԞT0 &Χ1 M\ =ڔaYk][BtFN/7du':. : +NђX~>hYvEgaO1k8)1S`a|[ C)NfQoݖ\ Oc0=a'Mcm4dJW>Ѿݴ ^ + z`FR:2KW`&O: u<˵_*0EN\OVrkWtdkMtQPDd2|' -y1r:ɚB "a0R}kv,&8~&s] Eo6%y/0I, 2 ,)m*%.Ѫ<;'(mYɼ"I2,R5<^xg(HEY0m>`){c[05,3Xj@25#y*Q+|I- ]Dh̒}x%\?Ѵ#9D-:rT$8r|ʅYcOi@dPj't@̝rfh{@W%dޮַPtӯK aO#X.' 2-RىQ XsRʉsycٴ{vUQP2^X҂Ճ Vt6 ]+HxC8X>>SNAzfFL /7)-4el_ KG OaM-] ٠$LȴJ:)I~E3eTO\-2tJS!>:,L/:Xf*!s2>u '[h_1'S'yQF›oxCEL&RCB6N 5,U{Xԇ|6(~j`MJZZ`LiEɎEL#2( X"X\骲*EXTQWo9exe)^XA}cSQc&=iyHNKK;ȖRtxiaclbB# +/IBJFlL I0 z5./+?hG*?PALk4! +.mmOj S]pI#FDJW.ҹ` 9Ij9# mrxH`lHYϋhRVf%|Wb4MdoS%7PcCi֜(0)2fzlО~jaafu)v "EP>Trw""4F! #Sh# +gȆ9Nˬ}Iy֙@?nњQ!kHuE_XL luY -Ăre+*o3/ xF,b>5+@~DbA~X1JE < +__9yȮȘA ?elP {!L˯fMLu!l i\3u7'x+OS+Ux uyU]i5d9u^.GNl' KјBa3X%k[>ٺc9$`KWf|%f铥lLt\f/($vz(2uU3c`N)i‰E#Д~b<4C2V[- HzYXZҚ*"Ih@B`$C<#G>@/1+tt'Ât',˒߈a|ܢn^.j=͂)&ZK)gPH $I`۰|pܣ?wj2Xmq#"/k_.gI h F%=',Ž02l2,H" mʖ( K.¥1hVH'+& 6Ҙz'D_K=s)x^5=Dcd6`lEvòm|. *[$:K;bIBX65ȀWE1| F ] +WF9Y,rR#}x'( +fSR^W:']O+nq{/drȴA)2D tH|<ܚR\9T@܇1cC9L׉X@tT$@dfpHP-)K,QeÅŮ^&d13꜎\scyVPhP=d"1^'G!J;B"pVK cA j"v%pVV33ŕ6C9i` <T;0ոaE WzU@Lڄ2~֒^8*p\@&$Ѐ1= H87m/;;Sw°;Nf&UeHD&! ||K.Mjb/eၤOY=5|@2Y#Fv>sJw, I 3'g ł%(~>4HG  +HDI谺 + G;3497|A8EUpYu21wAd/;,&KƉ8hXdtu劀RiIޝ⯔^f Nvȱ@Y}εvZdWZ(g2-D5̨͡<'B +qs0B@<Xa4ވ32c)XrclXNPQkRDvDܗ{ ft*@h]YΈ ?&/r@uiȒ)Mb6 MM>~B~U/w.C)zDIdžI/pHNPE\l XU +5c3D ˈv) r2n;:Ge5Y=4 ˊϤيٜutVtym7/Q%(y)cqiW)VZu"twSO .#s(<-Z 7/-p9 +LfڀvWK)>D+c)2fbZӐFJ-8d yM8Q*|fKz]I0 M)v%F͓Lr孋ɧ։gCσfvqxXRl7N\yBx$o^R qbJ2^^e1I>v/5j(O( -n1iE#Cءdm@pPUxr!Il + X[*hJ(r'+(ьݗ)rκ|y3FX7֨N)ĵz㩒qgR"4d3a88 @ )11,5W5t &y~uA4)PNl^Tm֚աv;KZ/;~K\L"I]JbT(ɳfi,Npb"IhV۶j)3v7eiOdJ!hq𑑱p݄^(lhD1s<-H9HCC4e9'bV?HǰNbTBvL48J'C_ 89g|t"C7M(ྜWik,m[7W1fmM P#Qk@W v#.NH'Rc2i_ DO.\EuI4?EM✀yᲺMRFĐRح5rTD!GD狡A M6߆ a"q @X  `d)b *u]!>F- 8f V'-; i|L`$F1VмOq‰sgŬ.J,iJ[%hiIN H,>dv1<+I{v%rM48Q|Jo3'&vGdH\ɗ"tF&vdu׋:>ak)m^X9 )}ۘRWE{8 +G4Аtu!08@a| O]UmyV*$~BJJBWXab˦6.Ihe*yHcfm]; &qa`A +s8BD2{W/N6<'Rze*O\ʸ^{B+4^zBŢۅ:+J1u0lahK> \@'_$a9J(Q" (&uSy[6&$ }PRHDC%*#96h ;>հg~U猠8^E +[#;Ivf1+nE+ .aYi*Mt*P\ +iHk a +9u?1ն@X@g[Lۉ;X! XDږMg@ϫ Uʤ0e߲5,x_QEA"U촯W !V=Y2Ԋz(⇟CguuJ4 taΏqpa;4xN7pםȸZtAYF% NPۿѳ&=k" -6LV( @NU0- ++mrR/L轍H3ZRe~ SN޺ݽ4(i>?QKҿe`PیI{&bA)/r\,`/M75؊jT8 Oow&c!&[p 4Qkm"!Gphj*[-ѢJlI2yh'TbTmsV-^GtW*)b6o*3Z; xbK2J]yav*~yis0 "x`+2*6HOXdPeƑU 'ԁ0s!I$$zdDm,;JRAخP:rbO4/mB>4$VDsdSIwnCiX<ؘ"_tf +E2USJF (aa!pAuEXK/35Dӆ4UYz -)(D$(2Zrf%"0ҷezq)b[+2?$QxV+0$Jz=rm2'J]sʵ +WGu1f]s5lR(Ȯ8 `*0Ŋ5 (5#:inĊ1+U(34rnVxˢ켲!Zc]BB*wljիLE&Y司S.RfTYfz-= +%.0A}ӊLq#$#A3I!\ggl\a/ө)XK +|5)VNlX2&tB{DR򉩼^ ?vK$蚿 /X?!\$%l5Zeڔ [3U(""g;ֱΓȡrGxuEۙ҂ +x%%'#Q*>:iu9؝v(lpGѓs)a9ϰo~Qi@F:h¸y/" &D$$C27б>1?-"(6RpX9mX:okuy]"|cʂ[Ą^Omq A`d ∱:⧨[fFePH\s&bC _R4l:># s0h̊NRnq2qtLLfLx{D2H͘T&G +tNerΤW2)~ [&y- YBJSILUZ*TWЩr>br+S ,lQNpsNMqK3 *uo.NDnHmY$*ED"ߑZ 0`ib~%O@c8iHxMz/A&r\:R8jD™c=.WpUttXy;nBm7.{'`[ UrAU\e aCkry$ULm%8qZêfIO%h*Y8I{`Dԟ0G"&NyT@SSJ\ՠd$kI +8B45DžkًIƳ"avT9`ӭ` & YAK7MD $Z8I""nfa5aY&YBNޒ†%qܜj} Yx_Le`JQ5Q#\0pކEב8]C'xQNi !x.2ڠ8^d(;4:܄ eYF`PQG{-xE J P:kvBah}+L f˯CrhЋu +o0{)VbuaK/娣- Je͆B9G"Ժ- i(};RHlUzaud9r.a)sEQpU&YnLgnE#zKmWT,  =2c++SӋz )%Cv[|YNvb!1.((K͂ꭴ^!LGе0H'icGA$B \MI(.Gi8FbҎ/k;'VT +bA7mk,/hVx#ʘŪiiƴ:Y Uyeb!#Dֳb2|RyW}W1隼aM&r tr!jsw F3ԛ" Ogb^j*ϗ(f?4 9kУ[6ݶ{MEI4&IV8XFy! -g7;#%/>jb D/{C}AnGĽM(tY]-hA£Wg@$ l"K/ڐ5m5YLV;)&ŝ* +RG#@Or:d $šJu=&8̀NjK덢2-u{P+RJRS:dkZ+em]k_8 t CuA3"bvMD~ƒfdk6L h6Wb l :>Cn+S7EIqJuHPg0TE ^*xZG2h.<у"Y?m"D;q+py ,0-=FTN2$ȗR p${X +St42݄uM0P5*}Y`~©5Ta9`}mB+q>zP19H*>!S!PyílJ&ʹ)iŠ'qbf%#ވ%465o<;Z-FC*v{τ +g,+Vy~BN"1?>ziKMjrVڳ.YN&g,_i_u'N4hc3%hS4o^5ֈ)-J R 6]U$2pH #ihC"h2Sbj=$<(Ǿ/V(p$vXY"nM42,AVyZxVPO(y!$j Ƚ4m̗6K2£e8vQd+П[' b *k$ iSra +L@@brl00XHnl.xHI7H~P{njMȰ$L-I9 +x"p2%LVfTu,f7^)IfaKJExG ^[RFBfǁw{-22Q > +"v%ׂ!8HJ1yIh!pPVʄW(Db($JGU73-ğҸ*d(EHr(:8D}GDv)M\MUztVIeЯ`fq2 +u5:#WIQ25WNT& I>d wJHd $U!P| l*?Npg6LXKfy?} Ӳڗ?13$ 8IzfI`E0}:~(@qKXX /x1Hĉ]z$>lS5@6}ش *Z\4(O*#{JXאR&&2E&Ѫ 5C He^ tB6rʵ!2J= 8y& +%CC#2[PG Xmv$^ {;{SH/έ\I?R2||')vu 3["s-೛޸ Ekm#eSVJK'Y~bA 5!.>ɽ̝Q!hodI E;H[`ط D%!)X ;aTE7<4kjQBBC^s)*IUwD*jDpV}u"4Jheط_Ǜ@@ervW,&)3k<0hB:[Y$ VRM>nW^ L ӯt"UV!]QLJ6qT~ EqcC7]k 'ed:T v Tqꀀv +P1ihnnQ'RҍWUa +,ԉKw@GiSWQ:qh@1+( $`fo F;[d6חct0KxJG$FS17ڦa +H!~Eʼn>^RN(a?)RP-ޙTpF LGxB0+d@pA: CJnZ8E2($Y}pTT(&;,е.lA->A\ \'Vn*t;JbXTtl 虥0P[ +@Jo,2t^ȴ孳Rf)vtbEɡ}B I4gHXXY&vLHlyS)+Q+vnenr,ͭF XCv^O8 T?935ƽ4J%qziUJ+R4U" +O +DE,Pɱ}2jV 6`a֍0:>\nC(UO92INU\ВGZ1krgħ\!Y, j+=:C55κ6h݀`-(fZetWBS{R$CXHDKX +b+ ɳ2/6Cfeg쳄-DHQ0a+ GνcGQbȋVM.A (/ƺ^X=#+8\''i(PlDy+/A3PaQ O`M^11Uf]/of\س*=DBCN869sN 8dX+_0:llj>*ZݲIS+_T)}!EQ8ik~q&6n]EK(Ev-xz%JOʖԔD|]P~Acn)-mPM PD~¨]դ_Щv ` +~`O~϶jeLQ*+naZi>XcY.`e]%MбѦ[02@ٹbn[$Q)gFqeYKIН)lk=\Kh V9E$&̢$"ID|(& |$K7p(دt-4C'p>L"_HBȕ+fDiz2ILً[ :!BEԝ$#bB{hۚ2:m:PvzծƠgMd\͌zŤ7DJM~zFGeGq&[tb%BTmIΓ%ܬ PlH!%I?nDRPp(Fm&r(]͑y'^Zy,QhL' +hwN tv5lyغUrN{'rIqA4e; "'XD^ӥG&X8__iKpWW + l_pK;+cQ(P"GH4V#82b mHn;qƐ.kk:X^@ɯ  CBA !lcFbZR+6Xw/p[ ܿ'G;=X>;D϶+)-{Q)%kEE.#钴WI03G"ƎA $xMc8r?eSh2r أu_I.+JȜDT2bतlrDCԶò"=R輊A +ɎI3tamƦ'$ak, yn9]e KTxB(?4 F 7FͰa^Qо%wV$Ys +r:}I%A3T<$܉lPjE&ɈV)eZ+$bM\`H;\PJ XLVE5?pEOtTkݾ%`LCLsM3*;'8b:3t16+9=uQUbH"}v o]8]dēWfZuC wHvՎxPfSFPoDgr QyICZ9M 2fo h,B +6БY"@NRW$o-q $>X:3a };,kUM;d)DŽͭ0?D ] uqO5$' [$KhP8ᄺ(ǜ/PzHM|2,ɥ~СԏJ)@sTp3ؗ2O,7\zMu2Vl6";*4&]A[r*_P!{Fδʅ 3+*tU5H@]hgX*\&sOmQ`3g(mYc/-|qdrqo,Q3#pˍPrHq@p"#U \0SJ7m>jקa9GUuʾOMH\[ڱ W@aq_Z*{I./ F،j}=%Qv3q#2Sኌ7Μ|Vcvh$Y+_6CuNa|T +QUB m["be'ti_E&E}*A:’YEo<@$2{&E\ƍjjeb$DrS\*?s" ͽ[ݦ%+=' SEIiXh^0$XBqaEX.ȳQ@!x"Bs@jD@eh xUIYe/Z9ċ4 LcX(0EV +LVH +,2tI|xWf~NHGLtS}2XԡQa*]L$*nh`ߜ)j_ |&çP D=#MbbEDuC +au Ə&uH8F%,{!Rbg!=eGJY,`@g4Rx01aEԂ2Uu:`pR$d4lAVHMV+-Ia)*d_=6J2ABRjtBGV0i/})]D0%m^ W'f6Q[,qL]ۣҙlJ'EժfQL ]L@@"Hb(;ZMm<0}5O\vPC˅jn#c?BE &I`XK58}ea+/̼%fhםЬ kMbBIb_.(X:\nASHSῥ3Čw(oTQ( +"[#-ȀX$Bz#7e쩖~&mKRXy_ւ]4PCA+. |i#EI{Ya$\AD-8W"Qa?$VM4pԅLVNCARJPe;q}vLr\RTP#-%wcBJ#آ6&0"&,Qv N [TcE万8U >9Z*ONmVgujR!HSf|חg{&̈9 gp_U:6ԙ%hYnhec&s ʗ"Wa\}N ^LB^&wyiX' V)jQFWMlkS{S$Ԕv2bLXBޙo峅^RE+ PT|DKg]NVs^;g*iQ(,Ɗ ݋)mӇ!E"CmR ?BUitJ4.h<ҕ8MFK&*䓚]"1L5P$e[ (X%F0[*ʘOʹ"M`/N0hK*X& rЌR;}Ғ}6yU_ݮO[t cZPՙIm/t4;KMhŪ%ع"%y7*էg>αzUHw)ŮL%,HwPE}> :ς+)ݫ,Ͻ7YC'ﵟaNfF[J)mh%*J"bJ mDI͇ 5[`&$&z,32DIzc6KCƻSh*1/Knԉ҂*U×QMѝm=qA5ϸ+z# E*FֆDBB'[=lgU (7s"bE5B>K*THCS ]enI8;qSf4g +ŞwĢ! ^"{0rx٥I]^6Y%$.7Z(z +}t4t5KNk'7i&PEN42Z\PqIa3F|+t{8 j&jvZs_B kjT=U HomB)Ys'5 *<̬(ui73Eds\JVV)n.\ JEpdڵԷWA\,RX*"/~dR=uE_h2nClȵ*tX\&L  Y2j%;?*i.G:09c ^]m䇫ep9CMuBB"(]P6_;ԙVHY⌴*94% ^.+ +K x$[olw- +ʯudBl*:e#EuUU-٠9?֕FTP(\v:5DBo͍\YY␜ T@ F""fik,*azxB$Yci%QWd_T)wQDmFIq# )m]TZiNٸ6EIC=?*<7FcW6sZmM̋;."d.l!WR–(սH@zS'^ּ%Ll-$dizuԩ7$ߌ$NUYiIgtPt.AC4LN]o +ˊۺ6T0zި½`ԥXGxA}խ8+zL0h+qIT;)bmwԈy? ;R]E*Y&:GDHgY׆uzhyXb#>ʩ+!ҤNNن?vZidNۺKx&);Fk$.̠"4hkȩ$$I(byB( $ DPap/: MH&E9 %;x PF1ӕX|?1Jq +?kNg| O;sp D'9Iܻp0gC?9eEPBwr+BK"1ŒF0\X"w}wʗ[ A YB4t,/i.cC)RlK,XBu9VOh5p/ +BlQAq]=nk3G> Qm,a v+ /~pcig f+ƨDԷhpÅ%gG2Ο p!*l}{Vqhl +g* 2i;1R`؞Flk#=4Un))V: |{wי$v~u+&HUU HkP + +މ\-l倭f,m ,.ZG6U +I%Q2ϗ?. "UlEɈxrI.Y3 IZj!=Bz"ԫd%(5bn,lQJ1,nb\[* ?r=)O2zM%Sg8E. Mڙ{:FQ8JQOƳ\!yv%rѪX]E usXn@ѺTi\DquZD-J&:S$TR>W8efe0t`ʤpRKa\kv{D p[qC4  6ѥL]_H#th%nD@5}+w[e";@IShh!ؑ<[L`OZd {k-ߧ.[Dq;E$Q 䦾H敚%IIk7BJ(NHuI(BRx ++76ni,V˓͓ADufqi#(A{K)]oT@h6 ݶČoo(00WE,f¸Z9Q&Ili8FyVDHjXQfG^2x)ܡEiM&HWyKȡ\f셡Q9^Mb8z#~ET,1q?0jr*(ȏTVfK&Mk +.O~^|O5EV@:m<ޙXrӽN}.;ܢ41aٚESEhӼdM9Dnbbv%U''Vk~!5qz%YxUN&[K=U X̼-Uvh#OuzIZۨBg)hьykuڄI p3aGqҡk Ohф¥54n+6MnIeՂ"Öw3(a' a ݂䆬2(pZTW=GfDKxd) R.UgDl-iD*SK3d2y~6W]䅃 :HKӨD*Y@LDӸ'qtrX2a=dj+&O2<SCx£NE0[әwxlni2ΑE%#x&ΪɰZ_8,>Z6Tؚ|E_) VdaRB)1AC "Qq ME7 TBWZYSN;nV(T$/tJKIؤEcd\_Ғa'A!ȭzЯv/ƕ&k ӆjuo[rUPtab7LcUqoGE DĢ:Zލ[J l]W# eTjb^0,WZB$[-mO:MhRܲBlh25J_MP㘳s +h[}`]/G i L!2Nӑ)? !6O@C142hWy!M|SfRC:(tfI`A}_$0q;I,0-$D.`J!9вvZ8" ,ͺmU#:P~J)<JUiտoP䚐Er +oWKmbûo%lQxn@2\>Sw6T3[X(l 'M6B}}DXL"%s +'g"E +?V2uɆ +[ aEwMH;+iO]MBk~Cq{=6=# +}(e 36yx*` \!m0i ̈́ =\$Q8BԙiӾj>nHJ %LX$"H\%d=DM'XhTP6Bş^4+FfIb[/L垈 +e,[#XDDGE [c)h_T pHWbt62O,Kt(*xόht_t,^0a:餗d\!ׅz3=nv^!0ev*&sB񽱟e1DLM)TFp8"8$ۢHD.M:5d'\'k'J$ T *(b~ɕ$s!2WN["Ȁ|X `]4x +~R#J*n`*i.o?k!Ԡɘi^YЊmbcťJlIgI)"(,;E{{ H8~%Wegt܁(#S9 +aͦXԥ ޫqp%ᘿ事p'3ZX+uHD:&?>uC( X1ӁB&T=fxuZjW|[(㼬rђ7?tS/$t/[wzwM(N$c ViqV3DGDoz+' Ir,6k@vu%M^qY꟠ ȇv4$$ed-6RRdx6͖9/>5}4rSnAQ}Ci' >Zqb`٠z)Ϫ-qes.n+5XO&~R1Y&(vJqL@s2fՎL.IДH[egfa=Mdg5ϖpRLpBDnKFy۱X9Qem[<XPfeRX(|6 "tUɷdm7IuЪ]QDR_ML2P#-7.ҤRP T-$i,[slPaCoֶO1(\|Qs<:I`Hp܀čܹ6"x+ 6)@U']L)&dy&Ȼ-~{>mim$&{@VRI%OPEJh@(MIJԐFhM ö~,&&|U׼T{FĦl6IYJL9AۓŸF)%|'I5O%Bf6 Ic踎TSH#+y(, kL%<[ZVZ(7$ֵӝm;"@,nZ'Эyho,#@ts>Zg[pƈ'FsX}"l]3C? BE!łq  XU l+ g䎙Tj[ʒ?O$;w@gE"*fɐAaKO HTePC5r- $Y%Mŭ%qJA;dP:<∟fL;a&Q% + ${EPWDpi12mU,H_w8Ы[ wbbͶ$L۫] 2Ɖ]FiI*ȌtI͐{oKGXe& +7{,iWƁ91:tDV%v2+++D {ٓZ]>XͶ2PfJAuX-<)"Aq<U8H]z҂– #3+,<@gG=ۅ>jp9%UKJ--}a4$_KEMi1Kk&ئsDLY(@KX4D'vN%-_]sr҆ZUT8HvK4T ,$YM~0 Hլ +;&pւ_Y1$JR},AgdmEtRrsIEDiO*`pY+<&UIZhZHqD+ "$RL\r,M$ȜOh"ߤUWkWj"d&DShGXzn,:UqJ)tS K*H݅rPɠ\6q@X3Hk9UNP<q y\UZW?( X&RnBlWc:0.lNOUC +Nҫ  n 6L1ؑ +9)al<0ZOmg$v3,_qivO#Un9>1xQEGJu$ԃy5c i_-`epjWn[P/ԧab 0JXĐC\f_WX)$IR;ViB%jɺU7:n|ZڊtX̨4X`":B 6zF|3wVeJ5{yؔVɩ596!tӻ5#?یU|ΥH* ] l 5N-&*UݨxĶ& ekaE'0ٗ>tIBXh{!l$熉"lg,DDĥʒyb.JGUCj8:*v%/+jg%X2l ]( $bMKRkf{dB$ +'(*> f"lĝnȉYt &`RXPlT+Aet(͕_*K3:r;ɗj"],ɵ(PFI|tl3Я?Ȑ4 2_^]wŌ#+v -[+%jkSޘ'т:52a^и O0b^ңTcr~+ g~-yߤr%((_-F(#4_f7bJ}I-u=ҵBKk˘*αGܺwJmf i(m@JdWXyYNH~N@|#|/RIԅ`XYNAQ1'Z=#&JqZ28B&$,Xva(\HtrXg'(xC᯵ Jmk 2IG*.B2T N%cvYa> U$Ѵ5(-}yR|ƯWp_1e^j*Yo +#dOiF^&DֽC>^C/ qYpBDDD̔`jh_aD$;tZPlDKjF)dM3(ZfzK6HW2U <ƞ>D+8;#$H-^$Tg^3꯮IL׹QKJow,v7'&RMլ J%9@Kn8V:=3+St=4\)cnȦ ͹Mit&`b!UX +:e7/Ryz[Ho)c2.C>ښBK6Jj:mdfȚoVs3,OHRjDV)$DPBN>bB HyFbD+mc#=n *>ں0f֦ܨI*Oh͗|&/)2)s2S+_;4>@ I0Lsv[UAuIp_Y+] X辘[A]UMQ*d`>#$Xa(r'cSA8@a<ٯwDv{J0ɺ7t5 H櫦M(EliG5I\jZq:bD`GG,MI'N#)K#իp#r@MŨ8c +QհfSXu$q=K^Ї8]-nDiwj+PIM.^Cu w4ZwT_&J>$yQQ{8UVSClE$P'Qٶ8wCfu{V/$O/A )$$qP6U%gQ6EEusCdAFjeewEW2 C4Z:`&XmCm?T97SR +7C>[LHaG"kJw$3-Uѓ닸$A:QB]tX˂,DP'e,8W됗ad>螗H+$ANg{NdA0;$I!gw(L{^el OɟlO23{'FEv𒯡ڴBe';JVM'l.X <"Y6ҚdPavSAe/䲂pt؂)5jtN*M.J2|O̲ĺSd b +`j)PѮ!1-̞Lm9`kl,/ݚMpLD:P˲%vrHUo*c m\"%rZӌhZ}%f+UDC#[q<0!(6X ;UJ҂"ZGbZOncIO1z˂AbPˑ)/<ƺa;HugBi1c4sx&J"!xVW#9CQ#ƭ<£ +^( KbF}.$U-3 M4|ETܪgD/>kWp8PЌ*}khQDqp 3G*RX~C-XS?8"S$%yzcv0nr>2<Ҭ 8 KkKŕ4_+v BRNZ.jMV[#idT"\\"llǂfA΂RZՒ\ +-eOb'J -BbJ[ +[$ءk8n( +_ + ×\NUe>q^}XCP4z qixXiaĩ,՜!\G9S JƢ<>Tg̑|]"Pv=qt[fb{P х&!b¾ A]R +[h9]X@L8R}ݓhp@:)^ԗk]WFns-,q'ډrწڮusN5DB|Opd= &?-ʀҕJFB9G*T&YW nV!JeҺ-ADd + mԔ4$;&*h,-VX6ì3,SR9W>j u,^sW,?:x_\}]"xwpVڊ\:䓔\}2)v(8 ak܈t(Jcm  jbȢ&yR5stl$5 +%u&0YB GE :JB my:BEx0b7Bt~%8E6 cVM&6S!d3ևb{|u;;;9O~Rv)ׇuXv1;YwZXLTZH72P2 QH4F.uU[."ҥԻ!1_4q4XqimCP Dd] o4n}e(89|[) +0kA@0\<,zzZX@8NJVhr@ԺhYÃ"}2XPݞC}JvhS)例TM`q}]k}.S\ݯ\(5y Km!>wz^7WXINҭhW W^Sc _%zJDSM}+S=0eh~Tտ;{_J>$Fu}r곩 {+%[Åո +! lZPf |.̚,댄aNVrT &ڌ{o N2B4ٰӆ؉ʎ4^}g]A@CZh~䙚W-*)g>:rm7uO8f&#/BH>?.dyJB|(ga%!uDkre*YGRaE*+qU%A+'6,ȋ:a\=jtuuPOxC2H-F|I&:ڈ>~zNMFI$\y5J,"$"V V'L&fEXArR6w6Dvj'0 +U"ZIF.D"X CW +B%)U8uϦ%zm:E/ezC.I!"ibbU š,Cwz(dAUߑg~B(_*M2±rEGz;a_xxP%犃d6N 2`5խK' U2ZԫbSHCI04'W JnEFSds4K WIgA bfgHĎe!1p6A.!-â΂ gG`:MRC\MU,A!Qݍ ,йS4٦UNr(5#e1#5ŜևR դ혂.JH*@ߊ= +.-^,k FKyz Fr 'g=.CnjA[ILpvF)/"jj*9ޖ_ƅK W$tcGT_Chjou#69:K 2,L<3 lYWD֓ K0}XZQ78BoB +69n+Mr#KHX(U6Mcz6-SϬ, *63#bPєnǿf^J?ϰ|xmT[JobL IUQjR]5ͼHE2ߠb>X.)MlZ%Ky'zTB,׆.^b= `]<7m$`?޹ SB5Fhg*ETh^9\r+Ƕkħ{fBF&X$eHX0NM$0^^pLp4 + +(.) ] ftaKϖ1aP>=I1GLIE/RL^uCguL=&Ͻ[8ICwfᙺd&Bk**+M>OGNɵW"z-+.{u]r"}`"w6þT7-+5h +{VU:tSxoQ8y& #`@Ր ;62Tr + W.Dʹ[8 }MEJ&`; ebrD,bU y\@IU?|9MEwȠXQWDHX=Yn;94qInKI+̋*P _ĈAmm]0he#}:S$q5$sY4 [|'١;!0YUՒvVMqH2GЮr.Έs=gRIA=~&uÆ RLH*W,ulP[c`yVjS uJ"8Z2ht[ʜuK+B8}|^oMCJ_(7U/" YyD\,Z{v,TT"ϮQ`@׶g*0tJ_YA$.+]ei|}$6#&gT+P!zY顡1:P Iwr45@hNqtP(}_aW<(\#T5.U B=wmV +㖪Ց(CU(* .As \,*w[#.&E st!DQӍ WKQJ6N؁cUl3 op.i@)Ԓ%Ab`E2'|ఏZ(0úA8Ξu~? Ȅ%;5EHo\|&fX DD;X;V*SYAxQ6; +PTgcX`b]!4] +> W>Jy^PDHZ1ݨY2,E <P8CeȺ-rބu.OI] Nm|\Pq䢗B$[ē>ȚiY*#% [$#螥?tJ8zE.O|3#4t_B羻 ,^IQ'VkG$`Έ${3^TҤ6L,qrFj6Yrx +&uѱ(b2iII` XÅ-Xr\XToói%FئL2SMCٕa9fF,^.,@K#No +B+HSJRj \`!D4S;`+H +Qaf,#}U[bH+֑b7IsE@9vUsyR$BjHzyM=B"bz+\--.5żJAܿd/#: Yڵ0pׯxo½ +@oiy`qX 6}֏ ( 82&?-5K0ϥac@c¢qE%AAS(t],Ƶ )E 5!b|0 H@,%B(^U4K.hm3J +~M*Mw&7pk%RMCqc>O$ UkHEoJ:aDDsv-WS=6". ˒;2#w+Lka iOZZʆ|ݽ40JD 5&/LaU*$$h$& dǛQéΤ[U .\c6̻O%e>N!CZ}I"8U!jöpV@Y<6/64Z-sM+:8'CsΰDHԪA6Rs٭?ě8 Zi,MOκIީ4AL>3t%d;^f1nxR\o qB.dJB+K.* *zE1# a& L7$CSLE){J$ )ot1OX(Y{+dF,ԳfƧEUXI'aᣩ_&tN}m{IQ>Hal|~0/Ѫu3[\N[[`P4ה5!OKOVk z_)tA%adjqI6C4V&KU}*ə>O%RnYWt5W GF>s|+}B ȓg T*Y,\`)_nDI`$\AoYE!״DpE}F&ZSfJӱ~76>^]b̓2Y^eX;l.T`hN2D*}ьů +:_9j; u$w[2I{y30ryFEz*/j4Ă~6AM/ Z^6B@R΍fg̕C\ +DSokRw 6duJXb $Hh(? ǻN'Ў) +jh͓!<%mƴ ԿROEkq@@FKalNɇ__=an}Q`OsHԓmcH"|PCtcZX28L,H46m2)DdU:F[ +td`H2 Dmpo_nHqFY[GZ򋉐FQaw5{-޶T,+@T1E3Ukt(ȗFv-UЋVPAgJ +e+qv!_#tb`r lHeX#c7 砰+6}U8Gv4)ZY[(XʫH44E%Py}_s$|[ |KglCPdx}FZصtlR&­az2"*8yS?07-bOQŧyAфE$ZR2N{[~wY۟T3Yy]|זR#nN1Q0ڂ +sIDJ`k#4\ S7acG,,ZL!FʂiZbbzp!Zba8YQ!JSi"M]lQL|VE0N$4qO)0_AsJm=גIAYݤi5Sˮ&,27j )j7d;RTTYVnXCT hEQ.&PCpX?uu֝{a `zS9l"XCcgG\CT4ݫ"qFhiO ;`7L)v݅/c6>RIB%ȶ|\ #V 2H̦ KBĕAG|iH&&F2rʭ"2rȉczArXݐs()QQܶD\5H(, ت,RfO [7VHF[{Ҥ/nq͉[/Td2Q㶑u0]4ݷ# G=|\WNqs#}&J,348b)]p(MC[a'I\JhPEceA]*DE?vQ#'wO&4>KbMM*/oE[J)I '3' ~XO$.a0;F Kn~̈R.;q;'p0cU#@ bZ:gu}rkJP$q RA*s +eޙ:ģ%hqiWEDly-V'%*Czp~NTWT% + gBgƠ& L3[Z g)H@݆HEE~7E:qLPLyj;7 ! M +Pr]fV( ++Q4f.~^( + 5avpR%sԭ2s0" g: +,H^L7W=FGj'cM^xoOc^TĶ4SA҂{(x C`-!2`^d@ڨ?/?[JdI6^-ы7=TB& je҅$ ;3du&_4Opݹ,PıƺJkJG$2(<>@LiWbJy4f-EK|/BPBlyNaʃ8^OJn#$;nI^4w|h2iʭ{7bKgh"hzK"4@NMZIl1%v)v~O9*Yd-bJ;yT%(nѶXBthX)%? UЁ%Xz6I95;/WpE^$ 4(m,JeXbrw#I+ەZY[ttҘFiOA@!,NNBiBEXFg./H.F]u,<)TQ $$ ƭ;+PT?& _+ HUXTAZ@yJ{l_q8@ SRj$g7!6)%>(y˃!h]+iy&E)^Ժ. eZ/HUYFeH*6Blb&)yrp2"Ը&\*B&VV0gAKiR)ɭzx'W?Q{a$䥥ü#_Ļ 4+`CʈCy#C+L +aP<&ȫ EN, ]M'Dsu=vT< LS^V6{|Bd;իUD~`݂@@&B.`6 /XEڍf̟!)ZeZ:9`ѧcH(.yqšaG'-b-^Ft_fX3Lt[4FT:R51FiۯU4"AJZ 6FV3mU řR !EsH-E~a9Xk$>L>XRt:&dh♍Ksp3(E\:{M{>3a*^FU\QKoٴFa/i].|Vr($DʋP@V#ԲԔI&7 Hp#l ɘeq +P+UIX'x233xǚ&[?"KI1 i5UjnI_\do5ZLBRL(hd[rE(Ua +jlgw\Kw- +ޮ'~=~;'Bd*3vP1s=C7*H1ua%ޤadi(м[ЬOI[IȈ(WB˧"DwH8(PE.xY:Ï&ΞyֲhXd1jHAu"\./*81$eH#ɫR^)~ ?DjeJ+_4?K$I U}I!A рu0E4M(FX/V: 4Ac) SaCHc + .@Z<(DL&JBO%!T@ᴧJ+ ݡ +|$h2^.bo,>[*mRqSb!=Tx2IIdIe$hEP@G@77̍!H6k0{5IHkDF^HDޢ%ҏ fǜBȭIX>ǿ u֯ѼW'_1sDt%XѵJ'QŅR<5h*%.w SBv({K+-K\ j 4G 6J.^(2ÇJ|h1xHdOJN"HI_#J'(&a~a0$1-a߮)rGpv)6bzX$Kexҗh6$aMӽ紑"a$̕^JQf |@Lg#Vpl=DVB H~gJTIW6LeNܒ5ѢȻTl̐hLp7T7$n;%znzu)tpQ>r2}sLOYȊ}˘Sd^P&yR4(NP!CX^ԩ|*\S4Dd"fpeP*~ƽo-8$@d +dY*, +2ffIǛvdgi2] Q!hD*}ݗ2OiL+ڲݓFSѱPJy +] ޭky+WaLgX(K*Âj{A^:gTn H-EP GBkQ ':&ޠs0ϞdIKF!)]0a@mX7GyQ,_l6~$4K.+uJIe ^ՠqiJbkm4bAoa"Bv8%"@}Đv?,VN=\ Sv*}E )~D>ha6+8AzU)MǬ z"{#7*,hHFJ =*52eeCawlC,'xq/2ϡ:}pO <:fx-uY/ez}%@..nRcQ5)cb 86q61<1`hH0u񴟤8H6;-ڼܗ2hfI$ɰXh6XYv* +$0VoW!gC=d2.ͫFEYWGz 7I0sIZI 0-Z!XM|ICq#j U:V,W,&+aG93@P'wQض)u̼~QYRd+gц$2$mV HAĜ"wM:CD|XqZ9FN JɟSM1[:˄p\aPDs +MϢV +6d "?`9f 7#55P$b-#Ix'.G/H4X&~~T2yɎx#(j +4?j\lEM<(  + +f)%?IQPT 4QYz@~KOU;eJi C=,5Q2>5R"2+SO2&bLI? 'TH!`ˆRxOHCS*v!%݊nƀCe(FEؑf& h;o>@Sg,y} + !xbj-#WtRQ蛤(#J=`b[dWtNR%rX >.PYRw"Dʥ~/H $ip:&fJKYm"G>Hj%w"S$Z_B[VztÊ*::eABS=U㦒LNr()R +Ս܆ydV^ +*w=&=]iQm44B>c,C$X :QºªEX#QA;⧻CaYkUϐk(VK|Ic"=NhH,Kq?^tRƒuxYZشec%7F1ai.K0rXaPی@Cg(:$R[[' )l$8;6[ 9\ ,R, &s22lA ;R &ZF/$s=M=vڪ>ִ̂6TBfla^=m6pDBjxn_.b iBTpǩ\8M[PGx -~ 4 +i/Ej(Q zJ0̢Wx|0csL͵mqYB>1(|JrT!^;F~R"J,TU[=)ƬaLEDBE|ΟT}OV><(t2Yq((\dTsJ}^K-pGȬ_8_64^_3A뉗xBƣo6pʪ`ǞU(`B^K_-P#gcK]+ND-~](B%՝g00,CByy H%\ݎ JP좂=# _MT+2.gH)4ݐ̓uy庘w܇/De8(B3A܌{2oYle=BeZkRwXcWߋRL8pttu UUy#=y֎6֜EEGg􊲼ˊ@uYq,$gGY!\EKZiB1tX #R!*Km$CLA3MdK:CCa8%Q RrpWT46ܢY[dZ +N/M#-w(B]DR>=q*z7GuTN (@ɕI,;L<)P\=26 &y*L}"9Jv&JN_70lr`#H!Nwt[UNa:.Y@9,"VVfc֋.0Ī)Nb@8` +/rm l:=ngi=+ rMsy %C~8ym9*-HVeEƒ[扌d)InB:zjXA2_,k'闛#4}E 8n<(xb5/ 3v<:`S2DEǛ, B$ؘఛ^Eh"V BM m9Yq2C<]n%ңfASq + lދer%۔`xlX=x@ǐ"xX,o<|C@zzlEHyHh +e#t +CWY' =lǝFʷU + @UW;%6,k$vWQql ML +i ;R.#HCx}jR3|Šڐ k(C‚Bj&m؝JTAs|ѱ0vSX +1c +eF. +*f6]?q دy'$un^/ql-Aګ7No.T$,F7Ԏ1$+ýujА ys!7Cds{Wi5,]TP%%| l9Ԇ hXx0T!'N:J.6k.{M7RWUXc$T(U &w^ݥ%%WY# +X%rr% oM"ڈ.G!) 8:Ƃp~XmU"OYj>_b,.F ix]gLy,lEU eij!P>"1KAKHCy +^e ѣ g1&pn,`E`xԒjO"D +i뉺JFDi)P!KU @ 5EkPQAAvN*gJ3v6h(X'{&1F*Mc\ٖ+MQANꎲ.v%OKЖ3k!dKDFH~sehx^,._b;3!0KBG +<X'ɬZeq<Кw/T^J,1#,>N̂2o5._nS*鬥RCjD`X𥮯>k(-D088Ƅ~ymTIqy> qYXE +D.É#,R♏DZM1mMF"ӶY1XRaCfk0ˡNE""i_^)5Ūn!$b07S2I=P2G2%A8RP[A&Д[2,nZbWJ}j1Y5?I"@Fk^as?%1!U .2E"c2YXsNCoPG3WYlwP0U|2V#PQBNdZQlq慵2-4)fbЌm%)i +~)7ۨx捧<2Rh=^ P 5Ə*neRalP iP{)X;ۏ?6T\ K"#)f/`EvJ!G5K;P8.en.JPBX4e I-XRc&1n%KE'bHB@-RɒLSi]^9EӤe%2L4B3a1.lac|IXEbr nD-@M+ARS;{MΚ~嵽>wKMxRb[Hd\. fa/Ռ] OpseJ^Ԯ?[HKB"nBjxE\q60h\ +gV +[w^G"ĊDD 5k}cDAxnײ1yؿ[~@M2(oF$؆FH>f~k'Ж$I!zkg.'eXFR2+ZiM )l3덭qk/I2QT~Ĕ-&r&(LhwBt"f{ T&DKT^^Qap95$%P4ȢY)qyfdY1bvhcV +qwr|2L" -J<:V,+"o"$)!HkZ7*2(M#)My8#hH!SCETb$@}@ $($rIJYAYn`KI""yT%Qڻ%M~\Eg*XmX(&ňv ` t0bR5/ +Qs8GHVf焤+-R~2oLQ2.jǚ顕2ҷN$ĸx8 ?HQQ-j?c0O9ب nG뜓ŐL $h쓻O1GX;Nf'h.TХ! t'$Br%.|jи O)i_D_L cwUx =r H@ҏrU6)uuky렆 /u졐X6~` 0@aBMg6 +&ȶ8%Enr-,0QQ$upTHN ]%gG39-%U[وtA|7akhJ@R)UgVKNdURc  _68Q_7nJG 2E( dCapmgTwܟB8(Ve wp@ϼ>-D.QDP%6a: PPۮ6n $0e&l~+v2ލY [!$[ $TR wL#3|ߒW +◨{tJr yDuegΙH] + Q(X8#+phN2v2NPن2_ G8]R^cLe6JItS-M(@f͉Xʲgl:\IFcgFNQgه d"Jc,A@ +A,3Fgz-T,[qiɠ%PyjA*U#hh*ZFW,&a +:oTf{gPBB,k4&aKz]hXB`)=ُ}S>![LxQ,w5A9Wsj3%Z$/ilȮVTABlWL (,:Tmo`mJʰtqYe DJ$,N\I~2cp b[h8 YPf-K 낦_f /G}/rLj9[ID(۽(,<^bxQ]OМH9י[dK|Yv#b:1 o/g<-Uqa:K_X̉ " @Iu;'KxUZU>UF"B!%~ L97YI/Dʥ2Xe2G*\Ad; + i'L#BCsfNQu, % 1yS[-"qDOυ +_LLI;t^iW0byXaT5VyHeOPkU%jNXWFUtby5 hE(+:6sdF>*P`ʶnIĽ8]&w(1E"g,l.&$n|"N$YQ~M )HuT(e4fL<H̐sC,!?KǪi`6L뮧6ӧh-@:S>TXYslޱKllSM5sth~kfP+(b`ĆQ"i8QBs+$@&ApB%Χl-,etjP7T7$Ԃ3EBc 2b,Rנseq&u ԼH܍$D!\*k~Ao$`Po\8W䅏l@81j$`}Eɛ]1xLg[{&u!Pw%+M:Ux Y䫥GYAdڔoʰe/` {"Ykzjq*<$cC(PA*LRpp#`3)A7[9<Ż~]sݤLa1Fa7fNrpEvq4XtA m#gG).0kgY-VwXiKQ>P=vE,@6Q +LS +.>0Y&F`X +x=؆SnӄoZ<dO!4,dם=QVYQ@xJG6e\<%> W4Z@#Al{l4C2lgs'U +zG{9iM1ӞI</eye:I ޱTwlSLGycCq6;-T3PȪ=yF__6ag bdEywar6׫tf|z PˮElp͞gBn lbPXÄjSf;mhȕESfe%d̉UKLDp#VkZYi>8^o1ƲRFRlUND'ďv WѶuS6wN6/,& 'X׊bzBHGFPi*`@3 Jzo"(0KD IAmI1 E{X&E^j* +%e='(v`)e0GV8rKU$M1#P'<{fDB& +Dx3].ؾBDk:՛WcÔOQ"&Gk)H AB3Ĵ; %iQwՉ玂7[AQ@(y};OoYi{ +ɫh၍Go'Lddži D$oyԋl]s ,rKVV+1 xPd/34s(uAE;>tTS\,<ҡ z|+ ,"v8y7s/h!]7bL +:dT"9 uF_BMYۊa}ˬf7R(pE?`nd vUGZ62]%*``CB eOS]Qb֏f%?$hw5_nP.e!G$+Wj}N[Da.$ 1 +I`twXi(!'k:H2O:gy/Hd|!~:`ŵ \zҌh& +r=<6(ƮN'M\!AHB]dwP>HJTa4VS1\ʶbIYʠl%DcWd.Bĉ Q%y=@K rø0RuŴ&$FɴE rw&ꎑdɗ6ÒhyYR۹vI/aW *GqtT8gﳉ VgTpbƊ4x2b0>{t'qZ4q94L&fE2qm* #FK?a^g VبoWy+T>,3KɢMbO.Mw +/KA1eʗ+ೝ8wE]N%hTz ⦞ĝFq8Q耚XsAIY(ueэ$D49 )BXf9FT Ƌ4B&$\iVRaxn=^U +"n0\ xϱ9lkZQzOJ؞ʭ!ى0}XYv9tpJq:,O0('`F&@ p"žyg9G^Ά+ +x(4\Re*5A c%fXm+}/|BO{!}bCh%Iwŗ܏( + QwTp`M½bМ CbἥEÜ ,X(#8˥S6y16RR"~lf#Oɒhi0瓲ZG( rpp Y>as3wpܳcō :G9DI !`^DR'~n4&ZdyݭJ+*wy:X_KX\ɋCn9)3JNC]OICP~ Zopa9+Ox'-()MUv؍}E^"Ym1$mDdtGډkg$fivk,kpz4DȋDb]3&`56#`xKг_I( `Dr`5 +fG{$zھ/paHy%%UBƌ@(tAIrCy J)/w s~fJ-8o嶝=o `_HXQҵNjծ< OU(z La k|bvq;2: +3z=j gґZ@JWhY[l5TnOtBN:+˄<kaHup嫠&Ѡ<-:i,Bc(ח$&6FY[JbHSg%VdSVgoBYfYLӛQ+HqCfL3_9sߧtIY^@]0I>},Nצ:ZKs(=NCZX2$I ^sUxEvbS 7l%Tv1 0=C*sj%-%RZ"\۫%0IQA] 0C 'b$Ƕ9SixDG()B3x'9 I[{aQ{ U\ѡВ +'+_:o̩`Q\(hXi.enY梅`?iL) RݪA֍ %=V$cU[!}mHR׈zl­* 0co_)מ@ue]Ծ|V3SᄎcWآ9 Jy }D8f8LEJCи&ڷFrhwRLr +zRmofV*M1#NxoDX!; n (>>0JKK{S&'X=R7"y]d`gUTaPDiXZ,3xQP+ *xУ_ e5J'_ѕ {W;G!Xth%e4c%Yݲd]BJ}jE|V:0rGm*$l3DTҦxbDA G:e>V[%L)A#nԏ![ m])~$3ʴ*M=BAEZf +TEPf" ksͪ^KQ:`sզ0LzC)焄UH*kWNwRm&Y*n0Q+R&rx$8^I΍W8Mk$USx(Ȳ0A$SNZ"Gמ1}Mi)+6ڟj*kCkEqC.ŲGɼR /5!{&{)ڔ! 1mݥ[*!gt^7+'$MC>%Na}} W35_ڼZT !@dΛ=&<4ņ2p}tqm5%ԑM)&fJ +{B8*JC"sF)bo4)P(8`=兘l̚iR_zb.J%#"8Uh)"aIȞrkry! ҋ4p +H73Ri9s܈>$IhEg_5FقX$)_1rK zn. oA#i=:)8ۗ@1!`2FĩX$E X0ۛKdP|@R*`. 8G)Ab3!9=aITDn'LLrAL3[h "hQ*.2.7Ӛw Ϟ +&ANx `՘| P1ڹ8҆MqV0"S +L#`)7w4\ Bv&Evq~)Vy,}TM IftL&,4Q0M ςiPQi w3qUu|Qsx41g_X氡u`nj=km6SM5 F)SA@PIfDzpt~>]pgOtRBSۯ@OkUeNaA# R:>*} <+>Ki+ &CD\!iqO?WL7eHN_='nEyO/e:V.`oRQ,c6qS˛lɣb$Zo;`&֤g#%)[/_ylp$LT]ߦ0Mu)ڿ aOwIe;qh|gHw>|E%rޑy3XV՟1/wHQ8E3aq@fSoM؏mMXm|QtNnm:9c;N{Jg)ʸ pFW +h00Т؍[$Fʑ8l8Z'b͗f``dD1Xˣ5EF^[m'h߹C\`FO2dP!4#kҖcHk/,KsEU'ZX>-neү0:'h!D:U&,oN%Juc6& w🩒 ʸX4p&Sh@!(l88? # V&cNAqnɴguxJ%BԎ&fgZ,5H1+ʙW# )" ^0lTE^UTJ&A>U /kYx2MzB屏T ߫N:PD0e%*v("F}5]rɗ ^_5gSbeFWd R:*A2n+iHTLV0DH(bET +OT⭲_ά\!" ./̅W{"&S{Xղb3m(g]_ŵS R 4XL 2zB.O%DT j7wJɢ(teƗ߈ G`hk*#X(%df;W%.MQ:g!7Rd׌:\S2?a>ZNx;-ڙփE00P>tQ L:>VψMPoR@ZR`^8肳uפWdըgw,ҭ +ڥE6RUD3mvJYL\cw6%*Hku6QxD]eҤ]F?qU^ٲR߅hoK#:PK#Yh($pb(QDЃpѬIKb֦ǜ!cHУ$KbwDj)FxsVgTpW 1tyj>mIb(<=lV1Gnth*εqYD88TxJN^#o2괲2 ˝4USu+\[TfP-Y$L2+d%`RiEZK˺SJRb(Y )4:_ L tsM#jr<~X0[p#sG&"NQ7x'J4؇EEeVO"<( {xpڄw[pY"QKз3 +XO:= 2W%5 pV@? 'B!H= UB^ru=8,CާaѲ"?dro٤OBQyC t.lѐPڷسfu"&%P4җJ`o#6U7#C],[hїU-K%w 6X-.,3Uu^`k-Z'U)ݕVc˭ --]phBY8Bg&܅,^xu43QI +nYҲYh@=ofc.B<`ģHt0 @,8٭*':Up [T/ +ݰ?lh Y-QvG{Dzm`2:G AfDf$^SK{$"풤 )e^~r׿:A&)jLKTۨJ+4% : :Y G9U ז\R <(PL\ߺT@VDukի*X.xF^Jqo̳i?ءiW*ːxo== d$m[i,Ty:HAZXU Fꅼ_VOYD}eJ2ZzhSu&ڨ7Ew 2(Q(kJ[r5\PjýwE" q* x%cz!HL ,2?ajCf0PQNF$fh)Eڨp(AENBs@ζOְF.i7n\fc%7FYu$ᐪ D*O4zKu5vҦmDJ!W5UW( YUe4YB&X4T^<[ +K~"}Cyv?F0CB&GΩhN!qe0'y}~4O:$VoAimd +f~HqBMpL)W=X |!uFNJ9[NKԼ8A<(9#6؅O' sHc(i!SƲ<_<&#L7RSR` .GZ.!yyoEDSN'E.3J +\#_{=UPh* r BE&S&RvB&$(qNcy!% '/CB(DLҎwVC"d[sȘ XX.BJ*SEm=!2iP#||14&QW]I% . ®vzM{ +IK-sM9ɴ,yHE<57k8Ґ Dje`pu p i} +|O鍝y%P鱲dGlU,4+$|qve F UWuĜs=86D$(ؼH[pp%8ı ,&M"ĥ&:nՓѫR/O\S~iN "o"EYG <8 hE2j^GKA>/ +h+teK2Dt6~n}DZ.0QVRqY:.j923pF ZzO׻ k +x.~݊}^K#ID8zTC465$ҩ)qƮa5XO÷օGI+xoTd2,4|eOf @TX0m&,H 0hDlc ,j%B>[&;0[S#j/l(B7bbO:<ټ;e*_(5B#T3qKhCnʮd()y$#zvV Nj [peB0(du6TNX dfqܟBd;ϫ,!_L +eD#dZxXL[BBkL&ժDn[zLA ;KB(#!JtC$ + plãfa"ܑP l:c#B˪ݒ|o9([w6#K%4Zn} 8*YB$NGnPRDvJD]S* +H+xA`w'S̚چb +˥Q%IFi.I[d{h+ 5|اHq@[Q&G$JW˽n:f.v?5|%Xx9JĞpZ`j!f$ ,&k}aN,O.݉WL~R@җX^fB VͪK IaDdHw(:G2,cH'`*$ĉiKG_A(`UXY 4 +@RbO8c~ T?В63QqS#x/O/|ÖYᕵp.1V{l{ϱIT[…nW޸s1 xj; +J2\Ck$HW`_Hv$V*Z_]{)N !;8dٴ XVpqc#ZBuFwL3\a%XhmKBQDRTxI)MǯkW3va"D%hlʅFΈoV$JyC{OzTbZÇ;u2vz%J$yJH׽bo 39r@dK۔#.,L"dtXMlNt³T^VfJFJlCvQ`đ9'M:3k {Z䰛(V`+4DliZza5%H G*pTC!DY+'F&ғj<({ȉ#~U?Y~Eè3(Ar|  .I[I<‘DdCC}Վ!WM\f7ġ2Tǔ'! +Enb7&bKu $I..tƠNXK'=AnP Hj@M jlB0>|taj{Bh|s/HK8$W҇D'䯺gʘDX㚘Zӯ??'\XQjiy8}h +p2F+Em+4ؚVD{*P@ۛ:L,D<YTcJsz;5RICVJBQ3ZĊbB -v.Wl.JM.s#Mbij%wil߶!m̳>G4A*xϞr2 +@`~q Gm)oq}D}IEK 2vQT\6WLY`XPE5{~ 1kO _D_BT + a$lb̀!!U&jz˼>}*+2-bԳ8@7fl+EY$(*eݡ.!m#nHFo5j[MW}2k-4@ㅻB +{ͅ YQ,WB!Vu{ɗ΋tǬ`&UG 2\áЉr c3`Lsm?Vځ<5k %@N$ʠͫL{ˊZ|[?E(BVo:copz+.ycGDPsK.# B +E:ǔgNκ>hl\Bk.&5gbH"K-Vv2ɕCH'#hhf h0{ B Nb0MR-ĉ!Ԉ$ +=sg5)4*P00EsrE37oL+-iϥL S3;LUe15XZwUOXLJ5y$Y49׭9؟+ 3;gUkhrR'ۍrg)mPX?:\5y0ɿ2H,QHPg 􃤄q|.pK[z/vW%% qE%LJH/ J@˳Q+#xfȢlhMb6|},8@2IA$ ]6W!x?Mޫz(%FzXQ6#憐>_]x#<ǘх3msVVI"Dџc6WTbh8ӲOW>_J5E19{QG0\XgR##D =:, waFrAoCyN_pQ!̉2p *@ YXw]:aT(ƻU hrc4Y a$lCNSޟPs+4DB;7 tJUUU3}FUVK}JImO+Z.(BO AM7uG $O[:3t=/M 8?Hy$ƕضT/#UN1 2\1yd?vBYUTԬ +6|G. ,̜(Nu9S !&l1XI`rPHNjC!DK6w6JZ1%z*հL3 +!,ϗ!UwؕJOy*x'l9M(F=22zX~GN 0'P)7Ni-0l% vT_:@]e  SXbqC.T^٪I4 $rB `$ؘȶBf^LMXBcf!_@|w_MȠ$It .ezqpa,u<3J/)UHԒxj=O#d*jE1Vjf䓙&l}ޑXcR&;1H(QuzUI l 8FʒR6!cSYg$ Pj~4~GKx)(Fw͚oQ6{'~W17{߻n]J?Ɗ$g*PcH +0M|dCz gPipfgl3!Lf'#2-R)'_ws̾9$v;-G +$=~ y 2MX|P6W%"$mG㶨2] +:R{3ldIS:aBnH)}-0D P + bsŢ=aj(ZےSm8]GRPQ6Ab gueFŀ7TXD޸O\<$Z"#S%6$U^XV,-AW3j4Y9:P,1z]ps+w$c7#qjώ:^oR@@ErRߡL,>ypa%`UeɊQ8pTpV~p"W(3ؽG/gnrY4u >*p$m(y2y+KJApٛ<>e3)F +#2"cL$^q(4v%PAf? @l熺#OBta;WxJwz~.1$^ 5X7ذ_.$3o묮dhS͂QC26+{"F*eb]M  #"8[lrghiEVGI +eRj rzOl Sk-}E,`O+9誘NƪMV}&YJ 7<21AA)'?ك-2 muQ![8tǀPZ'-YwDL +CCLlRU([!7Tzy4p/%A6H92!^Ǥ;PrQ3ZfJ]*F8NN{ȯG7Kţh3T +D5+((Qu)՜ +~[Yh5lV$~FfYCzNը]m(V?\ */nzX`򪙪D^d}gh9 (-`"+1z]wLɚn,8|X0$٭2w\لHHN"YwLE=0J1qd.Ju,CVtפkGHe(tcLM,V.mfq{pV|\!^+yRNQ3 s"l(_XJ .DRЙ隦BAaYjA]"A "QBofF +FVh'/8&t}!i7Kob`hV̯s;l`cl{n(.v?9¦W)6zWa4&e2qQU+Ua6YHȟ4`rލJf5zaKl[NהRvr޽R4?Q{g?$:dI$ 6pʺP"Orx,OH>M 5i:<)aq]/>TOP*تieWdLeo%*p}ut/M=)?QV$ZN<(ܓ%#E/BS6 clV(? +,qJV+hʙkSLUaȖBϠ MYPu˗ 4|iŵD0ߜN H$Wc6wXO˒L>?$Qz$ _,/=]/EPH} HrJ18'Wn+b瞎N <`la:l~RY=(bA 3X>aG8=q-OAM޴ZK*_YpRF-nL_D.rd֝bd ލQnj+֋r';ENh1*YdDkiU>H<0| +)/!b}$'"; < +DlJ[ + +%#,0SRG:vݗ r?0MSlŢEnwmR B&&T<2F@ClP&?]9{Dwk+&bkGoml U!̿+ZSLĂd%Cvt`(ckd<̨aaZ +P P.(ڇ<>!_8G0DI&6.5x:ʧ OJJNq1Oy=܄m׺D \uIA%jMKu*kO[@2vtPx O: ,J> 7qrl%kSn)`XpVb*(WQjHR h24x ?6Xdt^hE?Wo8]fϓ@<u!6DzjI&6F@WC'n*]ŰmE՘H`38N6݈w^~2s1ʱƺ`S\QQ.KV[CVGEYz+$m8"Ɖh5]u$Y3Ib@ez4y@r 60ͬ9R]DFm^p RJ"P'a$"Բr#7*c/0b7r/~{Afax~ɻǤPn[aCm6. 'H(ȕc+#񔤾*lКЈ8B̌X-KFu6k &q=@z>]i)Koy((H&AriCXP<a(k -FM ae!˂f/٥m8Boe!/ȎRח2!úN>1' in :agrfnhks9!&`#H[>Y/-C,܍cT8burJ;VJOH|Xf,%,KY gHÃ$D +̑.Ҭ̳&߲ΫV|w$e֘-]GC;V#u"2y#/% dЋHԉ7s LZ,sd]Dd +ʖΛliܢ( "V + |Y(bgϪg iTC uF5"r"g%%KxǨJ;/H#Fۉ72sr!Yn[I[ +&lِ kX|:;1BbfzثBy\hGWݥqaZk(e!0W,)uD5nXFjzPTeq0Z.$Mʕ{¨O-VP3սؓQfӇWL 9 ނW kw`- q c cdL I5?3[jfbcǨBD.MRy>!CLh>K45c52{ +%t0~Ȯtu#d& >gb¡! r 0l(Q)`NcJKKFcË =Z{]8R> U; +%OɗZ҅<"~cĪT^. tf[E3Lh[,g(S!4InUlœ+ћ{uv=jy$OP lBo ШDO`R5 0k6,>~dUɤ.VӇ& ~Qqزﰹ&WEw'!M-dg?VI +^1v3„G*x[H jIL0c5 a{;J- y +El>+'P)$^8IANjT_,D Q8 \|ؗ-t48o@HiK5N)uyMВ{a + ٛ%ÚE޻qc$*`0(eAJ.,vn bU hfB䦎ଜQ +wQ{Ф~E< LbCYkzC8\\RN%a:F|4U_uf\S H$S̕@E@B{oփqS0Q'WHITRp*wvVe_Td̉TX duoSI8Z*s#  K aDu7`ެCQo5а+>$}6w +t!fxp  @Ɣ*3ރ"sQv!R +7Sd'xAgX(Fp(kH[Թ +9*ϸL +.%xDP37w' @ES`[&xNX1rL&']޴GcT`+n[cI_ $ $V8yWJktؚ uAZ{vtDjxmZ2@/sflႹy !MsXќ6"# M܍A0&tWɱR"o WWxEnt.١tl>kމ^e+!JNJeD@fbZ ت[rh cWL.bGB~XBKqj*e@hЕ$ +.,FWt:Fl(e"jehNަTU:NQy܊„Rxtց5+6hX4UX` +P dTS}Skҧ/DmĀx\ZChJ #d]-~z)e.A^ }uCZWC? r":0Ip}8RDx@6;Ri[rP+%;pYXO~sj͒T><0Q)GRw$%LXS&`5^̺R3~\hqvpS8>T-(tOԝAL +y&VJ6Ci)7ʒGWdd2rVAsM<]xŁs,*oEMX\* %er#Dk:HEWҾ-\Q!BT)fTR5YyF٤E 0dDP$gp:-l,VkmaJKn:lH>evD; OXǂ3vբ'ia  y%}cMTVW8(8U 9d_DO +3.oJt:gˉ-Pbl{@ˁ3FZfH5bٺp6WD+U`b>A_];4ȗWǨTz%FL$u4 p^^ -ک #bg "$CooulH1mն, gn!c7Qt"Y&-,`/a1"ZeaYMx)m)" +>dш$q ku ^RY'+j]|puX`! +_$TbF2! X.2 +yEE̜DD!$lƕh:iȕ._K,@eɉKTE]iz>cKnMHtd$̛L6(֥.V}*vT: X3ov0 +TGfP1)Gp|R-@ЙBR9/S[8x1jֵ\Vl2Z @Ta1 О"B6lVx>3kQY1x^5#:Մ!臈ADtX;{ْ`}^='7腬Ԟ{ bII$MI`^htUW?呀gXbzeU~if>U`Y@[PGtVbU}%iSvӷsν1]tX4R΅~?'B`/iUC'#4bO &N(%ZT@$7}67'4YxJ.Ѕ KL2e1PP`QSڪXBl3 CB >@iq !`L'Z2S(3{8>zYH_oD 7"h 3;dXZ膿/=)mB~p]]rV1HȖn\eiL xRLl&^-<Y ;'CNŽʮjvg #'Thx .d {\Ϊsych,}GCYhjr2z B( ;/2d:D-%Q*mdYy.@b/n4h +-b4ƫ c> jD$ 'pg8^”O*I$O8WXM܇ۼB DBk}ZB 1Y={dCEm8B~WPۇ^l$I;! 5`) 1NU&9G8;HȖˍX)o+MHV핲(Ru}^Y|ؑHp9#F:(8(` +J"j%0*~:_kby( GLiB<# i2POxZ=b)tH Խ(@BKO90 0(~R +$"SgK/Bbbu"SB<\/FFi +FiP4'[pܫN'=vj];]5%e%Z 3a6n4Lylvx EeXhs)yOd o*LrK]sjd+, n?O`xQ%,@@|Lh-/Ŏ}8,G5Xd Ou)ʶ ERaI (JУI)8Ae(Y]dOB.ft]#@[XVN0á Pqܨ0FMv/4KZas?A"D9nB rt+i'=QJ=Wi P +{,PytZW,T=O_ߙv/.q' d{MD&4y"l>vchUH$R nX"i7CU&@R"AG46eRM)kwۊb'n5cWAެt $gyq$Q6wl&`(!.A|Xe\Z3 &KVgmWT^ ?*U•PP"D%]T>˔[z@GmղV1㡇J'Qke;ip "-I^>ЮIK!5Y`L( Oě 7pN‰艩 Zv_hVfS`7I[T3a=1 +|)Js5&ɢ57S6O"H#>ySNڈL2'OfZjfdB_۠G=X^QeI,D'B AW9 +* )"[xDԙ5/T$c?)x;02E$=ƃY%CJ\،`Xar)V!Jɢ4n5HYb:(:*Y/3 fIGFE b i$cQJ!kkZ&2uz ԬK%܆TQ^)Ψ^MVUn\ݤn%&9a^LLc \C5VR(>I\ rDƽUϹ/0 q3@b&[U`?B\tL5bHCq[ :!Rniv4؅8h +Jh40iQsKQ,^Y2Z_20^тl]Nη芻D,W[S[FE) e#vBe ${:YF0}ih/WLenj _|2|NR3'E/5jDb܊5Zi"V{HP4 (8{Bhw YU7(}Hm烊QO;K'wi`QvL?<ͻ3eP_np>Xe>i@,H@L=xX@ 4JHQ 1 @ڼemsjI6&q>l~5A~K'm T +" )a}(j*(uUļ\@U^mu5ZHo0'E]3DyoK($wTetes@.4 m¤׺pTK‚.7Gb%={SSCƴ~y\Y +BG6޲3{1F+f1T]0& +c|F蠖^PYbV\2QC\DWNGu{ -+)؞= v!7j\s&j228tUp|R-TZ eU"=x`i:R@H|䔉S;0ZA@3 2sBEI"ĆE_ADdqܳ"4X@Xth@ MrLw"PP1Ҳt2BP\:l 1A22%vItCd鋊BAMFuiՎmVʔ~E{Je.<QZn(6<,p$N'UpC0:ɩcf勰nͭRJuyQMmbu'JK4e9w^4er,NoIIUih٪+^#!¾ $m{ٿ:ٴƏ?!EbP;&&S⶧WgE؛+za2D`JKQxLY$\PdD/. :7 (y\+X>TϾ(=yPD}9$b$HTc0_X,!D,/ %@@PE)[f5$$dSCؑXH#J*ڦ({X*;*yXb8Ev8X0.٫Hݠa&4/aN@ǣn~&-(')*"EQWnPo|jR++ p=Ǥ?S0nN"dұ_mB:j EKCn f\A &RF?(.aR 0534 ̺iV7Ǹlp<߆$f<:Zis=9׏(FT`\^@ajBa#@";<SldN,zzd>rkF.J9vuyRZIyџ@&$/8 L=& ^,H1U +r?ս +75DŽ'O>$c* &VBr9`AWbcv)! @BYzXzߝwjXHqBE,LHJBpRA82m+2=LdIbZ>h uFWfjH!q7JRw@Bމmnj m4+(䴙?m1rą)Ͱq _QYq EdD}R^oJ "'- ]ͭ?cee>ٟY[]%`]I#eICysҋE4>CZyLOjs;Ll3EI%B"O2H е Ɋ +]!O)l̾Ƞ2VLgh+L_~MSl&n$D`P:;ӎor+J g D )Ǻ"a8@bz#Syy$LUy;+tH*EMHȬ]n?ziꢹpc ƜB]864E@$D`8`:dUu<'B6SF[@Hխ@I Ax PAwF?IP1 alRZ1r- # X$VDf-k s?hQ]g|\A] dD\yɫڋZ0ELWqX)y$O'f׌ (Cy*lH(P]EiMACvEtzMqm\D1)kmQ.yUR2_x>#J8%V]sREbjI!b..X*u_¦ 5Q=5 Kq&h5>b`Fy2Ǒ#1p%#mH* Bh+@:ZJ܊Ic& .21Lgd4H?Y@й!I)&cACž/B?z4߸h{6CZ9baF?[5]SnPsR%ǔ;[K[w*I;c4ER<%(zvb1Gww5Kr}- 2> GgZ"Jgbnb>lL,.Jr4Q_VHi]w)MHH.-+]}c&_Iҙȏ L +kH[w3QKQ6H$zj.[-IB5QԑK (|A\JNq)8ۋl%ZTs$zRLb䇘 +,F.P2 TM + 0%FЀhXe/-٠aH FZ@P@} ̎" +}[ؒ 3:'K"κU.# }pM`F7 +!w>Kx#-JMkKPi))=uGirY ]uQ(j +QI{-NdHvfӖT3%40FB!:>24+D /c0~pa?uե\k09g?@RNPRR]PDVlEw~ 6MeJ`u0𐦅ke[}961e.Awd4M3 C0aUl1~lZnQ8M71oDqhϢuVUAL<(UiM@ B| h:XA{i/kD)ZŶuJA1pU͕ ᕚ"FrjytDbD !wܢuBO*=:v1'Yt6ȦߒQֱ 5 YI,W _dWBvm܁aGz>.ڦK]MɂW2_X{d&~nmuDʴ1kY@hÕ$NT7q(r3Oi6'1"2b#q}6Judh^}"@(>M> unHWT:3  52;UZegm։2U5noĕ+٤hCB(I#c vz} 7-ߓ0*@`vK?*%@>uzG oX_N1YK^&B`W&qҔ3aFn5>SWPlU n< ߊt{! _"dUHe,FJ0CW>s1N&fh3IeR _DfB!xFJFXJ}E:Rװ@@(,PokiUp*6jg×qRjO筼5EhCV){[gnX6-,> 2&ctlPdy`R);PRyK*;*&/s )TM!tMB7l2D.:rT(TTЪIt̥l>XD#d +QRNUuRml[ /c\T5zYtKqHiŇ WujʏuT7GƧ4JPk1tEXa#>~ː!"U%*T"ͰM^vg;]B]/teXrW!;~^'S-ϬG|* +JR{G5I7eNJ/:~-U8*gͿe㊸8JlbXF" lD,spSnO ( !9FmP"#L,vjnSB"°U?)U5)hXIJ"VP"CV2Cg :)|[ r*}.,D% + +UΫ*Av&۵:eIS=I]R+o=OqL iDUv(pOAj`4tXh;X,V: /3\)g7hχ2 ܽ +n[nhM_MjI)upAVQu|LaqKl%]yʘtGIP byo⏌(\٣Uԍ>*Ý$\Ķ>Y4IEZ?TU}~QˑA}sNlHYeZ8<]:N!NH#LF6EbIBHhUsn/_GkqD/N \\0;-VidB"4N-ve*:i`l,ʕ[ fd;_JA4mmʆ2/OP@ WXA3(UA\bS^Ǡ8eK SV:]4ۧRU{ :)aηAunLPJXzy8hI<]ag2.͂U4 U i5Aƾp@C U'[2/Wﻗ҉m`EG7dokЃ0 N. EI]`l3jtj@m035(dfrgѱu2m~,`@t_gq q8d)gb~~IH/UIqWȴëMy,q!1t%B +b65-\CPxT|(JB] nQS +K*ĖL6J@ +.: uRjy{pRܧ~*fV1J1HǺ,Y8$81M" 'uTl?Q(bH*I~ iplA M3v9* AJ8\&]g %SHrҴSĭ\ +20VgѣP^Uo ĭ׃/Cn?VG)~`mSgM5'7(b/i'DA#R 6&o/R"ƝU5Vi-ʯ mZGXL,nQj2ЛYsu gV^j $i~0ciUa]2i=QO,1-/- Q5D뜩w3&j|m>NO M<&{Z|ЍBYmu$*dSOkRq:(udv)_ʪ*Q2ˈT+D,'E?&\X +Li4 J%LdqQOܧ# :(KP}:€sꠘTn$H WVb;ğ$}2zᲔ|F֮#P 2ibSPCLac=~Y[SoYJQq )G"\qc0#fO[&PXFN=㖧6$iԼIi +$직12G+)T?s-sV%@6W_iQ#δq*yTr8[VYTVDko9:7 kLժVr\ :Ey.hy9"jdv}xm(QF'cqdzeOXA]Z|9qa>Ĉc>r#. .& e 4Þ8@v?3!☯ͯuasoMxgH"cS]nht0ު\O +)"NiEBuZ0'P滺U F5uf,\mJ 2tGsE[ܚaæI'u%7#Y`eŬM.TlxD-vc[i̅U + +-+s$`'6AQ1,%$ t {Na {D6wqň:Q(;R)2`v-Hq^d +lc4j"y/AZ&5[R : +v'N-^x~Czh!d" +Yj9ٴiIX|k~RznyD$&@ J*GE/d0Y8=ѷhU*P>:.dژ.[zžk'7{9$T\KuU!;y:S4 /0gקQqJn2aŒ JU> U20g^%)?fPSyER" apIAux6bH5F6ClgpaC +e񼍎Er\~J'a& +.YL E/E7YBfhUUe\< ]W + F6WGXI,ŢM)V1V|&cr[(G i{.r.2:SY{>v^w1DV91~DaHI LT.EdVЫYcepnImxZ Z,9+EPT{^I^;JBRƳ"-Vњi: rNr._26͠]zB&*ԚeILgY +Aub>ǦK}p2Aв=uv$j,L‰40j_DyRO&/%1&2ܫri 燷¹kvyla lp6+<V"K!I$LE).+>~eM,ؠ iD?Vd\4Ɂ:S$[\;u0?%x? 0ʤo$jgXhX6+z+ȠɆ>]ɟhOK,tbĔ? .Uh f(iQ.g} k4*A#>WP&CObxK2₆ \yBB +oQRwJ֓fHXuiN؎=˖EV2>F)رGUz\/jD,Ei$EI_TdT̙$#"CF!j]pU8_IEf5йú B/f6l19!k~W_!Qp5bL I @АH@j~T~9M=Z*zhijͤ̅ٷ?/'ae +6 v~؊a,EDy XWN4FG@>،bd&Wp2ouh]TƯeL?8(PeQUeeOg&$S0Ddk>qdOޠoGދ Y#J$%u{E&Iw,qODk:; + !lg!NAg2~.~ S]-|W bӈ8'TtS +-~=$UZ+82CJ'ӔhBĂcMq`J(ۮ2,7y~J P,d ]*z[2M̓(bTmfU._6iV}rk2Q&V!ϗ' ]9a=VsjeVd{(ؠW!TBuXF,O@I",:|0`ر>-֩BnHP8\ݹڄV9suNRUy*Xܓۂ HaΘO]qUJJRo=(MhOtI +R(Cr׊!OP4\LFGg' +&Pȟ7UUkymE<.!;2',,&Ԣg0*QM6xV5/3(7B<ܪ, ViR'yaN63).H#gR5:\v ٷ"Gؤ*jo[5R8Hx~t6e"cqbkP6bQgRH)GC*zF?mdV-R{2)M՗*"/>xO, M'лQ,!ۭ&G~rdEU2}e FhAU1 +RndO6pL+eqybIt|Z^=AqA hOf}[R1Biq[ra2WR7W^5yUĜNEhQq*m\+EgqH8id޷%4B1X&:AX-I/#s0}f[f~FZ7މ>O_$*X'"jRYJ : ;rWt$%-݅a|d ]U ma X7irٯF馈vkNBI @2a[mȨ_ +W 5F.C:]|GF|<8^6W meKrADž9}ȓm.AHBm]/ @HE1Jټg l "E\,TX,8W;`lGCX4LTp[yXX++!K,BᡨcAހT2,.6`" +KbJgWJ+ܻJK*Bʄa9r.gfxuţU YsqgS9c(odH'iG UOxH–{2w Zh{moR}+B3İp- n$LK+/yF >Y/l H,T̨fb;yT61_ܓLxa3Vl5`8-iqIQ c*<_bC3:K Z5ާ5S4>&fyLdTb27d_hmX WY5Nᔐ [jKab:rX2BD&Z|QH$Q[8Փ‚i$+LgZ"Q+xy6+h+0XAke'xQDT L`J[zlA 9YsS}0YI0;R>{bq&cLrMpJbVXRpHVTHPH#…Tvsٺp 1+Gn=b$=yL *:jgi˼UL~uo yЂ|!C~{҄Gd(e60\!0:]'65$WFxD,sUI]1$?ifLGFUK9.`__ """ + olderr = np.seterr(all='ignore') if sigma is None: sigma = [1.25, 2.5, 5, 10, 20, 40] if np.isnan(data).any(): @@ -101,23 +102,20 @@ def mgn( "behavior.", stacklevel=3, ) - if weights is None: weights = np.ones(len(sigma)) - # 1. Replace spurious negative pixels with zero if clip is True: - data[data <= 0] = 1e-15 # Makes sure that all values are above zero - + data[data <= 0] = 1e-15 + # We want to avoid casting issues between dtype('float64') and dtype('int16') + data = data.astype(np.float32) image = np.zeros_like(data) conv = np.zeros_like(data) sigmaw = np.zeros_like(data) - for s, weight in zip(sigma, weights, strict=True): # 2 & 3 Create kernel and convolve with image # Refer to equation (1) in the paper ndimage.gaussian_filter(data, sigma=s, truncate=truncate, mode="nearest", output=conv) - # 4. Calculate difference between image and the local mean image, # square the difference, and convolve with kernel. Square-root the # resulting image to give `local standard deviation` image sigmaw @@ -125,27 +123,21 @@ def mgn( conv = data - conv ndimage.gaussian_filter(conv**2, sigma=s, truncate=truncate, mode="nearest", output=sigmaw) np.sqrt(sigmaw, out=sigmaw) - # 5. Normalize the gaussian transformed image to give C_i. sigmaw = np.where(sigmaw == 0.0, 1.0, sigmaw) conv /= sigmaw - # 6. Apply arctan transformation on Ci to give C'i # Refer to equation (3) in the paper conv *= k np.arctan(conv, out=conv) conv *= weight - image += conv - - # delete these arrays here as it reduces the total memory consumption when + # Delete these arrays here as it reduces the total memory consumption when # we create the Cprime_g temp array below. del conv del sigmaw - # 8. Take weighted mean of C'i to give a weighted mean locally normalised image. image /= len(sigma) - # 9. Calculate global gamma-transformed image C'g # Refer to equation (4) in the paper gamma_min = data.min() if gamma_min is None else gamma_min @@ -155,12 +147,11 @@ def mgn( Cprime_g /= gamma_max - gamma_min Cprime_g **= 1 / gamma Cprime_g *= h - # 10. Sum the weighted mean locally transformed image with the global normalized image # Refer to equation (5) in the paper image *= 1 - h image += Cprime_g - + np.seterr(**olderr) return image diff --git a/sunkit_image/tests/figure_hashes_mpl_390_ft_261_sunpy_600_astropy_610.json b/sunkit_image/tests/figure_hashes_mpl_390_ft_261_sunpy_600_astropy_610.json index 678dfac4..e159e946 100644 --- a/sunkit_image/tests/figure_hashes_mpl_390_ft_261_sunpy_600_astropy_610.json +++ b/sunkit_image/tests/figure_hashes_mpl_390_ft_261_sunpy_600_astropy_610.json @@ -1,13 +1,18 @@ { "sunkit_image.tests.test_enhance.test_mgn[array]": "f7a8e5a7377422c652a47217981d1c3bd1a66b5c211eae6ef18e4cef2660e438", "sunkit_image.tests.test_enhance.test_mgn[map]": "50bb490a6cc2408befe13c7f2a54f7433df80c2473dd21b619ace35de7e8f250", + "sunkit_image.tests.test_enhance.test_mgn_submap": "cf3948d3ffa8ed4eacc500bee170db68bb1a96d2cec1c92e48f74c01827dc397", + "sunkit_image.tests.test_enhance.test_mgn_cutout": "5b54d80ba0040a6eec181b8a83b5d294a4fbc60a5818651d67fc6dbf2690940f", "sunkit_image.tests.test_enhance.test_wow[array]": "fe6ee53b57b2fc6d8ce8a96e4273c3ddbe17057aeded32611b8e7294648d28e5", "sunkit_image.tests.test_enhance.test_wow[map]": "f5535fad0fe2d6ff2bfdfb10a984bb6a21ece95d971070482136fe6e6f874f1a", + "sunkit_image.tests.test_enhance.test_wow_submap": "73b8f7749ded1fd6898a7a83da4f755d4b6391c0215ca459be07982aeff9dae8", + "sunkit_image.tests.test_enhance.test_wow_cutout": "880e8f961e6943cd2ee4ff32379ea0444e4b5cf1494b6b42b0dc027ee7adf532", "sunkit_image.tests.test_radial.test_fig_nrgf": "57b79f69ba537ff2ee37a879048f7d1232173567cc8c7b2e46988cb8b11a5575", "sunkit_image.tests.test_radial.test_fig_fnrgf": "42044b0b483cd9623c59530c93f4e71b817df335050a71bb9c026cbf429cd7bd", "sunkit_image.tests.test_radial.test_fig_rhef": "1c97e4b501d6f614b8777ef36c97a1d17645287020d2979c206f84d51cce6db6", "sunkit_image.tests.test_radial.test_multifig_rhef": "d8963086739e0f011394a9ceb007d851bf12f9b542decd9b3dcaeeb993e6cda0", "sunkit_image.tests.test_stara.test_stara_plot": "88a1fafc42b22264a68a9b633bfa3bbe22ce3e89cbf8db15920a9d28b62e49f6", "sunkit_image.tests.test_trace.test_occult2_fig[array]": "e59f4c476b6b27788ab8dc397cb0d2f34f8d6032eced289fd2eabeb324b39558", - "sunkit_image.tests.test_trace.test_occult2_fig[map]": "e59f4c476b6b27788ab8dc397cb0d2f34f8d6032eced289fd2eabeb324b39558" + "sunkit_image.tests.test_trace.test_occult2_fig[map]": "e59f4c476b6b27788ab8dc397cb0d2f34f8d6032eced289fd2eabeb324b39558", + "sunkit_image.tests.test_trace.test_occult2_cutout": "1b18459111342c3bab4a2c8fb08b012eef4a69767e08753d8918fe4987fa165d" } \ No newline at end of file diff --git a/sunkit_image/tests/test_enhance.py b/sunkit_image/tests/test_enhance.py index 8441965d..b38fd1c3 100644 --- a/sunkit_image/tests/test_enhance.py +++ b/sunkit_image/tests/test_enhance.py @@ -2,12 +2,16 @@ import numpy as np import pytest -import sunpy.data.sample +import astropy.units as u +from astropy.coordinates import SkyCoord + import sunpy.map import sunkit_image.enhance as enhance from sunkit_image.tests.helpers import figure_test +pytestmark = [pytest.mark.filterwarnings("ignore:Missing metadata for observer"), pytest.mark.filterwarnings("ignore:Missing metadata for observation time")] + @figure_test @pytest.mark.remote_data() @@ -29,37 +33,34 @@ def map_test(): return np.ones((4, 4), dtype=float) -def test_multiscale_gaussian(map_test): - # Assuming the algorithm works fine then the below two should be equal. - expect1 = enhance.mgn(map_test, sigma=[1]) - expect2 = enhance.mgn(map_test, sigma=[1, 1]) - assert np.allclose(expect1, expect2) - - result1 = np.zeros((4, 4), dtype=float) - expect3 = enhance.mgn(map_test, sigma=[1]) - assert np.allclose(result1, expect3) - - # This is a dummy test. - # These values were not verified by hand rather they were - # generated using the code itself. - result2 = np.array( - [ - [0.0305363, 0.0305363, 0.0305363, 0.0305363], - [0.0305363, 0.0305363, 0.0305363, 0.0305363], - [0.0305363, 0.0305363, 0.0305363, 0.0305363], - [0.0305363, 0.0305363, 0.0305363, 0.0305363], - ], - ) - expect4 = enhance.mgn(map_test) - assert np.allclose(result2, expect4) - - def test_nans_raise_warning(map_test): map_test[0, 0] = np.nan with pytest.warns(UserWarning, match="One or more entries in the input data are NaN."): enhance.mgn(map_test) +@figure_test +@pytest.mark.remote_data() +def test_mgn_submap(aia_171_map): + top_right = SkyCoord(0 * u.arcsec, -200 * u.arcsec, frame=aia_171_map.coordinate_frame) + bottom_left = SkyCoord(-900 * u.arcsec, -900 * u.arcsec, frame=aia_171_map.coordinate_frame) + aia_171_map_submap = aia_171_map.submap(bottom_left, top_right=top_right) + out = enhance.mgn(aia_171_map_submap) + fig = plt.figure() + ax = fig.add_subplot(111, projection=out) + out.plot(axes=ax) + return fig + + +@figure_test +def test_mgn_cutout(aia_171_cutout): + out = enhance.mgn(aia_171_cutout) + fig = plt.figure() + ax = fig.add_subplot(111, projection=out) + out.plot(axes=ax, clip_interval=(1, 99) * u.percent) + return fig + + @figure_test @pytest.mark.remote_data() def test_wow(aia_171): @@ -73,3 +74,25 @@ def test_wow(aia_171): ax = fig.add_subplot(111) ax.imshow(out, origin="lower", interpolation="nearest", cmap="sdoaia171") return fig + + +@figure_test +@pytest.mark.remote_data() +def test_wow_submap(aia_171_map): + top_right = SkyCoord(0 * u.arcsec, -200 * u.arcsec, frame=aia_171_map.coordinate_frame) + bottom_left = SkyCoord(-900 * u.arcsec, -900 * u.arcsec, frame=aia_171_map.coordinate_frame) + aia_171_map_submap = aia_171_map.submap(bottom_left, top_right=top_right) + out = enhance.wow(aia_171_map_submap) + fig = plt.figure() + ax = fig.add_subplot(111, projection=out) + out.plot(axes=ax) + return fig + + +@figure_test +def test_wow_cutout(aia_171_cutout): + out = enhance.wow(aia_171_cutout) + fig = plt.figure() + ax = fig.add_subplot(111, projection=out) + out.plot(axes=ax) + return fig diff --git a/sunkit_image/tests/test_granule.py b/sunkit_image/tests/test_granule.py index 1f8c17cb..d1ecd866 100644 --- a/sunkit_image/tests/test_granule.py +++ b/sunkit_image/tests/test_granule.py @@ -1,124 +1,126 @@ -import numpy as np -import pytest - -import sunpy -from sunpy.map import all_pixel_indices_from_map - -from sunkit_image.granule import ( - _get_threshold, - _mark_brightpoint, - _trim_intergranules, - segment, - segments_overlap_fraction, -) - - -def test_segment(granule_map): - segmented = segment(granule_map, skimage_method="li", mark_dim_centers=True) - assert isinstance(segmented, sunpy.map.mapbase.GenericMap) - # Check pixels are not empty. - initial_pix = all_pixel_indices_from_map(granule_map).value - seg_pixels = all_pixel_indices_from_map(segmented).value - assert np.size(seg_pixels) > 0 - assert seg_pixels.shape == initial_pix.shape - # Check that the values in the array have changed - assert np.any(np.not_equal(granule_map.data, segmented.data)) - - -def test_segment_errors(granule_map): - with pytest.raises(TypeError, match="Input must be an instance of a sunpy.map.GenericMap"): - segment(np.array([[1, 2, 3], [1, 2, 3]])) - with pytest.raises(ValueError, match="Method must be one of: li, otsu, yen, mean, minimum, triangle, isodata"): - segment(granule_map, skimage_method="banana") - - -def test_get_threshold(): - test_arr1 = np.array([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]) - threshold1 = _get_threshold(test_arr1, "li") - assert isinstance(threshold1, np.float64) - # Check that different arrays return different thresholds. - test_arr2 = np.array([[2, 3, 4, 5, 6], [2, 3, 4, 5, 6]]) - threshold2 = _get_threshold(test_arr2, "li") - assert threshold1 != threshold2 - - -def test_get_threshold_range(): - test_arr1 = np.array([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]) - threshold1 = _get_threshold(test_arr1, "li") - assert 0 < threshold1 < np.max(test_arr1) - - -def test_get_threshold_errors(): - with pytest.raises(TypeError, match="Input data must be an instance of a np.ndarray"): - _get_threshold([], "li") - with pytest.raises(ValueError, match="Method must be one of: li, otsu, yen, mean, minimum, triangle, isodata"): - _get_threshold(np.array([[1, 2], [1, 2]]), "banana") - - -def test_trim_intergranules(granule_map): - thresholded = np.uint8(granule_map.data > np.nanmedian(granule_map.data)) - # Check that returned array is not empty. - assert np.size(thresholded) > 0 - # Check that the correct dimensions are returned. - assert thresholded.shape == _trim_intergranules(thresholded).shape - # Check that erroneous zero values are caught and re-assigned - # e.g. inside of pad region, returned array has fewer 0-valued pixels then input - middles_removed = _trim_intergranules(thresholded) - pad = int(np.shape(thresholded)[0] / 200) - assert not np.count_nonzero(middles_removed[pad:-pad, pad:-pad]) < np.count_nonzero(thresholded[pad:-pad, pad:-pad]) - # Check that when mark=True, erroneous 0 values are set to 3 - middles_marked = _trim_intergranules(thresholded, mark=True) - marked_as_3 = np.count_nonzero(middles_marked[middles_marked == 3]) - assert marked_as_3 != 0 - # Check that when mark=False, erroneous 0 values are "removed" (set to 1), returning NO 3 values - middles_marked = _trim_intergranules(thresholded, mark=False) - marked_as_3 = np.count_nonzero(middles_marked[middles_marked == 3]) - assert marked_as_3 == 0 - - -def test_trim_intergranules_errors(): - rng = np.random.default_rng() - # Check that raises error if passed array is not binary. - data = rng.integers(low=0, high=10, size=(10, 10)) - with pytest.raises(ValueError, match="segmented_image must only have values of 1 and 0."): - _trim_intergranules(data) - - -def test_mark_brightpoint(granule_map, granule_map_he): - thresholded = np.uint8(granule_map.data > np.nanmedian(granule_map_he)) - brightpoint_marked, _, _ = _mark_brightpoint( - thresholded, - granule_map.data, - granule_map_he, - resolution=0.016, - bp_min_flux=None, - ) - # Check that the correct dimensions are returned. - assert thresholded.shape == brightpoint_marked.shape - # Check that returned array is not empty. - assert np.size(brightpoint_marked) > 0 - # Check that the returned array has some pixels of value 2 (for a dataset that we know has brightpoints by eye). - assert (brightpoint_marked == 2).sum() > 0 - - -def test_mark_brightpoint_error(granule_map, granule_map_he): - # Check that errors are raised for incorrect granule_map. - with pytest.raises(ValueError, match="segmented_image must have only"): - _mark_brightpoint(granule_map.data, granule_map.data, granule_map_he, resolution=0.016, bp_min_flux=None) - - -def test_segments_overlap_fraction(granule_minimap1): - # Check that segments_overlap_fraction is 1 when Maps are equal. - assert segments_overlap_fraction(granule_minimap1, granule_minimap1) == 1.0 - - -def test_segments_overlap_fraction2(granule_minimap1, granule_minimap2): - # Check that segments_overlap_fraction is between 0 and 1 when Maps are not equal. - assert segments_overlap_fraction(granule_minimap1, granule_minimap2) <= 1 - assert segments_overlap_fraction(granule_minimap1, granule_minimap2) >= 0 - - -def test_segments_overlap_fraction_errors(granule_minimap3): - # Check that error is raised if there are no granules or intergranules in image. - with pytest.raises(Exception, match="clustering failed"): - segments_overlap_fraction(granule_minimap3, granule_minimap3) +import numpy as np +import pytest + +import sunpy +from sunpy.map import all_pixel_indices_from_map + +from sunkit_image.granule import ( + _get_threshold, + _mark_brightpoint, + _trim_intergranules, + segment, + segments_overlap_fraction, +) + +pytestmark = [pytest.mark.filterwarnings("ignore:Missing metadata for observer")] + + +def test_segment(granule_map): + segmented = segment(granule_map, skimage_method="li", mark_dim_centers=True) + assert isinstance(segmented, sunpy.map.mapbase.GenericMap) + # Check pixels are not empty. + initial_pix = all_pixel_indices_from_map(granule_map).value + seg_pixels = all_pixel_indices_from_map(segmented).value + assert np.size(seg_pixels) > 0 + assert seg_pixels.shape == initial_pix.shape + # Check that the values in the array have changed + assert np.any(np.not_equal(granule_map.data, segmented.data)) + + +def test_segment_errors(granule_map): + with pytest.raises(TypeError, match="Input must be an instance of a sunpy.map.GenericMap"): + segment(np.array([[1, 2, 3], [1, 2, 3]])) + with pytest.raises(ValueError, match="Method must be one of: li, otsu, yen, mean, minimum, triangle, isodata"): + segment(granule_map, skimage_method="banana") + + +def test_get_threshold(): + test_arr1 = np.array([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]) + threshold1 = _get_threshold(test_arr1, "li") + assert isinstance(threshold1, np.float64) + # Check that different arrays return different thresholds. + test_arr2 = np.array([[2, 3, 4, 5, 6], [2, 3, 4, 5, 6]]) + threshold2 = _get_threshold(test_arr2, "li") + assert threshold1 != threshold2 + + +def test_get_threshold_range(): + test_arr1 = np.array([[1, 2, 3, 4, 5], [1, 2, 3, 4, 5]]) + threshold1 = _get_threshold(test_arr1, "li") + assert 0 < threshold1 < np.max(test_arr1) + + +def test_get_threshold_errors(): + with pytest.raises(TypeError, match="Input data must be an instance of a np.ndarray"): + _get_threshold([], "li") + with pytest.raises(ValueError, match="Method must be one of: li, otsu, yen, mean, minimum, triangle, isodata"): + _get_threshold(np.array([[1, 2], [1, 2]]), "banana") + + +def test_trim_intergranules(granule_map): + thresholded = np.uint8(granule_map.data > np.nanmedian(granule_map.data)) + # Check that returned array is not empty. + assert np.size(thresholded) > 0 + # Check that the correct dimensions are returned. + assert thresholded.shape == _trim_intergranules(thresholded).shape + # Check that erroneous zero values are caught and re-assigned + # e.g. inside of pad region, returned array has fewer 0-valued pixels then input + middles_removed = _trim_intergranules(thresholded) + pad = int(np.shape(thresholded)[0] / 200) + assert not np.count_nonzero(middles_removed[pad:-pad, pad:-pad]) < np.count_nonzero(thresholded[pad:-pad, pad:-pad]) + # Check that when mark=True, erroneous 0 values are set to 3 + middles_marked = _trim_intergranules(thresholded, mark=True) + marked_as_3 = np.count_nonzero(middles_marked[middles_marked == 3]) + assert marked_as_3 != 0 + # Check that when mark=False, erroneous 0 values are "removed" (set to 1), returning NO 3 values + middles_marked = _trim_intergranules(thresholded, mark=False) + marked_as_3 = np.count_nonzero(middles_marked[middles_marked == 3]) + assert marked_as_3 == 0 + + +def test_trim_intergranules_errors(): + rng = np.random.default_rng() + # Check that raises error if passed array is not binary. + data = rng.integers(low=0, high=10, size=(10, 10)) + with pytest.raises(ValueError, match="segmented_image must only have values of 1 and 0."): + _trim_intergranules(data) + + +def test_mark_brightpoint(granule_map, granule_map_he): + thresholded = np.uint8(granule_map.data > np.nanmedian(granule_map_he)) + brightpoint_marked, _, _ = _mark_brightpoint( + thresholded, + granule_map.data, + granule_map_he, + resolution=0.016, + bp_min_flux=None, + ) + # Check that the correct dimensions are returned. + assert thresholded.shape == brightpoint_marked.shape + # Check that returned array is not empty. + assert np.size(brightpoint_marked) > 0 + # Check that the returned array has some pixels of value 2 (for a dataset that we know has brightpoints by eye). + assert (brightpoint_marked == 2).sum() > 0 + + +def test_mark_brightpoint_error(granule_map, granule_map_he): + # Check that errors are raised for incorrect granule_map. + with pytest.raises(ValueError, match="segmented_image must have only"): + _mark_brightpoint(granule_map.data, granule_map.data, granule_map_he, resolution=0.016, bp_min_flux=None) + + +def test_segments_overlap_fraction(granule_minimap1): + # Check that segments_overlap_fraction is 1 when Maps are equal. + assert segments_overlap_fraction(granule_minimap1, granule_minimap1) == 1.0 + + +def test_segments_overlap_fraction2(granule_minimap1, granule_minimap2): + # Check that segments_overlap_fraction is between 0 and 1 when Maps are not equal. + assert segments_overlap_fraction(granule_minimap1, granule_minimap2) <= 1 + assert segments_overlap_fraction(granule_minimap1, granule_minimap2) >= 0 + + +def test_segments_overlap_fraction_errors(granule_minimap3): + # Check that error is raised if there are no granules or intergranules in image. + with pytest.raises(Exception, match="clustering failed"): + segments_overlap_fraction(granule_minimap3, granule_minimap3) diff --git a/sunkit_image/tests/test_radial.py b/sunkit_image/tests/test_radial.py index 28492469..b9704afa 100644 --- a/sunkit_image/tests/test_radial.py +++ b/sunkit_image/tests/test_radial.py @@ -14,6 +14,8 @@ import sunkit_image.utils as utils from sunkit_image.tests.helpers import figure_test, skip_windows +pytestmark = [pytest.mark.filterwarnings("ignore:Missing metadata for observer"), pytest.mark.filterwarnings("ignore:Missing metadata for observation time")] + @pytest.fixture() def map_test1(): diff --git a/sunkit_image/tests/test_trace.py b/sunkit_image/tests/test_trace.py index c20c6361..3c672904 100644 --- a/sunkit_image/tests/test_trace.py +++ b/sunkit_image/tests/test_trace.py @@ -46,7 +46,6 @@ def filepath_IDL(): def test_occult2_remote(image_remote, filepath_IDL): # Testing on the same input files as in the IDL tutorial loops = occult2(image_remote, nsm1=3, rmin=30, lmin=25, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) - # Taking all the x and y coordinates in separate lists x = [] y = [] @@ -54,34 +53,25 @@ def test_occult2_remote(image_remote, filepath_IDL): for points in loop: x.append(points[0]) y.append(points[1]) - # Creating a numpy array of all the loop points for ease of comparison X = np.array(x) Y = np.array(y) coords_py = np.c_[X, Y] - # Now we will test on the IDL output data - # Reading the IDL file expect = np.loadtxt(filepath_IDL) - # Validating the number of loops assert np.allclose(expect[-1, 0] + 1, len(loops)) - # Taking all the coords from the IDL form coords_idl = expect[:, 1:3] - # Checking all the coordinates must be close to each other assert np.allclose(coords_py, coords_idl, atol=1e-5) - # We devise one more test where we will find the distance between the Python and IDL points # For the algorithm to work correctly this distance should be very small. diff = coords_idl - coords_py square_diff = diff**2 sum_diff = np.sum(square_diff, axis=1) - distance = np.sqrt(sum_diff) - # The maximum distance between the IDL points and the Python points was found to be 0.11 pixels. assert all(distance < 0.11) @@ -89,18 +79,23 @@ def test_occult2_remote(image_remote, filepath_IDL): @figure_test @pytest.mark.remote_data() def test_occult2_fig(image_remote): - # A figure test for occult2, the plot is same as the one in the IDL tutorial loops = occult2(image_remote, nsm1=3, rmin=30, lmin=25, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) - + fig = plt.figure() + ax = fig.add_subplot(111) for loop in loops: - # We collect all the ``x`` and ``y`` coordinates in separate lists for plotting. - x = [] - y = [] - for points in loop: - x.append(points[0]) - y.append(points[1]) + x, y = zip(*loop, strict=False) + ax.plot(x, y, "b") - plt.plot(x, y, "b") + +@figure_test +def test_occult2_cutout(aia_171_cutout): + loops = occult2(aia_171_cutout, nsm1=3, rmin=30, lmin=25, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) + fig = plt.figure() + ax = fig.add_subplot(111) + for loop in loops: + x, y = zip(*loop, strict=False) + ax.plot(x, y, "b") + return fig @pytest.fixture() @@ -119,37 +114,25 @@ def image_test(): ima = np.zeros((15, 15), dtype=np.float32) ima[:, 7] = 1 ima[3:12, 7] = [4, 3, 6, 12, 4, 3, 4, 2, 1] - return ima def test_occult2(test_image, image_test): - # Set of checks which does not require remote data - # The first test were valid loops are detected loops = occult2(image_test, nsm1=1, rmin=30, lmin=0, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) - for loop in loops: - # We collect all the ``x`` and ``y`` coordinates in separate lists - x = [] - y = [] - for points in loop: - x.append(points[0]) - y.append(points[1]) - - # From the input image it is clear that all x coordinate is 7. + x, y = zip(*loop, strict=False) + plt.plot(x, y, "b") + # From the input image it is clear that all x coordinate are 7 assert np.allclose(np.round(x), np.ones(8) * 7) # All the y coords are [11, 10, ..., 4] assert np.allclose(np.round(y), np.arange(11, 3, -1)) - # This check will return an empty list as no loop is detected loops = occult2(image_test, nsm1=1, rmin=30, lmin=25, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) assert not loops - # This check is used to verify whether the RuntimeError is triggered with pytest.raises(RuntimeError) as record: occult2(test_image, nsm1=3, rmin=30, lmin=25, nstruc=1000, ngap=0, qthresh1=0.0, qthresh2=3.0) - assert str(record.value) == ( "The filter size is very large compared to the size of the image." " The entire image zeros out while smoothing the image edges after filtering." @@ -159,7 +142,6 @@ def test_occult2(test_image, image_test): @pytest.fixture() def test_map(): map_test = [[1.0, 1.0, 1.0, 1.0], [1.0, 5.0, 5.0, 1.0], [1.0, 5.0, 5.0, 1.0], [1.0, 1.0, 1.0, 1.0]] - return np.array(map_test) @@ -205,7 +187,6 @@ def test_smooth_ones(test_map_ones): def test_smooth(test_map): filtered = smooth(test_map, 1) assert np.allclose(filtered, test_map) - filtered = smooth(test_map, 3) expect = np.array( [ @@ -215,7 +196,6 @@ def test_smooth(test_map): [1.0, 1.0, 1.0, 1.0], ], ) - assert np.allclose(filtered, expect) @@ -224,21 +204,14 @@ def test_erase_loop_in_image(test_map_ones, test_map): istart = 0 jstart = 1 width = 1 - # The coordinates of the dummy loop xloop = [1, 2, 3] yloop = [1, 1, 1] - result = _erase_loop_in_image(test_map_ones, istart, jstart, width, xloop, yloop) - expect = np.array([[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0]]) - assert np.allclose(expect, result) - result = _erase_loop_in_image(test_map, istart, jstart, width, xloop, yloop) - expect = np.array([[0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0], [0.0, 0.0, 0.0, 1.0]]) - assert np.allclose(expect, result) @@ -247,10 +220,8 @@ def test_initial_direction_finding(test_image): xstart = 0 ystart = 1 nlen = 30 - # The angle returned is with respect to the ``x`` axis. al = _initial_direction_finding(test_image, xstart, ystart, nlen) - # The angle returned is zero because the image has loop in the ``y`` direction but the function # assumes the image is transposed so it takes the straight line in the ``x`` direction. assert np.allclose(al, 0.0) @@ -262,23 +233,18 @@ def test_curvature_radius(test_image): zl = np.zeros((3), dtype=np.float32) al = np.zeros((3), dtype=np.float32) ir = np.zeros((3), dtype=np.float32) - xl[0] = 0 yl[0] = 1 zl[0] = 5 al[0] = 0.0 - # Using the similar settings in as in the IDL tutorial. # This is forward tracing where the first point is after the starting point is being traced. xl, yl, zl, al = _curvature_radius(test_image, 30, xl, yl, zl, al, ir, 0, 30, 0) - assert np.allclose(np.ceil(xl[1]), 1) assert np.allclose(np.ceil(yl[1]), 1) assert np.allclose(zl[1], 3) - # This is forward tracing where the second point is after the starting point is being traced. xl, yl, zl, al = _curvature_radius(test_image, 30, xl, yl, zl, al, ir, 1, 30, 0) - assert np.allclose(np.ceil(xl[2]), 2) assert np.allclose(np.ceil(yl[2]), 1) assert np.allclose(zl[2], 0) @@ -289,35 +255,27 @@ def parameters_add_loop(): # Here we are creating dummy coordinates and flux for a loop xloop = np.ones(8, dtype=np.float32) * 7 yloop = np.arange(11, 3, -1, dtype=np.float32) - iloop = 0 np1 = len(xloop) - # Calculate the length of each point lengths = np.zeros((np1), dtype=np.float32) - for ip in range(1, np1): lengths[ip] = lengths[ip - 1] + np.sqrt((xloop[ip] - xloop[ip - 1]) ** 2 + (yloop[ip] - yloop[ip - 1]) ** 2) - # The empty structures in which the first loop is stored loops = [] - return (lengths, xloop, yloop, iloop, loops) def test_add_loop(parameters_add_loop): # We call the add_loop function and the values should be placed in the structures loops, iloop = _loop_add(*parameters_add_loop) - expect_loops = [[[7.0, 11.0], [7.0, 10.0], [7.0, 9.0], [7.0, 8.0], [7.0, 7.0], [7.0, 6.0], [7.0, 5.0]]] - assert np.allclose(loops, expect_loops) assert np.allclose(iloop, 1) def test_parameters_add_loop(parameters_add_loop): lengths, xloop, yloop, iloop, loops = parameters_add_loop - assert np.allclose(lengths, np.arange(0, 8)) assert np.allclose(xloop, np.ones(8) * 7) assert np.allclose(yloop, np.arange(11, 3, -1)) diff --git a/sunkit_image/utils/noise.py b/sunkit_image/utils/noise.py index 4f229287..e817d395 100644 --- a/sunkit_image/utils/noise.py +++ b/sunkit_image/utils/noise.py @@ -46,7 +46,7 @@ def noise_estimation(img, patchsize=7, decim=0, confidence=1 - 1e-6, iterations= >>> rng = np.random.default_rng(0) >>> noisy_image_array = rng.standard_normal((100, 100)) >>> estimate = noise_estimation(noisy_image_array, patchsize=11, iterations=10) - >>> estimate["mask"] # Prints mask + >>> estimate["mask"] # doctest: +SKIP array([[1., 1., 1., ..., 1., 1., 0.], [1., 1., 1., ..., 1., 1., 0.], [1., 1., 1., ..., 1., 1., 0.], @@ -54,11 +54,11 @@ def noise_estimation(img, patchsize=7, decim=0, confidence=1 - 1e-6, iterations= [1., 1., 1., ..., 1., 1., 0.], [1., 1., 1., ..., 1., 1., 0.], [0., 0., 0., ..., 0., 0., 0.]]) - >>> estimate["nlevel"] # Prints nlevel + >>> estimate["nlevel"] # doctest: +SKIP array([0.97398633]) - >>> estimate["thresh"] # Prints thresh + >>> estimate["thresh"] # doctest: +SKIP array([164.21965135]) - >>> estimate["num"] # Prints num + >>> estimate["num"] # doctest: +SKIP array([8100.]) References