From f957f062e1d016dadaa4bb9c3e870412f8845c26 Mon Sep 17 00:00:00 2001 From: "chenwei@shao.ac.cn" Date: Fri, 19 May 2023 16:23:17 +0800 Subject: [PATCH] build --- LICENSE | 21 + README.md | 6 +- csst_mci_sim/CTI/CTI.py | 495 +++ csst_mci_sim/CTI/__init__.py | 0 csst_mci_sim/__init__.py | 0 csst_mci_sim/csst_mci_sim.py | 3733 +++++++++++++++++ csst_mci_sim/mci_data/mci_sim_example.config | 282 ++ csst_mci_sim/mci_so/__init__.py | 0 .../cdm03.cpython-37m-x86_64-linux-gnu.so | Bin 0 -> 175816 bytes .../cdm03.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 182992 bytes ...cdm03bidir.cpython-37m-x86_64-linux-gnu.so | Bin 0 -> 192640 bytes .../cdm03bidir.cpython-38-x86_64-linux-gnu.so | Bin 0 -> 203248 bytes csst_mci_sim/mci_so/libshao.so | Bin 0 -> 663506 bytes csst_mci_sim/support/MCIinstrumentModel.py | 68 + csst_mci_sim/support/__init__.py | 0 csst_mci_sim/support/cosmicrays.py | 448 ++ csst_mci_sim/support/logger.py | 55 + csst_mci_sim/support/sed.py | 245 ++ csst_mci_sim/support/shao.py | 134 + setup.py | 36 + 20 files changed, 5520 insertions(+), 3 deletions(-) create mode 100644 LICENSE create mode 100644 csst_mci_sim/CTI/CTI.py create mode 100644 csst_mci_sim/CTI/__init__.py create mode 100644 csst_mci_sim/__init__.py create mode 100644 csst_mci_sim/csst_mci_sim.py create mode 100644 csst_mci_sim/mci_data/mci_sim_example.config create mode 100644 csst_mci_sim/mci_so/__init__.py create mode 100644 csst_mci_sim/mci_so/cdm03.cpython-37m-x86_64-linux-gnu.so create mode 100644 csst_mci_sim/mci_so/cdm03.cpython-38-x86_64-linux-gnu.so create mode 100644 csst_mci_sim/mci_so/cdm03bidir.cpython-37m-x86_64-linux-gnu.so create mode 100644 csst_mci_sim/mci_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so create mode 100644 csst_mci_sim/mci_so/libshao.so create mode 100644 csst_mci_sim/support/MCIinstrumentModel.py create mode 100644 csst_mci_sim/support/__init__.py create mode 100644 csst_mci_sim/support/cosmicrays.py create mode 100644 csst_mci_sim/support/logger.py create mode 100644 csst_mci_sim/support/sed.py create mode 100644 csst_mci_sim/support/shao.py create mode 100644 setup.py diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..a9b5e74 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 CSST-L1 + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index d2bc7fa..aed373c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# mci +# csst_ifs_common @@ -15,14 +15,14 @@ Already a pro? Just edit this README.md and make it your own. Want to make it ea ``` cd existing_repo -git remote add origin https://csst-tb.bao.ac.cn/code/shaosim/mci.git +git remote add origin https://csst-tb.bao.ac.cn/code/csst-l1/ifs/csst_ifs_common.git git branch -M main git push -uf origin main ``` ## Integrate with your tools -- [ ] [Set up project integrations](https://csst-tb.bao.ac.cn/code/shaosim/mci/-/settings/integrations) +- [ ] [Set up project integrations](http://10.3.10.28/code/csst-l1/ifs/csst_ifs_common/-/settings/integrations) ## Collaborate with your team diff --git a/csst_mci_sim/CTI/CTI.py b/csst_mci_sim/CTI/CTI.py new file mode 100644 index 0000000..48c87cb --- /dev/null +++ b/csst_mci_sim/CTI/CTI.py @@ -0,0 +1,495 @@ +""" +Charge Transfer Inefficiency +============================ + +This file contains a simple class to run a CDM03 CTI model developed by Alex Short (ESA). + +This now contains both the official CDM03 and a new version that allows different trap +parameters in parallel and serial direction. + +:requires: NumPy +:requires: CDM03 (FORTRAN code, f2py -c -m cdm03bidir cdm03bidir.f90) + +:version: 0.35 +""" +import numpy as np + +# try: +# import cdm03bidir +# #import cdm03bidirTest as cdm03bidir #for testing purposes only +# except ImportError: +# print('import CTI module') +# #print ('No CDM03bidir module available, please compile it: f2py -c -m cdm03bidir cdm03bidir.f90') + + + +#CDM03bidir +class CDM03bidir(): + """ + Class to run CDM03 CTI model, class Fortran routine to perform the actual CDM03 calculations. + + :param settings: input parameters + :type settings: dict + :param data: input data to be radiated + :type data: ndarray + :param log: instance to Python logging + :type log: logging instance + """ + def __init__(self, settings, data, log=None): + """ + Class constructor. + + :param settings: input parameters + :type settings: dict + :param data: input data to be radiated + :type data: ndarray + :param log: instance to Python logging + :type log: logging instance + """ + self.data = data + self.values = dict(quads=(0,1,2,3), xsize=2048, ysize=2066, dob=0.0, rdose=8.0e9) + self.values.update(settings) + self.log = log + self._setupLogger() + + #default CDM03 settings + self.params = dict(beta_p=0.6, beta_s=0.6, fwc=200000., vth=1.168e7, vg=6.e-11, t=20.48e-3, + sfwc=730000., svg=1.0e-10, st=5.0e-6, parallel=1., serial=1.) + #update with inputs + self.params.update(self.values) + + #read in trap information + trapdata = np.loadtxt(self.values['parallelTrapfile']) + if trapdata.ndim > 1: + self.nt_p = trapdata[:, 0] + self.sigma_p = trapdata[:, 1] + self.taur_p = trapdata[:, 2] + else: + #only one trap species + self.nt_p = [trapdata[0],] + self.sigma_p = [trapdata[1],] + self.taur_p = [trapdata[2],] + + trapdata = np.loadtxt(self.values['serialTrapfile']) + if trapdata.ndim > 1: + self.nt_s = trapdata[:, 0] + self.sigma_s = trapdata[:, 1] + self.taur_s = trapdata[:, 2] + else: + #only one trap species + self.nt_s = [trapdata[0],] + self.sigma_s = [trapdata[1],] + self.taur_s = [trapdata[2],] + + #scale thibaut's values + if 'thibaut' in self.values['parallelTrapfile']: + self.nt_p /= 0.576 #thibaut's values traps / pixel + self.sigma_p *= 1.e4 #thibaut's values in m**2 + if 'thibaut' in self.values['serialTrapfile']: + self.nt_s *= 0.576 #thibaut's values traps / pixel #should be division? + self.sigma_s *= 1.e4 #thibaut's values in m**2 + + + def _setupLogger(self): + """ + Set up the logger. + """ + self.logger = True + if self.log is None: + self.logger = False + + + def radiateFullCCD(self): + """ + This routine allows the whole CCD to be run through a radiation damage mode. + The routine takes into account the fact that the amplifiers are in the corners + of the CCD. The routine assumes that the CCD is using four amplifiers. + + There is an excess of .copy() calls, which should probably be cleaned up. However, + given that I had problem with the Fortran code, I have kept the calls. If memory + becomes an issue then this should be cleaned. + + :return: radiation damaged image + :rtype: ndarray + """ + ydim, xdim = self.data.shape + out = np.zeros((xdim, ydim)) + + #transpose the data, because Python has different convention than Fortran + data = self.data.transpose().copy() + + for quad in self.values['quads']: + if self.logger: + self.log.info('Adding CTI to Q%i' % quad) + + if quad == 0: + d = data[0:self.values['xsize'], 0:self.values['ysize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[0:self.values['xsize'], 0:self.values['ysize']] = tmp + elif quad == 1: + d = data[self.values['xsize']:, :self.values['ysize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['xsize']:, :self.values['ysize']] = tmp + elif quad == 2: + d = data[:self.values['xsize'], self.values['ysize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['xsize'], self.values['ysize']:] = tmp + elif quad == 3: + d = data[self.values['xsize']:, self.values['ysize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['xsize']:, self.values['ysize']:] = tmp + else: + print( 'ERROR -- too many quadrants!!' ) + self.log.error('Too many quadrants! This method allows only four quadrants.') + + return out.transpose() + + + def radiateFullCCD2(self): + """ + This routine allows the whole CCD to be run through a radiation damage mode. + The routine takes into account the fact that the amplifiers are in the corners + of the CCD. The routine assumes that the CCD is using four amplifiers. + + There is an excess of .copy() calls, which should probably be cleaned up. However, + given that I had problem with the Fortran code, I have kept the calls. If memory + becomes an issue then this should be cleaned. + + :return: radiation damaged image + :rtype: ndarray + """ + ydim, xdim = self.data.shape + out = np.empty((ydim, xdim)) + + #transpose the data, because Python has different convention than Fortran + data = self.data.copy() + + for quad in self.values['quads']: + if self.logger: + self.log.info('Adding CTI to Q%i' % quad) + + if quad == 0: + d = data[:self.values['ysize'], :self.values['xsize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['ysize'], :self.values['xsize']] = tmp + elif quad == 1: + d = data[:self.values['ysize'], self.values['xsize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['ysize'], self.values['xsize']:] = tmp + elif quad == 2: + d = data[self.values['ysize']:, :self.values['xsize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['ysize']:, :self.values['xsize']] = tmp + elif quad == 3: + d = data[self.values['ysize']:, self.values['xsize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['ysize']:, self.values['xsize']:] = tmp + else: + print( 'ERROR -- too many quadrants!!') + self.log.error('Too many quadrants! This method allows only four quadrants.') + + return out + + + def applyRadiationDamage(self, data, iquadrant=0): + """ + Apply radian damage based on FORTRAN CDM03 model. The method assumes that + input data covers only a single quadrant defined by the iquadrant integer. + + :param data: imaging data to which the CDM03 model will be applied to. + :type data: ndarray + + :param iquandrant: number of the quadrant to process + :type iquandrant: int + + cdm03 - Function signature:: + + sout = cdm03(sinp,iflip,jflip,dob,rdose,in_nt,in_sigma,in_tr,[xdim,ydim,zdim]) + Required arguments: + sinp : input rank-2 array('d') with bounds (xdim,ydim) + iflip : input int + jflip : input int + dob : input float + rdose : input float + in_nt : input rank-1 array('d') with bounds (zdim) + in_sigma : input rank-1 array('d') with bounds (zdim) + in_tr : input rank-1 array('d') with bounds (zdim) + Optional arguments: + xdim := shape(sinp,0) input int + ydim := shape(sinp,1) input int + zdim := len(in_nt) input int + Return objects: + sout : rank-2 array('d') with bounds (xdim,ydim) + + .. Note:: Because Python/NumPy arrays are different row/column based, one needs + to be extra careful here. NumPy.asfortranarray will be called to get + an array laid out in Fortran order in memory. Before returning the + array will be laid out in memory in C-style (row-major order). + + :return: image that has been run through the CDM03 model + :rtype: ndarray + """"" + #return data + + iflip = iquadrant / 2 + jflip = iquadrant % 2 + + params = [self.params['beta_p'], self.params['beta_s'], self.params['fwc'], self.params['vth'], + self.params['vg'], self.params['t'], self.params['sfwc'], self.params['svg'], self.params['st'], + self.params['parallel'], self.params['serial']] + + if self.logger: + self.log.info('nt_p=' + str(self.nt_p)) + self.log.info('nt_s=' + str(self.nt_s)) + self.log.info('sigma_p= ' + str(self.sigma_p)) + self.log.info('sigma_s= ' + str(self.sigma_s)) + self.log.info('taur_p= ' + str(self.taur_p)) + self.log.info('taur_s= ' + str(self.taur_s)) + self.log.info('dob=%f' % self.values['dob']) + self.log.info('rdose=%e' % self.values['rdose']) + self.log.info('xsize=%i' % data.shape[1]) + self.log.info('ysize=%i' % data.shape[0]) + self.log.info('quadrant=%i' % iquadrant) + self.log.info('iflip=%i' % iflip) + self.log.info('jflip=%i' % jflip) + +################################################################################# +###modify + import sys + #sys.path.append('../so') + from ifs_so import cdm03bidir + # from ifs_so.cdm03.cpython-38-x86_64-linux-gnu import cdm03bidir + # import cdm03bidir + CTIed = cdm03bidir.cdm03(np.asfortranarray(data), + jflip, iflip, + self.values['dob'], self.values['rdose'], + self.nt_p, self.sigma_p, self.taur_p, + self.nt_s, self.sigma_s, self.taur_s, + params, + [data.shape[0], data.shape[1], len(self.nt_p), len(self.nt_s), len(self.params)]) + + + return np.asanyarray(CTIed) + +################################################################################################################# + + + +class CDM03(): + """ + Class to run CDM03 CTI model, class Fortran routine to perform the actual CDM03 calculations. + + :param data: input data to be radiated + :type data: ndarray + :param input: input parameters + :type input: dictionary + :param log: instance to Python logging + :type log: logging instance + """ + def __init__(self, input, data, log=None): + """ + Class constructor. + + :param data: input data to be radiated + :type data: ndarray + :param input: input parameters + :type input: dictionary + :param log: instance to Python logging + :type log: logging instance + """ + try: + import cdm03 + except ImportError: + print( 'No CDM03 module available, please compile it: f2py -c -m cdm03 cdm03.f90') + + self.data = data + self.values = dict(quads=(0,1,2,3), xsize=2048, ysize=2066, dob=0.0, rdose=8.0e9) + self.values.update(input) + self.log = log + self._setupLogger() + + + def _setupLogger(self): + """ + Set up the logger. + """ + self.logger = True + if self.log is None: + self.logger = False + + + def radiateFullCCD(self): + """ + This routine allows the whole CCD to be run through a radiation damage mode. + The routine takes into account the fact that the amplifiers are in the corners + of the CCD. The routine assumes that the CCD is using four amplifiers. + + There is an excess of .copy() calls, which should probably be cleaned up. However, + given that I had problem with the Fortran code, I have kept the calls. If memory + becomes an issue then this should be cleaned. + + :return: radiation damaged image + :rtype: ndarray + """ + ydim, xdim = self.data.shape + out = np.zeros((xdim, ydim)) + + #transpose the data, because Python has different convention than Fortran + data = self.data.transpose().copy() + + for quad in self.values['quads']: + if self.logger: + self.log.info('Adding CTI to Q%i' % quad) + + if quad == 0: + d = data[0:self.values['xsize'], 0:self.values['ysize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[0:self.values['xsize'], 0:self.values['ysize']] = tmp + elif quad == 1: + d = data[self.values['xsize']:, :self.values['ysize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['xsize']:, :self.values['ysize']] = tmp + elif quad == 2: + d = data[:self.values['xsize'], self.values['ysize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['xsize'], self.values['ysize']:] = tmp + elif quad == 3: + d = data[self.values['xsize']:, self.values['ysize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['xsize']:, self.values['ysize']:] = tmp + else: + print ('ERROR -- too many quadrants!!') + self.log.error('Too many quadrants! This method allows only four quadrants.') + + return out.transpose() + + + def radiateFullCCD2(self): + """ + This routine allows the whole CCD to be run through a radiation damage mode. + The routine takes into account the fact that the amplifiers are in the corners + of the CCD. The routine assumes that the CCD is using four amplifiers. + + There is an excess of .copy() calls, which should probably be cleaned up. However, + given that I had problem with the Fortran code, I have kept the calls. If memory + becomes an issue then this should be cleaned. + + :return: radiation damaged image + :rtype: ndarray + """ + ydim, xdim = self.data.shape + out = np.empty((ydim, xdim)) + + #transpose the data, because Python has different convention than Fortran + data = self.data.copy() + + for quad in self.values['quads']: + if self.logger: + self.log.info('Adding CTI to Q%i' % quad) + + if quad == 0: + d = data[:self.values['ysize'], :self.values['xsize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['ysize'], :self.values['xsize']] = tmp + elif quad == 1: + d = data[:self.values['ysize'], self.values['xsize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[:self.values['ysize'], self.values['xsize']:] = tmp + elif quad == 2: + d = data[self.values['ysize']:, :self.values['xsize']].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['ysize']:, :self.values['xsize']] = tmp + elif quad == 3: + d = data[self.values['ysize']:, self.values['xsize']:].copy() + tmp = self.applyRadiationDamage(d, iquadrant=quad).copy() + out[self.values['ysize']:, self.values['xsize']:] = tmp + else: + print ('ERROR -- too many quadrants!!') + self.log.error('Too many quadrants! This method allows only four quadrants.') + + return out + + + def applyRadiationDamage(self, data, iquadrant=0): + """ + Apply radian damage based on FORTRAN CDM03 model. The method assumes that + input data covers only a single quadrant defined by the iquadrant integer. + + :param data: imaging data to which the CDM03 model will be applied to. + :type data: ndarray + + :param iquandrant: number of the quadrant to process + :type iquandrant: int + + cdm03 - Function signature:: + + sout = cdm03(sinp,iflip,jflip,dob,rdose,in_nt,in_sigma,in_tr,[xdim,ydim,zdim]) + Required arguments: + sinp : input rank-2 array('d') with bounds (xdim,ydim) + iflip : input int + jflip : input int + dob : input float + rdose : input float + in_nt : input rank-1 array('d') with bounds (zdim) + in_sigma : input rank-1 array('d') with bounds (zdim) + in_tr : input rank-1 array('d') with bounds (zdim) + Optional arguments: + xdim := shape(sinp,0) input int + ydim := shape(sinp,1) input int + zdim := len(in_nt) input int + Return objects: + sout : rank-2 array('d') with bounds (xdim,ydim) + + .. Note:: Because Python/NumPy arrays are different row/column based, one needs + to be extra careful here. NumPy.asfortranarray will be called to get + an array laid out in Fortran order in memory. Before returning the + array will be laid out in memory in C-style (row-major order). + + :return: image that has been run through the CDM03 model + :rtype: ndarray + """ + #read in trap information + trapdata = np.loadtxt(self.values['trapfile']) + nt = trapdata[:, 0] + sigma = trapdata[:, 1] + taur = trapdata[:, 2] + + iflip = iquadrant / 2 + jflip = iquadrant % 2 + + if self.logger: + self.log.info('nt=' + str(nt)) + self.log.info('sigma= ' + str(sigma)) + self.log.info('taur= ' + str(taur)) + self.log.info('dob=%f' % self.values['dob']) + self.log.info('rdose=%e' % self.values['rdose']) + self.log.info('xsize=%i' % data.shape[1]) + self.log.info('ysize=%i' % data.shape[0]) + self.log.info('quadrant=%i' % iquadrant) + self.log.info('iflip=%i' % iflip) + self.log.info('jflip=%i' % jflip) + + + # #call Fortran routine + # CTIed = cdm03.cdm03(np.asfortranarray(data), + # iflip, jflip, + # self.values['dob'], self.values['rdose'], + # nt, sigma, taur) + ###modify + import sys + sys.path.append('../CTI') + import cdm03 + + ################################################################################# + + CTIed = cdm03.cdm03(np.asfortranarray(data), + jflip, iflip, + self.values['dob'], self.values['rdose'], + nt,sigma,taur ) + + + return np.asanyarray(CTIed) + + +################################################################################################################# + diff --git a/csst_mci_sim/CTI/__init__.py b/csst_mci_sim/CTI/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/csst_mci_sim/__init__.py b/csst_mci_sim/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/csst_mci_sim/csst_mci_sim.py b/csst_mci_sim/csst_mci_sim.py new file mode 100644 index 0000000..78f69ae --- /dev/null +++ b/csst_mci_sim/csst_mci_sim.py @@ -0,0 +1,3733 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" + +@author: yan, zhaojun""" + + +""" +The CSST MCI Image Simulator +============================================= + +This file contains an image simulator for the CSST MCI. + +The approximate sequence of events in the simulator is as follows: + + #. Read in a configuration file, which defines for example, + detector characteristics (bias, dark and readout noise, gain, + plate scale and pixel scale, exposure time etc.). + #. Read in another file containing charge trap definitions (for CTI modelling). + #. Read in a file defining the cosmic rays (trail lengths and cumulative distributions). + + #. Loop over the number of exposures to co-add and for each object in the galaxy fits file: + + #. Apply a multiplicative flat-field map to emulate pixel-to-pixel non-uniformity [optional]. + + #. Add cosmic ray tracks onto the CCD with random positions but known distribution [optional]. + #. Apply detector charge bleeding in column direction [optional]. + #. Add constant dark current [optional]. + + #. Add photon (Poisson) noise [optional] + #. Add cosmetic defects from an input file [optional]. + #. Add prescan and overscan regions in the serial direction [optional]. + #. Apply the CDM03 radiation damage model [optional]. + #. Apply non-linearity model to the pixel data [optional]. + #. Add readout noise selected [optional]. + #. Convert from electrons to ADUs using a given gain factor. + #. Add a given bias level and discretise the counts (the output is going to be in 16bit unsigned integers). + #. Finally the simulated image is converted to a FITS file, a WCS is assigned + and the output is saved to the current working directory. + +.. Warning:: The code is still work in progress and new features are being added. + The code has been tested, but nevertheless bugs may be lurking in corners, so + please report any weird or inconsistent simulations to the author. + + +Contact Information: zhaojunyan@shao.ac.cn + +------- + +""" +import galsim +import pandas as pd +from scipy.integrate import simps +import julian +from datetime import datetime, timedelta +from astropy.time import Time +from astropy.coordinates import get_sun + +import numpy as np + +from tqdm import tqdm + +from astropy.wcs import WCS as WCS + +from astropy.io import fits + +from astropy import units as u + +import os, sys, math + +import configparser as ConfigParser + +from optparse import OptionParser + +from scipy import ndimage + + +from astropy.coordinates import SkyCoord + +from scipy import interpolate + +from scipy.signal import fftconvolve + + + +sys.path.append('..') +from CTI import CTI +from support import logger as lg +from support import cosmicrays +from support import MCIinstrumentModel +from support import shao +from support import sed + +# set the folder +FOLDER ='../' + + +##################################################################################### + + +def processArgs(printHelp=False): + """ + Processes command line arguments. + """ + parser = OptionParser() + + parser.add_option('-c', '--configfile', dest='configfile', + help="Name of the configuration file", metavar="string") + + parser.add_option('-s', '--section', dest='section', + help="Name of the section of the config file [SCIENCE]", metavar="string") + + parser.add_option('-q', '--quadrant', dest='quadrant', help='CCD quadrant to simulate [0, 1, 2, 3]', + metavar='int') + + parser.add_option('-x', '--xCCD', dest='xCCD', help='CCD number in X-direction within the FPA matrix', + metavar='int') + + parser.add_option('-y', '--yCCD', dest='yCCD', help='CCD number in Y-direction within the FPA matrix', + metavar='int') + + parser.add_option('-d', '--debug', dest='debug', action='store_true', + help='Debugging mode on') + + parser.add_option('-t', '--test', dest='test', action='store_true', + help='Run unittest') + + parser.add_option('-f', '--fixed', dest='fixed', help='Use a fixed seed for the random number generators', + metavar='int') + if printHelp: + parser.print_help() + else: + return parser.parse_args() + + +############################################################################### + +def make_c_coor(fov, step): + """ + Draw the mesh grids for a fov * fov box with given step . + """ + + nc=int(fov/step) + + bs=fov + ds = bs / nc + xx01 = np.linspace(-bs / 2.0, bs / 2.0 - ds, nc) + 0.5 * ds + xx02 = np.linspace(-bs / 2.0, bs / 2.0 - ds, nc) + 0.5 * ds + xg2, xg1 = np.meshgrid(xx01, xx02) + return xg1, xg2 + +############################################################################## + +############################################################################### + +def str2time(strTime): + if len(strTime)>20:# + msec=int(float('0.'+strTime[20:])*1000000) # microsecond + str2=strTime[0:19]+' '+str(msec) + return datetime.strptime(str2,'%Y %m %d %H %M %S %f') + +#datetime to mjd +def time2mjd(dateT): + t0=datetime(1858,11,17,0,0,0,0) # + mjd=(dateT-t0).days + mjd_s=dateT.hour*3600.0+dateT.minute*60.0+dateT.second+dateT.microsecond/1000000.0 + return mjd+mjd_s/86400.0 + +def time2jd(dateT): + t0=datetime(1858,11,17,0,0,0,0) # + mjd=(dateT-t0).days + mjd_s=dateT.hour*3600.0+dateT.minute*60.0+dateT.second+dateT.microsecond/1000000.0 + return mjd+mjd_s/86400.0++2400000.5 + +#mjd to datetime +def mjd2time(mjd): + t0=datetime(1858,11,17,0,0,0,0) # + return t0+timedelta(days=mjd) + +def jd2time(jd): + mjd=jd2mjd(jd) + return mjd2time(mjd) + +#mjd to jd +def mjd2jd(mjd): + return mjd+2400000.5 + +def jd2mjd(jd): + return jd-2400000.5 + +def dt2hmd(dt): + ## dt is datetime + hour=dt.hour + minute=dt.minute + second=dt.second + if hour<10: + str_h='0'+str(hour) + else: + str_h=str(hour) + + if minute<10: + str_m='0'+str(minute) + else: + str_m=str(minute) + + if second<10: + str_d='0'+str(second+dt.microsecond*1e-6) + else: + str_d=str(second+dt.microsecond*1e-6) + + return str_h+':'+str_m+':'+str_d + +############################################################################### + +def deg2HMS(ra, dec, rou=False): + '''convert deg to ra's HMS or dec's DHS''' + RA, DEC, rs, ds = '000000', '000000', '', '' + if dec: + if str(dec)[0] == '-': + ds, dec = '-', abs(dec) + deg = int(dec) + decM = abs(int((dec-deg)*60)) + + if rou: + decS = round((abs((dec-deg)*60)-decM)*60,1) + else: + decS = int((abs((dec-deg)*60)-decM)*60) + + if deg ==0: + deg ="00" + elif deg <10: + deg = "0%s"%deg + + if decM ==0: + decM ="00" + elif decM <10: + decM = "0%s"%decM + + if decS ==0: + decS ="00" + elif decS <10: + decS = "0%s"%decS + + DEC = '{0}{1}{2}{3}'.format(ds, deg, decM, decS) + + if ra: + if str(ra)[0] == '-': + rs, ra = '-', abs(ra) + raH = int(ra/15) + raM = int(((ra/15)-raH)*60) + + if rou: + raS = round(((((ra/15)-raH)*60)-raM)*60,1) + else: + raS = int(((((ra/15)-raH)*60)-raM)*60) + + if raH ==0: + raH = "00" + + elif raH <10: + raH = "0%s"%raH + + if raM ==0: + raM = "00" + elif raM <10: + raM = "0%s"%raM + + if raS ==0: + raS = "00" + + elif raS <10: + raS = "0%s"%raS + + RA = '{0}{1}{2}{3}'.format(rs, raH, raM, raS) + + if ds=='-': + return RA+DEC + else: + return RA+'+'+DEC +################################################################################ +def cut_radius(rcutstar, mstar, mag): + return rcutstar * 10**(0.4*2*(mstar-mag)/3.125) + +def core_radius(rcorestar, mstar, mag): + return rcorestar * 10**(0.4*(mstar-mag)/2) + +def v_disp(sigstar, mstar, mag): + return sigstar * 10**(0.4*(mstar-mag)/3.57) + +############################################################################### +##################################################################################### +#### distortion function + +def distortField(ra, dec, ch): + ###% ra ,dec are the idea position in arcsec , and the center position is ra=0, dec=0 + + '''MCI geometry distortion effect in channel G R and I''' + distortA=dict() + + distortB=dict() + + distortA['g']=np.array([0.000586224851462036,0.999778507355332,-0.000377391397200834,-4.40403573019393e-06,0.000147444528630966,-1.93281825050268e-06,5.73520238714447e-07,-1.05194725549731e-08,7.55124671251098e-07,-3.85623216175251e-09,-1.36254798567168e-11,1.36983654024573e-09,-4.53104347730230e-11,1.50641840169747e-09,-1.05226890727366e-11,1.06471556810228e-12,-1.42299485385165e-16,5.90008722878028e-12,2.36749977009538e-17,4.11061448730916e-12,3.39287277469805e-17]) + distortB['g']=np.array([1.00113878750680,-0.000495107770623867,0.999162436209357,9.67138672907941e-05,-3.88808001621361e-06,0.000267940195644359,-3.03504629416955e-09,7.59508802931395e-07,-1.13952684052500e-08,9.58672893217047e-07,2.96397490595616e-10,-3.01506961685930e-11,2.22570315950441e-09,-4.26077028191289e-11,2.07336026666512e-09,1.71450079597168e-16,2.94455108664049e-12,8.18246797239659e-17,8.32235684990184e-12,1.05203957047210e-17,5.58541337682320e-12]) + + distortA['r']=np.array([0.000530712822898294,0.999814397089242,-0.000366783811357609,-1.08650906916023e-05,0.000146500108063480,-4.48994291741769e-06,5.66992328511032e-07,-2.10826363791224e-08,7.51050898843171e-07,-7.74459106063614e-09,-5.78712436084704e-11,1.36389366137393e-09,-9.50057131576629e-11,1.49666815592076e-09,-2.16074939825761e-11,2.07124539578673e-12,-1.32787329448528e-13,5.78542850850562e-12,-5.82328830750271e-14,4.04881815088026e-12,2.46095156355282e-15]) + distortB['r']=np.array([1.00110972320988,-0.000483253233767592,0.999181377618578,9.60316928622784e-05,-9.06574382424422e-06,0.000266147076486786,-6.64513480754565e-09,7.53794491639207e-07,-2.25340150955077e-08,9.53032549996219e-07,2.93844965469408e-10,-6.80521155195455e-11,2.21272371816576e-09,-9.13097728847483e-11,2.06225316601308e-09,9.41096324034730e-14,3.00253083795091e-12,-1.40935245750903e-13,8.27122551593984e-12,-2.41500808188601e-13,5.52074803508046e-12]) + + distortA['i']=np.array([0.000532645905256854,0.999813271238129,-0.000366606839338804,-1.06782246147986e-05,0.000146529811926289,-4.54488847969004e-06,5.68028930846942e-07,-2.11055358580630e-08,7.51187628288423e-07,-7.93885390157909e-09,-5.63104333653064e-11,1.36559362569725e-09,-9.64353839395137e-11,1.50231201562648e-09,-2.04159956020294e-11,1.91408535007684e-12,-7.46369323634455e-14,5.86071470639700e-12,-1.65328163262914e-13,4.07648238374705e-12,3.40880674871652e-14]) + distortB['i']=np.array([1.00111276400037,-0.000484310769918440,0.999180286636823,9.61240720951134e-05,-8.76526511019577e-06,0.000266192433565878,-6.59462433108999e-09,7.54391611102465e-07,-2.30957980169170e-08,9.53612393886641e-07,2.95558631849358e-10,-7.08307092409029e-11,2.21952307845185e-09,-9.03816603147003e-11,2.06450141393973e-09,-3.77836686311826e-14,3.13358046393416e-12,-5.20417845240954e-14,8.24487152802918e-12,-1.17846469609206e-13,5.35830020655191e-12]) + + x=ra/0.05*10/1000 # convert ra in arcsec to mm + + y=dec/0.05*10/1000 # convert ra in arcsec to mm + + dd=np.array([1, x, y, x*x, x*y, y*y, x**3, x**2*y, x*y**2, y**3, x**4, x**3*y, x**2*y**2, x*y**3, y**4, x**5, x**4*y, x**3*y**2, x**2*y**3 , x*y**4, y**5]) + + xc= np.dot(distortA[ch],dd) + yc= np.dot(distortB[ch],dd) + + distortRa =xc*1000/10*0.05-0.00265 + + distortDec=yc*1000/10*0.05-5.0055 + + return distortRa, distortDec + +##################################################################################### +def world_to_pixel(sra, + sdec, + rotsky, + tra, + tdec, + x_center_pixel, + y_center_pixel, + pixelsize=0.05): + """_summary_ + + Parameters + ---------- + sra : np.array + star ra such as np.array([22,23,24]),unit:deg + sdec : np.array + stat dec such as np.array([10,20,30]),unit:deg + rotsky : float + rotation angel of the telescope,unit:deg + tra : float + telescope pointing ra,such as 222.2 deg + rdec : float + telescope pointing dec,such as 33.3 deg + x_center_pixel : float + x refer point of MCI,usually the center of the CCD,which start from (0,0) + y_center_pixel : float + y refer point of MCI,usually the center of the CCD,which start from(0,0) + pixelsize : float + pixelsize for MCI ccd, default :0.05 arcsec / pixel + + Returns + ------- + pixel_position:list with two np.array + such as [array([124.16937605, 99. , 99. ]), + array([ 97.52378661, 99. , 100.50014483])] + """ + theta_r = rotsky / 180 * np.pi + w = WCS(naxis=2) + w.wcs.crpix = [x_center_pixel + 1, y_center_pixel + 1] # pixel from (1, 1) + w.wcs.cd = np.array([[ + -np.cos(-theta_r) * pixelsize / 3600, + np.sin(-theta_r) * pixelsize / 3600 + ], + [ + np.sin(-theta_r) * pixelsize / 3600, + np.cos(-theta_r) * pixelsize / 3600 + ]]) + w.wcs.crval = [tra, tdec] + w.wcs.ctype = ["RA---TAN", "DEC--TAN"] + pixel_position = w.all_world2pix(sra, sdec, 0) + return pixel_position + +############################################################################### + +def cal_pos(center_ra, center_dec, rotTel, rotSky, sRa, sDec): +# ''' center_ra: telescope pointing in ra direction, unit: degree +# center_dec: telescope pointing in dec direction, unit: degree +# rotTel: telescope totation in degree +# rotSky: telescope rotation in degree +# sRa: source ra in arcsec +# sDec: source dec in arcsec + + boresight = galsim.CelestialCoord(ra=-center_ra*galsim.degrees, dec=center_dec*galsim.degrees) + + q = rotTel - rotSky + cq, sq = np.cos(q), np.sin(q) + jac = [cq, -sq, sq, cq] + affine = galsim.AffineTransform(*jac) + wcs = galsim.TanWCS(affine, boresight, units=galsim.arcsec) + objCoord = galsim.CelestialCoord(ra =-sRa*galsim.arcsec, dec=sDec*galsim.arcsec) + field_pos = wcs.toImage(objCoord) + return -field_pos.x, field_pos.y ## return the field position + +##################################################################################### + +def krebin(a, sample): + """ Fast Rebinning with flux conservation + New shape must be an integer divisor of the current shape. + This algorithm is much faster than rebin_array + Parameters + ---------- + a : array_like + input array + sample : rebinned sample 2 or 3 or 4 or other int value + """ + # Klaus P's fastrebin from web + size=a.shape + shape=np.zeros(2,dtype=int) + shape[0]=int(size[0]/sample) + shape[1]=int(size[1]/sample) + + sh = shape[0], a.shape[0] // shape[0], shape[1], a.shape[1] // shape[1] + + return a.reshape(sh).sum(-1).sum(1) + +##################################################################### +######################################################### + +def centroid(data): + ''' + calculate the centroid of the input two-dimentional image data + + Parameters + ---------- + data : input image. + + Returns + ------- + cx: the centroid column number, in horizontal direction definet in python image show + cy: the centroid row number , in vertical direction + + ''' + ### + from scipy import ndimage + cy,cx=ndimage.center_of_mass(data) + return cx, cy + +############################################################################### + + + +############################################################################### + + +######################################################################### + +''' +PSF interpolation for MCI_sim +''' + +import scipy.spatial as spatial + +###find neighbors-KDtree ### +def findNeighbors(tx, ty, px, py, dn=5): + """ + find nearest neighbors by 2D-KDTree + + Parameters: + tx, ty (float, float): a given position + px, py (numpy.array, numpy.array): position data for tree + dr (float-optional): distance in arcsec + dn (int-optional): nearest-N + OnlyDistance (bool-optional): only use distance to find neighbors. Default: True + + Returns: + indexq (numpy.array): index + """ + datax = px + datay = py + tree = spatial.KDTree(list(zip(datax.ravel(), datay.ravel()))) + indexq=[] + dist, indexq = tree.query([tx, ty], dn) + return indexq + +############################################################################### +###PSF-IDW### +def psfMaker_IDW(px, py, PSFMat, cen_col, cen_row, IDWindex=5, OnlyNeighbors=True): + """ + psf interpolation by IDW + + Parameters: + px, py (float, float): position of the target + PSFMat (numpy.array): PSF matrix array at given position and wavelength + cen_col, cen_row (numpy.array, numpy.array): potions of the psf centers in arcsec + IDWindex (int-optional): the power index of IDW + OnlyNeighbors (bool-optional): only neighbors are used for psf interpolation + + Returns: + psfMaker (numpy.array) + """ + + minimum_psf_weight = 1e-8 + ref_col = px ### target position in x + ref_row = py ### target position in y + + ngy, ngx = PSFMat[:, :, 0, 0].shape ### PSF data size + npsf = PSFMat[:, :, :,:].shape[3] ### total psf number in one wavelength + psfWeight = np.zeros([npsf]) + + if OnlyNeighbors == True: + + neigh = findNeighbors(px, py, cen_col, cen_row, dn=5) + # if hoc is not None: + # neigh = findNeighbors_hoclist(cen_col, cen_row, tx=px,ty=py, dn=4, hoc=hoc, hoclist=hoclist) + + neighFlag = np.zeros(npsf) + neighFlag[neigh] = 1 + + for ipsf in range(npsf): + if OnlyNeighbors == True: + if neighFlag[ipsf] != 1: + continue + + dist = np.sqrt((ref_col - cen_col[ipsf])**2 + (ref_row - cen_row[ipsf])**2) + if IDWindex == 1: + psfWeight[ipsf] = dist + if IDWindex == 2: + psfWeight[ipsf] = dist**2 + if IDWindex == 3: + psfWeight[ipsf] = dist**3 + if IDWindex == 4: + psfWeight[ipsf] = dist**4 + + psfWeight[ipsf] = max(psfWeight[ipsf], minimum_psf_weight) + psfWeight[ipsf] = 1./psfWeight[ipsf] + + psfWeight /= np.sum(psfWeight) + + psfMaker = np.zeros([ngy, ngx, 7 ], dtype=np.float32) + + + for waven in range(7): + + for ipsf in range(npsf): + if OnlyNeighbors == True: + if neighFlag[ipsf] != 1: + continue + + iPSFMat = PSFMat[:, :, waven,ipsf].copy() + ipsfWeight = psfWeight[ipsf] + + psfMaker[:, :, waven] += iPSFMat * ipsfWeight + + psfMaker[:, :, waven] /= np.nansum(psfMaker[:, :, waven]) + + return psfMaker + +############################################################################### +############################################################################### +############################################################################### + +class MCIsimulator(): + """ + CSST MCI Simulator + + The image that is being build is in:: + + self.image + self.image_g g channel + self.image_r r channel + self.image_i i channel + + + :param opts: OptionParser instance + :type opts: OptionParser instance + """ + + def __init__(self, opts): + """ + Class Constructor. + + :param opts: OptionParser instance + :type opts: OptionParser instance + """ + self.configfile = opts.configfile + + if opts.section is None: + ####self.section = 'DEFAULT' + self.section = 'TEST' #####simulation section; + else: + self.section = opts.section + + + ########################################################################### + + + self.information = MCIinstrumentModel.MCIinformation() + #update settings with defaults + self.information.update(dict(quadrant=int(0), + ccdx=int(0), + ccdy=int(0), + ccdxgap=1.643, + ccdygap=8.116, + xsize=2000, + ysize=2000, + fullwellcapacity=90000, + dark=0.001, + exptime=300.0, + readouttime=4., + rdose=8.0e9, + ghostCutoff=22.0, + ghostRatio=5.e-5, + coveringfraction=1.0, + pixel_size=0.05)) + + + self.configure(1) #print the configfile name and path; + + self.information.update(dict( + + cosmicraylengths =self.information['indata_path']+'/data/cdf_cr_length.dat', + cosmicraydistance=self.information['indata_path']+'/data/cdf_cr_total.dat', + parallelTrapfile =self.information['indata_path']+'/data/cdm_euclid_parallel.dat', + serialTrapfile =self.information['indata_path']+'/data/cdm_euclid_serial.dat', + cosmeticsfile_g =self.information['indata_path']+'/data/Cosmetics_g.txt', + cosmeticsfile_r =self.information['indata_path']+'/data/Cosmetics_r.txt' , + cosmeticsfile_i =self.information['indata_path']+'/data/Cosmetics_i.txt' )) + +############################################################################### + def readConfigs(self,simnumber): + """ + Reads the config file information using configParser and sets up a logger. + """ + self.config = ConfigParser.RawConfigParser() + + + + #self.config.readfp(open(self.configfile)) + self.config.read_file(open(self.configfile)) + + + +################################################################################################3 + + def processConfigs(self): + """ + Processes configuration information and save the information to a dictionary self.information. + For explanation of each field, see /data/test.config. Note that if an input field does not exist, + then the values are taken from the default instrument model as described in + support.MCIinstrumentModel.VISinformation(). Any of the defaults can be overwritten by providing + a config file with a correct field name. + """ + #parse options and update the information dictionary + options = self.config.options(self.section) + settings = {} + for option in options: + try: + settings[option] = self.config.getint(self.section, option) + except ValueError: + try: + settings[option] = self.config.getfloat(self.section, option) + except ValueError: + settings[option] = self.config.get(self.section, option) + + self.information.update(settings) + + + + #ghost ratio can be in engineering format, so getfloat does not capture it... + try: + self.information['ghostRatio'] = float(self.config.get(self.section, 'ghostRatio')) + except: + pass + ######### + + #booleans to control the flow + + self.cosmicRays = self.config.getboolean(self.section, 'cosmicRays') + self.darknoise = self.config.getboolean(self.section, 'darknoise') + self.cosmetics = self.config.getboolean(self.section, 'cosmetics') + self.radiationDamage = self.config.getboolean(self.section, 'radiationDamage') + self.bleeding = self.config.getboolean(self.section, 'bleeding') + self.overscans = self.config.getboolean(self.section, 'overscans') + self.nonlinearity = self.config.getboolean(self.section, 'nonlinearity') + self.readoutNoise = self.config.getboolean(self.section, 'readoutNoise') + self.skyback = self.config.getboolean(self.section, 'skyback') + self.TianceEffect = self.config.getboolean(self.section, 'TianceEffect') + self.intscale = self.config.getboolean(self.section, 'intscale') + self.ghosts = self.config.getboolean(self.section, 'ghosts') + self.shutterEffect =self.config.getboolean(self.section, 'shutterEffect') + self.flatfieldM =self.config.getboolean(self.section, 'flatfieldm') + self.PRNUeffect =self.config.getboolean(self.section, 'PRNUeffect') + self.appFatt =self.config.getboolean(self.section, 'appFatt') + self.sky_shift_rot =self.config.getboolean(self.section, 'sky_shift_rot') + self.distortion =self.config.getboolean(self.section, 'distortion') + self.sim_star =self.config.getboolean(self.section, 'sim_star') + self.sim_galaxy =self.config.getboolean(self.section, 'sim_galaxy') + + + ###############################################3################################# + self.booleans = dict(cosmicRays =self.cosmicRays, + darknoise =self.darknoise, + cosmetics =self.cosmetics, + radiationDamage=self.radiationDamage, + bleeding =self.bleeding, + overscans =self.overscans, + nonlinearity =self.nonlinearity, + readoutNoise =self.readoutNoise, + skyback =self.skyback, + TianceEffect =self.TianceEffect, + intscale =self.intscale, + ghosts =self.ghosts , + shutterEffect =self.shutterEffect, + flatfieldM =self.flatfieldM, + PRNUeffect =self.PRNUeffect, + appFatt =self.appFatt , + sky_shift_rot =self.sky_shift_rot, + distortion =self.distortion, + sim_star =self.sim_star, + sim_galaxy =self.sim_galaxy) + ##################################################################### + + + now=datetime.now() + #data_time=now.strftime("%Y-%m-%d-%H-%M-%S") + result_day=now.strftime("%Y-%m-%d") + + self.result_path=self.information['result_path']+'/'+result_day ### CSST1 + + + if os.path.isdir(self.result_path)==False: + os.mkdir(self.result_path) + os.mkdir(self.result_path+'/cali_Data') + os.mkdir(self.result_path+'/log_Data') + os.mkdir(self.result_path+'/sky_Data') + ############################################################# + + + data_time=now.strftime("%Y-%m-%d-%H-%M-%S") + + + self.log = lg.setUpLogger(self.result_path+'/log_Data/MCIsim_'+'_'+data_time+'.log') + + + self.log.info('-------STARTING A NEW SIMULATION------------') + + + self.log.info(self.information) + + ############################################## + #load instrument model, these values are also stored in the FITS header + + self.information['G_filters']=["F275W", "F280N","NUV", "WU", "CBU", "F343N", "u", "F373N", "F395N", "F336W"] + self.information['R_filters']=["F487N", "F502N", "CBV", "r", "F656N", "F658N", "F467M", "F555W", "F606W", "F673N"] + self.information['I_filters']=["z", "y", "F815N", "CBI", "F925N", "F960M", "F968N", "F845M" ,"F850LP" ,"F814W"] + + #### load telescope efficiency data + self.tel_eff=np.load(self.information['indata_path']+'/tel_eff/tel_eff.npy',allow_pickle=True).item() + + #### load MCI filter data + self.filterP=np.load(self.information['indata_path']+'/MCI_filters/mci_filterPWTC.npy',allow_pickle=True).item() + + + ##################################################################### + + self.log.info('Using the following input values:') + for key, value in self.information.items(): + self.log.info('%s = %s' % (key, value)) + self.log.info('Using the following booleans:') + for key, value in self.booleans.items(): + self.log.info('%s = %s' % (key, value)) + + return + + ######################################################################################### + def make_c_coor(self, bs, nc): + ''' + Draw the mesh grids for a bs*bs box with nc*nc pixels + ''' + + ds=bs/nc + xx01 = np.linspace(-bs/2.0,bs/2.0-ds,nc)+0.5*ds + xx02 = np.linspace(-bs/2.0,bs/2.0-ds,nc)+0.5*ds + xg2,xg1 = np.meshgrid(xx01,xx02) + return xg1,xg2 +########################################################################################## + + def _createEmpty(self): + """ + Creates and empty array of a given x and y size full of zeros. + add g r i channel images; + + Creates lensing parameters; + + """ + self.image_g=np.zeros((self.information['ysize'], self.information['xsize']), dtype=np.float64) + self.image_r=np.zeros((self.information['ysize'], self.information['xsize']), dtype=np.float64) + self.image_i=np.zeros((self.information['ysize'], self.information['xsize']), dtype=np.float64) + return + +######################################################################################################################### + +######################################################################################################### + + + def _loadGhostModel(self): + """ + Reads in a ghost model from a FITS file and stores the data to self.ghostModel. + + Currently assumes that the ghost model has already been properly scaled and that the pixel + scale of the input data corresponds to the nominal VIS pixel scale. Futhermore, assumes that the + distance to the ghost from y=0 is appropriate (given current knowledge, about 750 VIS pixels). + """ + + self.ghostOffsetX=self.information['ghostoffsetx'] + self.ghostOffsetY=self.information['ghostoffsety'] + + self.ghostMax = self.information['ghostratio'] + self.log.info('Maximum in the ghost model %e' % self.ghostMax) + return + ############################################### + + def readCosmicRayInformation(self): + """ + Reads in the cosmic ray track information from two input files. + + Stores the information to a dictionary called cr. + """ + self.log.info('Reading in cosmic ray information from %s and %s' % (self.information['cosmicraylengths'], + self.information['cosmicraydistance'])) + + crLengths = np.loadtxt(self.information['cosmicraylengths']) + crDists = np.loadtxt(self.information['cosmicraydistance']) + + self.cr = dict(cr_u=crLengths[:, 0], cr_cdf=crLengths[:, 1], cr_cdfn=np.shape(crLengths)[0], + cr_v=crDists[:, 0], cr_cde=crDists[:, 1], cr_cden=np.shape(crDists)[0]) + + return + +############################################################################### + +############################################################################### + def configure(self,simnumber): + """ + Configures the simulator with input information and creates and empty array to which the final image will + be build on. + """ + self.readConfigs(simnumber) + + self.processConfigs() + + self._createEmpty() + + self.log.info('Read in the configuration files and created an empty array') + + return + +################################################################################ + def load_filter_PSF(self): + ##### load filter PSF in three channels ,G , R and I + ### + # load filter name in three channels from information + self.filter_g=self.information['filter_g'] + self.filter_r=self.information['filter_r'] + self.filter_i=self.information['filter_i'] + + self.filter_psf=dict() + + filtername=self.filter_g + self.filter_psf['g']=np.load(self.information['indata_path']+'/PSF/'+filtername+'_PSF.npy', allow_pickle=True).item() + + filtername=self.filter_r + self.filter_psf['r']=np.load(self.information['indata_path']+'/PSF/'+filtername+'_PSF.npy', allow_pickle=True).item() + + filtername=self.filter_i + self.filter_psf['i']=np.load(self.information['indata_path']+'/PSF/'+filtername+'_PSF.npy', allow_pickle=True).item() + + return + +############################################################################################### + + def get_PSF(self, px, py, ch): + """ + Get the PSF at a given image position + + Parameters: + px,py : target position + filternmae : the selected filter name + ch : the MCI channle , g or r or i + Returns: + PSF: PSF array at given 7 wavelength and at target position + """ + PSFMat = self.filter_psf[ch]['psf_mat'] + cen_col= self.filter_psf[ch]['psf_field_X'] + cen_row= self.filter_psf[ch]['psf_field_Y'] + imPSF = psfMaker_IDW(px, py, PSFMat, cen_col, cen_row, IDWindex=2) + + return imPSF + +############################################################################### + +############################################################################### + + def cal_SED_photons(self, flux): + ## flux_arr, input flux array with unit of 1e-17 erg/s/A/cm^2 + + wave = np.linspace(2500,10000,8501) # set the wavelenth for MCI from 250nm to 1100nm + wave=wave/10 + + # calcutle photons from original spec cube data, + # data: input data, two-dimentional, unit : 1e-17 erg/s/A/cm^2 + + planckh= 6.62620*10**-27 # % erg s; + cc=2.99792458*10**17 # in nm/s + telarea=3.1415926*100*100 # in cm^2,望远镜聚光面积�? + fluxlam=1e-17*(flux) # convert original unit to unit of erg/s/A/cm^2 + # wave in nm ;; + ephoton=planckh*cc/wave # single photon energy in erg/photon; cc与lambda单位需要一致; + + Nphoton =fluxlam/ephoton*telarea*self.information['exptime'] # in unit of photons + + #### load telescope efficiency data + teleff=dict() + teleff['g']=self.tel_eff['G'] ### fisrt colunmm is wavelength in nm + teleff['r']=self.tel_eff['R'] ### second colunmm is efficiency + teleff['i']=self.tel_eff['I'] + ##### + + ft=dict() + ft['g']=self.filter_g + ft['r']=self.filter_r + ft['i']=self.filter_i + + + # load filter name in three channels + ft_wave=dict() + ft_wave['g']=self.filterP[ft['g']]['wave_nm'] + ft_wave['r']=self.filterP[ft['r']]['wave_nm'] + ft_wave['i']=self.filterP[ft['i']]['wave_nm'] + + ft_eff=dict() + ft_eff['g']=self.filterP[ft['g']]['throughout'] + ft_eff['r']=self.filterP[ft['r']]['throughout'] + ft_eff['i']=self.filterP[ft['i']]['throughout'] + + chlist=['g','r','i'] + + Sumphoton=dict() + PSF_eff_weight=dict() + + for k in range(3): + ch=chlist[k] + tel_wavearr=teleff[ch][:,0] + tel_effarr =teleff[ch][:,1] + tel_effnew=np.interp(wave, tel_wavearr, tel_effarr) + + ft_wavearr=ft_wave[ch] + ft_effarr =ft_eff[ch] + ft_effnew =np.interp(wave, ft_wavearr, ft_effarr) + + + #### SED flux*filter_flux*tel_eff + eff_arr=Nphoton*ft_effnew*tel_effnew + + Sumphoton[ch]=np.sum(eff_arr) + + iwave=self.filter_psf[ch]['psf_iwave'][:] ### seven wavelength for the seleced filter + + psf_coeff =np.interp(iwave, wave, eff_arr) + + if psf_coeff.sum()==0: + psf_coeff=1.0/7*np.ones(7) + else: + psf_coeff=psf_coeff/psf_coeff.sum() + + PSF_eff_weight[ch]=psf_coeff + + return Sumphoton, PSF_eff_weight + + ################################################## +############################################################################### + + def cal_sky_noise(self): + ####### add earthshine ####### + ####### add earthshine ####### + #self.earthshine_wave # A + #self.earthshine_flux # erg/s/cm^2/A/arcsec^2 + + wave = np.linspace(2500,11000, 8501) # set the wavelenth for MCI from 250nm to 1100nm + + wavearr =self.earthshine_wave # A + fluxarr =self.earthshine_flux # erg/s/cm^2/A/arcsec^2 + earthshinefluxarr=np.interp(wave, wavearr, fluxarr) # erg/s/cm^2/A/arcsec^2 + + wavearr =self.zodiacal_wave # A + fluxarr =self.zodiacal_flux # erg/s/cm^2/A/arcsec^2 + zodiacalfluxarr=np.interp(wave, wavearr, fluxarr) # erg/s/cm^2/A/arcsec^2 + + skynoise_flux=earthshinefluxarr+zodiacalfluxarr # erg/s/cm^2/A/arcsec^2 + + wave = np.linspace(2500,10000,8501) # set the wavelenth for MCI from 250nm to 1100nm + wave=wave/10 + + # data: input data, two-dimentional, unit : 1e-17 erg/s/A/cm^2 + planckh= 6.62620*10**-27 # % erg s; + cc=2.99792458*10**17 # in nm/s + telarea=3.1415926*100*100 # in cm^2, + ephoton=planckh*cc/wave # in erg/photon, + Nphoton_flux =skynoise_flux/ephoton*telarea*0.05*0.05*self.information['exptime'] # each pixel will have the photons in unit of photons/s/A + + #### load telescope efficiency data + teleff=dict() + teleff['g']=self.tel_eff['G'] ### fisrt colunmm is wavelength in nm + teleff['r']=self.tel_eff['R'] ### second colunmm is efficiency + teleff['i']=self.tel_eff['I'] + ##### + + ft=dict() + ft['g']=self.filter_g + ft['r']=self.filter_r + ft['i']=self.filter_i + + # load filter name in three channels + ft_wave=dict() + ft_wave['g']=self.filterP[ft['g']]['wave_nm'] + ft_wave['r']=self.filterP[ft['r']]['wave_nm'] + ft_wave['i']=self.filterP[ft['i']]['wave_nm'] + + ft_eff=dict() + ft_eff['g']=self.filterP[ft['g']]['throughout'] + ft_eff['r']=self.filterP[ft['r']]['throughout'] + ft_eff['i']=self.filterP[ft['i']]['throughout'] + + chlist=['g','r','i'] + + self.Sky_Noise=dict() + + + for k in range(3): + ch=chlist[k] + tel_wavearr=teleff[ch][:,0] + tel_effarr =teleff[ch][:,1] + tel_effnew=np.interp(wave, tel_wavearr, tel_effarr) + + ft_wavearr=ft_wave[ch] + ft_effarr =ft_eff[ch] + ft_effnew =np.interp(wave, ft_wavearr, ft_effarr) + + self.Sky_Noise[ch]=np.sum(Nphoton_flux*ft_effnew*tel_effnew) + + return self.Sky_Noise + + ################################################## + ############################################################################## + + def cal_StarSED_img(self): + ##################### + + pixelscale=self.information['pixel_size'] ## arcsec, pixel scale size + ghostOffsetX =self.information['ghostoffsetx'] + ghostOffsetY =self.information['ghostoffsety'] + ghostMx =self.information['ghostratio'] + + rotTelPos=self.information['rotTelPos'] + rotSkyPos=self.information['rotSkyPos'] + + theta = rotTelPos - rotSkyPos + + ############ load star data catlog ##################### + + df0=pd.read_csv(self.information['indata_path']+'/star_input/GaiaSource_675688-675713.csv') + + #### + df=df0.fillna(1000) + df2=df[ (df['phot_rp_mean_mag']>16)&(df['phot_bp_mean_mag']>16) & (df['phot_bp_mean_mag']<31) & (df['pmra']<100) & (df['phot_rp_mean_mag']<31)] + + df2.index = range(len(df2)) + ## limit the filed of view to 600*600 arcsec^2 square zone; + df3=df2[ (abs(df2['ra']-df2['ra'].mean())<300/3600.0) & (abs(df2['dec']-df2['dec'].mean())<300/3600.0) ] + + df3.index = range(len(df3)) + + self.star=df3 + del df0,df,df2,df3 + + self.information['ra_obj'] = self.star['ra'].mean() + self.information['dec_obj'] = self.star['dec'].mean() + + center_ra =self.information['T_disRa'] +self.information['ra_obj'] + center_dec=self.information['T_disDec'] +self.information['dec_obj'] + + self.information['ra_pnt0'] =center_ra + self.information['dec_pnt0']=center_dec + + channel=['g','r','i'] + ####################################################################### + + nsrcs=len(self.star) + + ################################################################## + obj=dict() + obj['g']=np.zeros(3) + obj['r']=np.zeros(3) + obj['i']=np.zeros(3) + + fullimg=dict() + star_input=dict() + star_input['g']=np.zeros((nsrcs,3)) + star_input['r']=np.zeros((nsrcs,3)) + star_input['i']=np.zeros((nsrcs,3)) + + star_output=dict() + star_output['g']=np.zeros((nsrcs,3)) + star_output['r']=np.zeros((nsrcs,3)) + star_output['i']=np.zeros((nsrcs,3)) + + + final_image=dict() + + final_image['g'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + final_image['r'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + final_image['i'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + + final_image['g'].setOrigin(0,0) + final_image['r'].setOrigin(0,0) + final_image['i'].setOrigin(0,0) + ####################################################################### + nlayccd = 0 + + #### calculate sky noise ##### + self.earthshine(self.earthshine_theta) + + self.zodiacal(self.information['ra_obj'], self.information['dec_obj'], self.dt.strftime("%Y-%m-%d")) + + self.cal_sky_noise() + + ################################# + + self.information['target'] =deg2HMS(self.information['ra_obj'], self.information['dec_obj']) + + self.information['CRVAL1']=self.information['ra_pnt0'] + self.information['CRVAL2']=self.information['dec_pnt0'] + + self.information['CRPIX1']=self.information['xsize']/2-0.5 #### + self.information['CRPIX2']=self.information['ysize']/2-0.5 #### + + self.information['CD1_1']=-np.cos(-theta)*self.information['pixel_size']/3600.0 #### + self.information['CD1_2']= np.sin(-theta)*self.information['pixel_size']/3600.0 #### + + self.information['CD2_1']= np.sin(-theta)*self.information['pixel_size']/3600.0 #### + self.information['CD2_2']= np.cos(-theta)*self.information['pixel_size']/3600.0 #### + + ####################################################################### + + if self.TianceEffect: + ra_list = self.star['ra'].tolist() + dec_list = self.star['dec'].tolist() + pmra_list = self.star['pmra'].tolist() + pmdec_list = self.star['pmdec'].tolist() + parallax_list = self.star['parallax'].tolist() + rv_list = [0.0 for i in range(len(ra_list))] + + ################################################ + + newRa, newDec = shao.onOrbitObsPosition(ra_list, dec_list, pmra_list, \ + pmdec_list, rv_list, parallax_list, len(ra_list), \ + self.information['pos_x'], self.information['pos_y'], self.information['pos_z'], self.information['velocity_x'],self.information['velocity_y'],self.information['velocity_z'], "J2000", self.TianCe_day, self.TianCe_exp_start) + else: + newRa =self.star['ra'] + newDec =self.star['dec'] + ###################################################### + + #################### generate star image ########## + for j in tqdm(range(nsrcs)): ### nsrcs length + + + starRa = 3600.0*( newRa[j] ) # ra of star, arcsecond + starDec = 3600.0*( newDec[j] ) # dec of star, arcsecond + + ################################################################### + fsx,fsy=cal_pos(center_ra,center_dec, rotTelPos, rotSkyPos, starRa, starDec) + row= fsy/pixelscale+self.information['ysize']/2-0.5 ### row number on CCD image + col= fsx/pixelscale+self.information['xsize']/2-0.5 ### col number on CCD image + + + if row>=self.information['ysize']+100 or row<=-100 or col>=self.information['xsize']+100 or col <=-100: + continue + + nlayccd=nlayccd+1 + + ################################################################ + for i in range(3): + ### + ch=channel[i] + star_input[ch][int(nlayccd)-1, 0] =fsx #ra + star_input[ch][int(nlayccd)-1, 1] =fsy #dec + + ############# do field distottion ########## + + if self.distortion: + + for i in range(3): + + ch=channel[i] + fpx,fpy=distortField(fsx, fsy, ch) + obj[ch][0]=fpx + obj[ch][1]=fpy + + star_output[ch][int(nlayccd)-1, 0] =fpx #ra + star_output[ch][int(nlayccd)-1, 1] =fpy #dec + + else: + + fpx=fsx + fpy=fsy + + for i in range(3): + + ch=channel[i] + + obj[ch][0]=fpx + obj[ch][1]=fpy + + star_output[ch][int(nlayccd)-1, 0] =fpx #ra + star_output[ch][int(nlayccd)-1, 1] =fpy #dec + + ####################################################################### + + ####### use SED_code to generate star SED ####### + # SED of j-th star + + if j0): + psf[ch]=ndimage.rotate(temp, theta.deg, order=1, reshape=True) # here we choose reshape=False, the rotated image will + else: + psf[ch]=temp + + conv = psf[ch] + conv=conv/conv.sum() + + conv=conv*intscales[ch] + ################################################# + + stamp_img = galsim.Image(conv, copy=True) + stamp_img.setOrigin(0,0) + stamp_img.scale=0.025 + + ################################################# + + photons=galsim.PhotonArray.makeFromImage(stamp_img, max_flux=max(1.0, stamp_img.array.max()/10000.0)) + + cx0,cy0=centroid(stamp_img.array) + + if self.appFatt : + + ### apply treering and bright fatter and diffusion; + SimpleTreeRing = galsim.SiliconSensor().simple_treerings(amplitude=self.information['treering']) + + cx, cy = centroid(conv) + + pos = galsim.PositionD(x=int(cx), y=int(cy)) ### set subimge center as the pos + + siliconsensor = galsim.SiliconSensor(strength=self.information['fatter'], diffusion_factor=self.information['difusion'], treering_func=SimpleTreeRing, treering_center=pos) + + image = galsim.Image(conv.shape[0], conv.shape[1]) + image.scale = 0.025 + image.setOrigin(0,0) + + photons.x=photons.x/image.scale + photons.y=photons.y/image.scale + + siliconsensor.accumulate(photons, image) + + photons=galsim.PhotonArray.makeFromImage(image, max_flux=1.0) + + cx0,cy0=centroid(image.array) + + ############################################ + ############################################ + photons.x=photons.x-cx0*0.025 + photons.y=photons.y-cy0*0.025 + + ########################################################## + #### add ghost image #### + if self.ghosts: + ghostphotons=galsim.PhotonArray(len(photons.x),x=photons.x, y=photons.y, flux=photons.flux) + ghostphotons.flux=ghostMx*ghostphotons.flux + ghostphotons.x=photons.x/0.05+ghostOffsetY + ghostphotons.y=photons.y/0.05+ghostOffsetX + + if ghostphotons.flux.max()>0.1/1500: + ghostphotons.addTo(final_image[ch]) + + ######################################################### + photons.x=photons.x/0.05+gy[ch] + photons.y=photons.y/0.05+gx[ch] + + photons.addTo(final_image[ch]) + + + ############################################################### + ############################################################### + #print('total star nummber on CCD is: ',nlayccd ) + + ################################################################# + + ####################################################################### + + fullimg['g']=final_image['g'].array + fullimg['r']=final_image['r'].array + fullimg['i']=final_image['i'].array + + + return fullimg + +################################################################################ +################################################################################ +################################################################################# + ######################################################################## + def earthshine(self, theta): + """ + For given theta angle, return the earth-shine spectrum. + + :param theta: angle (in degree) from the target to earth limb. + :return: the scaled solar spectrum + template_wave: unit in A + template_flux: unit in erg/s/cm^2/A/arcsec^2 + + """ + + # read solar template + solar_template = pd.read_csv(self.information['indata_path']+'/refs/solar_spec.dat', sep='\s+', + header=None, comment='#') + template_wave = solar_template[0].values + template_flux = solar_template[1].values + + # read earth shine surface brightness + earthshine_curve = pd.read_csv(self.information['indata_path']+'/refs/earthshine.dat', + header=None, comment='#') + angle = earthshine_curve[0].values + surface_brightness = earthshine_curve[1].values + + # read V-band throughtput + cat_filter_V = pd.read_csv(self.information['indata_path']+'/refs/filter_Bessell_V.dat', sep='\s+', + header=None, comment='#') + filter_wave = cat_filter_V[0].values + filter_response = cat_filter_V[1].values + + # interplate to the target wavelength in V-band + ind_filter = (template_wave >= np.min(filter_wave)) & (template_wave <= np.max(filter_wave)) + filter_wave_interp = template_wave[ind_filter] + filter_response_interp = np.interp(filter_wave_interp, filter_wave, filter_response) + + filter_constant = simps(filter_response_interp * filter_wave_interp, filter_wave_interp) + template_constant = simps(filter_response_interp * template_wave[ind_filter] * template_flux[ind_filter], + template_wave[ind_filter]) + dwave = filter_wave_interp[1:] - filter_wave_interp[:-1] + wave_eff = np.nansum(dwave * filter_wave_interp[1:] * filter_response_interp[1:]) / \ + np.nansum(dwave * filter_response_interp[1:]) + + # get the normalized value at theta. + u0 = np.interp(theta, angle, surface_brightness) # mag/arcsec^2 + u0 = 10**((u0 + 48.6)/(-2.5)) # target flux in erg/s/cm^2/Hz unit + u0 = u0 * 3e18 / wave_eff**2 # erg/s/cm^2/A/arcsec^2 + + factor = u0 * filter_constant / template_constant + norm_flux = template_flux * factor # erg/s/cm^2/A/arcsec^2 + + self.earthshine_wave=template_wave # A + self.earthshine_flux=norm_flux + + return + +######################################################################################################################################################################################################################################################## + + def zodiacal(self, ra, dec, time): + """ + For given RA, DEC and TIME, return the interpolated zodical spectrum in Leinert-1998. + + :param ra: RA in unit of degree, ICRS frame + :param dec: DEC in unit of degree, ICRS frame + :param time: the specified string that in ISO format i.e., yyyy-mm-dd. + :return: + wave_A: wavelength of the zodical spectrum + spec_mjy: flux of the zodical spectrum, in unit of MJy/sr + spec_erg: flux of the zodical spectrum, in unit of erg/s/cm^2/A/sr + + """ + + # get solar position + dt = datetime.fromisoformat(time) + jd = julian.to_jd(dt, fmt='jd') + t = Time(jd, format='jd', scale='utc') + + astro_sun = get_sun(t) + ra_sun, dec_sun = astro_sun.gcrs.ra.deg, astro_sun.gcrs.dec.deg + + radec_sun = SkyCoord(ra=ra_sun*u.degree, dec=dec_sun*u.degree, frame='gcrs') + lb_sun = radec_sun.transform_to('geocentrictrueecliptic') + + # get offsets between the target and sun. + radec_obj = SkyCoord(ra=ra*u.degree, dec=dec*u.degree, frame='icrs') + lb_obj = radec_obj.transform_to('geocentrictrueecliptic') + + beta = abs(lb_obj.lat.degree) + lamda = abs(lb_obj.lon.degree - lb_sun.lon.degree) + + # interpolated zodical surface brightness at 0.5 um + zodi = pd.read_csv(self.information['indata_path']+'/refs/zodi_map.dat', sep='\s+', header=None, comment='#') + beta_angle = np.array([0, 5, 10, 15, 20, 25, 30, 45, 60, 75]) + lamda_angle = np.array([0, 5, 10, 15, 20, 25, 30, 35, 40, 45, + 60, 75, 90, 105, 120, 135, 150, 165, 180]) + xx, yy = np.meshgrid(beta_angle, lamda_angle) + #xx, yy = np.meshgrid(beta_angle, lamda_angle,indexing='ij', sparse=True) + + f = interpolate.interp2d(xx, yy, zodi, kind='linear') + #f = interpolate.RegularGridInterpolator((xx, yy), zodi, method='linear') + + zodi_obj = f(beta, lamda) # + + # read the zodical spectrum in the ecliptic + cat_spec = pd.read_csv(self.information['indata_path']+'/refs/solar_spec.dat', sep='\s+', header=None, comment='#') + wave = cat_spec[0].values # A + spec0 = cat_spec[1].values # + zodi_norm = 252 # + + spec = spec0 * (zodi_obj / zodi_norm) * 1e-8 # + + # convert to the commonly used unit of MJy/sr, erg/s/cm^2/A/sr + wave_A = wave # A + #spec_mjy = spec * 0.1 * wave_A**2 / 3e18 * 1e23 * 1e-6 # MJy/sr + spec_erg = spec * 0.1 # erg/s/cm^2/A/sr + spec_erg2 = spec_erg / 4.25452e10 # erg/s/cm^2/A/arcsec^2 + + self.zodiacal_wave=wave_A # in A + + self.zodiacal_flux=spec_erg2 + + return + ################################################################################### + + ########################################################################## + def cal_Lensing_galaxy_img(self): + ##################### + + + self.dsx_arc = self.information['pixel_size'] # arcsec, pixel scale size; + self.bsz_arc = max(self.information['ysize'] ,self.information['xsize'])*self.dsx_arc # arcsec, field size; + self.bsz_deg = self.bsz_arc/3600. + + ############################################################# + ### galaxy catlog information + ra = 74.0563449685417 + dec = -34.155241212932374 + # halo_id = 229600100382 + + self.information['star_ra'] = 249.70093286177536 + self.information['star_dec'] =-44.60485406119162 + + self.information['gal_ra'] = ra + self.information['gal_dec']= dec + + self.information['ra_obj'] =self.information['star_ra'] + self.information['dec_obj'] =self.information['star_dec'] + + ##################################################################### + self.earthshine(self.earthshine_theta) + + self.zodiacal(self.information['star_ra'], self.information['star_dec'], self.dt.strftime("%Y-%m-%d")) + + self.cal_sky_noise() + + ############ load galaxy data with SED ############################ + + losscale =self.information['pixel_size'] + rotTelPos=self.information['rotTelPos'] + rotSkyPos=self.information['rotSkyPos'] + + theta = rotTelPos - rotSkyPos + + center_ra =self.information['T_disRa'] +self.information['star_ra'] + center_dec =self.information['T_disDec'] +self.information['star_dec'] + + self.information['ra_pnt0'] =center_ra + self.information['dec_pnt0']=center_dec + + self.information['target'] =deg2HMS(self.information['star_ra'], self.information['star_dec']) + + self.information['CRVAL1']=self.information['ra_pnt0'] + self.information['CRVAL2']=self.information['dec_pnt0'] + + self.information['CRPIX1']=self.information['xsize']/2-0.5 #### + self.information['CRPIX2']=self.information['ysize']/2-0.5 #### + + self.information['CD1_1'] =-np.cos(-theta)*self.information['pixel_size']/3600.0 #### + self.information['CD1_2'] = np.sin(-theta)*self.information['pixel_size']/3600.0 #### + + self.information['CD2_1'] = np.sin(-theta)*self.information['pixel_size']/3600.0 #### + self.information['CD2_2'] = np.cos(-theta)*self.information['pixel_size']/3600.0 #### + + obj=dict() + obj['g']=np.zeros(3) + obj['r']=np.zeros(3) + obj['i']=np.zeros(3) + + fullimg=dict() + galaxy_input=dict() + + nsrcs = 72000 + + galaxy_input['g']=np.zeros((nsrcs,3)) + galaxy_input['r']=np.zeros((nsrcs,3)) + galaxy_input['i']=np.zeros((nsrcs,3)) + + galaxy_output=dict() + galaxy_output['g']=np.zeros((nsrcs,3)) + galaxy_output['r']=np.zeros((nsrcs,3)) + galaxy_output['i']=np.zeros((nsrcs,3)) + + channel=['g','r','i'] + final_image=dict() + + final_image['g'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + final_image['r'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + final_image['i'] = galsim.ImageF(int(self.information['xsize']), int(self.information['ysize'])) + + final_image['g'].setOrigin(0,0) + final_image['r'].setOrigin(0,0) + final_image['i'].setOrigin(0,0) + + + #################################################################### + + nlayccd = 0 + + ####################generate loc image + for k2 in (range(13)): ### + print('k2=',k2) + + # + filename=self.information['indata_path']+'/galaxy_Input/Lens_SED_IMG_V3_0.025/Lens_img_cut_IMG_'+str(k2+1)+'.fits' + + if not os.path.exists(filename): + #print('finish load all the input galaxy image fits files already') + break + + srcs_cat=fits.open(filename) + + #### load galaxy SED fitsfile ### + filename=self.information['indata_path']+'/galaxy_Input/Lens_SED_IMG_V3_0.025/Lens_img_cut_SED_'+str(k2+1)+'.fits' + srcs_sed=fits.open(filename) + + ################################################################### + for k1 in tqdm(range(1,len(srcs_cat))): + + + galRa = 3600*(srcs_cat[k1].header['new_ra'] -self.information['gal_ra'] +self.information['star_ra']) # ra of galaxies, arcsecond + galDec = 3600*(srcs_cat[k1].header['new_dec']-self.information['gal_dec']+self.information['star_dec']) # dec of galaxies, arcsecond + + ################################################################# + fsx,fsy=cal_pos(center_ra,center_dec, rotTelPos, rotSkyPos, galRa, galDec) + row= fsy/losscale+self.information['ysize']/2-0.5 ### row number on CCD image, dec direction ,y direction + col= fsx/losscale+self.information['xsize']/2-0.5 ### col number on CCD image, ra direction, x direction + + if row>=self.information['ysize']+100 or row<=-100 or col>=self.information['xsize']+100 or col <=-100: + continue + + + # # SED of j-th galaxy ,# unit of 10-17 erg/s/A/cm2 + gal_flux=srcs_sed[k1].data + + ################################ + ### rotate the lensed_images_g ### + if abs(theta.deg)>0: + lensed_images_g=ndimage.rotate(srcs_cat[k1].data, -theta.deg, order=1, reshape=True) # here we choose reshape=False, the rotated image will + else: + lensed_images_g=srcs_cat[k1].data + + if lensed_images_g.sum()<=0: + continue + + nlayccd=nlayccd+1 + + ################################################################ + for i in range(3): + ### + ch=channel[i] + galaxy_input[ch][int(nlayccd)-1, 0] =fsx #ra + galaxy_input[ch][int(nlayccd)-1, 1] =fsy #dec + # + + ############# do field distottion ########## + + if self.distortion: + + for i in range(3): + + ch=channel[i] + + fpx,fpy=distortField(fsx, fsy, ch) + obj[ch][0]=fpx + obj[ch][1]=fpy + + galaxy_output[ch][int(nlayccd)-1, 0] =fpx #ra + galaxy_output[ch][int(nlayccd)-1, 1] =fpy #dec + + else: + + fpx=fsx + fpy=fsy + + for i in range(3): + + ch=channel[i] + + obj[ch][0]=fpx + obj[ch][1]=fpy + + galaxy_output[ch][int(nlayccd)-1, 0] =fpx #ra + galaxy_output[ch][int(nlayccd)-1, 1] =fpy #dec + + + ####################################################################### + + self.log.info('Galaxy number=%i, Ra(in arcsec)=%f, Dec(in arcsec)=%f' % (nlayccd, fpx, fpy)) + + ##cal_SED_photons(self, flux_arr): + intscales,PSF_eff_weight=self.cal_SED_photons(gal_flux) + + img=dict() + + lensed_images_g=lensed_images_g/lensed_images_g.sum() + img['g']=lensed_images_g*intscales['g'] + img['r']=lensed_images_g*intscales['r'] + img['i']=lensed_images_g*intscales['i'] + + ################################################ + + gx=dict() + gy=dict() + + for i in range(3): + + ch=channel[i] + + gy[ch]= obj[ch][1]/losscale+self.information['ysize']/2-0.5 ### row number on CCD image + gx[ch]= obj[ch][0]/losscale+self.information['xsize']/2-0.5 ### col number on CCD image + + ###################################################################### + + psf=dict() + + + for i in range(3): + + ch=channel[i] + + psfmat=self.get_PSF(fsx, fsy, ch) + + temp=0 + + for iwave in range(7): + temp=temp+PSF_eff_weight[ch][iwave]*psfmat[:,:,iwave] + + temp=temp/temp.sum() + + ##### rotate the PSF data + if abs(theta.deg)>0: + psf[ch]=ndimage.rotate(temp, theta.deg, order=1, reshape=False) # here we choose reshape=False, the rotated image will + else: + psf[ch]=temp + + conv = fftconvolve(img[ch], psf[ch], mode='full') + #suppress negative numbers + conv[conv < 0.0] = 0.0 + + ################################################# + stamp_img = galsim.Image(conv, copy=True) + stamp_img.setOrigin(0,0) + stamp_img.scale=0.025 + + photons=galsim.PhotonArray.makeFromImage(stamp_img, max_flux=1.0) + + cx0,cy0=centroid(stamp_img.array) + ########### apply fat effect ##### + if self.appFatt =='yes': + + ### apply treering and bright fatter and diffusion; + + SimpleTreeRing = galsim.SiliconSensor().simple_treerings(amplitude=self.information['treering']) + + cx, cy = centroid(conv) + + pos = galsim.PositionD(x=int(cx), y=int(cy)) ### set subimge center as the pos + + siliconsensor = galsim.SiliconSensor(strength=self.information['fatter'], diffusion_factor=self.information['difusion'], treering_func=SimpleTreeRing, treering_center=pos) + + image = galsim.Image(conv.shape[1],conv.shape[0]) + image.scale = 0.025 + image.setOrigin(0,0) + + photons.x=photons.x/image.scale + photons.y=photons.y/image.scale + + siliconsensor.accumulate(photons, image) + + photons=galsim.PhotonArray.makeFromImage(image, max_flux=1.0) + + cx0,cy0=centroid(image.array) + ############################################################## + ############################################################## + ################################################################## + ################################################################## + + photons.x=photons.x-cx0*0.025 + photons.y=photons.y-cy0*0.025 + + photons.x=photons.x/0.05+gx[ch] + photons.y=photons.y/0.05+gy[ch] + + photons.addTo(final_image[ch]) + + #################################################### + ######################################################################## + + ##print('total los nummber on CCD is: ',nlayccd ) + + ################################################################# + ################################################################# + + fullimg['g']=final_image['g'].array + fullimg['r']=final_image['r'].array + fullimg['i']=final_image['i'].array + + return fullimg + + +############################################################################### + +############################################################################### + + def generatePRNU(self, ave=1.0, sigma=0.01): + """ + Creates a PRNU field image with given properties. + + :return: PRNU field image + :rtype: ndarray + """ + self.log.info('Generating a flat field...') + self.log.info('The flat field has mean value of 1 and a given fluctuations, usually either 1 or 2 percent defined by sigma= %d...' % sigma) + + self.PRNU=dict() + + np.random.seed(self.filterP[self.filter_g]['seed']) + self.PRNU['g'] = np.random.normal(loc=ave, scale=sigma, size=(self.information['ysize'], self.information['xsize'])) + + np.random.seed(self.filterP[self.filter_r]['seed']) + self.PRNU['r'] = np.random.normal(loc=ave, scale=sigma, size=(self.information['ysize'], self.information['xsize'])) + + np.random.seed(self.filterP[self.filter_i]['seed']) + self.PRNU['i'] = np.random.normal(loc=ave, scale=sigma, size=(self.information['ysize'], self.information['xsize'])) + + + return self.PRNU +############################################################################### +############################################################################### + def MakeFlatMatrix(self, img, seed): + #### + ysize, xsize=img.shape + np.random.seed(seed) + r1,r2,r3,r4 = np.random.random(4) + a1 = -0.5 + 0.2*r1 + a2 = -0.5 + 0.2*r2 + a3 = r3+5 + a4 = r4+5 + xmin,xmax,ymin,ymax = 0, xsize,0, ysize + Flty, Fltx = np.mgrid[ymin:ymax, xmin:xmax] + np.random.seed(seed) + p1,p2,bg=np.random.poisson(1000, 3) + Fltz = 1e-6*(a1 * (Fltx-p1) ** 2 + a2 * (Flty-p2) ** 2 - a3*Fltx - a4*Flty) + bg*20 + FlatMat = Fltz/np.mean(Fltz) + + return FlatMat +#################################################################################################### + + def applyFlat(self): + + #### apply Flat field to image + self.FlatMat=dict() + ### + self.FlatMat['g']=self.MakeFlatMatrix(self.image_g, self.filterP[self.filter_g]['seed']) + self.image_g*=self.FlatMat['g'] + ### + self.FlatMat['r']=self.MakeFlatMatrix(self.image_r, self.filterP[self.filter_r]['seed']) + self.image_r*=self.FlatMat['r'] + ### + self.FlatMat['i']=self.MakeFlatMatrix(self.image_i, self.filterP[self.filter_i]['seed']) + self.image_g*=self.FlatMat['i'] + return + +###################################################################################################### + def applyPRNUeffect(self): + """ + Applies multiplicative flat field to emulate pixel-to-pixel non-uniformity. + + Because the pixel-to-pixel non-uniformity effect (i.e. multiplicative) flat fielding takes place + before CTI and other effects, the flat field file must be the same size as the pixels that see + the sky. + """ + ### generate flatfiledfile, with + prnu_sigma=self.information['prnu_sigma'] + + self.generatePRNU(ave=1.0, sigma=prnu_sigma) + self.image_g *= self.PRNU['g'] + self.image_r *= self.PRNU['r'] + self.image_i *= self.PRNU['i'] + self.log.info('Applied flatfield to images.') + +################################################################################################## + +################################################################################################## + + def addCosmicRays(self): + """ + Add cosmic rays to the arrays based on a power-law intensity distribution for tracks. + Cosmic ray properties (such as location and angle) are chosen from random Uniform distribution. + For details, see the documentation for the cosmicrays class in the support package. + """ + self.readCosmicRayInformation() + self.cr['exptime'] = self.information['exptime'] #to scale the number of cosmics with exposure time + + #cosmic ray image + crImage = np.zeros((self.information['ysize'], self.information['xsize']), dtype=np.float64) + + #cosmic ray instance + cosmics_g = cosmicrays.cosmicrays(self.log, crImage, crInfo=self.cr) + cosmics_r = cosmicrays.cosmicrays(self.log, crImage, crInfo=self.cr) + cosmics_i = cosmicrays.cosmicrays(self.log, crImage, crInfo=self.cr) + + #add cosmic rays up to the covering fraction + + CCD_cr_g = cosmics_g.addUpToFraction(self.information['coveringfraction'], limit=None) + CCD_cr_r = cosmics_r.addUpToFraction(self.information['coveringfraction'], limit=None) + CCD_cr_i = cosmics_i.addUpToFraction(self.information['coveringfraction'], limit=None) + + #paste the information + + self.image_g += CCD_cr_g + self.image_r += CCD_cr_r + self.image_i += CCD_cr_i + + #save cosmic ray image map + + self.cosmicMap_g = CCD_cr_g + self.cosmicMap_r = CCD_cr_r + self.cosmicMap_i = CCD_cr_i + + #count the covering factor + + area_cr_g = np.count_nonzero(self.cosmicMap_g) + area_cr_r = np.count_nonzero(self.cosmicMap_r) + area_cr_i = np.count_nonzero(self.cosmicMap_i) + + #self.log.info('The cosmic ray covering factor is %i pixels ' % area_cr) + self.log.info('The cosmic ray in G channel covering factor is %i pixels ' % area_cr_g) + self.log.info('The cosmic ray in R channel covering factor is %i pixels ' % area_cr_r) + self.log.info('The cosmic ray in I channel covering factor is %i pixels ' % area_cr_i) + + +######################################################################################## + + def ShutterEffectMat(self, img, t_exp, t_shutter=1.3, dist_bearing=4000, dt=0.001): + # Generate Shutter-Effect normalized image + # t_shutter: time of shutter movement + # dist_bearing: distance between two bearings of shutter leaves + # dt: delta_t of sampling + + SampleNumb = int(t_shutter/dt+1) + + DistHalf = dist_bearing/2 + + t = np.arange(SampleNumb)*dt + a_arr = 5.84*np.sin(2*math.pi/t_shutter*t) + v = np.zeros(SampleNumb) + theta = np.zeros(SampleNumb) + x = np.arange(SampleNumb)/(SampleNumb-1)*dist_bearing + s = np.zeros(SampleNumb) + s1 = np.zeros(SampleNumb) + s2 = np.zeros(SampleNumb) + brt = np.zeros(SampleNumb) + idx = np.arange(SampleNumb) + sidx = np.zeros(SampleNumb) + s1idx = np.zeros(SampleNumb) + s2idx = np.zeros(SampleNumb) + + v[0] = 0 + theta[0] = 0 + + for i in range(SampleNumb-1): + v[i+1] = v[i]+a_arr[i]*dt + theta[i+1] = theta[i]+v[i]*dt + s1[i] = DistHalf*np.cos(theta[i]) + s2[i] = dist_bearing-DistHalf*np.cos(theta[i]) + s1idx[i] = int(s1[i]/dist_bearing*(SampleNumb)) + s2idx[i] = int(s2[i]/dist_bearing*(SampleNumb)) + brt[(idx>s1idx[i]) & (idxt_shutter*2: + brt = brt*2+(t_exp-t_shutter*2) + else: + brt = brt*2 + + x = (x-dist_bearing/2)*100 + + intp = interpolate.splrep(x, brt, s=0) + + xmin = 0 # + xmax = img.shape[1] # row + ymin = 0 # + ymax = img.shape[0] # column + if xminnp.max(x): + raise LookupError("Out of focal-plane bounds in X-direction.") + if ymin<0 or ymax>25331: + raise LookupError("Out of focal-plane bounds in Y-direction.") + + sizex = xmax-xmin + sizey = ymax-ymin + xnewgrid = np.mgrid[xmin:(xmin+sizex)] + expeffect = interpolate.splev(xnewgrid, intp, der=0) + expeffect /= np.max(expeffect) + exparrnormal = np.tile(expeffect, (sizey,1)) + + # Image *= exparrnormal + + return exparrnormal + +######################################################################################## + def addshuttereffect(self): + ''' apply shutter effect to image''' + # + self.shutterMat=self.ShutterEffectMat(self.image_g, self.information['exptime']) + self.image_g *= self.shutterMat + self.image_r *= self.shutterMat + self.image_i *= self.shutterMat + return + + +############################################################################### +############################################################################### + + + def applyDarkCurrent(self): + """ + Apply dark current. Scales the dark with the exposure time. + + Additionally saves the image without noise to a FITS file. + """ + + #add dark + dark = self.information['exptime'] * self.information['dark'] + + self.image_g += dark + self.image_r += dark + self.image_i += dark + + self.log.info('Added dark current = %f' % dark) + return + + ########################################################################### + + + ########################################################################### + def applyPoissonSkyNoise(self): + """ + Add Poisson sky noise to the image. + """ + + skynoise_g=self.Sky_Noise['g']*np.ones_like(self.image_g) + np.random.seed() + self.image_g =self.image_g+ np.random.poisson(lam=skynoise_g) + self.log.info('Added Poisson sky noise on channel g') + + skynoise_r=self.Sky_Noise['r']*np.ones_like(self.image_r) + np.random.seed() + self.image_r =self.image_r+ np.random.poisson(lam=skynoise_r) + self.log.info('Added Poisson sky noise on channel r') + + skynoise_i=self.Sky_Noise['i']*np.ones_like(self.image_i) + np.random.seed() + self.image_i =self.image_i+ np.random.poisson(lam=skynoise_i) + self.log.info('Added Poisson sky noise on channel i') + + return + + +############################################################################### + +############################################################################### + def applyCosmetics(self): + """ + Apply cosmetic defects described in the input file. + + #Number of hot and dead pixels from MSSL/Euclid/TR/12003 Issue 2 Draft b + + .. Warning:: This method does not work if the input file has exactly one line. + """ + ####################################################################### + cosmetics = np.loadtxt(self.information['indata_path']+'/data/Cosmetics_g.txt') + + x = np.round(cosmetics[:, 0]).astype(int) ## row number + y = np.round(cosmetics[:, 1]).astype(int) ## col number + value = np.round(cosmetics[:, 1]).astype(int) + + #cosmetics_g=np.zeros((4636,235526)) + + self.log.info('Adding cosmetic defects to G channel:' ) + for xc, yc, val in zip(x, y, value): + if 0 < xc < 4616 and 27 < (yc % 1499) <1179: + + self.image_g[xc, yc] = val + #cosmetics_g[yc,xc]=val + self.log.info('x=%i, y=%i, value=%f' % (xc, yc, val)) + ###################################################################### + ####################################################################### + cosmetics = np.loadtxt(self.information['indata_path']+'/data/Cosmetics_r.txt') + + x = np.round(cosmetics[:, 0]).astype(int) ## row number + y = np.round(cosmetics[:, 1]).astype(int) ## col number + value = np.round(cosmetics[:, 1]).astype(int) + + #cosmetics_r=np.zeros((4636,235526)) + + self.log.info('Adding cosmetic defects to R channel:' ) + for xc, yc, val in zip(x, y, value): + if 0 < xc < 4616 and 27 < (yc % 1499) <1179: + + self.image_r[xc, yc] = val + #cosmetics_r[yc,xc]=val + self.log.info('x=%i, y=%i, value=%f' % (xc, yc, val)) +############################################################################## + ####################################################################### + cosmetics = np.loadtxt(self.information['indata_path']+'/data/Cosmetics_i.txt') + + x = np.round(cosmetics[:, 0]).astype(int) ## row number + y = np.round(cosmetics[:, 1]).astype(int) ## col number + value = np.round(cosmetics[:, 1]).astype(int) + + #cosmetics_i=np.zeros((4636,235526)) + + self.log.info('Adding cosmetic defects to I channel:' ) + for xc, yc, val in zip(x, y, value): + if 0 < xc < 4616 and 27 < (yc % 1499) <1179: + + self.image_i[xc, yc] = val + #cosmetics_i[yc,xc]=val + self.log.info('x=%i, y=%i, value=%f' % (xc, yc, val)) + return + +############################################################################################################################# + def applyRadiationDamage(self): + """ + Applies CDM03 radiation model to the image being constructed. + + .. seealso:: Class :`CDM03` + """ + + + #save image without CTI + self.noCTI_g = self.image_g.copy() + + self.log.info('Save NoCti Nonoise image fits file to %s ' % ('noctinonoise' + 'mci_g.fits')) + + self.log.debug('Starting to apply radiation damage model...') + #at this point we can give fake data... + cti = CTI.CDM03bidir(self.information, [], log=self.log) + #here we need the right input data + self.image_g = cti.applyRadiationDamage(self.image_g.copy().transpose(), iquadrant=self.information['quadrant']).transpose() + self.log.info('Radiation damage added.') + + ################################################# + + self.noCTI_r = self.image_r.copy() + + self.log.info('Save NoCti Nonoise image fits file to %s ' % ('noctinonoise' + 'mci_r.fits')) + + self.log.debug('Starting to apply radiation damage model...') + #at this point we can give fake data... + cti = CTI.CDM03bidir(self.information, [], log=self.log) + #here we need the right input data + self.image_r = cti.applyRadiationDamage(self.image_r.copy().transpose(), iquadrant=self.information['quadrant']).transpose() + self.log.info('Radiation damage added.') + + ################################################## + + self.noCTI_i = self.image_i.copy() + + self.log.info('Save NoCti Nonoise image fits file to %s ' % ('noctinonoise' + 'mci_i.fits')) + + self.log.debug('Starting to apply radiation damage model...') + #at this point we can give fake data... + cti = CTI.CDM03bidir(self.information, [], log=self.log) + #here we need the right input data + self.image_i = cti.applyRadiationDamage(self.image_i.copy().transpose(), iquadrant=self.information['quadrant']).transpose() + self.log.info('Radiation damage added.') + return + + + ########################################################################### + + def applyNonlinearity(self): + """ + Applies a CCD273 non-linearity model to the image being constructed. + + """ + + self.log.debug('Starting to apply non-linearity model...') + self.image_g = MCIinstrumentModel.CCDnonLinearityModel(self.image_g.copy()) + self.log.info('Non-linearity effects included.') + + ######################################################################## + self.log.debug('Starting to apply non-linearity model...') + self.image_r = MCIinstrumentModel.CCDnonLinearityModel(self.image_r.copy()) + self.log.info('Non-linearity effects included.') + + ######################################################################## + self.log.debug('Starting to apply non-linearity model...') + self.image_i = MCIinstrumentModel.CCDnonLinearityModel(self.image_i.copy()) + + self.log.info('Non-linearity effects included.') + return + +############################################################################### + + def applyReadoutNoise(self): + + """ + Applies readout noise to the image being constructed. + + The noise is drawn from a Normal (Gaussian) distribution with average=0.0 and std=readout noise. + """ + if self.information['xsize']==9216 and self.information['ysize']==9232 : + xmin=dict() + xmax=dict() + ymin=dict() + ymax=dict() + + ############## calculate the non-over subimg of the final matrix of the image + for k in range(1,17): + xmin[k]=0 + xmax[k]=4616+self.overscan + + ymin[k]=(1152+self.prescan+self.overscan)*(k-1) + ymax[k]=(1152+self.prescan+self.overscan)*(k) + ############### + np.random.seed() + noise_g = np.random.normal(loc=0.0, scale=self.information['g_rdnois'+str(k)], size=(4616+self.overscan,1152+self.overscan+self.prescan)) + self.image_g[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=noise_g + self.log.info('Bias of %i counts were added to the g band image' % self.information['g_rdnois'+str(k)]) + + np.random.seed() + noise_r = np.random.normal(loc=0.0, scale=self.information['r_rdnois'+str(k)], size=(4616+self.overscan,1152+self.overscan+self.prescan)) + self.image_r[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=noise_r + self.log.info('Bias of %i counts were added to the r band image' % self.information['r_rdnois'+str(k)]) + + np.random.seed() + noise_i = np.random.normal(loc=0.0, scale=self.information['i_rdnois'+str(k)], size=(4616+self.overscan,1152+self.overscan+self.prescan)) + self.image_i[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=noise_i + self.log.info('Bias of %i counts were added to the i band image' % self.information['i_rdnois'+str(k)]) + + ### end for + + else: + + np.random.seed() + noise = np.random.normal(loc=0.0, scale=4, size=self.image_g.shape) + self.log.info('Sum of readnoise in g channel = %f' % np.sum(noise)) + #add to the image + self.image_g += noise + + ####################################################### + np.random.seed() + noise = np.random.normal(loc=0.0, scale=4, size=self.image_r.shape) + self.log.info('Sum of readnoise in r channel= %f' % np.sum(noise)) + #add to the image + self.image_r += noise + + ######################################## + np.random.seed() + noise = np.random.normal(loc=0.0, scale=4, size=self.image_i.shape) + self.log.info('Sum of readnoise in i channel= %f' % np.sum(noise)) + #add to the image + self.image_i += noise + + return + +########################################################################################################## + + def electrons2ADU(self): + """ + Convert from electrons to ADUs using the value read from the configuration file. + """ + ##### + if self.overscans: + ###################### + xmin=dict() + xmax=dict() + ymin=dict() + ymax=dict() + + ############## calculate the non-over subimg of the final matrix of the image + for k in range(1,17): + xmin[k]=0 + xmax[k]=4616+self.overscan + + ymin[k]=(1152+self.overscan+self.prescan)*(k-1) + ymax[k]=(1152+self.overscan+self.prescan)*(k) + ############### + + self.image_g[xmin[k]:xmax[k], ymin[k]:ymax[k]]/=self.information['g_gain'+str(k)] + + self.image_r[xmin[k]:xmax[k], ymin[k]:ymax[k]]/=self.information['r_gain'+str(k)] + + self.image_i[xmin[k]:xmax[k], ymin[k]:ymax[k]]/=self.information['i_gain'+str(k)] + + ### end for + return + + #################################################################################### + + def applyBias(self): + """ + Adds a bias level to the image being constructed. + + The value of bias is read from the configure file and stored + in the information dictionary (key bias). + + """ + + xmin=dict() + xmax=dict() + ymin=dict() + ymax=dict() + + ############## calculate the non-over subimg of the final matrix of the image + for k in range(1,17): + xmin[k]=0 + xmax[k]=4616+self.overscan + + ymin[k]=(1152+self.prescan+self.overscan)*(k-1) + ymax[k]=(1152+self.prescan+self.overscan)*(k) + ############### + self.image_g[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=self.information['g_detbia'+str(k)] + self.log.info('Bias of %i counts were added to the g band image' % self.information['g_detbia'+str(k)]) + + self.image_r[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=self.information['r_detbia'+str(k)] + self.log.info('Bias of %i counts were added to the g band image' % self.information['r_detbia'+str(k)]) + + self.image_i[xmin[k]:xmax[k], ymin[k]:ymax[k]]+=self.information['i_detbia'+str(k)] + self.log.info('Bias of %i counts were added to the g band image' % self.information['i_detbia'+str(k)]) + + ### end for + return + +############################################################################## +#################################################################################### + + def applyBleeding(self, img, direction='horizon'): + """ + Apply bleeding along the CCD readout direction if the number of electrons in a pixel exceeds the full-well capacity. + + direction: this is the CCD readout direction, and default value is horizon direction + + :return: the bleeding image + """ + + data=img.copy() + + if data.max() 0.: + overload /= 2. + #self.image[j, i] -= overload + data[i, j] -= overload + sum += overload + + elif sum > 0.: + if -overload > sum: + overload = -sum + #self.image[j, i] -= overload + data[i,j] -= overload + sum += overload + ###################################################### + for i, column in enumerate(data): + if column.max() <=self.information['fullwellcapacity']: + continue + sum = 0. + for j, value in enumerate(column[::-1]): + #second round - from top to bottom (bleeding was half'd already, so now full) + overload = value - self.information['fullwellcapacity'] + if overload > 0.: + #self.image[-j-1, i] -= overload + data[ i,-j-1] -= overload + sum += overload + + elif sum > 0.: + if -overload > sum: + overload = -sum + #self.image[-j-1, i] -= overload + data[i,-j-1,] -= overload + sum += overload + + else: + + #loop over each column, as bleeding is modelled column-wise + for i, column in enumerate(data.T): + sum = 0. + for j, value in enumerate(column): + #first round - from bottom to top (need to half the bleeding) + overload = value - self.information['fullwellcapacity'] + if overload > 0.: + overload /= 2. + #self.image[j, i] -= overload + data[j, i] -= overload + + sum += overload + elif sum > 0.: + if -overload > sum: + overload = -sum + #self.image[j, i] -= overload + data[j, i] -= overload + sum += overload + ################################ + for i, column in enumerate(data.T): + sum = 0. + for j, value in enumerate(column[::-1]): + #second round - from top to bottom (bleeding was half'd already, so now full) + overload = value - self.information['fullwellcapacity'] + if overload > 0.: + #self.image[-j-1, i] -= overload + data[-j-1, i] -= overload + + sum += overload + elif sum > 0.: + if -overload > sum: + overload = -sum + #self.image[-j-1, i] -= overload + data[-j-1, i] -= overload + sum += overload + + ######print('Applying column bleeding finished.......') + return data + + ############################################################################ + + def discretise(self, max=2**16-1): + """ + Converts a floating point image array (self.image) to an integer array with max values + defined by the argument max. + + :param max: maximum value the the integer array may contain [default 65k] + :type max: float + + :return: None + """ + + #avoid negative numbers in case bias level was not added + self.image_g[self.image_g < 0.0] = 0. + #cut of the values larger than max + self.image_g[self.image_g > max] = max + + self.image_g = np.rint(self.image_g).astype(int) + self.log.info('Maximum and total values of the image are %i and %i, respectively' % (np.max(self.image_g), + np.sum(self.image_g))) + + #avoid negative numbers in case bias level was not added + self.image_r[self.image_r < 0.0] = 0. + #cut of the values larger than max + self.image_r[self.image_r > max] = max + + self.image_r = np.rint(self.image_r).astype(int) + self.log.info('Maximum and total values of the image are %i and %i, respectively' % (np.max(self.image_r), + np.sum(self.image_r))) + + ############################################################################### + + #avoid negative numbers in case bias level was not added + self.image_i[self.image_i < 0.0] = 0. + #cut of the values larger than max + self.image_i[self.image_i > max] = max + + self.image_i = np.rint(self.image_i).astype(int) + self.log.info('Maximum and total values of the image are %i and %i, respectively' % (np.max(self.image_i), + np.sum(self.image_i))) + return + ################################################################################################## + def addScanEffect(self, img): + #### read CCD image to matrix as defined data format + ''' + function: add prescan and overscan empty zone to the CCD physical image + + return: img + + ''' + + ### xsize is column, ysize is row + + self.prescan =self.information['prescan'] ## horizon direction , columnn + self.overscan=self.information['overscan'] ## vertical direction, row + + row = self.information['ysize'] + col = self.information['xsize'] + if row !=9232 or col !=9216: ##### + print('image size is not correct.......') + sys.exit(1) + #### + ########################################### + xmin=dict() + xmax=dict() + ymin=dict() + ymax=dict() + #### physical CCD zone 1-16 + for n in range(1,17): + + #### physical zone index + if n<9: + xmin[n]=0 # row number + xmax[n]=4616 + + ymin[n]=(n-1)*1152 # col number + ymax[n]=ymin[n]+1152 + else: + xmin[n]=4616 + xmax[n]=4616*2 + + ymin[n]=(16-n)*1152 + ymax[n]=ymin[n]+1152 + ########################################### + + temp=np.zeros((int(4616+self.overscan), int((1152+self.overscan+self.prescan)*16))) + + matxmin=dict() + matxmax=dict() + matymin=dict() + matymax=dict() + +############## get the non-over subimg of the final matrix of the image + for k in range(1,17): + + ### big new image include prescan and overscan; + matxmin[k]=0 ### row number + matxmax[k]=4616 ### row number + + matymin[k]=(1152+self.overscan+self.prescan)*(k-1)+self.prescan ## col number start + matymax[k]= matymin[k]+1152 ## col number end + + ################################ + + for k in range(1,17): + if k<=4: ### zos1 zos2 zos3 zos4 + subimg=img[xmin[k]:xmax[k],ymin[k]:ymax[k]] # get k-th subimg from input img + subimg=np.flipud(subimg) ## down to up, up to down + + + + if k>=5 and k<=8: ### zos5 zos6 zos7 zos8 + subimg=img[xmin[k]:xmax[k],ymin[k]:ymax[k]] # get k-th subimg from input img + subimg=np.flipud(subimg) ## down to up, up to down + subimg=np.fliplr(subimg) ## left to right ,right to left + + + + if k>=9 and k<=12: ### zos5 zos6 zos7 zos8 + subimg=img[xmin[k]:xmax[k],ymin[k]:ymax[k]] # get k-th subimg from input img + subimg=np.fliplr(subimg) ## left to right ,right to left + + + + if k>=13 and k<=16: ### zos5 zos6 zos7 zos8 + subimg=img[xmin[k]:xmax[k],ymin[k]:ymax[k]] # get k-th subimg from input img + + + ###################### + + temp[matxmin[k]:matxmax[k],matymin[k]:matymax[k]]=subimg[:,:] + #### end for + return temp + ########################################################################### + + + def applyPoissonNoise(self): + """ + Add Poisson noise to the image. + """ + + + rounded = np.rint(self.image_g) ### round to + residual = self.image_g.copy() - rounded #ugly workaround for multiple rounding operations... + rounded[rounded < 0.0] = 0.0 + self.image_g = np.random.poisson(rounded).astype(np.float64) + self.log.info('Added Poisson noise on channel g') + self.image_g += residual + + rounded = np.rint(self.image_r) ### round to + residual = self.image_r.copy() - rounded #ugly workaround for multiple rounding operations... + rounded[rounded < 0.0] = 0.0 + self.image_r = np.random.poisson(rounded).astype(np.float64) + self.log.info('Added Poisson noise on channel r') + self.image_r += residual + + rounded = np.rint(self.image_i) ### round to + residual = self.image_i.copy() - rounded #ugly workaround for multiple rounding operations... + rounded[rounded < 0.0] = 0.0 + self.image_i = np.random.poisson(rounded).astype(np.float64) + self.log.info('Added Poisson noise on channel i') + self.image_i += residual + + + + ######################################################################################### + + + def writeOutputs(self, obnum=1): + """ + Writes out a FITS file using PyFITS and converts the image array to 16bit unsigned integer as + appropriate for VIS. + + Updates header with the input values and flags used during simulation. + """ + + ## Readout information + + ########################################################################## + obsid=200000000+obnum + #create a new FITS file, using HDUList instance + ofd_g = fits.PrimaryHDU() + #### add primary header + + exp_starttime=self.dt.strftime("%Y%m%d%H%M%S") + + ### exposure end time is t2 ; + t2=self.dt+timedelta(seconds=self.information['exptime']) + + exp_endtime=t2.strftime("%Y%m%d%H%M%S") + + + ### data read time is the exposure end time ### + ### data read end time is t3 + t3=self.dt+timedelta(seconds=self.information['exptime'])+timedelta(seconds=self.information['readouttime']) + + filename_g='CSST_MCI_C1_'+self.source+'_'+exp_starttime+'_'+exp_endtime+'_'+str(obsid)+'_'+ \ + str(self.filterP[self.filter_g]['number'])+'_L0_'+self.information['ver']+'.fits' + + + ofd_g.header['GROUPS']=( bool(False), 'always F') + ofd_g.header['DATE'] =( t3.strftime("%Y-%m-%d %H:%M:%S"), 'date this file was written' ) + ofd_g.header['FILENAME']=(filename_g, ' file name C48 ') + ofd_g.header['OBSTYPE'] =( self.source, 'observation type raw,flt, mask, bias, dark, sci') + ofd_g.header['TELESCOP']=('CSST', 'always CSST') + ofd_g.header['INSTRUME']=( 'MCI', ' ') + ofd_g.header['RADECSYS']=('ICRS', ' always ICRS ') + ofd_g.header['EQUINOX'] =( float(2000.0), 'always 2000.0') + ofd_g.header['FITSCREA']=( '4.2.1', 'FITS create software version') + + ######### Object information ############# + + ofd_g.header['OBJECT']=( self.information['name_obj'], 'object name') + ofd_g.header['TARGET']=( self.information['target'], 'target name, hhmmss+ddmmss') + ofd_g.header['OBJ_RA'] =(np.float64(self.information['ra_obj']) , 'RA of the object in deg') + ofd_g.header['OBJ_DEC']=(np.float64(self.information['dec_obj']) , 'DEC of the object in deg') + + ofd_g.header['RA_PNT0']=( np.float64(self.information['ra_pnt0']) , 'RA of the pointing (degrees) at EXPSTART') + ofd_g.header['DEC_PNT0']=(np.float64(self.information['dec_pnt0']) , 'DEC of the pointing (degrees) at EXPSTART') + + + + ############## + ofd_g.header['OBSID'] =(str(obsid) , 'observation ID, 3+8bit') + + ######## Telescope information ############### + # ofd_g.header['COMMENT'] ='==========================================================' + # ofd_g.header['COMMENT'] ='Telescope information' + # ofd_g.header['COMMENT'] ='==========================================================' + + ofd_g.header['REFFRAME']=('CSSTGSC-1.0' , 'guide star catalog version') + ofd_g.header['DATE-OBS']=(self.dt.strftime("%Y-%m-%d %H:%M:%S") , 'date of the observation (yyyy-mm-dd hh:mm:ss)') + + + ofd_g.header['EXPSTART']=(time2jd(self.dt), 'exposure start time, UTC') + ofd_g.header['SUNANGL0']=(np.float32(0.0) , 'angle between sun and optical axis at EXPSTART') + ofd_g.header['MOONANG0']=(np.float32(0.0) , 'angle between moon and optical axis at EXPSTART') + ofd_g.header['POS_ANG0']=(np.float64(0.0), 'angle between optical axis and the North Pole at EXPSTART in arcsec') + ofd_g.header['TEL_ALT0']=(np.float64(0.0), 'angle between optical axis and the ground- piston at EXPSTART in deg') + + ofd_g.header['HOODSTA0']=(np.float32(0.0) , 'lens hood altitude at EXPSTART') + ofd_g.header['HOODANG0']=(np.float32(0.0), 'lens hood azimuth at EXPSTART') + ofd_g.header['POSI0_X'] =(np.float64(self.information['pos_x']) , 'the orbital position of CSST in X direction at EXPSTART') + ofd_g.header['POSI0_Y'] =(np.float64(self.information['pos_y']) , 'the orbital position of CSST in Y direction at EXPSTART') + ofd_g.header['POSI0_Z'] =(np.float64(self.information['pos_z']) , 'the orbital position of CSST in Z direction at EXPSTART') + ofd_g.header['VELO0_X']=( np.float64(self.information['velocity_x']) , 'the orbital velocity of CSST in X direction at EXPSTART') + ofd_g.header['VELO0_Y']=( np.float64(self.information['velocity_y']) , 'the orbital velocity of CSST in Y direction at EXPSTART') + ofd_g.header['VELO0_Z']=( np.float64(self.information['velocity_z']) , 'the orbital velocity of CSST in Z direction at EXPSTART') + + ofd_g.header['Euler0_1']=( np.float64(0.0), 'Euler angle 1 at EXPSTART') + ofd_g.header['Euler0_2']=( np.float64(0.0), 'Euler angle 2 at EXPSTART') + ofd_g.header['Euler0_3']=( np.float64(0.0), 'Euler angle 3 at EXPSTART') + + + ofd_g.header['EXPEND'] =(time2jd(t2) , 'exposure end time,UTC') + + ofd_g.header['SUNANGL1']=(np.float32(0.0), 'angle between sun and optical axis at EXPEND') + ofd_g.header['MOONANG1']=(np.float32(0.0) , 'angle between moon and optical axis at EXPEND ') + ofd_g.header['POS_ANG1']=(np.float64(0.0) , 'angle between optical axis and the North Pole at EXPEND in arcsec') + ofd_g.header['TEL_ALT1']=(np.float64(0.0) , 'angle between optical axis and the ground- piston at EXPEND in deg ') + ofd_g.header['HOODSTA1']=(np.float32(0.0), 'lens hood altitude at EXPEND ') + ofd_g.header['HOODANG1']=(np.float32(0.0), 'lens hood azimuth at EXPEND ') + + + t2jd=time2jd(t2) + + if self.orbit_pars[-1,0]=2: + configfile=sys.argv[1] + if not os.path.exists(configfile): + print('The given input configfile path is wrong......') + sys.exit(1) + + + + + mcisim(1, configfile) + + print('MCI simulation is successful!') + + + + + \ No newline at end of file diff --git a/csst_mci_sim/mci_data/mci_sim_example.config b/csst_mci_sim/mci_data/mci_sim_example.config new file mode 100644 index 0000000..4b9e711 --- /dev/null +++ b/csst_mci_sim/mci_data/mci_sim_example.config @@ -0,0 +1,282 @@ +[TEST] + +### user should define file path below +inData_path =/home/yan/MCI_sim_Fabu/MCI_inputData + +result_path =/home/yan/MCI_sim_Fabu/mci_sim_result + + +#size of the output image array, xsize is column, ysize is row, xsize = 9216,ysize = 9232 +xsize = 1000 +ysize = 1000 + +##prescan and overscan , do not change!!! +prescan = 27 +overscan = 320 + +###sourcein = XDF, DARK, FLAT, BIAS + +sourcein=XDF + +################################################## +#### #### +####Control flags (can be yes/no) #### +################################################## + +cosmicRays = yes + +darknoise = yes + +cosmetics = yes + +radiationDamage= no + +bleeding = yes + +overscans = yes + +nonlinearity = yes + +readoutNoise = yes + +skyback = yes + +TianceEffect = yes + +intscale = yes + +ghosts = yes + +shutterEffect = yes + +flatfieldM = yes + +PRNUeffect = yes + +appFatt = no + +sky_shift_rot = yes + +distortion = no + +sim_star = yes + +sim_galaxy = yes + +############################################## +############################################## + +#CCD properties +fullwellcapacity = 90000 + +#dark noise in electrons per second +dark = 0.001 + +#exposure to simulate, exposure time +exptime = 300.0 + +###PNRU matrix sigma +prnu_sigma=0.001 + +### cosmicray coveringFraction +coveringFraction=1.0 + + +#offset from the object, note that at the moment this is fixed, but in reality a focal plane position dependent. +ghostOffsetX = 50 +ghostOffsetY = 50 +ghostRatio = 1e-04 + + + +####treering effect,bright fatter effect and difusion effect +treering=0.1 + +fatter=1.0 + +difusion=0.1 + +### the choosen Filters in three CCDs +filter_g=u +filter_r=F555W +filter_i=F814W + +##['G_filters']=["F275W", "F280N","NUV", "WU", "CBU", "F343N", "u", "F373N", "F395N"," F336W"] +##['R_filters']=["F487N", "F502N", "CBV", "r", "F656N", "F658N", "F467M", "F555W", "F606W", "F673N"] +##['I_filters']=["z", "y", "F815N", "CBI", "F925N", "F960M", "F968N", "F845M" ,"F850LP" ,"F814W"] + +#################### +g_gain1=1.53 +g_gain2=1.54 +g_gain3=1.55 +g_gain4=1.53 +g_gain5=1.51 +g_gain6=1.56 +g_gain7=1.58 +g_gain8=1.53 +g_gain9=1.54 +g_gain10=1.57 +g_gain11=1.51 +g_gain12=1.53 +g_gain13=1.55 +g_gain14=1.57 +g_gain15=1.53 +g_gain16=1.52 + +####################### +g_rdnois1=4.53 +g_rdnois2=4.54 +g_rdnois3=4.55 +g_rdnois4=4.53 +g_rdnois5=4.51 +g_rdnois6=4.56 +g_rdnois7=4.58 +g_rdnois8=4.53 +g_rdnois9=4.54 +g_rdnois10=4.57 +g_rdnois11=4.51 +g_rdnois12=4.53 +g_rdnois13=4.55 +g_rdnois14=4.57 +g_rdnois15=4.53 +g_rdnois16=4.52 + +############################ +g_detbia1=500 +g_detbia2=510 +g_detbia3=514 +g_detbia4=520 +g_detbia5=524 +g_detbia6=540 +g_detbia7=530 +g_detbia8=532 +g_detbia9=534 +g_detbia10=526 +g_detbia11=532 +g_detbia12=516 +g_detbia13=540 +g_detbia14=560 +g_detbia15=536 +g_detbia16=528 + +############################ +r_gain1=1.52 +r_gain2=1.54 +r_gain3=1.52 +r_gain4=1.55 +r_gain5=1.56 +r_gain6=1.52 +r_gain7=1.54 +r_gain8=1.6 +r_gain9=1.54 +r_gain10=1.52 +r_gain11=1.54 +r_gain12=1.57 +r_gain13=1.52 +r_gain14=1.55 +r_gain15=1.52 +r_gain16=1.55 + +################################ +r_rdnois1=4.23 +r_rdnois2=4.24 +r_rdnois3=4.25 +r_rdnois4=4.23 +r_rdnois5=4.21 +r_rdnois6=4.26 +r_rdnois7=4.28 +r_rdnois8=4.23 +r_rdnois9=4.24 +r_rdnois10=4.27 +r_rdnois11=4.21 +r_rdnois12=4.23 +r_rdnois13=4.25 +r_rdnois14=4.27 +r_rdnois15=4.23 +r_rdnois16=4.22 + +################################### +r_detbia1=600 +r_detbia2=610 +r_detbia3=614 +r_detbia4=620 +r_detbia5=624 +r_detbia6=640 +r_detbia7=630 +r_detbia8=632 +r_detbia9=634 +r_detbia10=626 +r_detbia11=632 +r_detbia12=616 +r_detbia13=640 +r_detbia14=660 +r_detbia15=636 +r_detbia16=628 + +################################### +i_gain1=1.62 +i_gain2=1.64 +i_gain3=1.62 +i_gain4=1.65 +i_gain5=1.66 +i_gain6=1.62 +i_gain7=1.64 +i_gain8=1.6 +i_gain9=1.64 +i_gain10=1.62 +i_gain11=1.64 +i_gain12=1.67 +i_gain13=1.62 +i_gain14=1.65 +i_gain15=1.62 +i_gain16=1.65 + +################################### +i_rdnois1=4.63 +i_rdnois2=4.64 +i_rdnois3=4.65 +i_rdnois4=4.63 +i_rdnois5=4.61 +i_rdnois6=4.66 +i_rdnois7=4.68 +i_rdnois8=4.63 +i_rdnois9=4.64 +i_rdnois10=4.67 +i_rdnois11=4.61 +i_rdnois12=4.63 +i_rdnois13=4.65 +i_rdnois14=4.67 +i_rdnois15=4.63 +i_rdnois16=4.62 + +####################################### +i_detbia1=400 +i_detbia2=410 +i_detbia3=414 +i_detbia4=420 +i_detbia5=424 +i_detbia6=440 +i_detbia7=430 +i_detbia8=432 +i_detbia9=434 +i_detbia10=426 +i_detbia11=432 +i_detbia12=416 +i_detbia13=440 +i_detbia14=460 +i_detbia15=436 +i_detbia16=428 + +####### end ####################### + + + + + + + + + + + + diff --git a/csst_mci_sim/mci_so/__init__.py b/csst_mci_sim/mci_so/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/csst_mci_sim/mci_so/cdm03.cpython-37m-x86_64-linux-gnu.so b/csst_mci_sim/mci_so/cdm03.cpython-37m-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..85a4cfc31920218e8b634b8d53cf9db62547f63f GIT binary patch literal 175816 zcmeFadw5huwl?0K3keBkceoi8q;(oe9KeK&CO|X|9oVfMj9es9APGr_1VfTZb|g5c z(N2_}rXk~a9A?H*j&nJV$1^f>91mVb!~LR;z<2??1yt-NB8UnBmHythYVTwxkQwKE zzdwG@_t-qyRcqC%RjXF5TD7Wnb#qUyXGWCOYB4_1mg_8pavTzqqZh>gK1$D_%#vy8 zkLM38R|wjeu9EXJwZkRONG&!AvyE70?R?;47tgLVTq$8AHP;jEwd(Y}(%%k|cq28} z>xZIM|0T;;{k3QM!~hA~E|RHHkG*ESb$Y#ZdOag;XGicc(s&74C?o$eb+z?Q9Xg$n zl9r$RkF_%9*FP%2^U_x(+G3wa(>s3J`9%GdV788rBRpPNcHZDz70lW(fFG= zYo6uBvcgBR?^XWmxdDG(Fy{3$g&*9fd_q}Ro`*lOiDTMqvD;OP)lwLnG%(7N!?Jw* z&Bx#D2g~O^`PqRPuh-f-H?E(s_Ta~tp8CnaiZQpotZqK|j3v8ZM&nPPUX!*d-!b8j z%BabsQKiq%U1-qgqnT(u1iBFZH1Gq>gnIsQq!*(1_Ca6W2mcBf`-S+w*ax4@7}yK7 zOa0q*+0039AN~FBKJf4N!GA~}a<1v4UyJ+Tv%3%aXmsF0{VMK*{>DD=SN9?3@;>+v z?t>3yxsX23f&N0{RoMssdEj%Qe%1CN=Y!DOh4_!@L!STYqurK1@N@eZm$&+ma|ZBN z;IH@ROCT=Puh;tEzqSv1yQL2~|ECZBclN>mt3LRD*ax4%ebBG(17F(*pZq??v8)gJ z+&=mn>H~j8ANXzHe<3@0v=927ee^34`n(XIRekg;zK{8Gc^~*;eTYP9FZ$p!u#a(^ z+lLyaPE0S|E?k zXQ7Uts>|7SvqTtjMhiU;u;lCV4Atq!>GbP$db^Id6csI5R#RP6ua(qkMMah(_uRaq zGH;!CNoBp}t(%)Sy{e|#JGW$Ul~q<(!i%Uvx?_Dsxq@mtuVYatk ztEq!v6u*q8q)+Az9!?MNRx*|b@^653p zYOB1B204X?2y?W$%IYO3zG?ANZ>d%^)2lf(t*#4AvguXck~)yg@&2g6TV3icnqJ`* zGIt?R%dL5rfktoCQzMu%DRS1I4>_yLZo0!;S6)@K+)|XkqG%TMk2V`hHSloOEh)+` zsjK(SZGglez0td3c}-ney``kCu4F|~d0ox2qS_TTi0Lbt1GECl;d7j3q+AjWJOe% zUQ%067J3~6MCbEsAcMEgQdC_F@y6rfoITrFSmexiqaMawX9aE6P?NeWsOhQ{U7of= z^VS#5K*zc?Kd-v7w5H746UpJ29SfDmDa8>7`VJuriM#vFn+UKMZ(xDl+GAwj?XPMm1X%ty#`h`FC@|D!Td_C zLiVjo+?n2LZ(U_62*lt(j4ChvL7sP6QC>+^RZS@XvudRlVEl8Wvms%x5tv?6jc%bH z+QJM1MNQp`9s)b-4ROugkkc2wiLDkbDc5bkUMpH&SE<3%bfGvW>dWCoXx>YZ_9igu z6qR8DTfB|6mRii{a#~6^mzw$_j3f-d8&xOGQpZzNvLwE3Pss^Fk|d)$6v*n z2T?87vQ2M*b^l~4_y6=^93Mnm_H>oUSYFV}$?+jk9%p$+#|^Hm#7Rj%%Ml&chE?|G ziN^^YZn%VSl;s=1{21pgMx1fNA@QyHd5VGGpyTbEWx0Vj;P$OO@u5};hkD_U>G%`9 z@L%Zo&R+O4I^MFaC;xACe0(o_^iL(7trxz(j!)@@AE@K)z3?eIKD8HqgpN<|g}*|_ zSMD-f&(X(YqaGI;<8tRZNx!ETe#5mA-`)#v znJw|5Uifw%1mV-!8?W=R?~>*5GO^_6$V}tQGUeHq9!d&ClL>D=7h7e*>mjC~Z#Cf) zB}?&KXTmEc{CX2!7hRM-VZxjD2OCWI6ce9~Cj4b4e47b>g$cjYg#UpFzsH21Wy0?_ z;jc2`+f8_$IT)Xi32%5mmYp!+CmX~_J56{!bQh&5y8UoWZZ^@Uv`GNYsE3ENoA3zv zyFRHVd`uVCVo5jQV@>!>6P|4tpPV+CBhIiPV$?Q1<=G@0R@W!LO=d|ypbKlU6qxXE zfL)(r6F#X63%_f^+f4Xc6F%95Z#3Ztnea^}JkMQ?&#E?=qn!HDw?MR-@Ixhuc&;p$)PMiV~Xg!h>6HWU696aM?`_Zs+K1ONZgz!%D8XI0;)@oFG;#bXGETH3Uz z$R5?VHGYc_GBW8f(2-Fe;i-(wL5^?*%fjsud`2B4Y$d!$!21YC5pEOkZo&-d!W#s< znJ`1S@OlA1PnaQGxK+S^Cftv3lYpNjOt%xR74YMP8N!8&1^i3G4Bf){0)CJ%L;G-! zfPX@mA$>Sq!1obmNEfyX_)fwM<-#@r*AY%4Y!UEM!VLYxC(Z#eYB6Dka^ZFX-%6Mv zTzHRwXA@@VA8r%y4TKrWg*OOz8exWT;q?NZOqiitxK+U82@fUQB;czEGgJ%L3it}b z+(Lwl1$+r%hHT+{0S_e1P%WGz-~_@9(ZcBhjv~y^ENmC>*+&60Bn#UFe3I~Gge?L- zN_ZsU6W_A`hY8yWw+r|n;mZl{5%503R}gL!@NU9CAiP1qn+Y=%3$GXO^Mo0Kgm?2l#Cg3{447I`*0WT%Y5G#D*8!`Tb8Cr$g1$--EhE(A_0-jBnp;Wj{z&8+P z2o>HS;Aw;zB8ArrcrsybwZg3e9#5E|Qn*RLR}p526s{HU6@(cYg^LAz31Nmr;d}uP zB+M;ZI7h$Y!mQF!q*YD2>2-B>j|Iun*D$9R~Aco zD`4?agW2KV!EXd(4>QT?)P}&7+yWZ9lKzo)Wn>cxx9BP8pA+&upoa#TJZu;zc zbyH`wYTd5xJ*N!@gAqD|_(*%XG7^E2QJ?;*DZ2%AEe$`Mr~0y^Kxt9^A8P~DK=v%i z8Y+a8p)x$S$1Vh&bs_5Zs2^UALR}u`Jm*}n`7}rMuXLoSe$8Q1{c|1hWolr+C|a57 z_c$^$cBw59rJ1dUu7Xz3H>LScfIPt}N4h6i=15hMvwQqUJ^mxA|9EIHY)1`}TM*pT zAee{RSu>ykY&oS3Qv)j=_+#qEDH^fnB|>E8|m zu%A?Hxi;rZTpvz4mE;%)mll`*gpkI$XbW|vf?W0QpuwbrKF4NIrV170Pz9_e*(^kD zb_JC&u4>>eHvir_*}NLM4a{2F8m?CZx$)}hrYA(NEGgO@p&vn69{*=(hK(t%?55vf zIB%!AddkFpLM}Bp>HP{&tPtXDQ(KN{FNB7J9K)gdKlAuM34I0+33h>83w0c_s($1i z7ESw)L+Xy7uzx8+B&GRIm>uAZQ=$7gZvJf@|JiEPQd%xyDTVeQmmNj@@ZZpYX#~n! zowvCCZ}l946xga9Xw~m>#AiUB8Sy(@4z975Q%(Pgr&VeB5DA63?Mx)%_MoIW6XzLh-Nv_+Ue@AE)NS*!|hugOdk~hP$EE{P+YQV#ZIYCZL zrRC3}t*t4BEs1f%oQq*Uw}43iN?<=@q~b$Y>x>1rjtzporbP_hZVzzz>>q{cnF$$~ z^E2&6(S9Q%_++$sbWM4Js~tpz9ykSgd|UIK{2C=VC;@^&*c6 ze;1}dCYcJ$!VGH2Vy0MstacP&AWZf-J{H}(cPoS8+jJXs7HyI185>}4xPTO(fpcFKw&tZkYgfDPq+~^*z9N}4$L8tEfj^R+AW#Vau_^4S(>9l zv$=iatPKfnxE+uGG>qMo^`aPWrTJaV6*pJ5mVL}&aq;*gbZlDy%K7?`qg^!pjDzE( z249q8@^{Fn1|$F<6LPNjM_1R3l{ZoCOCV5}_e4d5q zpd2x?K5O+Z{Hyw`&^h+d=bX>~fj&<`*&;lKKARousZU7sgwX4do2fcED^fzA!VXQd zqWLJpiGb#)RkPk#nx7LjRysVGS+}BEC>v{tnfwKkm%1Dtw||qG)hs5f()=?~?J41| zJ;B&wHW<99rkL#>f1V>Q0;-I*&|gK@vY-7Wi#`iI3NXAxh@e}k$&7@x4rkA1FrvXE z5sK_haTbaR%OFz919?5+8|kvquSWDso5gq*et5{a#pqMz>7IT1gxt}me7#RxgS2s+ zRr$g?V&i3h{#1lL#SaBvxlo~@{Ep{BX~NQ<5i3YnYYWgC>xI7VrEn3Qp|u5iYxIhD zrI}hAC|jGy*8YkqqQYB{2(2yXc zIz97Fy(ZT);jV>qMXhw|V*#15C^S=NmMWO71d7a3-TwX0(aCda685|^NVHvN#r~J zWW=W;zMKc0&iN_4##hk@Ea%Rf!;M?0M6@*IV1NqCb|d2Bz910$91;Hf_>i3hTqUbv z?r#59h?oN^_`Z-A;=6rg92oCyO7qjyOUp5(`78**;aYOY%8gfAE&?J0LI3g4&qQk@ z#t7!ostoPdh>B?8UC>2r**M0ts)1;wWh~*=bvOp}bz);5t=xZ|z_bEGi8MgIPJ|V+ zkO}?#Qz58!E870ePtbO7(o+~CHINxvO+90K=kbSR45r6lZkRHVpD-42LUD$^x+8Y9 zDoz+>yoMM*)W&9l*~@POYyY;8^%%iP4FWt){rESB-aV=-Mrl4ItR?$aTFaykK|8Mp z?S^jJ-+?w`A2b!r&H_zn5_yX)=ry9sX4N0N_aPLlL>&zNHspCkpv}h-$Z785l;$DA zmPZ@~r20Py?W44T3E-lO<}{jXxK;FCy?0Bkm0=E*p!%j*8g_>Fim=Q@-HAyF?!S=S z{|6-<>s!rw1G`m{ZJC-HW!7D%ferE6^6qol0iu$ceY!A$xYRLFy__|PBF8QSm7B*%8XiZ(CL32Znw31;67 z(vUBNQVt8OM@yDds2#hQuKkNRsSuXK!4O3_kHJ0^M=ZhYvE=cXiATeW9k1}b26GX` zm!cTV!XrS@^L%4Icd|nUpqxidZvR*Ev`M%u9suMA7C6+~vyN-y-2sJy zAH?wxb}*s0KOy%Oe;2~;Xu}{yOdB|1Z+R`p?rv9oFFMv?R4mTz{nFgQ8CDJFcF;yz zyNO)-54Z1_)$RLMx%)rMm73Tii%~~Oo?-2H-PC)IzjJ=~37h|`IjaBf*!b^96M^~W za~>IMWVE&HQ<}3N0jy+S3ln(F{eYb~=1Xz=H)kDHf}a2e-I_O$x)H+JgLmT0#VJCU zj;r-^P&d5k-TggTo0OLO$ggFW(wvTrM|pae8dR-n)(-6|)xQ(RqFX$H80;N)t#~Dm zuJ{sAS8hwzn|EKKmTp#qAPeBQ^Ndwl`xWpl zr&b(POHYC@>&<)KZ#mUy^Z56uzi^*EgP7tAw7)YiYp>G01*9JTUXOn_jQKh-`C?zj znUS2~-XoF7Mz*2`9uYwaw&BCY;iuA)9s~5fTd73Tu;~46Ii;-q3re(dwRAheqb;4D zKtIKQJ$U72yu%Kznt(j?I~$ET{UMkC00i)M&Hj#$^_DxD#eQ~2%ofTK-XT1x#VMo; ze_;64jJ9wg6a#+vCM5mP6vR5R5C3j(3SSEf|7OsUfB_iN(GhR*%15 z*4ryzK&Y`M1sn}4hF<~EfGuEP&DwU)7s6m3givn($Fs44x)wq{w-Zu1=Ln6x#5`8? zc{uIKh&To4oE>U~5n=w?IgTg|T&((b#02k)oI7{!^uEjYjB3J13;Q?E3JmxfT$kU< z?rwrMBAbrd{?OEfMc4)Vo*xCjeO5H&-=1UH&Qnj{2hkaAa5`2`+Ht(}@K}$Bu0U(9 ztZ(o6H*EX^394^%Oz>XO)ZWW?8cl5yqHPKr+@Y}>$bGMWi)G6T?1kz(2+kSDJZVSO zw71;Bl|x`uLk?k)3Eg`b7J@J*rKRoem4^TONBu&de#6zN&pxT8Z;Bpq(YG^HN4I?2 zte(JtJ?NL{G2E!^-gH>1Gpovxa?k4jZ3kuFdiHE6d-flP#0+YK#(AKRsNi=W>9a8W zHFlqF-&vd+{}lUR8h|u@ef-hKG(=Rotn&;@!00~+799O>6$~fz+YceWaFO9SyrO|I zx9q!nf-u}*9YHnd#6mXlL`Q#NzqDP|mt|ER+oU|Z%V~W@<%WKH!zXI#Hp8vJn>6-! zWxc1Y{x1kgBR<5fy8i%X2BI6m$Cb7F?rJwTPI7+i=ruo3uHEPfScJbm>Ir19LbfyL zwC2He-kg_pqTyzze-i*~!*+--_B$~|s&7-gE9+RpdMpTQwxLycxo|a7CtPYELwYGx zS^;adcD&XdlYm#pr|?8`@1d?gclnRPXFVok7z9Sg+6}$?a6E{4DB~C2CzzSyYmARH zT;>Th6~iN-^E_5vRX}fwMbgPvgE@4p$zTnpN4uD=15?-$h_P(O%0wEjGOP1CF1#$uN>N{GVeYL~hZ~N@UG7pb1r?I(M}Rp$P0KbOWZzMowbU zpp2KW?tU$KW&h{hFt}$?k5M#gjR+k;1-E__ppA55Z_NEAHb@Kj+D-&Rw{^uyh^})p zJ_>C^OC5)G{pd&g-^!QF`^?!|LMjMoYGq|tCf5#|5I;Yh4feE0G5#_J^MA|G^UHbuH|O|YK@`T*vL5eULR4a# z?-2I63}pNV^87n|hiupnLwL`W*i|bzKnGFe2~3&*07o`>_j%kM=oe|N0FBf4?LaJr zc;&Z4X?_x0+dz&Th83?oJ9F47mt!Pjd!>08^o}a-z&)5%wKlwERhs{T+TdmjRlSeb zT*zQ}Th;@4dJDh#sT4|8x9uROFF-X~+1D|lZr z#xY}Gq&1c8$pIYZ@gIhR#fG2f!!#joRH-K@H2e$E|BPJ-g|Fz=_u#EuhSg0+uea{S zV*D8*$+g=NjX(!i|5zGL#=cWqa?rBN9~Q2!4dT#`H`;zXgsT!?yQMD$or8@%1rfZ5m7i!q)*!)5+Ke&HYQlD=jXt2=4;N zR?IIAuR$`Mr)K6vE6u4KbleEYsh?!%kZEW9{k)Fh1fylJBo{zEi;0f53Mr=hPOv(lQAHln1eR zD&ow_0pcnR0_cZA^ul&(M-<*7qvX_%7^UR^4Cf`f zrBgdFCH4Sv24?2?H*+ts8$|aWwxWmkp5;?%z8;2nYD*MOC_yN0Phb%kG7pg&FZ1N_ zIOX^kza2&5Y*C}7jUqIybX;;B{15VZr3fQkQ!s(FMes0v22n2d>H2~ z*JZ>SS_lEcpP&I_eslMli8ses^%^yMszu#cZ^!pP?MrH~)&AX0l)&Yvg`J2IRnibB zvdR!t$-{;`o|trE1_47Lhrm!B$R{vN2Z}{}@DJkfya3Le{Rb`(eCy+99$6WHZ;cQA z*I#sJ--wEg3TS9MX8U6GWOGJ#4f#q;AdP>5LkLZ9p3PDB=QoR2i&82`jpB| z_Z65}l#dqN@-{6PuAya@n1l1}%0ru+f#oUExgj2uuI*;{yYpR}(!2qo6DoTA=MbGo zT3f-5Gru3k^VAM302yfB9hhgMCAj_bZO*_v?Co)_1~Hb?KOf$3o*hd((wTOY!z<3i zyM$b%Gm*|u1)L5T=}e^a;V9;10!BI$>3mrCyd1ztXXb!kj<|OLhB-J35KVVoai|BV zuev{NMXpSax>Sl`t994_@f;Y`BzJ<$+ z4LM!*_Z0|)>3K?3yD&}RHy8*! z-YLThf7;LzAhEih(rl`DZ_evFEYDBJp_0=4IF9!b-U(%4cjMfiJFGN(1CZ?KMY5w6 zeRgz!(NR(>1d^c_0t0oRAl!*QW9+egnUsqj2}{pUf$2X`&tc?=>5wRA%k?bEJd*87nl%O#iO2Som+0zv7H=3i_y3Obz^{|=TDAomk-O7q>Q@7zd76P|!p zT>V2z^S@yb!VjZBK*!lbKOUiIjF7Xb5o=+~dw2mG{u9kc!mkm&9qX5|-n$5f!l}1O~)Ahrem|C5k(no@H22gYn}iQtU&CuJO%q*?jkFXF)r`8#1wz% z=lxk7N;50F0~0Spn2{G8b6Kbf1M2i|#S6m&xq*gwC*%0$m*6Vgf&VH7t$1bBBwPm^ zfjT92{*M>{jXi-dQEA=>id-Det@#ruoWU6pp6aH*6oGcs;NWf4662X4?`3p``eL*0 z@}Gnobq4;*txM>GeVp8KGc_Fu4?-=x?({gusDTE!fgx*fjErk5DXMk98pLk3m14OA zvw%3@3RK3sOW#z3D{vrrPTh1kI`lF+#5c8YQ;i_`K=r-MO%sIujo?0ZRxO0{?XZau zH5X^Gj7?QvXQUw+j>`fxuG`slG*rAQjCwrP2FC{c-Hh@VFCkAAK3XlEZAVDECp44o zPN_nibDi8hUEBSds^f?9{6QBB!E!`%VdLkBw`hySZBIxa%H1P|fUjpW?$d*_P`j5?k*;sG+>2{nsxUhx>5$S-TaFgWSQH?k9% zp+s=$c%W;4Dn>L6opp^UUwU;9=TonvQI3#1h?76)JvbzcgEG93rWjn4Rby~+d4h5) zCKba{VHdCmQ0UxvaW^Hjfc&7~6mk0~oJ zQ|M8sO*f#HXb{SGx`Ehdt3@9_odG^VA?)epP(%2apkiDgj5S<}C_&~@(FZYvxD)~s zF^o#fADQjCBN%=RVCX6sbocxc=Np08ua?0s{he4QJpS$2j;nzth6#~&QSSQ`HzHz|o2I$8VsIja5sg52S z-km7OXu~R{HA0e5@!v3e8WK$}2U%%?+n3AtyLfp4MkX87 z5X|$0p6wd%X~o8@yfyR!IP&bH$e6B!+O$>eXO37>x|ILtAi8?>eynV~#4#|04+g*yWq9MU!-dv*70Q zf-`Km-=N#s4#UbqU%yHvw0ZoKvX;{*Jh;mfyc?#Aw+TbW;Y=~|CMKf?`%b>8NM^)veHY|G9 zhIlBT`41Ewt5r2Rs|Kbb>fXlD{@^u$@*Uwe>==6*^I(7&uV8lhbhzS)LQQZcF^)jK zjc+KHlP9j8goa&M-Ber~u*%^>_MFqbpF1;A*ZTHP9-QNvFX3{bKETnRU^vgxYt>GoninZ}EI+AW{yYCs1J*Q(t_eMD8Di{v+%K)O{LKcmmKp zyooz&+sbKt5hY*6dLS#VD%}{2xiT;9km%9cahOz|v=eYK9hdU9v#ktWbpDmk@O6-j z^Fai)u|q2{CR{i?{xF6}$?b6(+yr^~x_1@Qj8hCI{zi4+GCeq1ltke_Q9IS;FT?v} zT)>9B((e3EIa1*qc%!QgNPSraWFr>fD$zCEG!yVMj#dGG0>kw9|Asw~$G=*qc}T3t zp=iF-xOb~CXS_O~MNHwEfn5+>1*{e?%c9(AyTVs;UUhw6Bh;}IM7WiHjp#Vq)*a0B zcno;>=Lj6T;)4tH1DCHUAwRwPqUv4j>eF}V!}UB_mwmuDW+*vhA0a(<#OOc*JK)8l zNN*b6i5Qn_b1H^r$Muw82c{C{&3yI=r`T{4t0o9T6Vqa^vSt*aw7u?N%uq~-@FiSd z17k-nq2Xg~2|tF=SPcw!AgBmThffffCPLTJv;#lJ=6IX4fS{# zE;t2?=^+{e7SjRxV%j9NgjF;&RM<&h>nVK1q;hm8Yi7LiP@D2>+m`O};`{yFj8pO( z9B+tlTo_X6Ko2x6jwVa7WnAgV;jOk+!p1ZVK5l8&0>E1o95SnZ+&kcq!O)6HQhJ>W zwch~B1J{z8r>O9Rk2soGhD*MFxXr**jz+<4wY+*9Snc4qGTCZ7>bXzvVZelm(k$*B z`mh9TtY#y5tp)q&t6@~R$WScMisBZ2n>hg3{MH~b&CUtqHc6#!t_@Ib^A%qkD$ zu_1*i+mTFS#UnHz1p6t^W07Iqkb|uJN4ns_vdPeb9oSg~ek(dFV!qt0Pn0!HSWVp` zu)`D_iF*L0J91kh9!1^a@o%PzE8K|7p)+D3?M}85jCm6Y-bCMY!jpAaSzC=23a`{u z|Lblg_grZ9HmXIxzR!ha8p_pDT*!1`a5;8r>DM4v+~*MVuXI%K^r+>OQ+ae#ZpJ>5 z*__*duLtt29fYb*u3lITb~VIP`yM41qC`R+TV*q?WXNXT!FL;3uum^w6eJ2Zqd>)N z8r(vCM_KDfm$};1T9h?EV2N+41K9-DCQ%-U)*K$gD)NT8d((%}3{vFXdk^d>1kQQ> z_dP*}P=v1?TiR%nDI-hF6ccQxHJ5kxb z6V*{19shH=wqAhBHAU)DY5pyGt@_6}pbypmp34uj!{DO(dDc%tepEH!&`JP6ib5cf z^=(1CZzd@`k0dn1T%L7)`IYAKVX}P6BVv*$Ewx;h{2gjw47>_A)WT};#l3#Y8U`o~ zcQN1vKa`eJTdt(;#Kx;!8NAEAw*zJq;|~59U-~>AgRQdF_X(`zjjL#I5!8B?J@-Xm zC*l&kFA}Y3fMYb=U5mtO_?BIypLTJ%Vw(p;^f(%wFWOL}Tq)eEBqx_oQ)~-HpR&CJ9X-c8% z%}zB?#>Tg%0$34IYO6w+DxgvUFk&?A^5ESJj@z9m5917hMlBAi?<{m8{I z6D)6BVeq}$HSq)uKcZjshJGsy$Cw)!&8y{bJR4C1yDhfRiEM6g7Iy#D)?DT3t-1cg zp5XA;fW>}bwQ$MK(+5@SCRgAZ6`tC+DQX$Cy=^JPv(`jd2na|0H(Jc z*Yw(~ymJIE{5fqbCokx*Nl&D1Iub48SC@Zhp8stG=98Vu)7#yrKXChw$GbNjk9Jwx zc+UqH6Rqu75^!^g2F_QdZWy?BH=a>i1)kB`Y&>JMsd&a}utpfR4YLR`Y>rp0Cr&EK z(>ehohBDwA2;+`{0pCj4-VHA%oZ1a9C5)@R27Mjj%x?J3PBrVSw&J9Vty)i@AcuL; zI#L^@a6ybVVsY#upc{4)vg^?7J%mzq=+^y&(sgKYJE2TGl9z^bT%F({8g6)iUfbyl zM|rFtII}`Z%YPucOE%s_oLJ=T)sw@Pk~)1E%inm##0zQa<9CcmV__mG9IUW;ijTtHsaXKg$3M$2>mOR!B2V4 z;I$0>+l{alr?48{F+&b!^Dan`gWWtSb1~XVz_HpaJo{;O>}+&f;7R+*|KZAyoKs8( zkM)pI?t*>dfR9A4fyf1Sj$Mzqf8{gr1;Ci4=2^G)UnGs&;cBMGfCm;ddO} zW3Sn5CN75^CPXU{J~S^lw=Ldx1V)kz)9{_cTG?M@U?Maz-#J*we~3(scBk)Ltd{3H z2lMdolnai!Tl5|2 zuKA91N#Bv~$TJt{2X7qEJov>y95kmOeiR<%6|;Ffg_;H&dJMq%=HWM!tUQk-RB0|> zaDKVlTs~EnpKl)FuaArKd)={29f5(C8@mQ%IelvphQ+STppQ9)?2vnrMS78+sY^+n zl!J_lXbt(XF6I%csliHY{f;59+Gh2A44c|990hpMpfo=Wqe2c=#T5)Wm{qLI#VE~x zg@FMVtF6GZpN3yv!0{Mxj2F|L;@TPFn5!YcS4!F#2jZ~8Q+#}dy%2(^!jt97qR$b2 zWO#7eBP-%}bIPYHwlNb?>06`HIac}>6*}>E7L~*fZ@k;L9b1Qo^qM%?;+Aa8c=m0Z zsG6%3ZZF4U8&HJ|v;O&w3|FBorQQa0YsL>n(Uw{m8UWMMLc0xFwsVvL#}M1T{k3cA_slZCLmW%%wd*8?3$R* zEVt~QiN$!%ortaZXHC>x3%`=diwm_L{}-z76>ONWH(%1j7O|^~y&Xq_NH3}vX`$<2 zrr?O}ZV{+I2PRzd)F@IzKfFnQ7<4rsT}A}E9A>Y+|Bc0!aPD(|$N;yI zwp{Rn4MZ3l+aR=gR7o4`z=q=}^o(8JqL7k2P8>flb}7L8o;$(;cw>4CrV5T`JORA2A=|;jSV1yIg`=!Mm$WF9i?g2LvI5SFsA5^+5>_~Av~ZFY zxD#4*0u?4+#tPzqiAO^eX|SL_YtReRI79kQ&`-tQkMuZ2;=C91Dd^}yy`wa$1L){} z48m|-dP6fp`b$A9d&|zUugW6qwH#88tXGugcHtFPLY;p2I@`pNXxru*X=5^XBn;11 zH8LGKJw-&-$Q&4c0nOXCa%4U=IaoWh=rw}Jaa~%c7{*jx{ znC;kowjo!z zl{on{Vr$j+@wq(Q0@{0=^O7&jHlX4SLC-m!$j96ibe!?vP0e~B8T}R;hY($_Z}gu) z^7wx%ep|$N55f12<;wA07>?s@GP3_dxoWke35>pQDYxSF@R!kD%kh_krDt7-Qq)M@ ziEo4C^3)?(hspXGChKxWP z=Uj`8K$*qPM6;wbS!odhx-9vCFwt`{-z=POwgnckj_oD>5FelOafS~b8x4;W%0+H& zoQ>H7$d<*~@zmnd@mv{~gQqJlADx&RSB&R^ILw(4=8P_1OR+f9#cga4-u<;fSQgPj zwG@sOIt;y>oQX5uj?R-<>|LLAdSL9d1G$64#nnuXM?Tk=#8hks#VaSwAlC<-<;win zr$^&m+f`3;eX7Et9ehgc0FWWGpbZcF+F$EQ^fiw@`|69%fLgi#6-CBuIiA3fXrM==IFuz13WEZ9p3`*45@Ah}X7BALBWQrmGteWL{V-C@-#w)I=AZtG`R+*bzq zEnC&6dnm?(O&BTFhgY)kxj4fQ?!vo%=`F;}AjNu6C~G?K&J+XWaf*|*mScEBiBo*W z+-q*Y>g(~p1+g!Be3TGB_IafER;;@BGhm0jE3qR!LWQm=7*O9N&RBehWM@ zoXge86ov<>KZkQc4$fts%)z;f^nRJ zGRTD9x|aIF4}lkv=Aw@<^rPvHWo;v%&tk=6B02?S*OFh@!HOX~7JUkPA2S)6hf&Ge z!Z<{1D{9M41jxJA|H3a=n@iuKFA<_m%#^i_pnicKSZ9Jj-%WtLD;g;Lnzb2QF8T(w zr%sWzpVBuJWwLfvHZ4fDEh9~=!f04Tri;FWxlF|C0tzkTc?K;qo}Yqxat|YREn;>4 z8uei4i@u?mT_@}H4&<+=xN;W(`NVoJ-Z1^0;_jiiZ$R9^S*-2JI;S){Ig*CX{JZ&r zYIqi(t}O97%abKvXJyIPSy}RRR#raw9Tcy#vc&5wEvuHO?jTx>uNW(#a)#U@bAV(b z2H}~t`K=d0Mj?#O3g6*l3m>oWA#6m9w-`36LS)4LhT)IgWwkR$ix2}V_IzT5-vw&X zRv5|f$;`b<_c+_^CYCW}~xMpQOAo!Bptt(u&}>^I12lNrqrxpHzb-kfQZ5zilQ zq5@lXV;b|-k?)gp&QqJM+ATbTq5Z%%e^tCa!nr;QcCxQMM~+>T#&rNxGnv>3+iA*lIN^t=OW(-_?Q zVm!tL9e&yta~ZUgx<^nV5Z?o+@C_>L@0i4cyCZk87>f$SzN{rzCFQDGYUa2Wra4Q zg0P;glza;+xJJO8ann&|+C#()XALPk`YJY(ud>D~@bd%o*d4zQ_o43e8uR=#Vw*z* z?;3)4hUa!X8M|Yt_y}2#jNL^Xzd*$9F2wFi0fKcz?FwG$fKW^WP>T@1@Jp!T8#yM> z9@-bv;$2{b{9iyC$1pZrhR|I!gF!*EZkPO3NtmItV|d!kz13t9Gq0?;&<+-b@*!A#Cr!3tog_ z4A+Mr#ESV2Ec-n`iwVX zY=dL)EPNZIJhz*2fS`OGl%8%RD8ch>APq`XA1{?=YXv$Mg-FfV)6kM?jT)ROfi#{F(R1WLHz4{e8R_ZHqVw^vFu~vCy>My zYhyM7tS8ovXIX4Io>j4orWeHK<5?D4jOWT&J({L;EsI4cE%$fa7`8!L6+doKt0ggj z*1qXPlB|8(DSx?{8#?Y0cGlol!=*IBHw1YIGHhF{=#0-Rdu4N}L(l zzu|c(9A`d4a+`Lf6Fs^5+#P$c7R2sH5huiU2CowUg#P%b2wo>W41hBthp|vAT10?) zA}^?g<1u$8Iyk3rGJ5scJ3y!0&pTQ8y@4MAfZN;#5?sAyh&%V=POS6s*fGX4YJMFh zxH%nq;@@Qm?!xuJz>sOEh60A*jMJgcR1xeW)DGPZN<`_S4H8obzB^PR3UOL1?v)%8 zA^5UO(TmWpCI2! zdc6<=>IK!EcrN;s;USwa5r357;LdI0Gk>%oqUU6CSGdy8t)+guLbV&c^XYq zVYL1PQiSuFcqb<9h1bY3Jyz_iyRL?{ynrYl0mB=hBxar!N%{|%S&^jS4H^)xJ&tntklR{%dzuU{7B zRX^)Tu3%ndR&cO=xQ=SnY({;Efr4`OKB|vC{H8m=RCsH$qFH^}mt;9YE-3I z{Q|&FKD1ItGvEx>=;+3f7dd|MVWEyG2+h%R>A29%8_L~3ofXbRk@5W+OxR;^9R*{= z?%2VJS@wOvkJMjY=*5#|CtvoJTWUcRZ;z&JtN!Sp<`I=U^zaSi_(??j@E9*Ge*O{ z3(MgsJo{-1f~wJKa3;c>g@>?_1gKxdS=j3;&ca?-aTcC;6=$Kmio;k6<{)n8EZl|g zP(4AE%|Pu1D*uEB|4qg{#4{4L6{A#M)~Q%exOM}djcpJoXAiOqxdU2=gI`-gJ08X4 zxR6KK3mG#m#13fTCj1>>FTlQl7j=qT@u=WMo!Sj}G~$dlXAjD7bX?5l8}7~Xe9z0idw;noWn7qUyyOZG!w+ClHI3o;w}i`Pgb0_tc6Au^GsSmfaA0BVrNe*5dtq^| z$wnH($G%{5{Bd{zUJ;5!q(Y*OKn>y~Cwv@W|XIaf+OI=w_z1LD%T~w{{SzoziSqU>*orV3i zu!|P<%AzwC98=TmF+PmU*l3BS?a6n!U87dbDO=?6sHHR6{b&TV~g4>=2xW zCIvI8tgxBx5`_cDl8`Lx@=j))To)CwEqj*%eCfVqWy^( z^qp+xg8VXj^V90S6Empfg8V8f%gVgf_Tu`Q2JJgC>UK_cI3GHt{1wwnYU>-Sy!M*K zOTDFHHd`#qYRZTztyxwpCT7W!lFDjWopYMouDd0BdgG`@@#AP(1$Y@)%unGS$)6N* zJp1IA|G(om!#UT9*Hq`Rt+zK+-(Fp_yxQ)qE~_l5maSVXebZM}Y8rYf$;XKPlzBBM z0`91+vb@||M<*zYtG)I0_7crr*HEohF5|p5tpwc*fn6Uhy2oX;@J;ZK!g*F!S7NQG zs=U+NB{^3kdus0rQiW+2%Ur5f@8xLW1V&S_B@J55*d^X-Z(RxHTwV#wDj#3F!k(%R z!{qU4;}T{xRF`U4KURXi(b>rv1nU$N8DjSOtSyJsSv(!L&W0%)qjKIl|w+?!%toCvVt}NBi zlTr2dv0!P(ij0A{0}EFPef;QArK87UQ8w0cy}oXMXaz%ru6V1tq}!J@U@~DXEw5~p z>nKFle`ru+?-Tw>Ju`W_J(WEy^Oi%-GK@RwHdK2XYo!qj-P-G6bd&AX-sKqAJH6S| zkbMbi$x>lJ$aWRlQLI>XZw1od_{zm`0_?I+#5sZz( zdgd)J$69_nqOr6w_O4#&D5KuLs!w|=BSCh++epp^pFZ@|ts}Ei#@KZ!AXk@=(nzbz zz;z4LNSwEZ2}vtA94@U^SPX}lM%vX!c$O+}2@JzqB?ahV5+v_syG8>h;}%rC z`1Z}t#E=wOYe6iz%`aQ?06`)Vs2@q_o2Lk-{UJNbth}OOXfBkp)^zK>8yj5`0khglQx3RLm$BZq}w7N?CXea%%t|8g> zxKdnfkZy?a^kiteI<+<}d(@p}*WoW)&JmhqRSi4DHkNwf*>w7<%4L;$WC8l6 z@lH`orcHn8dIATV+0WT;g;zF?fao~~G zBCSHY2kAP(zl}urgMK+rMdd*9;6$P z@-tW_7VDj}E!IYx_0j=x@%(Kd2k>}nYH4jk-_V97$u=V?jDvmmokYslzrJ!V5 zQoJ)!(DPl<80fKHud{}Ag3;5G?5j~H_5RqIN$FZbQmQM-jsl}<6)-cC?70TUl^Esj zMU`(GJSC~lb(o;I-9g1)}6Ewe{J~NiN8Jg+mF9?{Dts$BKEeV z^|4X6CM0E|t}`hW{p@OVW@7YR{lLcsHaCFH46t#5jSFmUL^Vr3#At&|PdylkJPv!I zOu?vGT{;FoAE?u#K9joW(lt15Vi%#rF5HYnFn~?sZ!l~!{^3Z(P6R%*1O5p6VBpe; z$W5}{A9YJYQhaXWjY;vAsX(bHccAK6J4#^h4B=*Rv2oYbu=DJKdhkg1-hu^EXAfCuGy znzV3R^C{X$$19e<()L9g(6!!%7(da*bhdFrQfm}mF<)?8)Wqn+)}(b%^m_a~5tWy; zA<9kq*NM#o_9kF&(6MNW`r~gKX}DLg6nP8!T>|aROk9NLv_#G!{<6|mlygiivy*Ih zL9eOEt_S`b;1?1v^okMlMZ?$|x^y`cLpK-2uYxxH(MaSG+P1I-^sj5a>9+84Qs%Uz zoZKXJT2g)(cCuQa)<=l{@I+OA(d@sxYxx4YPNaVFHyYJRp_t*%%xzX$B z8P=qYQ45mVqMS)PqjHn>2n|Kex!};a5|>_pIQr9QV2gUO@IaOgkmW^Ok$x6^Wgpj~ zfgWQh=Af{XnMrNY(SxHd*etw_v~>&oKAKOyDLGp(fcOIV^n+Mg(Js zzlkU>KzS7IeMuR*_0jDIT+$D;#!$rt4B$VPdYD?(1n^%UAY0iSNjl@Ga8U9Q0pg}&d0?@!{DX4i*0`v~|H;BV*T?Y8^e zF2B`1w`L}__ltgf%mwW}PkM+h*57Bo*TDB0_+A6wYv6kge6NB3$24%lAv?4|PZ?73 zgKdZS81SEZ!7u3W07-_;sLbH|9pdvYe-{cLd{0|^R{d3`xY8;<#vbw#9d6aj8JF>6 zlz(+Dg5Pz=9v3k^KYFv46g^1Mx3`uyy_}&dKk<5j5zBBN&kw^%@oAHZUQPbKCs2&9 z_+iM$5AFquPpuwo8Tg8U5^u;EkJybL+@BX8qdi<&6Y}rJ*VOpIg>C^Ga^UinfbDwu z867tCCTsn__gtrsckiBEW0#m2dU}hVmh0&qdV0T}KCGv|*VAY9bi1CurKd;q^pu|V zyWAo^L-q7ZJ-tRxXXxoIdRnfhcj)Q;dit=Q{$5X?)zj^I`j(y^(bH3U+V2XzeLcNW zPp{F_8G3q)o|fzB9eR4do<6Lnzt_`e^>n+QzNM!}^z@XT_WOa}zMfvGr`PD|3_ZO? zPs{c64n4hJPaoFP-|OkKdb(Xt-_p|~dU{Gv`|18>sGeS_r&21olg&o%!s-9jTeI8v z+DyDC6R*Y=rX?iIuPdpo#d#}^q3y-R;xx9ncw9n4en}nPli?0XeZttTPXb@p+b8RX z=zRAucDy_^P90q~I!(UzTg*!(_3|2kXe%v2yx8lihtuH%@sh6x1~2@&U>y9GXbIx= zUoV_^8Q6sr5@hr#fq2cHV7xi}muqQt|5}xVn{YH;XTPB4qzV(L|1PG`!x+19_Kp{# zcDu`4UV_^@lkGj;Y$ou{=D%1gBQ1fw|1Pz<-;X9F%=T&xb=6%%o*=AkvUtn%okkk> zVq2x%9@En=^z@9LeygX^Kb3U-^>m<~rs(MiJ-tFtjoDx|GXEq^(c3Y|u>Oco@ooe2 zze^3iWJV5>tIYrJIDTKttbr!nG2kcXpZGyZ_5JhzYYp@@zwTToTT1QK;D&2^A!bXs zJ+CLey*FLY;w~sZrz`t?1{#<-efng3>b%8x-PvHz8aH8F`q+&01_6#wlL*Tg&_xMt z=~4M8sk;00SY1NhPf7omS;lUoRUaE8X6vSuIZ5yNgF#9~WrfM8KiK+4#?7iXb3IzH}7#7WUHaX&;7lLJ(2e6%$_8M~PnFttQS z#VOd3L|gj}0xCKx_P|xx!NkO3DYe9KKM}`A)EGOkR}IZ!{*7eh#|)$SM#sl)z7nYS zi5hz;Ta0=m8u@jiI4TNa_WQ-9B#rtVr0Tax@88=w~sfl-DM;A9m0O^U(W1ko|RREcZd&wYM06B?#vlW*k05$PPY}6@$ z{KOIXmQUO?0Td)gj|AWv`XJ;iPF#;3#LXDI4nRfXJ?K-MDx|JW?1y2Ca|=LA{1U?! zcSGWTf}k;R4n`&}Z{V!}ni5Y#{c*FD5&-ul=73GyP4SN+@g<&N7j9Pm2w+uWCm9r8 z^gkeLP27&HZ`^GcKZlZai3_NZ1;e%iSfBVVrCun+c_Q)dD*!C&??IgniT`~WfFl0i z2$qeBYX$%)7P7S^-T_qH;`rTQu+WRi5FgKi zBn}?sQfL6gwg9+j3&e_#e}>sYa*2N#SwVZypdAG4A=HQ=ravDxn%fyOWvL z{qqKGL4M#*F;xBiNy#v(W${V!AdSlv<^OkIzy?Ii$+E%ArQsK zv&o^Gh`L;&2KL86K$1hs@_RIxG+xSk9qc>lTA6G*-H-S-9J7iNX z9sC&cuVXlDdBZ4B)T`*XZSFAYIchg(Yzqh91pg8p6O#a{==hinoUROg5+%v8(SogL z|3T1*F}7L;y5gXl$CB;?YG4_f9JpSJayzE#z<*EXlpi>QG{2WL<)rzeq*+Fqrv=T> z@e1+-t)d{|;13|nprtk?7CQH0#Q%ZBYm5^uTq0pMD#gKo9jh)DSq zDjIZ~HFf~Kb;{#V#-Ih(WSUb-O8O50Ewlu1|v48%$ocfAT?zd%e>YhUqSZ#l-r=pK})Pj{QwoD z6hL!>ZnqBo8c=b{N0g&0<^YE$09q!{!gYtkT4Hl|$9KGa#0 zm!c0%DLz8=lIN_TB{i`jr{JP!LfLSrx?_6a^JryzyMTadln1SzQHP4_0>-bzSjV z!4uc(|NXwIp7gN#`}gNlo%gCgej8Z_YP!uSR)0lb@r(<7>^l{;*|Nax?Q? zqS|av@^lP__~m9^E7JBRKVs=un6U-m_9d6W3FB9qMUzna{^SytaFtm!4cvj`7D{d~ ziyi`ZsAxbZa95ksgN9l31e@X-Gm=E{j#<>qGB%pA<|5!yUC2L1)DUBc4Fd* zU#t7jEV`I^uQS6}BelXTx)AGE{CYF;GT3Uf=uJ3Re6yK*6WAKF=udQTFf)WV2`ud-g`fPBV-C$?Dyt*turWy_k;TH!F6L zSu}g&Aptwz9&fiwj2$t1r^yi|zeLavTa|vk|QaF)PRKD5zqCI{k5vGP)5V zkAz_jL<_|4ENB7aILF{F0`xZ#&{8kZ^X@8GDpD(4DSAnploq`Vb4C2_$c-X;J4F|w zoQGXe!@3@9{GNiRM1cRhUaIhBn?MQrD1LAL2O{t>1!(F|u0WoQeX9qXa(kE)A=(Xh zDW?L2GKo^!q$}A{_lNt5=s;I=LRysSm1vN#y)E&FqX&>!GX0F%M*NYGOwT3wl+cLp zP_9{mhj}CZsA~IASGvm|g-M3?ag;nBV4YK;a@zPOVah`Huq&Pj?M6yP=yeYBKj*QS z>d@Ep^PR%fgm%zzpA@DpbZ;4$r^JG0RFieGwsIIeZPR?~k1XKXNEn0HaT2&oBlHBJ z8bK)9g5+tgq0t=8|CKqjBGeCCh4>GV&d^pJ+Q-59qcAn0L2TQf zgsBVlrHlM5^ImgkE6x5zQd*KeYBNmHJvn(iCoEHO(~?g^Yur-Y++-n(vK6-|c{{s1 zOL5DRODe(nOwqYI`2aoKZ%V(eO=h#WY?ZbyxtVDJm2XpW2rCv;+}7j|taC_l+maWs zFLM;PJ^3l;p`1->Pl<@n>HPzLrc8W44jJYNS3pNl$p!9!${g3WgS%}C;1S2rIQ)sv=L2KQh#T~ zC6fa%`^C#t>!y;#R)}{o^ErQ1BrnDwh<8S^TgT#21YhyF3Rc*#OCq<1!xEyS6(>@FN zprNlBI6w^@siB{0DkFIhx&FH0l4sDOBNPV>M1hG9Fzv^vAsVkW17(=KlaF!=A86te zCAQN(dgvfC*%zE+B(CGaH`ug)LY_ot_TVrxIutn^rxEvd+~ufUb>edNVVxO0K~kqP zmAf7_GbTQ#cQ=`lvn6#k?lLiOC!~fvci?$4*Cc|R-I~q(+eG$m%5vJ^PDRP?hNVX0 zN7iSQna{;1@e2%$k2WK3NuGVoLuK60wB^yZOrl?oF(aJO6PIHr5g%*jbB#-wEcr+? zKZQ}`I9+j%9uHyeV02y|d*vuIzg{GoDM8z~k5T2wYOqiY{1}DDkJhStRDx;I%qob- z$C>$D5fdkp8L!P5Pd}ZYnNoVqL^J;nkZ_!baF@ckDaqp|wXH-W5#lyul9~Uu$iC;w zev_7!bEXP4WNzCCXAVaUxaazk9PxOnDPu1HA*i*EmH+Q zMktw@Gs7q_&Fn#-J1&P`6j)~7byVRv)M`hwda${P5mJzC+KelBqzt!!8Gj6nd4U90L{B#RgEMAX%a0_BYYI11|eP^)FRB&?3k_zg z;aHnx$9_bU79QDw$+73r_sO7mWGsblOokM_5`Lb{QS{&74arjDDI)e-$b#+J%x6h z3t@l3Vl+U>9PR3@@ZplViV06by}lH6Ss&p~!Cx>>m&|iIGAX z?$F)-4WX@TsjX+MJL(fY6@qKs{E#bz?hZj!v2oo&$5L6;^_rh_Z_>rd(nw$r2(hs= z>Qm1!6VME$c{vN970)p9F8d=Fphr0N|z6H`m)G9|MfPtTpZD7qZ;XIXbe&p@A+=}safT$$>m*hX|u zSuZ8?1U$Y=A4T5@|LoFN(Wk*ry7W`@<8bOO{S{pUKkRaZqKna{T?Qz+7bep#HHt1l zXLgM!x`K36(NCb=yXGl+4|I0bbw3Ji(pA@eIohpU*LN;vx$=;bKMwV(7@_)-jaqS} zif@6<6-O!B52vg+TG2ORd?ms{Th~H95tF6a;-Zom){YB<1w2O>lyhw5~86RXzJE0%mpnOYK6t!s&eUZDWePjI1ck$ zRMxH9z7lkB63mHq8ytO5e!C5k$10oxTVRID>f#u|a%7*|ZFKY+k%M1$8?)tN1|7{ zjf?UbrzO-EQQgLe_yjyTG#Y;1Z9)zY6Q;rVPmwov5BjH4`&15$uRKw;@htd4Qo3CpS)>NSTa?+;dTI@xH3|fsSy{(1R$c zs)KIr4=~MDrG&`}^~3n6>L`p8sv*-!&X}U167+0UXTAPEg(_E-i5MPpGSALgdWD!SJhimCWl%vcUAR`u-4N;NlYA7{X}eT z=uNiX5hAuIbTrziYJi9>3(Z3xR@F+%>d=X3!>WOjvNqHVH>esS3f6@_W1gYHYzo~5 zx2md_JX=E-GEbxA*%o>_1!jbZZI?|!Rg*9~LbF)8k;3c@eSi+CY8GZ!=p8bngxM21 zpN5VV)qByMtfX}&rmLzW?Gs@_aZA;-z@O8-+A4yEs`zwuwxMj8Axu=+FjJVMvSF4m zDP_ZKVJegjbA+i@tuR-Z8r4|ygsBVN&WfKbOtWFF!r-Yo#qJApx=x+9*l>bXr$sM7 zJwqj|#o|2DM(7Q;Iz}b4@KB_ z>*M8Ug0R@tU2zXo zeUDkbmBV$joJQ?6%fDy7E#YNoynSZ*AuMiHTP5G#K>1|MWK}l`w=YnB7R$Ryxc!0h z&soB)IeZj65GemED{z~n9SW4M=P=n8mYrx2PWB>lcAdIpF%D&`UW>AyLf2FEo6={x zH}|Rz3@zob`g>6l<1QLHkCy)R#|8=E3r?QE}^e5 z30A!?ViloM%y3m73DYA~LT0}()uA^yfqW9%0BdSOOK`9HRG7NZB=+EEQkmvZUld*S zxiBrE2RXSN5N2}dFSPBTFw;U0vpK#LW^SkgTf?gF3UW||MWMSof%&1Z1DJK8CuzY? zBDN`XIyPffzlb?olOxHP>R5PN@{g>lr4Hn`CqJi8W|<`7iu$&M=D-sG)Vk*YeYd^ouwSEkbTC;PF4t}5+7GK-~`EACLy zY3%oIio?mx0Z!JHru433R&c!aR2+Vq>NuCe0y#Bbizb!*PG0V?0}bwWkV2plpXL= zS2EF19I{or+c66tSgG7v$r1aCP1#uj& zN5RnkdY4^}VShw{yjG0mqsjyHPWB0mvYJoSF6bfTt=*`0waw^`+D(ccfO2cEQ}hw& z_1evfei=5@Zc+3b@V43;6n!}+%G%#6`Xv8=7{aypDEemB>t02#K|9p` zLD2>#yxQ%GzMl5qr|1?qdF=y=PN9!#A5!#iv~%slioP1ITl+NhL0(_m~Ha7qPMXP|D@=Htm6}kJ_fE>`)5VJNIQ2bI>GjTQqgtP|CFL1 zqis(s`dy6W+UFE~1KaR7yHvC)BQ!yxOKT>pzeZ61N zUttK>eyr#Ym@aBRQM3>B9jK?EN=#n^bJe&@FkU}RjzeDzdRL93Kf|{NPZyak-2KPS zM}>xLi60N2bez$+M|UIoY!G>JwktO|OpF~*(HrtF5YblLV-wJ`L$LyyA7VQ1&@iO?}(vmiHYMd@DAcndWSMH$0Zi+#Z= zq$Y>0bxOOqS}xLB5*R7NE-vPK3nz3l*56^5$U+)5viRuaIFnelWoV~i>&uRylqiW6 zAzxj#YN5}tHq_}!eGnGTIyI?>M7g`0Q2JT z;*N}u{SN&(yhP}3*;#eaSO2DeH&QBpLhl-tbK#d}WeT&HWmwmulk4BhZ^**3RfXjG ziDuzZkV=ezt@TSxIhX7HAnK@8H4OJZf-zUwkfN&Ph&L<$iAmF{JOV20%A*mJRe2jK z=c~LD@&3xY;da@TCMFuE@-DP{pz<{s8>|dKCRF)PR6VEiAYyVW&p_vdEAL0ak;;!M z(1n%1$33s|&q$3`ZiD7{mb^@VWpY>AmU`H-UULIUj5?bVazrStIY806j+Gd|Dgc)I$o& zM&eHJ4VRkXhcGG=Jmzh<%nV;ZX==G8EiL7zSu_bF5}&}e8?G=Tk3g>7zD(g?s|DkX z#BdC?hAYj;=ggIZq0-hIo@y)E>*3%H*P3Cj24d0x%FC3c3Sg5k4kiu3pPqx^2-6yl zwxX4ATKQP0p~VWwVO8?|&QNx&RoI+@vLv9zjD{(e9P1{No3gn ze1-lqU2!GJF6^+GRxTT;U9vO)Znol5No=N#hPjF>OTNew7Fg~0uSqMCml~2cPNxnlJ7h4G)6HPV}e?UbV zuE#zeb(Pkc1R`%Y3{y?Y&&*WoBsQ|V8_e)@SCsEJJPxLs`#DN&RZ@vTm<}3l#HTlI zmIu;V#1qmkY9!WS)@iuI4DWPB-${$6rL^a+=kUJE41a}8a4;Jl zGXrn;fCnvQBRpkxB4Z>MvVUJNI~)YJE!l_Mi)M%Kz->=n&3WV%GxZa=9m)T4XuN8c z+UV1r$*<`%d(933aJ!NZah$zl7DvGCNe+#G`D&WfA@7N1SM#&X(Q;nTq4v#AH6zoFDB zJrgWGn<`?>QdXyxV5gZyAvkwKN2~Nau=s3>hZhaymeh2SX@oyT+c3x+n!uRlq~SQ6 zR`Kpr?wlm?L?`i_t?>1y+&NR>;SUbuI2_xK!)Xs20io%d;ZZ1*L9|;)qmPHDB8DLy zyH;}0Lmh{e!u*ap;ec0S=!K3$|4JmVur+kEY&uWR@nE72mswGc=HwUbip#C!TVRYN zKl^F8Lba!Z+}DWKi*Qd2;lgx@Wpi?JoR<*Qb2y}18n#%`Q+pvVU+y&AV5v7J$?4Rz z)soMNqP-T(G#YNQWaE=eK7_mtw^$MSZYs%-iyH1wT!k{{aZ4VttCPpl?kB7SjjK_! z*G{FSF1aj-w5OCLzJI{~12Y<)w(Nbh^$AYQyR8ni3(byu^q~! zQn}H7kvU>O;9*3_CUu1RUfc+MS&f2f!k~V&r~$tJ?(-V@$a**T08|BR_oqBz)}kC@QZ>`)-;XN(ZWb0I zE@1C`mi0#q@I}s1t{5J{$HBj>eP&{)h`B%D>i=9WqCYfC_~r$L=-fwCV*0TTnzEnS z*H@_&@F^{%1zBHwQP-D3U%r~sBOnKGQgowci171`0dWXF-IUHu0iG`YX$z+ z5cB7xw76x7_%{$eNby03i|>Q@%CvYuiC3X#yCWEbzd#jvVJOJ8BQ2V1`Dn;Ih|NM6 z=p3eb$bV7!l71?iX>7;ZYkh0luc8%)k{OmW(lBmC&fg;pOM?MMEm z(YTb^MkC>NWVw~uHhSvBZ1pK!pQWZYjpA;bDS>+?rj?N(E%z4 zOf)=Fd> zrsLNm{&*E1u_M_cMZFopCY+Gs9X>PTQ5qmlJ9+ZjM{W0ZaMDa2=hZ^zok`FN8tb;YAU&ff> z8Bx>bu88|m&arc`hGio(O~Ej;zLL19;HO9&rWNb!&Qp+gH~6~{`g|Nm+&6_CFt^z2 zcP{U zk2NwR(`M`fEK}n#ItC+*T#YS^^^?rnBT=0J2z^#&BkpIJw(a%1miLLV>c5DLz5edy z{lii4hML#y^?R20UrI~yebhoRZTs^6T_|C>5_^}|?!tD#vQ06TU*vrUmHn^8CeX?< zwY6JUjvB!TpQ+5PJ&(5gO|f?e@@z$@-H2LR*{Y~#atz~sg#Oj6wd0om;PU?4!iWgC z~TL2ewL9saxFIm7~^FAR^@!_dZOrI;!HnMV@^KwaGF>c2dQC z1?Tzzp+5k>4Xd+T+_n|{<8+WRGkOl%Enx3^2HuCOW*Sz`l0k+s8rZb>!Gn6$Wv}19 zV)Rn{lMqDYbGf$H?^rQ<3Hp4XS)%xzD~3EW0>c8sLtX2j$Qok$_6{_RG4CRYzb?BO zVa%&wUI4L+%(Gw)g7^Yq_@`hdXbsP6J%2*}v7aHqUcYa}*zbkdzhbPvNjz=E@HmL= zIuG1Zu3u`g1SgSDfS3ehhj#_{>|tVEp?X+%Bn*N`Eye1&J?Hf{Cb7{-cIUf^vH*{h z)!-T}^ATiDQ!*IoE4bpU--AEn?DczB7>%w`UqP&XzbDU4zpl6OCoS^}GBg%fDMLa> z;cw$;oy0|~@oR5V{pUTEAT9pIwPw4rW{0w7=L$TgY7ObxdE0uG4}FgL$cPMa`y8Jw zt1fl>yy>t$$AMr*pMTcF)l|(sA7%RfI#~DlG&Jf-2-4?kK%7U0eSS9x{^m~l+}3q) z`}{uS|Nr&*G@S=J`utmnd`+?XZd!ybI26gh*5^%H zhJ8Lu$^2TMyGBW$Z}Q~1=GXN$-lJut&tK4t>hu5VW|clKs8+REPgQbY#N(^g{+mh127LQXiW5LePNT*}R3K~xI406Nci3wapC{ZdHHPB`63 zLtX1z+Y}F>^>1nuEaL#36Un0>D+&)H{}-;pj)i#oMQC_hHw@nmx&0!tHo*2hZ zT0pld_ELPh!s78c6su`-jyr_*>1lJ0JB0SDX>*P{gbu8zU(r`J4m)!vRG?5!buyjo zR|ELK3ZwpNEyiNs6)`*xRBTXrjmGRfZqIozCc4m0N*k2%luX=|N#e%qY)v>03GC)b=^ zX>)$o$1)Cz!S7SG*#C6 zwafibTC)eP@_btFO-k<@kbaeV7wQ}-i1Jc;wNwlnxiG@Oi@kbRi{8N_^q9uJLauJZ zUE3c}WsF76(FjK!E~(1UQl~*;Amy3*HIUsvtuwSd_9b#D zty=0aNIXidXL_`rL%I3@w#vLZVOTv6?R2ZJ%!%~!ugq~6T>;y-PKgXM$G2@r2APw& zjUHr9!Jt@f)c4hTI>XODQ+m|WjKSc}ZuJ{HLV5LS9Ir%?C}eJ0=ou~43l`NXA#<>d zxE^GaPv;9(R^OdS@Mt!56J}CAF zSL~1$TbmYJti@Q**OeF_A4J)%wA4sFyHV-~S8BVGs=G=T*| z_Z4IMxkY}%Z?ZSXEd|?^<&5KxX{}rOaL+YaYW3J1vX^Xb$nESJEMDU1d+OJ@r zek>nKz*REyv3wu_Q!5M}MnE@{o-}zjhOGH#vyj~64W+_#ATwpj^gc|HFXt!nnP4&- z&3wjGU)W8oO-DVao|TOH6S_zx0&`9P!!h_=87+ zZRZ$`=W8+99zNj7^U$yBZG1}0$oB9J&Bz|mX!!)?nH>uk;*ZTk(s2tHftPme`&|Xn zI>{>z2Ni#+ncV6Cr{XGCj# zvpgbN>s#vhgvd!RA42kkFb-LdL@-XG2VA8sh*1$Pc{;cV$rn<@XykV=yksAq)m1U< zgT{`U;k;^`$kAM_W8^<+Aky4?>1f!z9Z8Qv+uaCb{s`tgbjf^#G0%~~R(CPNuvfth zZHFUSgyHXixn8S77s>S|Yw!UQ9)QFj5R9oTb*C1?3lv0Q7CD)PQuXJM`4~Y8t-_kk zZ`s70CqVoWVJNdm$v=Yo8eur+iBGgjcNc#8C`jca;e-zG0EEUbw1mvLzH(^6ryyhaq(P^zl z!`V9i48*5P;`=6}af-*PhP9eGH!X)=;sn24D|jB;Enenkz6}`D4@v( z%pxYf1MUrkI<5_Mh`j?=4Z8@;;Lhk!27cAW%k9+RTqGvy(s3vx*FI*u9to|;LRf}@ zbG1Y|8&?uH()HR3*gWhGB&uln+=V`|E+Epm4u|P+PPxW+5LDw7yW$B*w z`qV%zBtF%w8MfgiI)~S%P)2=wU1j>z&1tPhLzRyIU!SU*4t03dZ~UD#ngix3)aD5U zqy8J+^VdV$!8UF6o3tg{5Fdd3v>oHJ{-7tmqmIWjY~z`_beYXsb8URthA?b!a{7OQ zc%z08Pgu!Ty9^UCLeGwg)>n~*p>{%SI)MimYE3iQ+9eA=)9C$*P`A9+O4N{H#OXydpUuY6Awugjs4Byt-pT1Vp$vxjhk*5I!ZRI1?c~_> zF|d%Ksmacp?!>V{L};37C#O%auxUeR`T)&13zcGMpNvgMmE>yrCla3Nj6x9F10mz8 zX6=+?%I;fxQ^oMg8r3$&O-2~DK zxvo?p*Oe;dx+w~|uH6y{1bd|TC1gPz>DN$(2CXYqpmjkHXkE|)S{L+y)&)JFb$$V@ z>(8w)$|PuAySJ$MNcfgtf!1~Lg4Wp@w2r12_V3UgE@++Y1+BBapmnwvw9eiGKXO6q zY%ge??FFr~y`Xir5k(#iT4$feLWc)va*OQ+t+TzLb+#9@&gKIzKQ@G=*)&h~=V*&4Ktw(YcejFkqh3wl87j?^9yL5$nuFnWaEf^51HFBrax~X8bL6%EIO$X^nlh`9?&|!fY$Zr zmx`7Lxz6$+*I635jtcYkLE{(*4>H=-G0(}=T~f>_OC#4&&YH*gQWft(uCqMIbpaQ- zju|ijh+G%+AlG5Yb?nUQJ^|(ZAHeN+snlLjS!C5ssu%FW*Tw$~BMD#kC4~GAT`lgy z*D=cSz}H!~p;W-viP0LqPG}yb1HO)QuvZF?l?uKt=z*^bYWO-D6!gH?1vPx#lq}Rs z!Pk{4_`0|YUq`j_MbT!+NDt!E91UN0DWa^IC=&2>Vu}a8&eHI8A~TyZ_bM3=d|kXx z1o42cW9BYzb;f5JfUn~RaP}-Lcz~~?VTOG*W?;bAy^TMPaY7q>9V2}F+>7vad6>Qp zUj}@g&xNm}nv~CluOnCCn~r-LzRs5cU+43&bQiwP_aN6l7rxH-7pA%Jb-oPvI$s8S zoi78v&X)mS=gWYv^9^GiT=+U)27H|_1HR4|LQAIM>wFpTb-oPvI$s8Soi78v&X)mS z=gWYv^SSVKY^6QE4EQ?VM=afiuk&TV*ZDHw>wH@%>B85AUHCe7m|=!p_`3G!GRF)z zcZ6&jzAl^zUl(@a>!c6Oa3*|R_(D7~w87VfGvVvPnecVtO!&I+ix>@rucH|)X4r+V zBRkm)yYO{nr# zH=h=Mj}2vO52_xtMt@8_Lod^)LP6V`+ z2ei)b5VTIDuFjCsq8`vXzeCVEndi9o(*oC{SPfd|cL-V+qV;dK33x#3{0>3uq_Ce{ zfh>w+^TF+v0YEZ}ODNGUUeLNu(>HE11~GTRGUXL~{GY%ge??FFr~?=3?mUC=te!yw+H8I=_I{NzHmQfi&{fY$jPg4T&HVv{LdqE$reQ!Z$o?FFr~y`XjWfE0|^ zpmnwvw9fW|*4d-6V!EJpwimR{_JY>gUeG$*3tDG;LF;@zYBLlN*<|1Goxr)Eb-oPH zI$s88oi78l&X)mN=X(H)S{k&@mjPPm%K)wOWq{WCGC=Em8K8B(4A45?EAW&wXq_(u zw9c0STIb6Et@D*(3z-J3^W8)(E@+)^DVyH~t@CAo)`c@c>%y6!b>U3Vy6|D3bpbDE z-QYB6oi78l&X)mN=X;2~;)2%sGC=Em12FNWLF;@Opmn|s&^liRXq_(uw9c0aS{Lww z)(uXB*7-6(>wFoYb-ql{xw!y8nn)r30fEMg4P8(vj;V3onJufIuf)_?WzM_&^o_E(7KNEnJNoKzzbUEcUB`o z2J^M9L>9N*Su)oIyr6Y{hoE&bh3`zuavN&|yr6XfFKC_L+2`v2J|mB|#S2;&@PgI_ zOgvM#pmlx$tqaY96BD#f=kctPs| zUeLOL7ql+m1+DW7Xq^;B(7G({blOTZ0$$KMtlq9+1g%rDoc%G6AHX9Y7S0^rPZgS= zb$$V@>*58iv%R2owg#;uYKLQM&^p#KYG;7f`31D@2!hu61+=b<7qrgyg4T7?pmh&p zC3ZS#&^n$>Mmu>y>+B5BI=_I{1zgZNZgb*Z(7O0KZk{!0U3>$_j0UZXdqL~sUeLO@ z3tGo5Py9SQ1QE23Ode}U(7HiJ+zVRQ)dj7yljvd>w9ejymB|II^SPjPvd9}JdO_<> z@_^P&%>b?Q3us-b0<8;pLF?jP&^o_>)^&A3>ue2LM^`m$4O&OW0eF=Lt?Q&f>xNUL zlLD$6VI!lArvA?VodJdpFN(=$|q30JKhM4O%C(2CWlXgVqVHLF+*2SC!lpW zrXXlt+zVRQ#S2;|j|Kp(ljmIf8uVrww9a}tg+oIH-X?w0oX~yp3lQq@0zre;SsJvC zlc3cd9SP7n(!pz~t!J!1>XUaW@~(CBL#`0IHE5mX0j;w zXVsw~4MJymKybB#=+ zeKC9zm}_L3Z7=4Utufb_GTGLcYpnG&+l#qozllW-m}?YUWNXYdiY>D><{DF0+b7}< z%r&O0wY`{Ywik2F)|hL|v(>(kc^W0pHv8!m7>&6mYnqF>W_vN$Y%k`T?ZsTPHRc*s z??rbKb1kSb*V>_LyApG46%LwJueM5!3{~;za!BJS8)gU-RW{5NCaG+gB}_`$Fk6@k zWy2g{s#Pn@6{bct);wYAY>m0bVbW{_HRjrvXszZn=Gq9nM6xyJ8fnAUm}|YUF?BjA z%(bnU@1wTHTqBdTHRc-e6;n3fDg$$k3tufcg)YugXh^^GNUB)h6B}}ue zG1u6PEw&eP&Gurh*&1_=+UD9CbB)X*`$f$Bz+5A<%r3&l7np0*w%Q(yJ22PCoNsH) zwSUuLiZ$jMy9aQq8gq?uJIrE@xki0E&0>wYMsAl`tTERJ^|;3@-pb*+Sx$BLn#CG( zZ2%f?pINLi*O+f_pqM`q0_GaIeSu<)xkhe(pg03_t@y93z-=OVC{V01*JL9Vgp*wi zgPYTsYwRamW3G|by}36}I?&dbYi}YYYHQ3jPC!XpW3I8nDcg&=W_vN$Y>l}_u?kyb zu94|smteXB<{Fu5TVt+GKshzG##|#)XHP;6fw{(tHrpC=jZBNJG1tgUw*P`j5SVLZ zrr8>Ejm%uT0uL0xTze7P7TI^Pqkky;Czy5ileFL`$+OAUm}@j=tIx$;qlRt1KVn@> zW3KsJ%r#2x@VS_4l-%iifn~XvYrYK3HJ^*Q#(aByF6J8Z?en>qYfRhkb1~PLcEFd# z(t)`~?ojwNyiX$L8abRByO?XTH8xu{<{G)EiM}3#A(=;T(UGXIY)OAMf*Ny;eh_Sd z7GSPTMY7+Sg}XfDo(Dobs-+hj^)%VV#aw$961K)%6H{!BxkkpZHRc+bsI4*Am?eo) zs641K*GT&v8s~S|K>-(YjfVRjE?<@jzt@;+md0G;qmC6qwKV3M<-uIDE`ld$%r(n{ zxn_AV*DMd_n$;UkpfT4h59XTX!CbRyV1ve7vpkqWi8G1r0`bL}ZS zDB>{|cUj8$+^CvZ&I5xQb8Wv!{fAQYg>39p+n$-#xrJXa*Q_8GNsYN?c`(;359XTn zDdt*@xn`XV*VLG6mIrgq@?fr69?Uh%gSlpTFxM;(=9=ZfT(dlwYt|DOWg2tM(wJ*> z1xsVD39T{Lgw~jALTk)5q2Is}E-=@G)|hKTYs@vFHRhVoh3F<=t_iI%*M!!XYeH+x zHK8wooxofZn%@Hfb4}=j7-Ya)6Z%`m->qnkxhC-%b4_TCxhAy6ToYPjt_iI%*Mv^N zb%D7i^l&VGz+4krW3CCUG1r9djBxF4p zu1UPcToYPjt_iI%*MxqIwmq%nHRhVcYs@vFHRhVo8gotPUU;|!=9>UR5$0b4}tk=9`FcyHhCiDxm zZJ(kw=9Vum>tSRAK2A64N)Ip?oEv72%}LwvKd1TpiR zoroFb)I;V}XIwSD9CHX;a+*^IdYlskJLh0&avkGbiTjaGIqvhFJ-E+sUc>iui<}LRY;l6fHQlK} z{5+=+F=sfhAZE6+85(97qjk637Cw%Z62Le|0OK41jB^xVoGbQTcsa#*7;iWN80RR! zxS$4%qn3aR7`Fk;kThW2OW=GiU|cpPPQ&K{#^r)@d@f*I99+~0xPWnQAz#N2am(Tj zBj7^(3Ali9hrooGK#i^hi}E|4;x2eposlFyZyEs?Fs>SLvd?H_K5jAeOOJ=Kq!KWW zpmVatIGF;Rk-Sn5VuB=K+?h!1xHYYU<3NcCB{z;%x& zV5#uAfN^wyYM%=jN3Ld!0*q^bT%FGajAKf(&jpO5W48EQz_?4$`jd^oA5tg|fN>9? zuF^WMfXI?Ik=Ef?T&i^f8!^xb8264V`W;0x+uR7afN_)x49Z0o0LJBE`4{a~AXFCd zgmmW`0T(cCuq%38S~M-CJ=Y5u7np!@2pGqA*d6)l&0!WPR=I);7{`wkI{rB=n^}b{ z7H0%pz&Jjhi|IdS%D34s=C$28DH$^qVBE1i;4@3v2v3=v$QV8sFm67$Z9W$;ZZWv+ zJ{K_VEO0w~E@0d_;CA}Hrq2K{ZVk9yJ{K_V5^#HbE@0exaC?0&VBAJ<`+Qwt4gur% zyX*Zv7clN-a0h%YVB8(x4uvnLD*!O=58&{ydM8-`#ytcUA35Dl7JzXtf=!uW7cfqo z&kWBGA{Bsf?;*9$47-4FAAxN)!!BUl=V0-n(u2@Xz__o#;zK3AWot-ToxTS<%?!JM zale4Yhe|GB9BaDBH1g))FN4gX35?kjFlPM@r&YW(mOCd&zr%^p?{K#AJN(WZFI+{E z(}myR*v1i_#M9;d4qY?vS!iYu?G|F`<9USoV@StlK^D6oxwBG!hr<nnJ{K_V7%+y<1&m{RI>;SEtl#nB9&iEUI63*9QHUBc96Lb)jN1=R zO;G@hQ&Ut1VBDAm3NVi5C4CP;nt*Zi-IUJ-j3ZZ}%mH8=4XF0HfN?agM$KM3Ejj(E z^DPTP3jpIN*=z({z_=428gK#QXji*$a6{Y6{VWWs_+UIKH=cp=u>tTqV`0-w^a>dH z*mVd9Y2iA&%K;sKD}|5P0UXDK_}gRv97iTd;JBu$=v>f#X94aVSK+3nEmp?}vb&n9 zquhuD2_o0jJ9>>sZ>IFalxD|e$uK^_WsUkevuTk1SMZ%?8cl-|q+lLL_dh_2dF4j^ zBC}~gpb486*>yK*5ILJ5a!s}J!L(x&M6PL2Ig5%Gb8ToEEGaE!F}tYA1(7RW#L5hf zT@1l#<}ALPZc2m51qmY8)M&Htt`$v9fpsjDAK5jHw57l0Yp*8t$#&Ep4tH%D6{l2E zPRyD{$JtLQv=i+Oa`-llvB!h92ujzaKyMCAsugsf3>X(=HRZ?KlS}~{OAOSh1CVMAeU$0n+9tK`9H&ZbE4Ud|E*D$BwM%K+ z66jxq(Cr@9@msq)PjenX#61YgnnSh>6T1rlP7s;%s@B?o@&>XAJ=U1`sU?0^4iH@} zq>Kt+{FtBGJ~rT1osv?v;fGiELP>cmehLeb3Nm#lY9K=S!ZXkspW1`7VceC7xD;Wo zTPs!WM6?2moWwr2Aa>*>Y=9A}taY`jkUwGc@G>`_e1u!p2)i%KIsldLAatYSBVYY; z$UTDv=U#+v8~}(M&mr~%Cfa)uqT|@NEp~$Q0r7wqBIHL=1b_M*oerhuv388(?JT(R zJcMX_W|?fu{)oGS8ieFL1HY=5D1vvM&ZwD&d7R3+f{z>skt+s?>BiA$Zqzkk@7$y! zQ0O!in%mbc^n8^wiD3{#p#C*V|KGrJNud4q zH8PvK?A*!l`|LN6^g3i-LCAgq41cWN9wGY)Ff%|LkB}1`qH>>rRwg_koXc9t_68~g zoZ9Sdn&X9>9I#W@DOn>D9@dttEr+u!or9z&hiOg$q=B+`u`bax*3sVGcHWb&y-&iT zKhs3o`vnLB42r!)=CytfNNEpm)b^=@UQ8EsfCc@{&MigDO2dqVsu2iM z5YYn{lVQU=2!fa~UjAOoG=dE?MzmNR;sF2l&qH?XB5F5y_pw~hC4I%QV&YiBt z3+ZY^Uesx)ixCs8Gf|_Q5uTBdg7eAH+j_08EZ`58LTf{v;?rYuZ(4vqUsXPXU;VzR z=b;lskwAPV+G*ceg;EXqqUCI)%If^QaWa4WW}az9IrBvuR4Fe7)nELoxejv^pTHo} zofB3An!-d-6V@`TJ14Bd8vG)0fIGFFr6hO5lv@$H?PV*Tts?J4WiLQbYtnM7J6De( z==m-PjlT;)a;+6ik3pHMFR~IeZVno62tt(GEfXl-+-{Y^z6e5eC?*~A5=;Ia(r!e& z$VfgcnwP4rSZFwU3L$?FBG+ibzS1);~7>l?^@3gTmg$hSJf ze)I~uoa26+#c?%Wuq%c=g(7~?GG>}eDBBG4S}S)s3wRe|?dtL4N`&mcff)^=86grG zrDVU70tjUwp7r%c70u$DU63o&a;{Ut-LS|+P&)KS|BgmB@3I1H>@%QtK0^x@v7%3l0<~n4)k;!6cOeJ@0 zgx?@kv>;WLs#BT}+lWxov&~G5E?fnd*5L_Mx0GqDrlUsf{OvF-`z|D%f?V?uvTp#h z4#edM6%@_uq*DwyrG0a|k31Y?c>s1Z_(_8)-ThotUI+7D(h zl4=l)_FscbC;iRi_WDPBe%x-6%l$!0Z|oob_GquWsF zwe1{a%3l<~^A{FRHG<3SB0AMNXe5$G_0%z<+CcZpwF%RNa=%JDmy*Q%O(5iNg`PD` zm0m?EJAFJ-j$&A;^+dHE)x%oqa!6c^P;!};!eXi&(I{E;KXIM+(~WT5jpEe0YjiGT z58?Wkjyne_0ANKk@HRQ`D|5V4SL~$9s=GPA6n9=9RIL)}q4Pb6g}H4F=dcuzRpZpL zXk`At)V#{d9gcQ7n)A)kC*fAX=-g$X{tDxtL&!Z3O#5ccy$JBn0?aMX>jH4fK`pmf zxm%zmdl-^Vh16Vx?7m>`0C78+axl9=yo3<>yUzWy%ol)_rCp1uo3rADs^jq-u@3%V zero0Zjk-B2evjN=Q5|Q+Iq3Qm+5Ivr%8LuyXY6CHgH~P*=6RVF--FP*2r?_?jYf?S zBArk*UjI8Q2JA!EsWh~)4|B(cEM3TYod;8I7=?Ui<=yNS(h8kZ5u}jyATDDeH~k-l zq^@@hnG#z6#mWt)Q&Z;Dbk#+LQB8GiWl{gNBEPsry$8+jx(?yW`YSEWb?AAW$2JzRkY}yDJuHN4Pv^0Q(Gfw`o+CkwK`>nyP)zp1S#lS5MLui&exd_E9i&AmdVa5^-S9H(7eg>_W*e@NzR(UP1p28r|}i_=Y89wX-)kIdBHkSRe;d2#!= zs!mD`*v;D2jl`dH8^{i^F0Tp#t(N>w*KEQxGvI~p5>w8lcffAN$fI)iA)L#mTO}0h zeq>KDGZd5h0L8>+80JjNx0^+$xNb3GmL*T;I8#F&M$EQ++(hF4$m@tXZUk2*O3YQ8 z0wcxsh!OKFA6EpU2bq(#LOhrAB(3f?nla3hLlpB06C8} z`vpQtJ$7BZ=z-j*89Co+^X9?_r$Hl9cuFCAz17-@jl?fnil-zw?X{9KkmXX9C179U z%I37{ePV9#IqcKY& zbdzpqGJEWXwr^V!S0f>iKN3#HD>^C~cwYIGyhDYyp+FdYr zvC2lt9cUb0GV?iURsSn#1JKP<~~nH;=@-q_dGKu zOhgME&e2+wjZ&&a19s0%x{VXp=w!7(?W%&VEIqRfY1T7K zmYM|y$mq{fqo1>hPYv-HhPF=)?HGn6@bi~Idv_V#_{YLzVvBjUK2*)$F*zU~s@yX5 z1Z;|-le0~ELy))?!;{wwXhI{kTc@@+OX$Q#su)Ja;Qu|8cx-VW(tTut!^s!u0i;tw z$aR-TakxLP!DD*Po^tIJnLk3l_sm&H-`b8ZKzj0L^X5(R^;J(y z-Zu$0NKaJkW;v{!6PzPnhv^l8bha zUQ*#_<LkE3R%{Px!wZ*GD3}* zzH9(ZpMDIMLxf70eYRBKI&haV20pP|7MQ-rqPhr`sK#>H?wknjScLq2KKxJ%PbXuS zV;VQFE;$Nj1ng;>m0gQDqnuu=7&A>pT&u4QEa5yJJ%bat|I16ZAwedUZP0xi0><5A zx~iYRgW5wohdMWl7$Uf14!(V(Ru?JKB~g@O96ef09?j*YgIZ^6t( z=Jo+fO|{l$ZvGUhHC&4q$+G!(*z+PneiU_n9BF;!vHCRGlB~dZT!K*1fQs=gh!`D^Fha%cur5T9w;WDg z#e_vVVY4aeFoFMNMw!sH3r+X|S-wH&(qxy6$m#^g>g`Dc(V`SC*0#ctN9Cf&$>TD&HI04fcLdkhr z8@+HTHRd01Fj~_(j~AyI0?`2o6--omRKlf*yZ{03tJdmv=S#et4K9P$;%54=p1f5j zvnM-`*Cq@RIh;8eIj-qk?zg(yE znZ`~enT3IJXwCjTQYueEyC7s=1!gjcV-O-=YWWBn0ApJYg9G;a8?_ef!uYP!81L$3 zO^<>~)JkvmDS&AMf5sV!@3cCuP6<=DUI}z3{F;%srQ<&7fmhVWNT1n!&hNbxY%kWP z_bIc^0zHHu+4ejI(UWD}>xqp{)@1qOS2<+XNqQQuIv*2^waR4k*gP=m5Ui4j*Ada- zKu@7Rgf^pUALe^&vXbPnm6Dt+z_ChlvZ*AiVV^ZfUTxd5XBM3*qC*}QE+o?3J4{o8 zCX)7j-t@@^yGuB1#G=DR8#a2h*w% z_!SHauepQ}vgz>b z%dS)U@Neb#KxgQUm4$r+FLN`$MaUk8q?}fKx-bpQ7%<;~`3NDGNX37cj(-M)kUIm+ zryxE;s9gZ2_AK5m;O#2h+Hb{ePaZ}tipjkdOqUs$QxH~h+%uM!nWoUwa$)0Fn7tk% zV#i_T&D`-~%n{2zQ$lxcx+!+6Y0nBotJKAno_aEW@}J zp@L%4ZtG^F;t0}iC(MD*A>^{%J_GSS!Z~a|d;Q}pa@mHhbFo$<g4}rM^u@@qg zZ1Jc+2gMX{uY5>HV%?0Rzf+@Kh5mR+4PJIw^Zw51PKDrqp z_Z~1`EI{WY9PHvbOpZIr~T{d-_mqYxi< zw7Gn(xc+pUTO+jp3=EMn>tJT?=U`q$>|YR!iJTpuMFw7`5l!I!UhcV&lc(GRkogaS zJmnTF#yWr?8`3%uLlKP5jXL+W$b>fctv|FJC+s<`I+}aWXH=4R{~54P-Xw*>e=kGF z@ZwX%zm;efwD_^0;lE|zoFOt!HjGLFWn`ur$FLID=w>j}R9I;>%!hIp!x*X19GEIg3_aL^A;bZ$VAf7^q+@ck!6B2jRjIEe{+j0z-2Dj0zG}Xl|?JM8=ERAdS$I$l? z3*ef~{Z&3f#L(5vT(gbMNOW4$FNM6L&7}P4ZSsj{b^Id4N3PW!^D9pn0egb( zVN@w={U%n%X#X8X8GqQ$2F(2t%rR(^7KD;ch~cH{XXNlig%_u_|0)9l_DdU8q>&TW z@+)9R5;ifPd&F(zwCGfBc#e=%_vjmK6p86NFmE~^=aor(0RNk=R3}~3#gNV|MZ!(6 zb1OpRV=ck2HN7#}lr{0lm66;8npKPh{Bg^|<8Q{DI5@<)d2 z_=}XS_L&9;hT28vjL^z?2-6;cm05*JlIJ@{!h$KhHIsBsK*QgPrBiR*{$9bmw z%u3B$uw>SPB^5JTXUv_oV(z?|v%0NVxM<0|g$r6wP2nuG^{k#fQ}fSQyd*WZb?K}W zp26oWK>nHY=FeKN7*dN<)6ZCvnzL{TP8|9jlfn{;09*L~v0D*9a-Y{#%o^DJhHh;J z%v&&T$-LH6=bfEtL^o9|V8w6fm_p(67A!&uV#0JvrWP)km0CP&4h&dglz9Q1%l;E= zL%1#@_%s6nsLK|jX&6ct+R1+0LY{;$(kQwGe;B&lmREFCZ*02}nlH*J@*r6k@&5`l zbQzH>@}OW3jNK6Jky?P7x1M_H!Wn4GnMPR=#41$8)eU+?HHPWXGV&SgAXu_nvp2$kG~8h zk6498H}!%?BaE6GE82@lhS~$kvI4|0lpLL1Sk@n&ZF#>F@`m*2EshuQaMGJd zBWy}@7vKz4WX{9BYB_?G_#TLN5pppk%|0I@LvS^E2O$^7i7EcLVkVeIgwSoQQm=H2 zq(*jCE%M#DIEg_B=CTv|^v^Sl)Opw|BS;x1gE-D*D$d6P7((vi1vIf4!jFNy9zleM zUx+Onf-teQXnlm7#jvi2Tk`6M4!t%sXYo>WK$RP}@7)z|55ZZX+0BiC)P`ZAGYi+DhSO*qk z+;Q=Cy;129+dtFscO!mYIzGZp;f}NX5xgAhXM}(B2wmzG!kMTR z$vR%y{t)!sk`^(-3v@i&>^T*mv&!hb%1B%Gx<}$2ofEDY{*NdATTlEAC#aGLCdJ>| zu=UQt9UBDLg6*#ne!?R%M2T=k&ye|-N2c{RWP&HQ6}9F!WU4(fcl?ITF&>$henV!3 zN9N#f$UNea31c$NsL(T>#NLwlKkf3CN93r(^MB+?Jnh%>|JNgO`QiDqPikwd`+hxt zu}9?P!}FJW5)b}*{)y965r1LVV?%_l&sx9jY<6tc`mOvc-)e>DdE|z>atG+nbn7;` zA7(0jbj}${?l9+^I;%}$xss4!v&<8Jl_$P*wvwlF?r=-qDCAUX2J<_1rJl!K{6H#smURA_s?%0CI2u^92DREGD)g5FBCxaR`geVggCN->tg8daqx1k3|mW z`=9?g8CzYq?z>fW@2y+6ZdJXd5F>h`8j)K~h?KIY68qs)+=srUfxpf#+f*Ta)F#6T4WfTz=^FktW||Ny<&&{ut4d)rgMAi2k`6(YIqn z8N|93J8t^kh^NKXh?d8QwpAm#F-Ek%8qqsqMDh}!l3D0Iv5OzEH6*>jM`9#jO_u+3 z?BdTWmwz@!G6$=llJ;MSUA)pblp}wP0%o8PZSqi%PxvBFPTHNfw)ZK7dtg34lO0mW>AvfxdSeuiq20*i!4sp@nPO3hH9WY5rY+R$s}CzR5p6`7Vj z@633+c>aEVNvmhaTg9_HO00c#?p#mQge_Nymx(iRew=Uxq`5#Vvho6PVNL3qI_bWM z^NTKkju%0+i)+Ah^6G2NRg_%px>-eBQc^d{FIA1`^<|~~f$d1|5-nl`5&o9P`&TF~ zjU(`)LSq^rygXi+5MHq)b?ri9!Dvp@A%?wb!8_NO&bbog(rrfW^!$&kfyJ+=OLfeb zu6kWbUH0NtZ#kU8D8XI&Z#|4pW-YjH4ccg~1F8YH4B`&n(^Ho;ZcBZ1P0%sFtFAlP zZaV!MsS?NZmwA^oYAdViKxo@pEg&mcV;i`{So~UMu+sw2n+-zTnXm-LhZYD-*LL9_x9sRmNwt%HvHO-2$RZ*cO809Il+6RQwBhhPN|&16ft zZZeA53U=MF!DeKfd)&aIET}!V*QKPQjykBnQ)@GwYU|prb(y}zJvVWI@QLKOIM_an zmv3pbHQeNE1ucqdo9ZqzX0ij4dOMeBH#zIMnH`6RkDMM%zt`D*za=X2kTtlTC7!sP z;aTiK+`(9a0{7TKC_w?y7a_z=$80aHVj3M;Z|0YbZj`REPBKuuQIPnkkREzktZOqI z=C!51b9&^Q#i!IoK6nPLRC;G-%*JPxG>Fl83Mt{ksa~N|S+?S{%rWpKowc)WW@_&~oV_IZ+TtV7!iR)I}WhE+rdM>vy z!xanyu8d0sA02N->wvo!?|9V}aLe$|GW|D~PPQwZR-qix>NQRxAR=F?WA$2RPmynv zQmZQYj@8PMQ9DlTb&k{STN^hjIPPwU^c{U1gAcnzOPSC-z}9U;MVdPd!trp zcoL(7+os=XX_R(vC>2HIT(v;OkDR!82RLwRu@A0UD7md#5&~LJDVo_9BawWY)31`1 zG|=w!8~2%T@6l}7=}5E-)Uj?a4^+Es9NHblp*Kbz3nz&Z`t2|V5R3D6Cd03r<0^w& z*M8Gpy`?n#>WLFen6isOP;Y67(My2YGkw5dMO-JiVEYw$WWy|*HXhy-zJ7P>1n9TiD?Z@|);E?wqpYprWa z7go_^;ak(Ku|6+|BpWu%FgGGY=-UK-7`!$d#l&rUzz*k3i~yq6UWUcdWeb&dItRZi zT^C^%O~>*}Eeuh=WHFPwx@~K-tbS~4dP*z^skizSzcAbB(2_NAVsb0Es#;o{7|m;i$}Db? zE|-^rIGKk$Z+LVfcj?~Vk)hF^;u4%zBLeLkT6XEsNZw!S8M3AWyNNhe9#OxDdnV(>_w>*)Z-EP=)~yAm{dCr zkID5E_t=6(+_z*Q+}xk<<@G!)0r!nWn7(|WcPx$oJTNpmXzLrD*wa&x8d3M?L|=Z_ z_->ooHBrnP1;vXBvJgi=lHQTNd>l16GQ1nSkL5?lY)yiQ6YLrp8I0%q2S<8}afI~a zVE#ZHHP$n{yQGz&{LskQM4Y5JjzV#S^hG@1H_%&>A4wwe7%uSw_`F;^Ypp4c=^r2N zjpus@dkQ7$>Bk*vae~o_-k#Bd*rY1FxCghci6t2I7mB#`%4UjVJ-zu|7{@kS7#!#= zsi`-QJGElHjA38W$-DEz@yq-3J$uLU{c)7F>q7ok+rn_qP`&`iQQ8Xnwzoj`VA3OF znuGHx<`2;5M*0flqmhw{NwAPOrm=A`e2Cba-`Ast2NQHgy$geJSO=@BqE|+sa)!YT zlNcJ2N-(tH^*o}Mqa1{fwAGN|-oTM1~J-Z-l4@XGzuJM6E8I9M#sbc#N zZ){F`=NcHF)9_Pa>PQfTnP-Dcm;&%XP>VFv70e7DXv{p3SsBbhzP>A%9d=Kqy27K_ zYEA<)Q_?x|gKd?XbQgY7{qhqQB_A4WqkzxK&vy(m(;TE0pn=S92eW}l`TH|3NNUR9 z?I9_@E>)8bHirJ+-vQd7u@P{6P@9<(WLk?stBJ* z-5U>egN`Z4N$IzG&t)X_86T0$RZ6X@UY zrC@Og>k_rC3y&T}o3*Ln4X~Q8c+ZI52a)j)wl+7T%`28j1_lT4u!1xF=?2_a41Bz1 z7wYsc7e#M8jQo8Na-I;>`(u)SQ=|Nu4)w$CU>X|mp-}1I^8DSFxRmJbM4`JOu@rtn zD=E(>$~TJMr9i~U-6xA%U~Do>-_n3#7np9m*|>p*%rR8C(eM_w1_3l%6Z-e0WF(>Y zd`V6X<{PwTG5XGue51WOA9piIAq<6X>Fs~LGrcrbsct{q1P#iV@x%1_jX?+~2;XT8 zw{c5Qm-zrL+yD|7Mi;=9N^!GM)SMfF>Hh@!o1})rLBoj(Y(MRZDg8Wh$5v_+PNili07+bhj>z$(vr~sokJ<_MSnL{yPrIBnl0nOW_oZk}7K;(dZ{nuF>PMM*Z*~g8AW`pfU4R zG>w5j--tcwhLKF3b9M%^GGA^5!A;^*WfXxDda52z<)_5=X^rtkdlLOEqSz@%K{6?`azygZU>>f7OM>%n3c}an`e1OnAo_!)*II;M*KeGY zAMV!b{JO&e9RZ)SL;p<&z*wW5FS=kMeF!WuTF*u(QiJ;Z_fIQ^UE%^~q~Op*LB~)6 zQ`y}G;n+@sm_UDDa(5f6NFNi`p-!VvR4?h1Hv79a7p@YVcoQ3(8ZB!vi902JHN}2z z!qD`)a3&6HvzDHaOt&j-6RQ{NagN$>JAUCRo~$;?Un5C0Q0{)Jl_BA@ci!%kJ;hDI8E&ERNk?b@jS)84_rj)PLFjM zc9Upy0{e#mu_fhU=BQ2cl~n$JV8)kNY-6w>Y&;R9z8;(x`ait0$s$w8&29>Um7&=y zv5~n<9ddq&XYv8Ox|Jk27N`PnO-lX{zNF?9 zo0iyy!ZB&ih~tN56<5NJY*_iSw(!k1%|xrM5HV7H8){r_Ys5|z_(_HHg8B_X>OfOa zf00Br*s~J7)h-WGZ^NF|IVkY<#yKX)mFQR&adRxE5^kix5dv>nwu|~@c@LHYOzjAS z4+k?Ri@^dRn+$|0P|NOD8YOHT0&z`#C2kTHd@2wfA~rbKY=auqqZew?xNJRO-)*Vc z6-fE>A(+1lJ6--6MTxxq(c`+v+<|m%F#YYpG{JA=+Vcts*ci-e2~sOtMbrL)BaPv# zV8&*^1BfzG{ykV=`6!8f8?$tMAHF<`Mw|TU8N?a>KG~cCyd=m1dns6hkY>m26`S)9 zqGJUet_kq9N2Do4koOw(&AvNm@DCofn}*@{@f}NZU4HvP^pGrC?2cskx52qUr~NUM z764*PVtPC+yP7KzB{v4Av;f>_dKY2pbS!I7gH&5{!c)Df%XPEbk=+@gJ5QEdi<%8A z(RM8ww%6_pPxz-IES@LQ$=>Ma@S63r%(CRAJD)M#g`K;_hs{pnA}|CKnFG$mcp#;$ zu@?3Q_16M*U*>NyzEj7HjiCLHqp!|~G@|1(f6{+6nBo5t`)rWvw+*w$JN8rgv{eE6+4rVi1sz+*Kq6N?(rVgts{Jn45qqsuNd>8#*XNmprh zMKD*g)=FeJE)28MmVfZDF(g0yP;e0_-~FlZ2Dn&MZM#IB&rq(HYNy*frF^MKzUBV~gtL1bL1|6^fW$mT}eylq;<1-O^1 zUATI-04jxmkjY?D;ZC#RJ2UfG(6}8t1hbb1jqSn)Y8Pe9@$Z|4ZhNg*x-{(nyU`V{ zKq*J2rJ4=xj}CMdr5WJvGl~L4elu9-+qQ&MApZw(_1r)08GN@4=*%)pcvXo`-ViL4 zi!HA34-d%xlU42g@SV0BBCWjWv|?K`Zqg9>4`5YK9{xR2j%h$Sm$oA1OvIF91by*9 z<|tZk^xp}sP$mBoQ^`YA$-hP_d3ahXbEb^Tqp(wd0DIt2&dhMK-1^cN%XVbBxg7yE z<-Z52ZSWsC)O8F)6o)YO6r?#=c)WNFg*IYAnZk+1XM#mCW}Cws#Yf@7V`gy83;$7u z2_(vN+X0y=PB|W%bv#NH>cF9$6vn8|3cLrnMw0Vwk;TK*N)bEk%>M&eU-8{ee0xsMXV!^xDxTIB~|97{^Oo!QW zUa$(MHFaBLQ>zx>(|C1ihYlPKCi=|CuvV1Nln!VVkNEYtKmD$WD09f>jCfejR#m23xyO%$;N zanja0>cXpytuJg2>V(seYYlHwo;C)vgf*OJ^-HhSo-lf@FQUh~gC^{*%z-t{MSviE zH#^KcX>4LPqNu9`(Hg#NB03pfHbOO<^5Wze*P0-##@`LIwpbHy)r1IVG%u%eGTSeB zA($bP#(ii=bbq(e4T7H2jxlVUAq^p#)u=bjbOr_mJCNG^tL4XRN}B0v$d0AC(6#V? z(?&T~To(Ets>wjz8QFdEXJ(ej`H_j!5MAsxlMD{IX8H?H;JS=JoN;FE4`$wl>@}i4 zIq&^cBku0uVJ=$5hMJ9&#D}MG@+FDrA$`PLKzNPDzUyIkQsP(`LEUi^Gu4LwVvO^m z@clup9C)0Edfeh=zjnPTKlr>J&H~34(jTIV6%|= zUoc00a-4?RGRL}PEFlUK_f%_++91$OOyI2&cZU8$x5*Z=oL<`4bEf~zntr)9-GA?G z%`zNP{?7v}W&E$0!zQ%-p+hJV{DBqZSu}@+PBb4cZONaLSu)48IukKjJpzE)kAcX#xPbMDwy_s$E*8uc(KayV z0yr}sJUGKf75<+eG!exa z{ucuAOw$D+frKE;qy~i4O#<;(2hm%mS>R`bZiyCbE_TV(4m0@**pTzy`olItJOY;B zsb|AV*zjX)`03!dDG!8g_-SqUF>Uy1!xlhTHt)`lNDh=y&ue{b836e-$l4%QqMKIax=*h>M7NT90Di z-M=DrBE3dtc?}<*1b7D8iHDDGyUljCp#7iJL_rHK7~RJ%m{1Ur-EBDV5wtzLliIWi zRA4N|lzH22BAhS5spt(M;mZIeppHd7HyVk)<0LW%ez2C`1?ik{GMIU_xzVED|1|bX zp&?9sHW6oaLQUUaaHJ82B#tV*9P4*j*^=;c!AwEIt<;N~y2qfgYJxBNGCWq$hy&Hu zu(8FAsh}~{YBJ|wfVs?7@yuoM%#wKKa%Rw+|0qrb0{^)?yKKD@tpNLeGg+7&7CmN` zV8Vabp;U9&YR+el+wGTE+l>(=s53GfFYr$?*#HGU@_<>D)?(tp)P)7Qcpbk@eoRk< z_E+rDKPFuLliZex9M(=|R{{maQc^NwrGyO2JoLp!5RAxXz=N)r)FNN3QKNh3ZKg8cMzXX zFxB6K7rCXv=4V1Y0%kar9|OscD%S{_+{lva3DwC~g{Tg}4#%>K?Y%to0SCWmUAv7GRxK=8k8FVFg+R{gJr+$yCG&VQM$~ucH091JAydWTn{%f z?_}^>z@Lz#dszoxDYqz? zA>coCN3)sdfM^EMbRb&AP@v6EVgEov$r<8?o;ByP*A|0QvGst!LwuD?fgo@QX#_H1 zKz!tmBlf6IT06($K4V*yjQ_Daqz!Yy|4iD1M~W9_t}*au(uaeU0v#5+Rm))Nmw*yLoXKYoO%_$i6#r6g>1cCvU9X4QmixD98vdCFXWAjM-U4uj>a`zO% zXQ{&9XS~`=LWIa3cX0rEOnvvpu!tHLhW^dgZD>cFX~;~EEX0-qip=r%b_HkqbC(3? zVF*KvY+LVXK8{g~?QMR%826vy zl9*sB1dnr9iapw0;?xdE{WPMy0E=bWcU>O(Z$6k2ZPaD<1^jY z>v?kLT4vJJBO^+<0)ktxA2bU$EH7p2Qj5wA{2GwmfPKqWGtRCJTg9XnLK3-8!Yoto zkxY=m944!wRm%k7UV-66d!Gogk4u(e;d@x>J6-k93(J0cLOlCgz# z;_2aNFmqMd+!!pHsaJvq1PWM?V#_w&+|ZAn@n5Isuc%LU>6K+es!T)6HnDIA%eP^q2K%xH$*nsTeVkZT^0XF`H z#UOl-(IONz7v~eRg4)fv_4US}_9|SuMl1z$)3tVV&cv?ocI1s=wTAszRUS1elTJAu z&QO**7(HPQM9}SwV}~*RI?S5Se@*JMI>h}qACf&~soAQq{_bG5saFNM$q4kK6G)~_ znRy{V15|U$)yQo$mB9*@V!?}Tt>)l#|H(sLnW8y*_#)oGEqfv(3RN_RPX| zD-5AjS`2kG@f}$(`*O?D1~i1}V#5+MX*>~}YU~M~WIoO@V8=d(vZViY%j5?0(gR66-<0O7 zM&bGpa)iytPMk=e*U_-t7MsNe!7kT>XK~N;Uit)so@c9 zxE;sM*y%@7QaYXfak?SQtV&-vE4@Vy64PP&c&Z_NECuY+Fnv`+h_{Qr5bjGqoT~px znBLwHrblOYr;D?Rt!oJVTOgv`-M%QjyoAlyN$#qQ z90F8fvlUGqIhI~*`TMR9PR;~1ID1bGU=behU3d#DfXv|#A1|<|XKNbLpM*H+zs5sb zhUnRJL;AlU%5!(g4Wn~17yC0Z$HK1k>%riJmimC-kp4q3-3(k^D!poEW@Gx#Qge6j zdhF_G^E8Au1BjMBj+#{hdav;4Vl^!t%BVqap z)cX{;0k#{rTc_K!y?+2tzd(EEHH7ofpAG2^psCFq4Gjn8J|&3vZcx1+R2v#v!|um$ za(FDga%N^}`cG4Hdw1*xXG_5u`0C!i+aK?LM`n5E%*l-g4v(~ko#6}NkHW4Ka&OuE z)W3x3CD6*2`t|X$#EH;<+o2Qw&%E@Cl>gR4nFg#PPfY%)6WgDD zB!pe|9k~P&2Vwe$;OtNX4Df{zZVVD`#%>z6jm_^Fau*%84DnlU1Uwf4-jYgRFe`j1 z(*&|}U>ePtm%@LNGQFTfrKgAft)ifX;qmk=jI!*+=JBCj`LWz4JWu3hCpOpzJ+_#K zU~-%D`&SoM7x6+R;8^%V4+RU9xK&?N}o3jNrj}$kIj1Tv%mnUp+rDeF7 zTe~OUyH}|;<|pi>;%E*JjP;0|c-{2wVe{r_TayTCi3+#o@Ho(rhv%0}I=m~_(5_tsNru6!NNm zqh-s->Ovupd$LA`BW8w22k~GLY97UVx;@CyQ^5Zd(0eXBv04E1)b_ES(b0TgXV2ic zwg$fOxZBvk0sFY#=-`A0)L>!HK!4Gb2j=it&~X32ZchZ(Hh{tVtEG*BLT-1jCr_-6 zjP>Qm(5-u5G4h2jRDu@@0p(0;gFJ$Uw-ez>BPcD`*Hi4tnI7#K%JmH6IVVpZT*~#2 z;UOuMT8oFTtU|2FEzsRCdc_I7IoqAvv}N;k!kJ2)%jJjn4UCNpd%fdhdGtIg9M9tx zmQgWSZx?i#%O8M^j-mqw4rs@>O`zTb+hLu!*-dIw`CuaE`Kg>utQ8rl(eVYmhg{3A z-?D)=wRwDS&{AUznf{W|FgiBU3)(Ghxovn54G(wbH()%7B-s%>#Rnw~^cj4~=Mw`^-i8{#;& z$%BL~kV_5P4yF;)*pN4v%zWyQWWY8l+J%zpIxz!vVV=Sv+^)47cE3oR`(nf9PHji{* z(6(W~uNxRci+HrM;tYsN)!-Zpxt!Xhfv#b3t?dpy{=m7 zw~kl%YQrmlb<dSdYWO;(YAiuy7e0jhcdB>2}gbfJWB1x2aFm$*ilX6%V8w#mH9%(1Ime- zv(OLx)H*!+n}-)hH?fn^pGN2S096qWwdQ*F?9IvN6SUwqI2Sz5OlsGL)1W-;+c}Wm zuUdqDiamStxNp`zKx=DNzh^ywm8P?2%+63^LO0-{`Q7=xHRJvL9RK2ONAxLO@UnVr zcP`sAR>+$!!HJ>%st}ja)pucB05AqKVekc-g3kG zb?Y~^uNL_*{^2MvlZmnPz=BK>C!-d#8eD_VFYJX1Bd=*KV)MxGK|J7VtO0R~e3V!o zH@9-bGKakUV9f2SJ#T`O9v`(97zRBv?_#FuwbPxA0CGdd-x@K|l+M4q2L{a( z$(VG|Kd^7q0WV0Cl1RXsmE~PKQ3sJ_*yvQAvPay30XSp?Kvly%V-x+6FIbJywFf*5 z^xD!eE14irS|%#(L1g5i=rv+LX8t;WPj`rd#qpRvwS_SdT80awaARhsK+mm~v2WuG z_4_&Lta1n-3@J10+$)vp7 zOxgQ9*fj8_`>$WWI@>05jwnpSHAD@VEp^rz-_;|2(d!%O%^8<4CI)2QSzv!5mPS^X zH6^UopwT$Rp;4o{aeTF8w|v0_4NENJ?A|ug_xfE2F1@q|7hnye2+81TWT*~F_=TPu z--R%6V3ba@rLfxheyc~BI@fM$$==UOvGPeGJ@#Z$dw+=IMoidbB8lP)1pIAZJ zweq07C5y!fZb+H%W5{?&ZAc~n6KIMh*jWH82;(7PnN~30z>;67~KRw->01&jeBYaiasA#s&RncIM+g}nw* zd+=(C^?0v}iO{Wzv64cNJD8V+5yKrsEp#{LEeDXXEr08Hei&77m32ejPJwP|1f^_{aDP4G zbWxbhW*#iK(6bAxp#c+p$L*uSdug@gfab#}q{I=m(=5xOSNq5SyS?tYi?ijE%w5 z6jgOO3{AsJzOPN*iDI0jc}WOVtTftQY-||lu9NCUs$L5Wjw`|{>Tfcc-%j(T$0fri3doqU^CSltqm~@!OeS#P4xq+xN$HXOlcRQDsyVHaQxr*Vn3z`RB~I>=;Pn5~Ll1onmf zJ)^_k$iDm-RzLgE)iN#ZMno!IzE*qB`b4srQy$DTe8pwpCYO^J-WV{ZinVxm479Fbh8k1GeGqG~;8vE|A2<;rwp+`+e5d+S*scl+4sD%x&McIt%q-7?|Y; zRVbHkSikK$OXxykJ6+gW)gORGz)J zc4)L@j0|Bn1?%{NIR4@Meq$?}?NniGP+I7-TO_?B2v@3|6`A156 z^h%zg7-cBj;#Ws2HvCb{?#Lta8w#9W}ZA4?SW(aTCv;`jp1P_Cl*$UWKGmZwLB51XCZZ$7m3D4kRLc{-F@8C!QTU}T} zswacon@41m!TLTK+n!s18DqCm0NzPtCT9%_bmolDF$l}eZeEj%fzi$2@Vd3R>#>a` zZ{sqq%`SHEE+hnxV+GmJ9ILQ_D?4*2Y%PJ>Fk6Do=d70zXv7v40n`qt7EqjWLBr9vUTF0g$5kj{zWK>-3r^i79){6dfx8-nawQO z48vyk7HlqMC$`%aX3jWR(@XO7w(DH=^2V|x95h3ly{XxD*>@vOjLeuXjK=KZk{4^R zoo0itLtx?onA`{Q1(u3k*~EL@cLe z!(-e9-fF2jpd|Jm>X8*U>WMa5jqKtcHN2Hj+uMcLmSL-37w8gdBFsSDeS=ul4%#|N-U zDmJ-!i_BX#28Q8a2{~xuez-?jDqtUO2#ORV6tT^o`92xCGBw#P2ox}mQh$gTSEzv_{j^fY?vS*AfKoDb! zLl6+31Hh>{ywa)1IB#^P9NSnjWB;;EV&1rC*Y|cWBX9Zw;>if|`ttkive`&xM}uq( z+3j#~TO-5R*#twfY*O{-pi)`M7$0D)RCI2qB%^`7`_0x2f(Ucfte^K_n{5!~WMOPV z%|ae=sWoqm?wAfsg93XD<4#~0Xi-elo*DI`a0#Cg_i`~~PK}H~v}`szKh%inc5!sZ zY1r9pV7TA73k)a3tk?iCJISLX*guw76_ZhqI&8C(Y&@0-VnkGJ7+6foID9+t%h1PJ zK^~h}y&9qmg}k!T!@8nm6k<-qlEBUx`*B`j1+Z3!F`e8FvKK1s?aGb;j+Wxn09J6u zFLL!`w}`F#;aR{2nJEip_{GZ94Z5wNOB~>5j;BKZJo1cA#+qiyxJZL7O;tFtZ8u~n8vzjla$6Y>2Le#tUSClI4)(4)6Di(``y z{YC>w>XxC58pVO-S_*CByNV)m4%>-+my7k$<>_@!5oJQqt#HKFFq0ES!T=a2p znNyQ>I29HpagpVz&n(Dhh=ejQ)O`aZ<9Z+~XO;VV%syI+oG_RnsA8_SXOE&%D`;%m zk=_$e8%;l0D%b;Ur~?nm!!ej4PVea9U^QnV7R1%dWycH$;JY!vG29UqOQ<5e3rz)7$wEyjlhj3L+^o$=v zO`^EimR8*Pq8uD%G!meg%?P>88p7%TXFb{*xaL-<*iOTG!L)`3Ow1FF2s~^Ag`t~0nb>N^OmJq*MUKCnFFCcbo!Mfv z@qk-njKMLP^&SFC%RfE~gxMdfIKEXD%_kPpG_WmLU_c1tcZJ!t*RS3NYBP@W`(q;* zhj{j`0_~R71sR<<|Jed>0GapW_7B(=HnU(jJe{?BMRqtz?OQuq)^0R=3wd~9Z}KgQEDx&bo-i`TR2#SklC$&CpJo*FT!IlPuINe4Sv>>I&>zgZ2d zeXiBL>Fe@E-k-oQ2y>3C^|1~#;Zr>B0@HX0Eab$Nqt$)v_8rwT0;F9dJ!5?>sAFtw z9P3w^IAzOjTrJ2=wX$CwEp$f4(5aX%V9RoHhrwmFEQ46~Qp~CpOHe&`SSCScw6+tk z506OeGA=*{WyKQ#JEO~R$gM+gx?Rqs#XE>hMnSROfu9|63m3Dpv^O?^54mEt>ak_g z4;LMd069&A27OY8U$TpRdT-wwup+DUBtOT z7ntNtSY`y^KADd9$fZHJj`j^Juo}k%Ix^TNw}^;iwJmZ$THa#v>HwB#8^cLdgbAav z8fAjgEi+@;E-==y7UyNHeHXPge)J^*fcOCeJi8p+8yghQFY8P>G{l}PW^S{MW1OxT zmgWaGs-kFX>rD4qd29p2ydMC{>)mU&v3LY)cg>cg3PgxIg6MY)bd0B9OTQ}Iz? z6=?4$a?QnV{AriaALoPS7B;Ml#isGTaan7d0|kT~vgu?Iwtq1jjbo8-wSzdYRA?AW zzuDunElaGk4tK^#bY24)nGr#zX%bFJNZd$zM(x%1zvemE;X|`o8evOaBbT^E^Xz}>)essrTGv^j? z(P(rr+#3cBqVB~o6*we!K?0CHybLyRp|?Mlw@R_MKJ?0)&%vcYD zIsOu<+1{Op05ZF&eVe?{uNQ|2cIQZpRaQA%lS+Umch$l*56Nb$HSfe&ky@h29t#)g z793C_9x$sbx8s+q_P9i9`n-o7-Bh+q{0ARX~4CsMu{JnD_^9 zpRKu@L_#FJH_{x*qTuqF=yI3V7)~L~n#d^G?6;WeU5&Wo+J^1yK=~8`1|#NucjyK) z!je-49nOV>QP4^)0-JjeOqJNW$)R<$na8Q2vM-1+8N4N`lKZ?(X&FXRI69(*1C%>| zrD}Kkm21nX$6UsCommQOSgx9e4-(6=n)YPUGWEzxPpTLmkthaxQc~J(Q?urEx>Id= z!Pc)i^z!;Jxfp6$Zpt-jYOMyZ_MQW&OSq7$YA3Mzs2zKA2HTMt!TbX?R;k!C^5opr z8bQI6_%YXWz@BpInX6?#`1eTZgTf z(y&KlXMfZBE;8&ah81Ek${wDR6%N?s?JTf)1U$%Xr_yAHtOTW^xYkw|Ix#}Bs6j}s zTfdpAg+;cxp$vmCV@J4hrn&*zu@%SFXj+PN${hjt4e>*fVaW;}MkxE)c39}iB7#|L zp&f|ZxHi5nFWX@>r??POS6mFECEOE1t=T&yB$w~U-R8K%Qn<8ngn*&xkfc$&*1 zL#b6#f98G(ai!?%OB}6KB$8kcll9?5bkLJ=Xq+3y;ot>w^V`Z57sj4o+JzqTBtU~U z#H}q~wrs_(6{ro5EG{70ML>pI!?39&_wXacvT@t^@Yu-U;9_hrj7p@2Nd`dy=C8#X zkm9RG#XU{tlSEUzj~3<3caAjB!B!PT95Em0!LY=w2?$ag9v>%>FhcHNl%kshELjV5WQWB^zszE+v9Od*Lk@7aN0gkPUo&uE(VmQB6}-;t8PrJ4%PVk-UCntr3&u!9jZBcoG2OMe# z!9xy}B}i?h@L@e|FzXuL5pODjzpK^!AgYca>p*p^CX%D9I=uGRYu8H1BTBA%bw;G* zU0Sk&2&@5>MQlgV6I$|%PJj+FeufjiBcivEwE06VLGqK6)0Y2pHJDFFhSQ+dvCvsb zcBz6_M5rVqE{`WK`CpS(dR0_8!Kl3*G}N=4;5*no4>`ei(02bdLj9Y9^^U6@=LF_!@j;QvNIX`@NGJf%`pMWIUUyM=p(l=Q)#GtF;2(~^;*d% zmiE5qz5O>J>?JW_3Ga%8B}h3S)Ll-f+nfW-5+wVEuB2y>fnmrWJlJo7^Ydez6K3;M zOnsII{eAE^pus0&d=P%xX|S6hohmf*@NFFH^rQyKOeI^PD>a17MADYepGjM>0>9@s zAn%+sI4XDYciK5h@hX3-u~)j@MPsgAJw`(?HVlG)AGD8=*6#1 zMf81*+kfHW_X@1PkRYnUdXlUn>w9$CD!S>b0_%6^#kW)^N_+3pRl)}~o$lc?Eml`$ zVX6!>(sSinwkhUVOU0(1)uvw36iuy} zswvWQQEZ!Hj&u_T;4~9}!g;$)5KX zrF=kBG>8{Qo4O+Z<{K!MhYC`$HX*%zZQ>B>3?X zLgr4T9d70i!;2spmqy#27>`DT1j)E1 zWbVa?kRTbigv?#!#ONe=OHAJON#^c|2nkXJwnoZXEv5WjjZ*i!d1mp5=b@CsN z2nkYRVPfkfbF&?{I|))^OUN8$sBrwoEpN{w>+Bqf*2&;+DNBMQ{D+RsEWr;rR0nzd zsza4c&BFcf>1Eb{X^>#7vNCO>C>sbOC7gt~s7dLg8fZH(OoFWR|Ct$86lh1eKxIc3 zR1NL=Qm2kAK^iyYqfsAo#MfFL%qLtLR%F5hv+B=Er(_X9A5aX0` zm8Xv@@xMpS68sFqV{Zq+zg3j5g|b`Xbq3KzjuV~1eZH@I|*K?C|j1fEfFC>ifRdyl12G)8Mji#&pVE8CP-$b z)~!y{-*ALm39|VLAq9=h^6*vd;a4;j??ZU5t2axKYK500_)tVe@R&pGB*(u}l+;gn z%&D#Hjs?R_ip)_XIQn9J>?5EEe$%yDadcq=K?&aE2yZ4U>`Ca0Js5FUwwoVyAFHGh zV*C?iE7k(o5Df{01lhJFOg2B20kL&9g>l7pSSe7+8mAb2`f$iivwzCDqI5wz@73$NA`?Go%$RP}ZdbSTYASG=7d zt4VoV3C3%zd`i7W>*;p&WeKuyHAy_LUJIS+3U?4(>QG$-$@)~{vBq;;@pgi&1_~n> zud%Xtk=_lYesP1QsEVMxiCq3Lo(K*o%JRz`-6F~oTI5iK>x{Wz_wa$<$7nRymnE2~rA?seO{UXpprNq#$r@1Str-G{F__Frkwmm$S{E*+2X%?caZJ{d{AsTGUz2vTjUvpOm~t zFW>CQvIJ?HDep#tv`r~VF&}dsnkD!lXSz35k~jsV{FA@!D%h=>O3j4d;e_rc`1^{Q z;f;Eio>TD73MafXCLdAk@uU1?H%pE^_+nE>~eURaobA(`}h9{r!?Q6;;;$ zU9I=0uKr3pDRL}kZy#{m0p;pgRzV%vq&j?WH088F(J_A$q!tVv`F+}HYb(L8E6Vq7 zJv7NotrKEvxstLJ^}iyja=n!;VB;EOce8I(Ue}|_N7SKR1S!%qV*y3)Eb{b>W1x#5 zhl8Un=d3Hv3E{{<*CmFBm?y_aF)|B+cPMIxcWcZ%c{kRBQ2~NSD;D^eVma(mUN=YE zLps`o5waUgBa`yVSzlIx^{q+P(eyUbK+hY^0oe2fX%;pG%`P;Dggoy#Vv#OuDAm$e5|-c9kUBe>j%FL6eE$QfdHx#d*!Q>Na3 z)?)waig#SChS}CQfBBHg zn&c>=rshLPGwv-av)FRV>E3?HWOqGZX`G0EJ2JHifv_3rF;C&6(=*|N<2 zl_TsR_yvdBN$^`GWtp4nZbaEh@H|D?Mwt5(_vpkBLVvmFH4OO}wiQ(af=Ajn>_gv>>KcCy=E z6*{%N-?on%>9k);7)?ielIPg&UIF2oAY^Y$M1n78bU-X=ah@v^Ik5WlPAu=3V`<8~izC zSVHC&xIS+q$SK1TGIz1-^ER3RpF2h)1P{e#g>92GgBE87Z3Nlzwh`u*J2Pk_xF_br zw@orf_lc&yjM7c$aj!F8P@w>>|ic5ZSuifctaTcU=Uj zNZcMpkbV%X5Tq7ub<9N?$PuI_EFp7|+2)dZ(aov|?Y8qGl!ZQ|M*CKkRu-^?f6r+k zOOPtVL`SVL29lD5&vGis5~Mk!B-O|WNJ`C_Y(AX6bDOyh-u33jN#3mIW5Kh_U4 zWFe!<8M}atAY&IHBTQok89~MI$S2<_UK>`27J*u1~_%Vm-AoyiP;l|hJ?qKFW9Nkue)6@|dx;U=_i#5(nFqihm z7bdwAT(Yd}PgE$|RH1BBvTWLWTzwlyoajGE<$JUeQitA4D?gAVL%y66_niLdjCg#5jwSds3VxB($xec=b*M7AWb^lbRxX|ilytX5MG3}=UQnqh=|-cX1Y<>)RVqrlyP~25V?|e#6-_6ppx-hg zB5G>9o791Gy9DF}?{O1OJLko(IGfKB{FXzt6Z}s_nOTDwPNNm9P}t#K!OvZFS%OoP z6xYL&zj7tp39@9>>FeLM3=3dkOOSk5ENc{)VyMKmoJ>Q6PdMde->y;9Lz-5atxzFe z9x_#hUvU*~JIM;YE49JZnuZ=egosmY=A+oH%?MQT!@?x0%r&X5ce0faUHev)pKGkb zR~KP&d-V5gi!OG0P}dIeYoFA0;ny{dUn^l48GD>6zif@`VmqTVM;-&c4RkmOhLq<_28Ym~tKWuosZy<9DbfDY7kHfW0Wo2chX z?UR0{(kI#{dUomM>h0gDgbzgR&w1E3Tp^-*n^N6>a@D61baJEdS{=Ix>z(D#xu!%E}C< zyno}GJQ_n^s>X0Rbp@QvWhijuW*`3;gX z7JF3o)EBO5grI1UamWd(<4=O@9AbeDD;DF$J z9BK!_V-A%i_*V|KgCLnhT?D_TRMI5jZ@Q9Mg4AUtmo77E+9SVHtEaq)vK5FN5(dAy z>O_{TZt%WeQy2-s@Khm?72SPby4`{&^IKkHJ8Nv3Z!5rRp5Ub#V2UNSPcnD2VnImo zttEuaJrWTTe6)m+xtAhBf?P-2rkVSKuCCEE!LKOF5;FH}L`aYtvxJqDRj!<^R1OP6 z-6zV_?R#%ZbW|mCGn)u#mQ^x^Q9rH4pLPA5B}k=9jn7g|+V_=O5u+~uBY*AM$5N8; zKG*MAf@~D7f*^ZZN+$bPaO}#PRq=u&%-%zF1Rso%5q_`hvn;`H#K;JzRQf88RlL+J z73uPrxKv(EtjdK7x5sdwR+!C+AW4NYI+u?28I6ptX5f>f&dr8<=d8 zm9+O=Uaa0fX|G8urCC+%#FrBs%=Y%J2+wYMM~&64#P!MMJug`(?d{V*D^8oFLWJ_A z+rzULgt+bX?B^;Do+p&$zlrogkTx~NV~eu=6)Ozmhiv~H{q3xj9@KE@a?XKooxNd2u1J{io#j- zp-DFWjX08-h@+ikB1+HG5}lf6yazIE57a#HLRm*Dffi*sG9A4$hf?0xJRFv=CnQ~G_0+o%Sl($k#@FCqQccem$iM$ZU#lt9NAPNg>LhrrLv;{br6_Bq%x!dpodmZyR0lx{F!jhGKUYN+5F}r4 z5KV;1820a*$j*kSs6s9g^SVTHS856+tWt1_l1ky-r7!k)FnYlU!Ou8U8^O;h%F4{# zHzPt;%hdF!`FW!f{l2C$oe_S&s~}78uN`U!n|UTe5&XJCb+E~HYiFUd=ZbKytbTztP&@msBZVRweq&wE49@=$+o&&TkQmU9BLcEc=P2Wr@Ek9D>c5=HQwf0 z+Db6qQu)hwQy%%=rA4vB^6iH#0~I1YzN%@bQm3)gJJsJO^bYWUbGMdv5aiqUY!5J( zauRe9JVjBKkhwD>LV_2S5dL~>wO3-ReUfbbm*c;kAQ=(1+9#Pi!?D#)FwR!>z7}@N zwY9YpTU#Al(_Cv?36c?EYpY}H{D_cXoUKZR;iXs=^^0ki;005v8lK-3rWO#V5{wrv zS4g}tdBqBjV7zcS+m$+fR2M~m;uc381ijO20eL|s;aQ5qcEgWuV5fWaiI77(H zdtMU}60T{oI77(HfFh-7!YAT{%#59BOB)_782`1itYRqY2c4+x1i$T2ofPU`l@#Fs z!OK)8Yt+oOC>De(n`~2Unp(o|YVJoR*yYOkT1_pjEg$`g08Prti8Cx-=Fl%GJfx)s z7nQP5<+7JlC|lvFjns3hl1MdWle{$WsFG2Wuw;U)p~6x+<;s2DX}+v_k>bzw@~0eG zmS9x<4l8fzFDw2^RFYs+vaHQ?isd4?%c>W-tN*dPXf>~DKz|e&5W&wX${NMrY3{!x zLV|y$c7W0I=ICr9uv9BOB|VdmHe>;P0> zZkV~GVOH3MHurOQ95v(znlEVk(E#Z@prOgzT!>Q5s>VAMo~Uh^w3 zm%G1=xm<-_5)|hlO}kb1IZbQ5tq){&m|aJr4(O%nSeft|ah=+39bQs=J1-JRjb-e` z2fmkP$E8$ZCB=wbrWd1P#H`aRaZZS1Uqq$YD=V9SK@P=Xgb zRF>M_=ukJ)xPIkOTM3@gWR-!*{gvC8VOKx~f)#q@6Iv9jGlJiW*Tzib<+4-s-bJoM zZzdRZXxYY?2`%K7FY~uYjdWNQC=({(F~va^f*k6xIFSQVN>W=CS#U{96dZ*in}W0a zl>DZWR`)IC_J`5XB6zW5b|*pFRoc5^l1``5^<$Rc1rD`?{7-ALeBfS4g6v=@gCIvD zzFd+N5(Q^yuTVzxb%}5$qrCt)=}2Hzcinzi<)q&*NSZg@ghA4DsdJ1$;QGaw(L`r8GVTPmB6lTx8 z-*x6Tf*h}S9|XZOo2*1AdhhMbMBUj*M&QhEu>tzh^Q<~tweNlvZl00^BL9Vuzl;j+me+jK+xNi zZm*`YflGKqaoFceHY6R9E*stOpNtDRwt+gV)zFwLyTx17Vi@E?b>)p#$1K-NI5qSL zKdE;?;QqwtCqm}x7h6(aj{BMUyCoKBNtwHRX^fPaYZYlpnd^v?GBaaYyjJEGE7mZ; z%-#}GTWspzYxQ#4D|&?gNDte=+eart=6K*D4Yo7Gub)^_=C;OoYiB0L8)}`JE8Tj6 zaop+=<_!^P?{<$c>lB_U%pg%CN1T{r9$^*+@Auv|B}3=B(g!@kvC!(hEIfB1Xl<$EV`gQ8eRG5@Dp671Yg-*&gg3Fzhh16vF z0$XZ^roMN3YI2cgUb)a-M7I+Bm7)wCxo2Nvw=&K{IZWOERAZ{?-cjut&m+!thWFFi zOAg_^exu%5Kg%px^wT*@PWx%&k~1d9mAgBXm3Sq@9oB30Qpryjp!De|JqM+EW`$g>Sw8td z>QelB;3{6{`zhyoSrC+w@iHgi1ww`on3hwLf1e!dm7Tq7i4w^x&f*Evw9YMeA2%vBpF0VAKO zD&3iwL|k`NF+pFw0KEbprGA^5{gaxeypgXbMncNl^&M4NH0X!Qo1kTLN`t?u9AV7S zIe0;AE+)*vn0FsOIAvT_&Vc8!=0Db&sSuZcmBAJ2b$)lIihc5OpORO%Pf~E;pf{g; zwZZj(-s4ow?0Eg%N>_zRUjBiSRcDeE93WFMNt#=tK_mi|4X*igwR!RbzXoL4aebPIZ8zoJWrK*mK*Q(9(OE(e{6J}wIibr34 zR51F_s(B*XAxJv}7bhl|X;ljW9YMy4hK{425uHI^u8|!3#2^{TF={i&}CwzW00VUaGLt;V_%7ma=O&?&(&TA9@wH!t0#l ztBhD)=67(ak62Pr2^chwznWX2KOpnW|NK?l4X<;KufjYpPkYrln-p{n)vq#sa0 zIK2O#jC77=`U7~Q%27(I`s0CEltP$=;g5e*zD2>UuxC`hdaYrRriymS8x?xsBovVg(+4&EJx!~X|EgZ+$ArG5ZkV49O18(3>l{%!&m4Mq z-YQMAn({kA$?~mQZnLJO-=pP{^zT+WewQZMPLlpwjVqb*8<2PDeoB&_pRs1j?^f~y zmq~io^Cey9{$jeNI88lmlK%VJ?#a@Vu1V`nek?s%KR;@Fvh@6b>Q`95^36|>ChI5t zQzuE!SN{E%zB+@S?&VjOllAjk#y8HgS4j6o%_r&kN#GCZb<*+E#Yy_`6pNXu>1mpN zTGLlFy`bLGjn1~|Lz&uK zG+m|qWi?IG-=%cFrRg%IW4R>#hn0@6Qe2?)uc=c1Ia&cz-OKT=RQxJUuhTS{T%w4R zrGLB9->>O|nm(lIqndt5(=TgEfBiMhKd)&rc~1Q=)8xa6NqT;9gkLZDg!-%JHRbm` z_z{##)z4j1#ow`>Ra&0q`0*KjmV%#MNPaIO$sb>CPrg|03)()v3BYgh@Fn;But2gt zzJ{GIs^<&WS-u*5A+T2_H03+nnck~-*2lNCGp$zt`?TC&YWi7C|4!4dYx=yVe9=2o zzQUa^eoyj$na(FyXnJ)bU8{M%vOQV;cD?>qP5B9lk81u2O+Te6-FJ8+8`6{Iuc@^drfW3M=W&ws%XEI=!&zC)Z`YI$v)!WkWO=^MZoV!ZmZ{&q zTGKU}ZqPJYev_7aR8zjQi*L0_(m&s5G2hXY@6qCmuafkvmoKS$MExJ%wwa{o^~aTt z>G6c$tgqrPlXS0Dx=S_Ppy>^o^5u-%HP6>C@@0)l{wN1utd)GLR+65tx>~98^*T-Y zf~+Jx-|x7=H9P3M#=S%ylm8(X7j@EyHrmxjB zNnefbGNoUkX>*nG)#%nK{q>q|s#3lhUAxkEX}Y6I`D%21O20?b!7Ame(G`{cfTp)s zDPN85jY^;F=cN8=Kj-WC<$Ecs*%M!h#+RQZ-+adRcz=G5ZHezdR&=l`69Gr{Wt0L zTQn_bdQelo$c*V56o0R#e03RLbjFl^FWDZ)=?ArcnewHq|E+lTYqI=tz5bM@$yctv zTKVLQR$q;tcEtCrF}+3Yjq}RcYA+XP%9oNcZBcwuo+Db%do=y9rcY?f_oneJYfL$> zCF?s`KKNR-Wci=YvlzZw=6QX!$r*YBL6fGdG+m=9-;YrqJzSV{4D_Y;LH1)KejHYumU8rfYK0a;7htulyNftgD z#iyJ2WK**IQ+gND2~GL18=r_v(pRf@=*%Rg&HtI+-SC&1@`;l#X+Bwsc=G){Jr-Qm zWGTBeUo`}*K3-jzfkqx> zD&nVk3^+>ZGv25=rcyjsBTaFPg?(?j*HjT-=Pl#TL#&vO1B+D^@iV<|yd_4cpzmSz zaikLd6z`FvmGJf6=wv1QZ13KWSHd@V|F^U24Uy}r;&-!Ai0=?w{%IHcg=R=FOWsf0CK^#`oSNI~Fubp%D}p+Yf;#M(ZDn1Q!bmrfL)e zVy%8q5G;W}{SXBIRI&YJ#zlU18s}^> z!k@oe#)aM8DgH6k_lno=q##|T`@=ms>rVHTgm*IWaKPfb8T=98V`AVp8js2%{>H@U zI<|q6{(ofj^fdoyJX`{vXa9Gs9{wEZ0Xy&wi%&j`3QBD8KcY@{Ua;$HpGS+=fRjDD zA0loc_&-$5K#uSWA2#?&`#|@fXpV^o#jRf&{InrrFZc4S1d(o&-*I?$AP@6!fbQb**QgxR{x5$MWx5{z=P!!Q!_p z{=CKM|6^(WGX{9w;+M4kd&KFl8o*u;i|;c3QG@^F?S@{rczM>e&ln-Fa4!BPI>y9=xbkf~V2b4FF$YPbd5jL0_K4AZ_&(rcVl>Z8 zYaB0ti`kWXI0~)`RxSoJz_M^KLPyRSod3pjplD!zcqpLTJV@epTj!j;ZJEj zX--rBvO~|e9Q^cy$$9!;cJROIz~6A_p@X!-sF`8{c;2}0ci__wd>**Hry3gNaR+}L z_`S#{JDL6Ul!O0S2mTEQzU#n$3Y^xxbIO>>$FDaW{D0E?LsQa?ckIpg+XD`qe%QS* zsz%U*`8>a!bm*x$@UGT_d6mo{{LO?fIP_n({AKG0zC60>;Qu-BJo{e-o)DJTrvveOGI zXM`4)DvH8LG=pTQ%j-1d+4C(-w0P*FhaWj2%rI3|6SXM}6ouWS8Ng0eiw$BJWLqVT zuo`1HU-mhr8A`v3S{Nmf7r+ALC$KwKiL82wCt~lMR>&Ms?zLK>-)~2%6H%k>K?0Tp zVWJtx#Hqu=Zz%t)^nxm!x-F~CwhCgJe_!4QcfWyQy(H24$Q)U>ZEa++c61WnU)(6I zF35$oV^X5EwDy=>IBvn?$2NpsJRz4>*5^tqa(!`eb74zvmF89!h<$5yzAsvhL)n03 zEhXf!Q){Kw<$0mkQBM|AY zt=v?JS>8D4L|DXH4y!!jwYtjaQ`?;s2L)x#$VtC(cF=RUIE`UeRa-7b3O37nI}Bu; zcu@jZlza1DCq~rCtzJi=`B>2O!>R&v*xpQFN1cpBB(8n~ zO9jJRlFZ9BuG}j{by@bJSZ#HYtx7@l6RLMUjIf1==8KN?b1JH}LhWw5{>J%>tq{}G zu^^?t?a{vQTFp;qZ0*m;u$rWo%17m%b%)l6;W@14!vOvh>A9BT6JfJj#{Ts~L=ASR zRtKR~oewEuC~^R7s!w%Q;42OyK(uljDn_QJ=(P@BQh|z^J_JjY7xXTZ8{Hs5A~8W% z?$I3Oa=h8CBqs7Tpl4q0&Gix$=j{O`Eb>Nw*QUZQPE4TT4J61$n~pD)_>J@=%p#L3 z^v1ycr;X9ybaJlSY*qD!PtQzGsn0YLSfyA`nIhFg3PqsGn%8U%f@m6F1%Q`fBb0Qt zTgf^s|6o!GJindJE=W~_{S_HUnzx(Gwjxz!%3jv#WK6TtP5N%vQ$40yLsRXKOi6Gn z@_bc+@q=0G%!Tx-v#Cw0COBvq3_0IY9<8&DnE6O~iJG#V&}sbzueefVoM6vK12<7t z8%#Njb7l)|HdE*21CIDXBE`PjMC_#0a>xuhu@jz8nQ@e6h2*_z-aqjs;&*z3{zH`9 zIfWzM%ONE_a)ov@ZR+%1BV%~CiDKMqCtd|Ki41LU4R6P)SP#0z3dP{TW>x4`!;2fD zSnUOnG!(l__aL9p8}v{^qAyY{j|6P3(@I2=sjg_zR)Zo1gp z{yuaZwL2;M`TU6K4=g9!&*Lzq{|)k1N}kV|nC@74vY&LY{T3EgRH%>j@p%-}yQmX| z$7gw-e}Fz>nIk3?KDS~j?EFa{Pfh#dv-~zN@=4!K1vID>^y|n8iZ#b{;x)!!TE0*) zT}&r30(=k0^fMWGJ}+a+^EFxr_A~xWMxM{rm|j*aX(*4&=$A6`eE!DNe%_4PwXgdP zRGzi+yng+2I=k>!=zu3xvg2PyANh~v`8<#5Z&I>U&A3y%04y!f=YCB21EQ>k{l@JV zQ6UpKzW99b;#I?u<>xk2ItHZA0p5iQxu5C5zZ;IfTx7&hmSgne4*7lCCh#s~KFF1or*H0XQm2lWmB wUB(}WBjRodDXzr#0Zt3VY2zalE$H6R}<1XS|=elzzbmq4t2-uJKf zbv1Y9oH=vm%$YN1&di-%?#}Vgh_Tyk<|o#6jg3&gTVk?}0_TPpBWJT^+a}ru;Q2k< zrGhrDyX5T5+TjvsrZ%U9*+x9GEX~UfJA#jyIwWYLjQpEusI7PEHt5WhwEX0M zq?Iwh`WFH`EB(7f+sxFgcLVBC&TsoMhQT(=Xs<85G#c`osnK20w;^aO7Js=j=h)s| z`{ZwSHC?~%vF%0uI-ZNWbH&M_Z&DVP&%__u^k>>^bGcNT-8MHqX>g1!n`JlPuK<6u z9xR{z_@{ekyjJV%T(|nl2ljn*(eWP+t{8pGOX`MwPur#z%xL`4Q>)U~=ew_bQc0aO z3RU|2gwUYbM=Q}25a?X^SSWI^mC(rl8tJ*{ZwH@q(cjqz|NnropNoE5AAH_`Jm+ec z`ga+!S(6+3=^cLxZzrBxfJlqE#S0C~`(FeY^4?d-RjAL0J^f&a;-_QHNkL?4$ z6a3HRA0F?6{`EfkbpiBwEx2K~KKhl@haQwZ z=r8Vr{s8dj($9LxlMGpVe^&INw=n3>#pjtm^m9cYe5(7Pzq=3mC;Fhj82EF^Q{0Ds zKI}vP4WLi9U0`c{S!%+JXGRPB`L@;DBz`sYC_X~Yfi~w{363|=F`yr88)$PGh@Yc9 zex?b%4Ybu7^tWY5{9yy%>XGoH2LCt2cn!2=OqcjSCdl-0gT6gm!uc|>eQdOwVepw} z;8mfYfwmnCHt;d!Jl~K%-;n2gS!|nR(62Sv-66| z0(F6fmGxSnZg$@Es+#J+?2-jl0aXNF;I|H`-r8#wVMc0>>Hq_Mx z$_#KuKr5{<@-u7d77Nmx#?nBoR#{Wc0yAH9V?di-S5g{SP*QqZ?}F(i4fSRVvjX*6 zO&tWwUs~i1lvGvKl%hZAO6hGyr4_dom6udjq5h1jni8#O_R?C`V^ZX+zp-I~CJ{3m z7B2|Y6$v7gPp?^ATNP+D$=MNzbE8&QS-lX&*DqKUDAkH`1DZ$E>blV+n_d+tsRPN4 zf!iAb)un-==@kJXe>VcPd|F^JXpBbvHG(OVB2WFrrEYM~{ zsRkaNx`jpgC3W?I*$t2wq}K(OE~%+2tGAWZ)s-wQDzB?qTvWTXX2BvVr4}8~%BdDq zEt=L)SygsZNmTW@AcVpU<;|$6)9Om9P38C& z*8))_6Il@zrkB*#lZ8>o1kw5Y8psf+vlUg>LcDQ!cxKJ=%q{Zd`%n+#Z?J+kYp6*> z7S!}siY`xEss-wcW}su;nx9i$Sz1#TI1|a?m>F2oZBgK5h;ED@3O)54L8IMS4b@uZ z;(*yO>*rHpEJhxc7ncYCGO}9bf(Ff?7K$qZp}~4aU4Tlp%GF){`WuVttK~=-4T~|5 z&0>&@GGmme5Gqj?&ls1#lxmt-<)s^cD$Yvr#&8q&Yq})l`<{3-y{< zHV?UkD8@vPUAVbYtB_snmO3|39jL1;1(_HlNK+M{i^vNsF3OYh{7el?PM8BXO8-N` zUIQ_`rW(Bi6SP${vj!A3bxY5X+f#2!ZS9Sm#c)@`yDTg>ra-+`w4|<5gY)S|acb0; z!w=Q^+gy^*nbbIPFkmduc};NHaWJwX6ytT z5Q~|+in&sm%bjuktl6_XGm9qLa{az((~HK99hcRe%^csI?a5s^wkJOhY>f{VAhFwx z6?cLnk<3tHLvmA@0*mc{m;qLptKZBI9 zxeI?4Cm+N%J>Is*V9#2cEajmeJ&a?9Slb8P<#D!GjdE1CJtWHe+degLLn>M(5(_SDv*AL*F*e0GyfDvY%(%mrO0G6rt8wmP;@jL3@7f?!6K}%po6f}R ztrFII;SU-3BfapS8Tig#_>%_Sw)sr{UmJKwFMRBeB%QMtet>~b>4hI`;9b4&DF!~R z7k-3+&*+7})WBEt!lxK=Hub_68}VLSFT6?b+InVxThk?+)(f9)jK?}7PBh2m&POEu zj$Ziot0lg@7v4Eb;`LtmBY6_v*$eNSDDkfCGIhwrR+}v|jW5ZRW@dzz0?}l_8zw05 zD=c^;!|MLz zx5+H&jU!}%D6rtoBV`s8TkuIl7@vwZnIRvifn!qJCIRBD`@2R9{ya${o=q0~5DR{V z1#cXYi_%sL{(KAlBNlv$1;5&YA7;U?vEVPX;MZF47g_M@EO_G;fhcXW;4ik&Z?oV> zTJSq8c$Wpg$AX`2!M9uR-?QL#3*K$PAF<$5E%;6g{xS>Rwq61puTd7f!-7w<;GGuy zy#{aJeWZ313I zm?3@i$Y~%_7Z7HM7Ht>sErc1uM|TK#7GZ{J(KZ2JOPC>Abgh7=5oTx>T`k~Agc*`W zTLnCh@cD$B1bjJRZUv&X0=|?mL$YYGfG;G>P%N4+;K76$f9iL#U`tz>5eobc!DNN{l~YhD_0R z0pCKHp;B~*fM*eAh!kxT@U?^)0!7yfcp71DnWC!&Jc%$vp=hgs#}Q@-6m1gl<%Ajf zL~8|nDPe{@(P9B#NSIr#Xug046K3cW%@%M1VTL@>3<1XwW~dW&3Ha2{0W-vjIt6@; z@HK>O0{(>X4+tOmQj9<0Y{KmVzV~M~TX`#B@lhjFqmRLlMB?`|$?DXG!nMo*4PDEC zu6AW)6A3pODd?XO^b`KXB>l7+I-;)s^atwt&REsHMcsK?8v+J{3NSv6p9`t=GCa1#=Yh^X4|UI|A6H^<}U*<{WD93cGeY zvne8bM-Q(RMm;A>)AZ0OR+;V2Ag?syTzaY?@wz9LsaM7cxf`aysb|mg6naGeSpiO; z0;h^^J5a-SvH5o%k)j&w7=;?P{kiQ zriMQChd$O1z*B-{ILFp-u^QCvY6!Up*|+CW3F;i%&Ce)RT1LU>Kw;RO{+}R>o(G)K zFVx)uVQE-1BxUAt{TdE+Xmhl&n~vk*3%y|-k`&mg9CJ0~bvrU4*9^y2ubXSG?Re9F z<7rn~gkI6eG*9Gm?wFbP8m>}Q-*sIC}{1-p)? zXy3ifrsYm-c9_#JOdJ*8mgE0-%pY zuDnMX@JsY(o}0^+J7AzE)X;9vO=@IlVY$sF9aHEZYGhCvoZ*e?JqK$MWvSs2mpp8< zS%$pXT?{-%J<{x6N0ngcVZI38(wp5Ap*W^0QsDE29z%uhS^(mhL(}lamM5m_0|FhK4l~#jTEif?ScqU1vL4nyNzY2 zmuA6jGjJIe+z#OK**^+%W=1zLXJ^{YqCI9t@X2iR8=CS*R=SDO7aoT^!A<#|P+MkO z4&2f>HT<-@2}N}6voRuv0?1?H-vu{-Nv6WGFoPPhm?<_ME8PVc2#bLh#iM)oY+`VH zt6`*`qHaI-wCD{NkODODchSIMefSv-XustBFx#_yyu=vRA2tR#^0YezSpDrUIGyQB zmF7+$)Nr=b51}eVMHOUJa|kS$K~OT+ zkC7J?CtEnKjil71)YlkY5G7PW^Hem)Vj-2l@SbK*L%%h6$zD7!#L<6sOm>wrvLPWO zm{3N2JZeN&31v2+O$gtIK5rAOyY=~-QqW3$-u@`~6bf1Y2l|Xb+@PPPh}0*qEBel z-xpf1W;KgRsx-eSsy!jxv_BGGzy>3O78bMJ!_RWuU&J4Lz5W-`!KqIoBE=%CKMXKh z1D;%NvIx`*c?^?9A52XM(>(!AL_Ju;^+BZF1T*5?5&G>-`wD4gcqzq1H~i7@oJ~8Z zv#V(bTbR2|u+iL&P=N-Yw#*GzJ@l0Y=>CioXLf%R+Gh9jjqY=q(k5~O<|Bu$zkyol z`tl-fOW0N!TX;rvO0H@UBfsM*{cSO*PrKJrb!c}c+buNPeYMvp`Hgl9jdtlm?@B+r z-4wRFLiDFu_*t}8*zwFcoN*i5g^S>_riSG5rsp0(_fW+p=Ef!#!6mzTs?&{cGiq}2 z6TV$|V${l@W(vuSMf$13l3AKyc9Fp>%@^A93|9m;o(*J=i}#0Br?9PZRjF&PjmY{H*{(4iFu)DUZ@>8lz81* zK5_ixUSeX`8(2Ft^kbhwPOK;lJyi&1Lze+J%qCHqiiLqa=I*XP7anN-m%9%wVSOnpLE+6DFHC@QdfI)Q03s^vi?`!U-r6MaeZClcyF@`BeD5XS=NMCl zryf8^7p-Pg6rQ>d`HmO*?8wik=AMpl)=W6e#vc5p#)h)7dKk2R5y+w|g=tT%VN)+z z0@CtU5s%J+ZqNG>yv-M}2t;Sk(JvFchyF55olQ+baOewd#x{L95utpC{*fGfrMU#_ znlH2oLdAoM(foxd@&!k`u}RvjG>gg5a!6@D1wwH6>W4_OavVwvZ;)mlXXsvm*8Jhr zqbTwTOIeH!O!H4UtXyl}0%4bPDvki{zHppdX-OlZ^^txyTd;GWK;6f$-*mOM0>v7) z0}6H`6uAx=-FFZggrOpeix05*$b@QGff}Bu&xEXgV^fGz1MDaKkY^1mM5fl<3Zl?v zJu1Kniv@U?oegc!U;o7DrP7>EK_gRV(Xz&Lun&nX6{0_BU3X$qmMWQ zda>ymE2?ZzL-E@mLV<=lFpd|H=kb8j{9m-+;M5N8;gsfF+D>HZyMXj(C|`KOF66<= zkZ*iXn^9Tw5)3eE4w5y80MhT4H66(J)I1e6ddB$o9Z(p0`B>ipAbJH%3Hun1TN_}i zKRQR?n!w+t|2K(lL?d#aOD2yH)ek7tBfNs}%Lbotd}avEMEww%mEAZ~%fCUFD>mI2Hb{L_GpCdl@>oX^s5P~~#)$Ko4~Uk@&* zi&eD?UG4a_G^J;GL=3VUO|qYMlkEYS*pj1iGqI5ge~`k0$8#(c?jjt&P!<+<7yg2U z*HGi(_yw{sS|BC=CoCoUJy~>xEc(DGTE`-XlwY3TUt?QGeHq56NgCypt*U`4Dit}qD2zA6d5_+G2JJWQGvmOPW?6-8m#<#q{C*v zoI7NBir{SUz{c`Hsn5|-%0bbR;QXCDVrr&Dv;(ny(Elt97UvPY%RdE=E@%Y0Dgu{| zb;6!Vg@VseFfV%I}bWbWnvlowuPCBkI;$I*9sPdGjw)sPG8x6{a-RjmY)LKVUaD!dl$`#s{^~Ul`)zS@W1Y}`Y z$w|BNz!$)`9ACOmEj`TeLt~zh?hWmQ069Vc`jF>7GFt9v7W>?-aU0p& z=vL|9JnIDXo`AfZ1<|=s4EXI2f^B5NMTlu+A8t1}MXv@$Xai_olr%4KX%!wTubbvP z(0If_fgH(bh)uNI7%K-m8!5(FjCbZPW3VqRZ^Z~}{W#cnuf`B+`Eq=xVSL}zF2TZv z@%<;pcQ?oPpBU1Aa%k0vAZU0mFY9I48(QujiO(Tg^mfs^CUhIeJ8}PHk2@ZR`lNhW zZzz#PScr2nw}%dUvUc8el@Bqf%U8M{wy?fqu$WJt;Cj0nY;&MoJKwO6<)4t+0TI`; zIJnjB5B1A>bJ=r&`+aQ(a zMxn76na4^$2d6)oT^<2?X6dysBFtYG#}TFB3)JA&xX8U-r%#_gvFnl@sZIE3(a?sO z;elU*>&>^YyX&EiuJxZdf8W%E<<$%OzBvYd`jluWv?bfNh3C=1_hK{K;B@T%^uu@w z;+8G!7q+qC1U0xJE^?1(YUd@}%%;{0(bh*z?$Fq^`{`61O^xeM5vY{}lq3h?uXP4}Ug&-(TX=z)&%=CZX)GzcYh>CspNiBUt^vDOU zE{5djR&cZ3A0D^^{SrNf8-=Gx@YkRC z!;UekbtHNwL)}zaTiA;F8n`s4@!j3?+u@&XXXd2}< zToaOwswnSxSFWofK5E&e#Yd;T$MF+49lFRdbQBZey_<|P6j`$xGA4YHqwLbFZYqyx)kzN9+v-5 z`>mcrB|^{QL!g!7D?OxE9umAFQ@$Tw;s~C`d(rz*><>S{q0GY~f}kLN{9Oo9 z9>`~-k(+VAjPh0;F4`Y1a0X8fR+_PrL7sz-MYueIbMi%Kz0Dtb&(pOFI&;Z4RGNpL zB}JG&U%rLMr|Gx7!}*LCLoHl48J+nseo;RF+K>L6P#Mp*8#X|{V&~a_G5A=&1a#2- ztr!pUl~H+X@KekM7)j}tMX)CCR;Q3AUu?$7PmI5e!9rg%^!$8I=#3jguOJHRL=Vn* z52FK-*%o{sn^^`jp}l#bt-<%5O7l}tgMV^-#WHTV_Mylho^T!joXX%GfgW+vi4djW9gYi^aI&q^0mC%}ON)2scYY6I4khu#*!4I-=O0PV$0p2Hb zyEk%gGKM8{S63^y*WB*I*oXN;`^CFEy$t8ZG@-}P8|n$R6a9(kf97_C!k3!si!VH6 z6PICi{U<-L@5EyKDI&=S9!4|*9Vq`HZ6I^k@r~JN*&B)q*VhJd=*JtKi)^#ddcxGoBF(+M3@|LN~$jW7z(9Cl%-efcW~5@<2N6E<9lt&@`RQ zUC`XWCA`w&1&io*aBRhN@%zHL6FtXsvtyO!I1V~)2xQf|l$D+6h)_7+o_vOrS`O-e zqE_&OI4#Z>>~GHteJ%EkJ@dVrexpHO3i{CA;QQIfH@cJ-e$6`%&0$(0w8{qNB49k> z?BS98uHdNw%KeRyz!S;o3U&fG&7lwHI*)ISfjOb%_|`b3WhbyNI-#}WTVd+k0C~c> z*`W>GBYX~`d-mI5I`^F7Q)%|Wz>aT>!HZlFidzzJ-XrE90!s&rJRYAM{_HoYB%Ug2 zwEUPNG%a&qc#YB=Mn10;;h}djCWba&{f6Mk%U+!$IKn~l*EeE*F!&M&=rWK{LvN~E zH((^X^zyg6y7IycVM|_jwoNo(Slhq!C>_w-|%-p$3GCJzbZPs2+d-Q7#AE zjjDJvj8&{rbEVnTb@eWMm(#Vd23zO9T+f!h?poM~7)d1^fgh`+qDme%*bZVci1{8c z1hNTSW&rsF(hZV5P#<#1V81u5dy_RP>YLAFTxqX-Ki&VSp=Kt%Ms*JK3Zj+o8$6?a**a?VZ0e$ZVrzBbCBjDy*UkV24JMQ zNN>&nJP|O`T%qrLXLi1M|c~`(bd|? zjwASVa7p2A5GP95n(+Mb8d@PW6@%Wvp0-YN0b|=TZCEJ@wqU6$g%R=a-KMnoPr?gv zeR>pwKxWZNzz9K$W+?}UMmYEz#Jq`SoTXn9>ByW8p%5D0_w zm#QvdkittSk)d#U81g=MY{FAWR}dK#f>nQmjd8k&?V6rV;hu$IU@&=84D0j>Q%8Wr z8hM=h;kA{g&~F?H;YD~SqUx)3s4Zr{~~xQ=8pJa=LHQHcp`HMDfj&c%mY670-WO`7s)?H z?ESl;U#wHdf}J2KKtc2dY+qi)l4*-hKyD3I(tfT*ly3vMrfQ~nD7?0@PC=gIP+rJYJPg5gS#g;GeJ~jF~kmzqicLwqRkR2_( z&JSh$>I=j;wOYw#Oz%3w- zmzCxw;bPz@)XDL=w=>`w(~huEY2F2j93023`XeYjkr`b)#m#uJ3u;m$LpD=gjEipD z$!HAq#pc`_ItDlE3BSOdhyKzo8Z{$VrFl9KeuP#yW%j#AtKkMXjG<5B*w`1Ik)qo7 zs1fW=TPc<=JQIk$-f*SESNet;S&9S5)9U*DvHDBs5Z~ltKhp@3_tfA^-19)#{}SBC zTvH3-f?J&;B+bFuD`QbL*xA*Pj8N4EG_KpZ3^b%#5k)=TYXipy{M~@^=Px8r6+T=o zo#jFZyF<@qyOXOB|6C*Agj~&Oa|3LzV~nw1GsQx1+@*QdAbhq>TOe+ILVA6|4lxuA zf;mc-Aoz!D?4C`u2`@IPJ@=IKqu|f`4x+=MMsjZWt><|LOdWqU<9jk+12v0rUiwQo zmLJxDVPwK>*Rc~5^)FG_aew!HIWeMq1JymEeEHQgoR7YSMma*h2u}K-_sGxzIDN-E zW{SZzTQvtKhbJbtz*#a}6?Or8;M*X{jTd)QbU*n)!71W4Jhp!rGY&G2+aKEGIq`Nh zN(Rzigc^4vy6tmh3^IK`lHj^{)InAeT)Jig#2dtT*-bTb`J!{7L`K2Vx@f)9T) z5*ow{pON|z^d8RUZ4d6hV$Lbee-i{xcKezf>~-kas^O&bA~T#p-EP>;R?}+qi~hlW zwfRF6<}TqN`*BAnvK*#}w*f^l;#37 zfKj`m3JFgaA~!m5yb%u5D~ZwL&ek~hFt@hYCgZU2FNXa*gSV7ued@zrB%x0~`>pch zw&AwsHf{Mc^n55eImKF{ytt?3Ep6#D39_)|jB3h@ZCJ<<^ae8D)kJ=z~7#`s01R!@h^odT}B zj|j4GzLT$+?q++qHIlD}s&Hc@gdIc2@NR!V!r(^xp)1M@eXNFuxYbg;6vCnB zGh^9iWt&)IVyD49V$s3`SW^Mo&(z1lE2vU$xEPVtY+i4)`pbk4X6-TV+2nc!D2n#)NZj;~*YojAOxc!kE+c(NQBdKo&2Lnq}$ zbr`#nf%qx(3RfUM?(IC{3#Qu<1}e>YWI_jDD7ewV<5k+KnS|2U(>qc^F^lNbq(H?t=a(1Y_TP% zky^Y4IpI$~uJ6DQB8vglAA1?2$(NU1`aXzf4y=5IoH1@Q&HB?efIuJOownqtQg9<*h=)qaZCctO!j&yRac&*5+jkxMh&9 zP@BOXw}`Hb#9fw`{=VqJ1J__O`O}Z!wPeR+b3NhhWoH?>=6Qk7=xj(L{AuVlp>O?G zVYbkG^idSG=3vVfj=#7PqrwFO@1ZbA7v!9A%DV!R^PsR5Y36b2WDC`UOY>;KrX&hK ziP~x2P#NA6XOl2!yb{1GfYE-0{%{{yq{P!Fb230!P4^4}s$5L!2m$|cfscVI>H4Tmn*Dz}V z;4KLbk<}3H6>!L4aK$7ky~c~$uLI?W6H3cdRQSY4-AydR<=zk+X!r?tqu{nu-Z~Di zbn{!8Y_%Qrd?$7=K*EG+7I#Boo;w7)mE!)KeAUGnS8RSM05bY1Xsu6C5e|PG>r=dV zCI6*fiC6n-=sh_-3wwY9{dx(&BkJBBe4~D~0Yn~^SMDIg3N)^d1l}JRS}_gX2)*Zf zt_euQ5CE`za0aDd2Kn*D0Vh(JvJ1%sRy;rhLU5n*EEXHq)rXK(=s-6dC!5s$Td}1I z|3-9H#CSPbA1kYxu-f`WAcv_n67Ts-x8}5T`4x4eKeT}=uJ9oaht7zFwA9) zc+-6S5r5Wx<$-FfRd{8lhF@o@%C5eI!C{Xbd2Ny}-QXUAQ%Up+QZOW?eu_QRfjcfvIlPC{FtM-p(6?wDV zxBi1z1~Kx^y&v|ZgL7W!U4O(a6cKF4UiK;oiQ5E9^GOtPZ{GZ}$Y3}AGm(kYYJ;8e zT28RDpLSth=ruq8--qe<>x~G+*RhY+M+S}(XoR$0C_lv?8tB&VMLExHQt*1&?ZGRB zJp21+Qx$$Is;j;gmGfIseS#z8e=XOhb5MCFOI<3>zd^6n&}cXGp@!b^hG2FWTy#Ir z{;?iHRTI{i0RU1I0*P#JqeCyZlFU7eM4w?T&pNyOGHdxTSw8tuF-eq`TFePG)S-q) z!>e!uEvyD#-0P>Tx(X{l!(j|~!S|)*)Rrr0+Ylg>D?_&Xc6PvQ5VZUUzT|m04qIb; z@MBoX>zC8ux=`z{?0K*YcJiMx7prN2 zSy`a5hAcRW8sobQmazbhqsB=TOu0nVn4vhmX5(IE?s{M7%^CQ*qYxl3>uqW9<)HGX z+L+8vbuuYTbulSR&0tcMn$1K@%`XR!?aVJrEvEdlQ)`LZ$;Vzk-sdCA$I)CRdEhAK zP9isZloNvOM6Pg@3(vAq8F*HW%EnV0m5=ALQN<8@_NZE4@L&@~YYA{nF_^W!&@o@| zWqa^|T|4jCG-a;$jZOxBjmRe>&qckKi%}Cthbt7)nZ|@iV5mQVIl^+eJmJbekv|p_ z=TYJ0a_C1cfSI5&R~UScc9nym=|`TI7q+3_3ez#>ghyd(M#r-bHLx3F3!TX3L}p^Q zUv1A(p4yZX+V77H{|B%(HFl+N$(|GYRQq~w_$n2i+P+JTEPEM;Dl5f;M{Y;Rt@K!4 zX`3I11fphe3$Ed{*?Ff3Uic_&EITiPSKq=Dsp}8K$~ep$+Ljl3(-#>s$)h~A#dqR8 zU+}QQxBhUf*WSi^Jh*shZ^x2=n@Kcqz6$lhz_sOg#%L9I#%i)7U-}7YYO3UvM-Em?S;|svfWG+jqmSI`q`cvTx?e&G;^@ZN{?To^s zyexKY9z+G}-^Z)Z1E+n#zuQIdFNdC?5sigjColBQwUN>9aD4rC+|FCJ4ZFjE*yz5B zOE^45!M#wWxdls2d8;pS!;$MF!?A^G!z*fds15euehlERP+7&bA?Mhl zJr$=-#WP+Tg=ar4xg3()e35KS!GiU;!U+L5Vr_)?D#-;$0As`i{JxT0Oc*03;HZ*Z zK^P+@;G;@%En$q9fKMvPjYlxcX(B*)(E?PPjc8+!(i~!EQRd(yA5K|sVy<8{pT%qW ztZ3u2b_bpX+xeg`aW=N2iEQ#Mpj#=RTPdJhDLBf)xzWxcGkw zVwn(bd0-G)?t%q~yH_2XyoN`>flqfNhVNo}Lv0MhN<00bQ#cRwBLZbG_NIDbH%ise z(?&2h#SF$yh+yn}_Zh+1=I3OTL=zFg&|gsQXE5e3eZ`B=nXU=ZSDxZ~6;_2yj<3OS zAr{*pf-=Npo&hiCWxcOFumTmIW0aE9va10e;C;lwIeQs$mKbfcnr++wQWmI2!5*_< zA`7r<5f;A$-%%14AKJ$oLkO|xvM8uOGF})l{H-+RSb3M#4?5Si5$|4yFjby4hzo9s zB7>!r!6ocfY5uv$#A%CYu~)-jm6lH~1!IO5*nM#mu^J?duP5r4Jj+1F{Ms8ZoUZU{ z=cfMbnSY0R^S?#?<9~~~^53GK+y}LHGD1t^YZW}G;vv>qq1fqlmQd^{fU`rfx2zEhrQVFgcrIf^?v{4?=5d*e)0P2_*Jk3`Pjg{sW7q;u){p&- zD?f4`F&+H&_sw!I>=OrlB>D%4ym03@NFpT;n$Au4*tev+>s!*z`IdBJz9n7!x#+wY z7k`h*;GMmU-rq8#bw=;6{MBMIF9JB*WY$2y~ zHqE42e5)IK%^oxHx?M0KT8Z$Xd6C&|j^F_pNe)aScp7Wv0Fi--(8PkLVIjX0nKC=RpPWf_%+Nb zUgF}E<`-aKD2>;a;@MBbFD=N;2jj&IkGOt@IOYln@P(2-+Ko7D?r}c8z+MPJ)ZAm` z%KW1UKQjF|?cuJ4CYDh?U2%>ck4j&gl}@wL*Qn5mzf-6rc6j4_!7bQ2JY>}5ohEF_ zMvr6PHjAn`%G@pGcx(o0E(5K(8}OLF9^0+B3|U*AYWeXNLDtS-?SGiHUuErou;Mm8 zUS{p>s6Fs%*7hSNq11HlQtB&N`wg@9Zq|N-6&c>m-No8FvHcu!m2BIrjh`nHl8f5! zn6=+!?RQvl4u_?mV+#mW(4Zea66ZYl{&#*=8>f&$1ks#7R z^&*|?-Pb9m>oH|+d;w92^hYd|W$TH&k$I0Ye9|@d@;dUEX|MNggYX9~iq7V1CaYVS}d9_6s`f zPH1Z4AY^_!b|LPOYH%Z_3XW#{VZ6E_+abePK{7^#PgsF2X}+F=v!3Cy0?vzg7erRL zkQI)ZEgWM7?u6zaL51=7d8dt-526BoB?lr65%i}_dSMzTN#6UL7;Z>!YDP$Z5r}1P*;)2gnUB4eTgs933T_h$udod248hkq$B#tY zPVY!3li4F-c+RSk8PMr*BC1Aa!|)4e-p*ws^QqC1#l-9a#UWv+mvJt!-B~>vR1TX=!^S8?+DHT9l6;fT&Tqntr{WbKqrt@BeGFU z!et{M%={yyD<;2MHQ3RlqJJ&orUcBTRt@b@gWK%E53p7woG-1t1&55nv{#DLMh#jJ zCq=W}1?K*do6oo{*nPGkH+SPP%sw2g#BIQCQCam-9BsS`lZ$5z{OzG8s1pVZXC;52 zfJaSY^Mxfl8!t6+@@dA_YVf1edARkn^DyTnUzn{$#cLz}(>#%nyFTJR>BpOz)j%@( zEjAA!x?kTIKY8R2{YLzzi1{9Z?;p#R!`m?&hudUi|Cw_6N_P_&edbke!HeV1@#@A{ zjz1qFJ?kSVMUAv=__{|9Pdy@an5>^-vTmWzz+{~XN}q_|xHCi!la=2-Kn|02jm#m& z2OQ7CDFkt;H1z_Wf@X{R#u()U3}f0(C4Hb9&CJ~iBgc$`X;XvQwAq3ENwL?Y*b9o` zu{^O5^PL_AgYF#I50)JjL>LwveT?S!`#{65<_cCOr}s@x@54^qf)l4W8pMc*2JLK6 z@`6ZFG*}gnV4)3y3F$S1E{1eRO?F2?Hy+=IW}_hM7A(dW+JVrWv?op4lW2O16cE48 zLRBlxtMO#>!^Ly9%}Jol=3=7RGMFs02?4#fd_b7!Ihb!Y&NpYFO{`-(iGQDuqkNp? zgU3e0`wQhFH@m-+*}ce?^>^W^_0Pa_S^sQ2z5VmiiP`;&@ht3*Iiq9F81l6gi!)u^ z&i3QoUmJvF5iL|p;aH)=(95x0obh&a9>Zeq{j}2$W2YU+9UQK-PULvxbA3rnGhaDj z26^A>ELU!he`*xowO#%=1N$l*+QFy94+I%9g>87?r~X=xp|5%L*;foY32NoOR}`8n zY``BLdKeh=IBh+N@$!+xReL+jeMm@I< z@>Wvf{)C#3?>w?p4=f_4S8#L+nAnP8H(EKZ_LKdR2FR3hdCgC3eJzNOAfd2VAPod}Kc2 z_zuMJ8{v`RT&_r_Fg!^8F`Nr>a4vIX4$g&NIsy)n0AK$h7q2wmD|7v{YiM>W2*KDg zJTI9M!B|c~8Dv6l-An!44}ceu=KK#a^rPsGWoD9!VH_g16}9Ci0_5H6|J=`5n@ivP&k>@HpD1gaL4BbSSWg6jv6}#ScQi2f zOV(y=IsYrvo-$e1e!|#Ll*!svQ)xl6Z5e4|6-L7%GM)c9%w;@Y7f@&!&ogL|@%&`e zlY1DkYZ0sSm#7CrpZ^uj>>63GcOd@*iYs>!kWZ}l;tkV3Deex6`#QuOlEvEotkd#q zhuu00z04O>!?XDGW{KBX{w(=AD@(r4%95|MvhvAqpLm^>C0=J~S+zv<1kqxA#aIcI zGvpSTy(AMc2+ypoZ@maI3So3M_bom)^6?5E!bZe+i(#WGL`Ljy82-pzRy%XF2r;l? z&nHIsZJ_3Ff{_fL#N6NM9w#}O{SaCIBoWKdh{`5q5c@f@RgK8bTrDGZNIWvlLj7X;|bEkCD zJ!Qb7Obww(#`at>h`C=7&;Ob)>85nzDj0qU3bUGV`=^|=eoR&$CaVvV)gxx>e-7fZ z&)Ld*(8yu7_Ln)#*1tm<;4oVsmbrMX3~)bfj0na>Y%Sw<{JJYGR#(#F7`N+C^Fj2y z18dW0+zVtp#swXI+8K8-w3D_&P$CfD0ch^)RM?+CavZaT^=dx*H#_m`uK19|pV|Nk97mC>3i`ZQ$K(LOeUBN3I5Q=F4Y7yek z{T!p-9;hg048iMqZ$_PWTjck%t(--tIz zdG@z)#~)K>|LK{Lfd|y!c0~B{CryR@^G%b3s~YcWA&_U2ymMO2dr4~ru+rVerg7u1 z38{QgXVzqKkVeL9R<29T>VfqfGHBWKNNFL6k3nO-yh+fCXp=j<2z?zJlNjX{| z4+Ck0(-6ivBo5EHZ(@{Z_fQTLl&^u(--84tc)kgwNr~#iMfLY+HIh=zLNAr(UqEWI zk7FgLH;zHC(;w$zQWnQK;H-)h!E|93b3*+G3b6LC*O;fs-1tOG|`#Ww7+aRrq zAFrs@k{Cd1Uv(l$*1qoah%b?GL&rS=FWs#csSMWgLZ9QiGRjCVM{Sc`jje()W|bkh zTgiVfnloeSfAKsNjx!%2xl=pPiJn|>`i>n~3*z^nh!bK9gV!qo=uiGa1g{ew2EZAS z%~+@vEh0cYk{8jU4$PhLZq6y3j9xM34$vw0@lF)1l5Z5$q$>)>nZNQTiy8#1ewPtlusQ zaat?xmAo%P@WmIQ7y8d7|1x(Prw6(^Vl(jYDcx~6IePE6VhuaQmk+p(|iz8co@9HM*#46lQh2N+!#OP;Ip%!1ct zwgJy0i`621UbrYvcyJzWgrinFuzox4#;!De+>;k8PVDxCUiT_bol+xHPQYTx8sCKR zhKG?(CnH|C{`M^| z%m{lI_hs<=GvdC?M&F5dalVPS<)7ldOgm2~cweT|FYe3msA4sE;s65iNt4Xs$_0-p zv>Wlnl?yz@of#Za(8k8`P7C#(;lm{r#d*02rxAv&3>F9siBl5r_jE)B{K^+A$Z{|c z<*0xd0|cm$VsMBt5!j_2;jbZS=xQ=Sm}Y=;Efr4+02{uk<#)Q%!sG+>!2mQ^=A^G z1JHv8u!q1M0>DmQuQJdKIQ1d}-Kft&j$eVuGcX1EbR(C63*Ee--1BvvXc~&l`{tOi zhu}I2MvL9Cn-g>HM;M91gXmYm-?_sb-Mz!jg9_vh_anSqiVizUc?Tj+g#XDr4&4m> z`31r!4f+D-d**#F?#wFW*0LG4CjDn#WbTofktvEA>O3>DeGDCwOJY#wVzfnoW3?Ob zjMK31!g833XFp9rP&G=8?p*aTrU%9K`LM zdD{^lsz-=&ny8&XT(Q@a+AMx4=R??4%jj*HoR!#((7 zjku!Yv%dyCp2CnhuQ;a6`-HRT3U6dSoX~pJe%PC}TWLP=0bXbF=bU&&=U$kcynEb% zUwT7KEf${Wv4cEdk+0S;l4B6*Xr{ympA@InFKHZc<}e z<>INSWfsiRvoLoWn3=ZfhQ+l@$ClRA1;!RFZm7~K#gDZVH7qXCDr`lbS+hKIi#+*0 zOV(9gqq)j!8mh~z$jW-x%sGC)tG1@HS_{LVsk0RcphyDsmDRPj%JQnpTH7M=EUQ^yt1GLi57;WJi>fs~>nj&7E@4Ki zv$4N6cG1RO*$l>lV_LdvTy+_Ke`aCB;y^Wi6iKj6ca@e@kJ4NV0f8(u!r9stw^{%X@VL?^kEd5M4qrMoXf5G8Q z{jwvs1(q(Ufu7Silzr7UMhE|Xa(zWfZ6J+(9-Wasb*ijnXsNuW&ShmOj6W%--;Pja!!5~m1SjtYFBZ6O@sC=8TB|P7n~2BQvTBECAIYp zRRLGcf<=K+F`I3+#WiI_mDVh-6%(^$VM%2*tj;sd=Q7-qE2A;BQT$k%Rsmin7V}fM zNAf3y9M3-a<^Rw4&G5|j;5F4*Z0lVO)wfmGEU9({s>>=%s%7goTi^6mm70d0O7hX7 zKV<<8ihw&Rt1K@M)X@pb;_5(sy{klX)iqRWm5VvAEh|CKLf|q+i|%o8EqoLFqi~*; z)sdF;%{H5=HF`NpIDt`AY)OMwGiG6+I#5?aIhRzzvdYKR zE_J0D!!T)F`q+dS4b`O@7LfW$2`(3n#5Gm=PU#1PUmq>J^Jw_6(ZUan7L$fgVeHIk zb))GKrk>$KMsu=SQJLwZIhCgNOuY1ju~@jOOBM&Pa!rAg5k5L~&NV%NG`VYRV*N}@ zttzvP=EEf(^G4I5j|J2Eskho(^Ac>;HLh}_PjvjHB~?|n94>~gs+y8AE*Yuy3AS__ zs*kq0#*D#wQj1>G%&}-`l?xkc8tQu$q?V1rh%BrQl-X*ayfI7aFh<~H%3BA$RaOVM z1Xq@7=t*k5YYbSrup(n1?!dxTLLWaWwRF@NEXw9uZqzpn5UpT{(3LJozOv`K0V?8n7`S-ZvG{W z0R&^ISkD6G8Muz-0Mk}+2Z{66G$Co_ro*Mx3X9g>hXsy<;%wmcx!&Iv(DGe+uEh()q zf4*?EF#$)V)?KXqu9*U=E^M>7a!X@tnK&NHZw)N_m;gS>Kmyk-x>0pqkT(zM<`GB`*${r^vWwg z5dHbdPxijVc99BL$kD4^`$e&nc^xH%g!kYlTad19>FVMye$?LA)s=>{_5Q9d{;rZM z)YZkeQAd8*)zyi#>3?-~t&9O4hoSsc;%uaEBdtaH6;kITIeU6(X5*grREO?=F$q_y$Bq;>df!{0Xi?ZDq2 z{I%mx$KR3oTa#AD$J~;TG!b<@NonY3ceipAV;}DaK3=f77HnpKjTdaZU~?U+iT<=f zrh^Z5b^RRnLYX2lGrM&hb2PzJ$c)6;zuCK?oJ5-w7bs-;bxE!}5|W&rB!@2%v@%neD z8S3mooukNeOdp83j(S61BXK#@o0od?P;cI(>=+H&P|woFjKo6VL3x&zY}~SNK52M; z@&fHzv;jRDZHTcEZA@ny*Cw^b;Pvr2b*?7H?zbmB0wu1--8zKAzJOIX}u!?)XJlS3b*UB{}bcX3~&d27ET~ z^N7dTt&G8J2*$#Y8!%K}F)eZvZMFgwuK}$F+DB=(pta5mXyiWHUa()x7fBPRC1vL% zsne43^O7=RptCb(!Sux3q=`96+1Dnio+Qe%0)KIs-|K$a)%C}2yYA6l&-e)4`Ox#& z8TO=gF@;HO5O-TlPSOscrI;JfIXvFPMdu)neLfc0qFyZgkfjx}9K;pqr_oIC|HK2yT zXRbi`G1`)t=RNx9nde?P&s*bSu0N*;-o%(gNsq+cl(ZT~z6K6rZCqYbYh3IPW0RWt z$CM%)vzWOeCOFhg_;57wt&+c9i3lW%q|V+k|=(fxnFtw8!@0(+t1V zGrw|^+WW=+dh|JMKaV>5?(>}nzSF>W8u(5F-)Z1G4g7zsfmGS|Hn&U}cJlLQ#2WmV zFk=rZ{Hg&DlxS>rWd`5x5TCdCyHNPxd)nf&;su%FN~`#od&mn7xYa0U+{TYt{>AAo z{Ej>J7l`}$F`Bhy7(tA&y|uL&3v4}u#x`ONdIc2Ta0wKksdJ8<3`%=5}Wv( zZ={zQ=~YHL!$@y3(sCoc!$|Kl(ua-ow?_I`Bi&-8yN&dKksdeFewP~U8|h_6dXu80k$$T5hCw z80mdR`mmAy)=2+qq+5)1w~-z&(&I+j&+s?r8|h_6dXddP2g@btSd6IB&%Rxk4;F(FR8tIYq;IDS{ls)1JAG2kcrU-&^u_1*LTwg&o|Uw1wtTT1KIVEff)BKU8{@pB|k zrsmT*(ae2wTATgN<^R8z=1!kJ$(1%|0bYMLxU$AxIW}WV=G6@X%v?S$V{FFwbcwc& zhN@zOx@4^GOqII(gAtMU)}*8l&ouWSZN|u&5#G7!1HUurYv)P|aZ1~p81Vhz94GJ& z`wYl3aK|W{?FS=qBzz9RVm?X6KRvMXf-F>sb@V^#LK4@XL2O($Q1OmfyQ39*o;WbI z#m4j>jBm2U+WS2SRBTNAwXo8Daq(DSZE@UX^yeey!x6|`ettGirr8DS4Gu?Oziab zI5HiJq5H(s(6!@A(Y!73vP%J6C2Bho6_7cu7JxJHb2R6eD1em2VHW_%5`Zgl684pj zNdibq9E`o1W3m7;64zq~>6jvbiHSF3m*$u%fb7KS3V>_@sEOyZQI7!f69-|J=a?pd zg2dg}ayq={-v>F16Gx&iju}Jv_O>Fi2z_#>Lh9PY7U;?06M&X@E23D(wTZt3L1W^@ z2txN1=w~K{r zZHYGlCSG(QQG?$g z-Nk}#u#fnW60c!84IGoSk*&T1z5~aKJj^`hKlH9V%L1-jtoD^#l#wO`%nSTu3 zO`0t7F$XXUl?#V7fl~QF=pi8UnO&9 z58h3h-%6T`N%N$n`3Y&B5;W&GBq2Z8E($K_AD4}K=hY^B0JbTyc-T_j?T^Evlp>JD z*b;t&4mr`29NP2v!k-FaI74J1np4Fu3QfFm21cnG>VZc})TsXdAo+ zojNagIU7j$5hj>3rouUw-1xH!F^inkgDo)?jmF$IYyfocuno%sZnb^LADx5~HH_Yn zKgD~Iw4q1`NZbk?4|ztA zO-$SgE<>J8_Mjv?@k%_0JeQ0sjW#ur|K#G3|ION)fJaqi@5A@rPRPyeEWM^X3lI=O z61Ida1iA?c&>`#rK_V)IeH9`QL;=ACg;5m74HOY~)R~bP_iYA62Xw|kXWYl1qT_-x zI=Bw%DBt^@s@nu~e*gdXJzqc1={~3G)TvWdr%3kz z;d!yP!Mh5b75Y)vY+8=(&aSr86-v#>meKF+-kl^*gAr0Gv`Z-H>cJBezCbH9ObG%r#J;h!=>hM5;& zyFbl72esN}-q%$8ERY9#J~J<+7}CE2MUbLq-V}U7hb!Oi89GkDDm5pZJY>w_XQhSq`*N+YO zw@A%qUKCR;bX24kGw)iq=Ub8HnRySg7rzs!)y#{rx4)MdS!w2tz&afIF;Iu@UT5ZS zrPqcjnH$XfB4(Oq=m6Z`Z07%ieUV~z3S)L`HL;2?psi9!)*??i_>^pPOhME-C!J9% z5o|5ZVxr-7&~?@_=@6e`J;A_V?kPl;)e&)OU6FGpcpD2pI+OiN^79Rew2(qRjc?XQ zn%b1J3A}Azjdv-)kdp$clr;fyVqKYYzi9E#{zQubb6iWSzC{nN%6?l^-=`|)_m{4! zVaN?P2f7M=neLW_{+gs$Yr8LqJloF2dq*xi+Ri2fwRMxPOfsvP z$(2Vt?7@Oz?Ff&N%v13$oyCPgRkBy?4?)ygH-|aO)@dB^o!M)p#Cn!s$8q&IUP2o` zj7ehMlFg2@9?8brtzkx%^&QRK7Jgbx?5BxpESX#~biqr&TDOP)AqpQ;L4pl4Le(KX z&T0)ShogOmvb&@Q_&XK<6w~htGvutD zcwLAmteDol;WklS<*HtlRF$9##EPKxmqO0Pz)Wr~2NeHRH}EeCpEHwunU%wdl=BIe z3TvPeoWH=GrckkO0phLGjJ7#OsKhJd+X-K7HA1DbYS^7{bIAzxRI}In4!4|MB1FAK zFc9h^+g_pf2W|y@Md;?u;r>(RWmZ12Cg3eOS2=k0^}7n&Q0Kh~?uE`)8-w>>?C8ak)8u`J?ko}0&E8lcgjNw+yrW<FG_$s~++WWuxv80fpb<(dtgmb1du&?Mg4j5y^Xy z^XKl+YDA>ry_W%ZPxRLiY{S}*19<3OPY0;kHfyqNP8r)~SK2lm#~eqla|Jvu3|H7Z zj(JN_O}H|^!>-{?M{C1Xem~Yi+xs6F3|IS?Aj9YV7U3AK5w$4nOhnPlkI~h(y`3gc z$D&)D=0G&;?lz1+yj%;<|H$?mj_LRLl$g0B<4nQ!D|>tpt>a8Sze zsbPcByI@CF8yUdnaR%A{L3Wt`x)jPXJzR`)KIMG7$jr-!e$I{XKXkDYvgrR9 zqy~+gX*|VkF#SUy7Wg6qQ!fDH{Vhf*5({#NGQ97?wMbk9n>vG2cS5HV?$1Q(0s*RY zT3BvG>V=0!G%_sp8Cr>82jHs%`%OtN0Vhn=rWiOMr5Qe zQy7g@rw_sabZMJuL~4S<&RM*|hzv@bf}&k_V!R?l(%68m_p$2XX>_#fiE4L<44k>UST*&LC z)N8T+<@Hwl-DrCL62 zPt%u<-=LQ|PWGm=BaFZ*tY4inltBi;8_<`rIA#PcLjQLfm;W4+0z1*JPKTmA^aQ+x z;6E1L`j*yu2Rfh~SwBEA7iOhA^bVkWXGb}{4}ID>Poi49EIk81M{&THrSr%fhg-`FC_immZ2Ag3PV~#h;2Dt7}m4 zuR_0TNb&pA4C55-&$Z-Ly8|P!oOX*SonDxi-J*)$f>o<~PsM+QdD&eL&TK3}-Syx+ zg~93GN9i2GlrPFw{AGx(qQQz^jW{T(Q~Y-rm!f*b2VuWxwBqB4p`tO0{}I7oG*|(l7t%XdofTY+PA%!ZzbBd`w=@OT?$Mu(U7&EiQg z>irN&rDd6n%0lB5e%Ln4TQpW$?imi=nFx1$rGtF?A$Wg>*eI=)6RF|78Y@)kU|G>^ z!`Y3Hm{&T=Hwr`T?SZzHjt*UeGKP03ER>GP<_1*keG~gz=~xlUyzd}TOUH>fHQr|_ zH2F$Urp~(&16n%1fW{iV=b`sYC-``E)#SC1UwW#SSDww@_pzpwPR!sHRSTToiM&8z zH^b{{cpAX`|78Bk&Te_SLhFe{fr-qAhb9s1Gy+2@^y<)o_G|1fyNI~-=K`io$DJ75&6YI2`Mj?a4ob8v$L2BKaM zMx-jPuS}jpKvoTM{(|z|yqBQPs=*?3_bx^6SJjJJvE1IPY7n89cRhNcYPbkx-j~p> zsu6(-)KlYa#_Cu#QiMA1H}qhXTqreqAH{%HjTWKFdlNQ+s&OJTdwEa3s!4H?VyFM2DertV$7?(I$k z7fG3e-UD>!Vi68`|A2n2S}(#8Z#4~En#BXi(eCqS8C4sFH*j(elwcflLw%r8G;RJe z!-}KZtAg2skzm^iyvspqCKwfU959Jbb&ch0Me7Qyy7}&ahIc1>v8U8(c&}nF_RN#1 z?|qF8>RCj==lzgl(z}2~cpRj0Yc*z5RbLNz+h$nV5>B?wzP9ZtNC}j~x9TDljL%?| zt&Sa;u;_oxTpRV|~v6@s*5#IVGCQ6PSeh!ny zdIvt{q-PIDi)?!g-lZSrfKmOxmZ&=@w#{Q>;C3v9IeN>;L)0R%vJmj1b=_Ml$;F@`|D*Wgsr^4-tu^tw8Yod<*+w zwc=N^Eo&728~S#E;_t+I6<@3PAK2%YD1H?CbG_nc(a*~j|2-Ck_!WvjkM=hyzIPh< zD;3YDhViQuzm(~l6+f{U{1(Mui`6IoOT{0eovRhU6LTbfjp9dQ634Gq{B?+*LHZz+ zhuvh5o;!CiT_53Y##q#Tq2^I7`eE>LnO~Vxi-oWVBJz4M^7QVoB=#Bc>vfw&*VbApqSz&(zCAmx!*T=*E)QQ zoMuK@Dmfw$XIB3d?~A-5uSr0iRGqTFZURU zC{xcF8|ph8!ZH&59&4%*{QxuAjNX9`w4#5;D0!m1H<=RsHQJaOor3fZ(Ix2FwCH8* z_~@00?(}E`)j82|(D6oRB0VEoiImLfY>ZJ>^et4J9UTr|ebHmx5eZQXxq;}9NDoE_ zAs$1~#V8eymSNuHL@N=+k!S`yj7Hx_cjZPqqse*2|ASG4bAzaA=>BN9Gb_6*6xTq* zh!!Cx&FFO)Ei1Z+?@6_Hv&yKJiOw~mtB_?zuR#%X+Yyv$_`pLe;cnQI8fwkXBOsLg z2Tm3?3^VPEAeDZIplnE(c~3wvO8(&SY9 zEg0F2)s`Ht#p2#@ftl6e6euh~>CRw|ADgw-Shi!GncWMS9VbzP75N!d?Klx>LzlW6 z3rNGoX7&u0TAeH?Vg@%t!h zrj=Kc+ERZ~M3*oj{3Ig0;VLux5cE3wv0}9I_~%-|G$Z_1cHA$`>`o}qaZs|iEyk+daE6j{OH(XJElSEOJ;wN%p``rM*HR$OvNG901*Lq9 z*f2*)g{5yHtzn*$x|NP(BrmoKzQFt`E*-@oTW$q;Xe%qd21{GRc}lA3IR}Aa6NLFUN<`pgtWi( z-<)S}n|XDRUM#(ki`DyPUIV1pOUtq9Hyk$eM?*STx(O4j;d8Uo1W1QUs~NFJ%}&jb zj+ExIzGG(oR7gkj8yE_yR`*$u3^RWQMX!~=0HST?PotP&by^3p(9A!FMMFCH%>1ut zH{a@V9dhf;{Miim0xNqv#6}Z;C=aotm31q`CNqB>8{OIJybEHpng1uwhC-|BZy>gq z`FC*|b+I}>0CAp~|2u3A4LvMrX{%{u6(E@;YiI~_mWzgMb6LfbBJW%zZF`cubG5SV zd*q#W^K6^Tg>7?g+cuXy+h)kyHbXP(d{`!lbqlGC@vO~AAth5El@g3l+h(I|n^W1g z3nYb6h~pC8!~bAZmslPKPe~Uv#n-UO@^Lno@)3K(l~&YSf}*8-TG?=w>Q5V`c{kIx zAH#dNH#ersEe{tb+x`(rB?F<|)NqsKy9tHW61BrpcQ#AUprxIbJO%aj1WISat(KgB zqNR_OBI|Z5o3UG1%4ebtcPpt_x$}f27rkYrMeOz8TOm4EqgJmy%1T}7F*^RV(rh%s zgIM2Q%j1V?xJMMi0jm@JLbv0+cK~6Wy3(>=hLG;r{5)EVmu+(v$ye1rL5B2fosse; z_?*iSYQsC3dCbV!K%uh|@IV>y)YlhAJ8-#*_l`aBrj{!<%COGr0F82Af6*93jmgyD zAo*p=rn{oixz22idCrF1X_nC#3z36MoXKmzic39=&aGx+|MZWLAg9bm^<_)LTiFK{ z4UlgT+TOm1_r_QcR^`j%KF}DK9DHep!_la|V2Lly)UpA!0eanHcIU&NM)j@AdANy@ zz(i;q=3(Ul9|otfDZ)$gK0n~7=LrS4>Zg0wJx?!jv+PcUlqW2yvH|t$iA`Yua&}lo zAAZNd^G;?Lq@{b@Z^UP@70pPJrkO_hH8k;t8EF)?J8w)e{x>2{OndH$_3AUB=B!tD!U9b zjMH@8rg0<{9(`ka4q(WtC{$Mzgw0_1eb(yH5F#G@Is-yw8-xpzW||OM zsZXVP4)j97i;-23f@3kL|7Hk2*!?Gkn;`J{(XT)?P1SH4uf>S=0p=uYHFz<5f6^@R zhEiWh^%V8iX1_tghafR~5W)0EkeKDe+bmE`%SmQe!0bSJ`;g8slN^>_d8Iy=nzqrc zVkC?-f}{$baF$Y_=i9;D0IGTRXR3&up}k&(=InwoG%4M4+GbrvY=zFg4B0QJY_xcQ zIWgU{EUC0hD_sqxPqfksDw$R0tGcLN_SJ6o>q$>;(%E$McW(9tZX;_RX_qZ+ zxZ2Iq=Bx^EYBL(Y;P}~$$-S{7BK56aLh|G@Pr9ev*Ev)-K))F+dwRO(k;&muG!fr$Y&v9 z_E|7bQlQ!LOsxK(cw0NOD*FGEbhC-}GOg5j8A`GB3sGV&NbKDQhBqEn>%klb#fG-C z*8}DB#Hu;kF5R7Mv4J|=9v*ENGnDf2#R@~?alZB#@igtwUTDR-YJp>Wr4&H`Z@A8l zj2fMN0NHoy>eryyaGm~lq(AG{^qb9YF?Ym2LiQ0|OyWM>^SD+*1apOmEz_31glcxV zo@RTJ4!DC%O9NH5r7i6{$Bd7T?U;hKMF zf#V~StK~Xv#TYah)5G(*?27IW!UU8I3g-5g>v6B^+7xQk2%m)x1l4-FA?*vft-l8H zxlB9XhqNyx?EvKGnD$8oXgT?*=x$*J?B?3tb|`&aehvh6u0I-V`RT2($C-gykQsd~1&xT^eC zSn`-^#OQ-#97VbF~!+SLf95S<;84timAQbxn{_pa*&W}DtGID zfm=kL4yO2fRu~-vs_)F+NK;jv2K8Z}^5?k^+iv|2tSUc%+3ZPo>p!@v{Bv}U$8j|t zSylc^IN74E_bE{!#`}j;g9Z6#9b7>u|pCMBM7OuC9NAjftx2?t=!OVU%CS;mvic zTeoINgb8_Wbq}%K`Kr2o7y^Ffx_$z?y+BoWJr16igUY@1p`%;f&eipwG1@z+>iFk$ zok8WlgsP{rTiu2=Lq6z^ghIEv?(Cv2s=6Myz{~{IA7BS`Rn?8hIi2_Y%3Bz|r?}Pa zT3voR1EibjYec`Ldk#LM=IXFk^g?zGZmj}e)9?&5<;nwLxq9dd{Lujt!aV1BwmhV^hk4y|rDRhT2I<*2qNSyLIt$$ZB2b2XC9Y6ooHK;t|C zz6a)Q3f%m<7UHr36rWP2{NxExZGL}E+H0Y`Kbo0&^qiaDnJCc=5_>zrY^Okb2f@4r ziU-@cFESCk3Tsq%Vi9%V?aD!+G>4 z3LI(Pwf2JIPqZItiNuSN_PB&FawfX=czZhm5__A#Y@|SYFMxRt6mM#8FIL`e99F{0 z&qdByt;5K(%Wyfjj0dVxNh@qFb}QKlX1i1} zY;y{J5tB4L{kY*udLJrRRa?d$=y{NRF?7WsZ-Twy8uWIpLEAOj=oJsf?3YR z!NCQUQS+u&(7lSI87AUpZ0J4W?nIpHPQ-(H37_ju#6xNcpX*Mn=6CQ- z2J@g=1`erZ;K*ttc8*qKwYjKCj(f$|sIqu=sZK$(cTyz%mFCZp32s@2&>JgpJDZ-IguxUFU|3o?CGA=%}Ql}IpO$OZGhR#D~ti=>6jF& zZ~?CEJcJeVL1jmsH_|=D?qVCey`9pVT4@ccL?!c*N-t}r)UoJ@I`PPi%gN*@7Xhw7 z6U=fWmad1BdZj1mZC*pYep;_q>&=5_jM4$TexxRE@14$LW_+sF=gwX8x)$c-rw2Ko{`71hB4}q zZctmVtZ{>)we^K;qO!KW*Kup>cwR3- z7$5?!mB2TWA2;DORA&Ccj8K{|zM}}8D4e={MnC3srx06&HIFZDH?aI9M^LFF=w2qtw|E>i&3mT&yf=_0b z$P#>bcuRlul2*vQ>2u%7STfD7@?guD*bf7j`f#dAO_LklsmqodsgI`0&5#M7Wgz#l zRJl_!;RvcoeOw7f)0i}@J9$>f!<}b5%tMe)HJbXPl=Y$+^6)@4X+3TtKX(D0Ne_d0kOI5sZ7^?vj45<(kG6(=6-ih_*3mb5kk%Wng2cBo!8B2z*Pnv< z2vo%);$XZF7|>+c$k+&t^`Q8dT0>S`emkBo_khlW*AzCiRcBbn zi%9b9Dcb-;(zvH!uQ()r)*!X;)_$FOg#$Nhuf=)3Fmvc`jo~P13aZUF} z;VO`ro(^Uj1)AOf=2B1%k1c%ZLyBBc#9z@(DjJKS>Z>&_8;xge=+ES`lnruGOF_W;BG5Vr>~#^Jy`?N1Kv;uX8e+lMu3LO7D9FC))nmM{~`|+0ulkcC1RhKJ}T2R9c>7z&L8V1A0Adu8B zAIw||tYI^lD?v3Ybc@^9aK_hY7Qe&7mpiqtfzj%3knu2z@yTp_z1EPab)y#CsfE*y z5iin-5~+OV%@-r}k1&>upZ1YTY$?7ZQuzfOzBn@f)+O3UD(Z;!);+{X&BkCUt47UW zo&M8El~MVXHf;hy1AT^{5p$q9DxafipMs>%s;Y2X0wjILCr(R1H7idV6)q#ORBiDb zII{J)BQbt~hp!8ezFVhrikaF7)At|Ok6)zIWl=wK>W(w}&RcT!?7rtsU)*>4;_3M7 zuUXS8`YxJ3qi^eZ%jYdwT+yed@3Q&JXZLQMK6BypxwDt`mH#O0%YUowi@&d0)HZ9j zPMX&K&ugc*&hInNIJ0_3WnUc6NGn!OTU@?idU@YvOK0|3G=Fj1%HAt$s;5;~_GTS3 z`Ok&wp9%ZSG|sB+hI^?X>yKt&>K`qPC}_yQ=+v_vTtYzBzFk67hhnCZ z;@-g2S{sEy@mA$soo3fvK}F7fJDMfvHz?#`PvB-oroDpNAC&6z>(7`UXBp@jzf&7Iude z&`9IV@*RDD&P8`1kB_hK~IuuOZ-#cMQ@WDm*%!iPs0rW(9|k)JE^ujI`tLY zp(9z(`=^HSNs9XdXWfvAoAjU&b1eT^l>uClgGQ{iqGxr%z>-FItmxDPdYIHH8aN9b zEUytin9-@LP${WXBw)PSjOG~Y(dinBZZF1*P;@6_-dz}kBcJ$j*8E?f=sIAzz!N!z zM|UdupTna|(|B~tp&(Fn9exT$*P$I0U59p1bRF73(RFAKMb}}kRDBW@T?Yk4mo89r zX$p$YArxI&MH;I&9755hX(&2}P;_Y;iq0VvU7CiXa|lJ3rlIJZf$01+4Mpb!IzZ4+ zbPl2D(livELnyj54Mpb=iY`q<(K$J+R724@grZB+P;?HV=+ZP4okJ+PGz~@POoO*+ zjpB8yLnykm5h5&i&Nu~vhN5!_MVB@vK<#x7q3F`aX3v3ek&}hMNYhYs&Mr*jGz~@P z5Q;8ML(w^eqD#|IbPl2D(livEvxHu2C^~0qAp{LY=Mai6O+(Q+grZAp5#RPWr_t*Z zpy+G`Mdu|HU0TnqjFX}0GXH`igrdvB&33#L6kWz~D7uW}P;{cpD;Uu|0gA2zle0O- z#7^@uFclPCx`Lwf6N)aqJrrFB`3g1h=+YG)ou7Dg=?ag||7uqROI`*IX1)xIgVBKj zBc&1_er$J!lb^>V|0~q%Bzpc4Oz*7H`C}8W!lUyOkIwt^cy!xfqr;VW3ySaegY!{T zZ_4$S=ijMZAt;?+fztV3rOus7hoE%+-zXh|()krAUAPT< zhaaGHtRzSMSR~Nud58jN3fYL=2C|&yPXpk>(w%r%&okLK%!1A;|Q_b0kttqfF zon}%Tg3<+6i(oqhr3H6}V{fsg%QINh<71C%a^ zzPF920;LQ7)<@alx6^{ZOC15;a0p5l)Sz_Eoy8Cy5EF$CLFs}IbfUdthoE#p4NB(_ zlrH$FsMRgVP&$X8bU_VD=Ma=Gs6pu*g3<*w zD4j!4x}XN7bN0dApa!LLyljF7rE>^M7u2A14ngUH8kEi4F-RE;mvL;h!=>hM7xHy5OhTE6_;W%q1vY&;_N-B`96c1*OX+C|&S~ z8Y458pmaeOlrEQ`bU_!CE|;KmK^K%Rm!Nb(7nClSpmaeOlrDERNB0}4y~)faC|&U1 zA~l=21f>fe6{*F{B`96+Tao6Ox%`Gi@H>%O&0K=g1zk|OT!PXCT~N9_g3<*I7nClK zpmf0`C|%w^*ca_V=@`&1C|wMEKJn-nuoAq$qss+vI2w1F~K+(xc`lYLCSaadQ2~c#| zY(fY@tt)H9qH+Qhom4i^Rglp)ehNh=^$19iv{d>232TP;>=^qSFrl1d2{N zi%@i`60ZD)^}j;ViCYA=I9@^VS>Zee2*>xB~Lec4hKY^kXuPn?1Rfmkw za&b*V(TQCRMJN3KCn!3phEQ~}*dMR!XQ1drl~8m_mEmIeH546ZpkG7L39q5($cJ4h zI?kc63q?mEU7+ZK3W}~Hq3D7dimoGX_XkU*O1mSW=z={ZjD5~K+-Q1<5OoMe7wjXO zU7+u!jw>rDx?p=KI%)E;q?T~K(bG~03lYEO*s0JA zDkwUKP;@~JMduKTE~ugC9753rH58pgD7v7AqI2FVhM=M7oG80fL(w@cIBx_OWKTjJ zWe%a}f(u2caR@~hTqHuBa}(SPYA8B~P;|k?lGEf6iY}<3=$u#~1Pw*!5Q;9Sq39e! z(FHXWokJ+PpoXGz2t^lMF4opLgrW;-C_0Bwbioypv)LgOT~I^OIfSAMYA8B~P;@~J zMdysC*BXk>ArxIuL(w@GV{C&Oiq2WZO-n=3IfSAMYA8B~P;@~JMduKTE~ugCoQX7` zq39e!(FHXWokJ+PpoXH$B@|uIg`&$P6kTwGv;q4zq3D7x6kRT%=z=Fg(FGM0U4Bzg zLD4ycq6=y$I)_knK@COctfZi!=$vm5FF_4O=j>yLXec^|P;@~JMd$F>3_%S==Mai6 zsG;bbkEy1i=o~`P1y6vY3o0nO{Af@?(K&>o3u-7jhfs7u4Mpb=iY|Bp6kSk3(V?({ zqH_pE7rae6#c&8k7rb5dkTaBxxMHkdibk4mDxD%l0g8w&A zbm;;`7gA7k4x#8m8j8*#6kVvw|1M&}b_hims`hh&`y4{ig-(Q`%lH^wt)S@A1&S`L zpy(Vz(ST}MLEg)=igLz>-@P;}v}jPD@$I`Y>@VGTv+{0hgT@QF}#vfA*c&T0YS z<)2TlHiV)Jt>$8?S zk$Eag5gSe}uCiH1LD8u)8j8-rd@yoG>N1_9ISPudunl;93W~0fP;@y8imuB}#7d5W zqU%B^x*P>X*X2db#vBbrClwQGPAb+=bU6x&&QB=190f(^Clp=8k&*WEr$iC2;t53; z$xwVnckr2t=PyPgS&AnVT_juagrbZ16i+C+h+px9qKgC+pO1D%f{NeK6?{nXgrbXt z6;CL-NRHxf=>k5YctX)dqKdCWKt>f5ou5#2Q3XXOw;TvX7cl&tF$#Dhv{ePR8Px;U^SbM+HUaClp=BLs1@j{N6(F9}6!~bOpTw zKC~m#g`$)4&?6LGCxx})=Z`l#DJVMsB8*=r1x4ro4aTOk0=e@49gQng&~ko4%XLxE zX?{Y>by3i1{#T*jML}@+_v4DFtF}*Qxvr`menQKgqM+scgqAx+LCg6GE!R!q?Dz>S z*G+f!Y%D3=bY~M#m^X{6X07K3bI} zv|RTwiYK&OcZCz=f2|0-!UpmaTCTgo2J#bHuDgPk^AlQ5L)!TXEmx#)N&JMCD^k#M zenQI?>Hc{T{Z^#=htP68be|Afu7|=2@)KIFIHAUm&~nAvH$ux5Yu^YhSFA9M{3fC# zlqLQPv|LC*%lQc;SEB9nyj`Mz~RlA51LYNZNE%}*q? zo_ZL^VW@lRVIh)QFNLJ$Cz4t(g{0=c7ESDxr>507@*NdVB(>hkO+XQ&b~&uw3P!ES zqY=`EpGazbbdV8At*;u?jBQw<@QY$P&1c1B={YNNSb!qE;;T zq$(Rk=;f?OFH{Z}q0AwYTIGnq7x1RWA(C3MucVV*MyOJn6}ISbH)R_Ai86_ryW7eUzUgwe5;XNuZZ=R0(D z;9H2WFi*U#xl3L|@5so-SQmec)i~Hx%Za`A2+$g-Ek<==3L!WZm zCy~@DgV{eK!M0P-G&u)!<(SD;AqPy(0qPPVU69l&yZL58!y%GdWlyQqaEPQ<*)vaO zk3%H2%AQ4H!Xc7cW$ywOA(9%63zAx8Uk`cPW?0!0PPWay#vKu)_{$MeRSHSXPb9S} zg{0;ul3JBQQuDuzIZ&mL)cizJt5Qg6ej=$=DI_&Nk<_XblA51LYE|u!)WUXn1DYsE zYT@+k4(K}D&cM6$Lw7K$AEYHR1r?H-pGaz9y+RU6Ev#1|{-80eSE2P-;lp|rB9dBI zua-no3+vUANNQn)q~<4*T38{e`F9}rtMyVsB(-Y23=v7KTCea#QtPjf)cizJtI;bY zk<WerT#D=SMBB{k16;C9!*a*dU z!Lk(_sdyr(#YQXs8w6`?jN*x;78|ShLkNx7IK@9oADR?TB(>Oh#V>@Pu?dRbj)9L& zR6LQ?Vy7woX{JwBJdxC5&59pDo2M(DNNTYuil0kA&rm#()M95Uo=9r3sfs6(TC7F! zL{f`QS9~*lo}u^^7{}O5#S=*_HcRnDQj5)2JdxC5a}@s}{hX`#A?(9>ihqJ_oUeEy zsl^s3p5QgHg^DMVT5OTxiKG@gTk%9vi!D|>Zz9IdQ9O~Nw#S=*_wp{TC z+0Si?znT0B#S=*_cCO-yq!wGL_(G29d5Zs(I_E2%NNTZFiYJmJv?)M9HDPb9V2C5k7KT5P@IiKG_0T=7Iwi(R33BB{kTDV|7bu`3n7i{o;Y;)$dd z+pPGB#o)Ino=9r3Un-tRYO$*oPb9V2HHs&aTI^cI6G<(uPXa_zi|e^VB(=Ccu@FgZ zkU~=P6G^RBA*pp;j32vS0%O-A^R7y4i9dNWTjQ3t#;T`#~tlRbIVDQgeu;R=?6u=rY^z6G^T9{LW8_ z#Z9#MZ`4$;kkrxzNv-};+r|Q_tY{=Phe&Gm8}c%dVLO=^{`!rwHvviQZ(?f-{UwrG z{Z-xgjKLNo{(&erL?Nm9|Ahr|h(0^eogwP%kU1PhPe&1b{!SSI-cKa8p_zqDmlOZ_ z?GzSJfkya5ETG}w6rJaguG+G+|7y)TOOXHPg z(Q&l2M16b>yW|fN4Z} z^upIBBKP5ae&kuCjEHQ8&Z5ZG&>0=6Li#xo{!T;vqIpBf?V$@Iu$$ek2fj#8&ZuE+bBNH4sf9q}T4W~47l zwMMoMV5Hl(P7`U3Q zsHlW6a0&cmuojYCLKwINVBm&9@);q*z$E|!=Y?3nZzcHnhOmExb@1Lu0x)nTNXuph zExH=43IIV!$sCO$6TwL6n?UTxB9Z_M+;pVLQK^mPsHGk#ga`wd01OOG)kR)Yf3pP5=guKYGjF z1(Ug8lv%18A;Q2V00VaeRxkXy3IxEw@$cBg;qggrsXr;AOPCNM3|s;*aI>ISK**|g z9*Zkd>_iTK+Qp6o4BQPY^=PuxiE6r?gn>%{29AHTEiS!JeOY@&e=oa)X>f@T35t6m z5Lyy|fqM*WX ztb{Od3BbTnswtg=K(X?dL$9ucKMqQ)Q#p+#{Jw1hFmMdarV_%yB>)4*rxDHgn;0zT z3BbU;kG4whSl!Vb(kIe8{BDHmoe*K*5`clrhK8sXQ}x6?$6uCFYp2o*-H`zSFmOZM zA}z@x5(&w{#UIh&K#%|o+}W-wf7*4Dbv>elflFu@xDbDQl>iLf9Z)ZL=D(ED1^HvB z1YqD^qAq_ApzNR61RtF;LhG=MCjbNY1JtCoe8|yG|G59sh~sZul#HG$%>-cJHlXWE z2m_Y@3>*ccWQYj~FmO8{?JD^ZNeRHf-41DY31Q$8FPVk+KzgKvFmMUL!0m>#r{v01 zNPvNR2-5x%!oVc}1NQ`^7fT2OmjDdh(~w>-Aq-psFmU`4!NC&FsRUr){sQSx31Q$8 zfPs4%(vcFvz$E|!_a>yHd4z#W00!^9Tc% z01TW2AO3ZYb^!y&pC{De@8cNmfPsrb#J|ZA1}*^@xK0p(jJ1x91`J#`h=9f-3|ykn z>RJl1#mu`a4I*IR${^w&MWO?UuVcVSBw#{YFwi)ua&CtyJ29`-;oiK2W@yrakLQ1AqNeM=%ZL?7T zeM6gUd#j`{3T>P56(S5=0x)n4p5iWOiZ1~eIL_u0!oVc}19uq&ql8Zi6M%tZe-Z|6 zs93GWdx$V_3BbT{ak6cK)D;U1Tmmp~xg{toOB7(>)DlJ9v4jf)R|*)o1YqFkUbKWT za0$S`F?I_}xB?^q14pS?xdRwDwYCrjE&&)gI#;7suRY32T?t{}5`clDW}^`z3|s;* zaGU5WVc-&gfumn3MR>zs)XDp8s4PrGxP~^=C`p`ly=;3j1o@`eVldLfbw%^fcJur@aE&d`D7Yz zaz&$49iicVfZS1_;mE-~&hAWfp19Y;=p@i^=ORIl%`P;YQ;EY2py4DI91RU8RpoMT z05lwP@YR(Qpy6_BE#%b(9!FIzX1AY*hGXUV#f=T=Pq9)Cc;j%7jJG_bZdBiQ^f|X6 z&KgGqsTGwQQH>)dqzch;`fELlS{g@rE(Y&!2Q_D%3fIk3!iSM=+n?iIhL@+pb~iaV z;%X`FeG&D)i?Sj>Bt6ew!rjNeK{T;4r+aqpS4n-pg$dJ1F{SCJt3(8syv*$jkz3Zf zd?{5r(!4pz=v$3bqG_aC)&{ff=A-*|eKIXE~YVJb*@bJQdK_y7`igDT$BR)ePj@Cx?YdsB&@(&0zB zM%8y(Njc?VpC0z4vIBSPoI>RrerfU!otloHA3~*=!sn>wFsOV<8+zlgCtiaQAKD*R zsG$DIR;eEVqZd#mdIp!KP^%$!o0-sc4N#RliA|F)bNh|uZe0ma1?##6Ca(fjGw@Mv z$SUZy)!;`zplVJ4Bu?NITLNR#Km)EoF|)}N;(Aa$5X%r~;7;`SOQ?FlZrYjb32?rZ z#&G2W8qmxl%^o=seTsySLH*_%_)W4T4T$5$GpOGz`~pxF?L7zs1B%@TRlYi-yV2Hk z&z`L+0hJy>rM0L}ReFgk`5a0;4x;__%Kjy_hOq)f`8bH)L^JZ0aF%sr5 zk(cJ?PNn%bB)k9`$gfNFLS6B*m(9g*^gIEM8z7U`^yBwg%zYlYhfp*WkEcL`4vogo z(9wTxj7K>H zHGUY3{)u=&C~INaOLmSx<=C| z#FR4+c>G_u{w{?_tswDtCzu@+=h6hI#74>&o|@QWJNwNDtgnC89`S{Gjbbn4GoftMu16B zU`3aLxdaq@LzhlA|l%>h0VnZH3UxpZvvU)+sqT zH(yUG5WYyo3~p=u8_Nb?o5YYHX;#H`?2JLJhCFG$7rC-K?=$M&?SeL*Yx%hHl_6UB z`Yk$`FLV3f5$n~w0)tA=RY>{@ZTuZbEm$k9o?Nj0JOW>?2dSm)Jf->DQFs;&s&2vB zVVnD4XXb<1kDYWlbnOHR&TUIbZ&7IG(iJ++%j=d#^ctp z@rLm)(0~h}VP0;@e+NA}0ly;z4dBJ1d4)QP&BHyeDWHMAOvFfqT3xQOWO`>##2qQn zpdJ{>!bWL3rgt4Q&1Wl{cRhKf1bu6{j@()EF zwQ*#vhtkC?RR-aHFuw)GKGX#sQnA2!Ki*m z9z1y;_TB^4Wm=-2K<)-RxQDQM`gAq-9G`GPo70VJjN zaU?&3{5_yr{_@R+iz%SmS0FTk83wA_27#|*5RlYQ8^ZFJvgP$P9pGhM78a^%czHfY z-|}>1oLma^3qV8OL;2@1_xUoDT#iaG@RRlMWAyk4)ZT~wdmv*F1AeRS5&Sd|6_`Fx z__-=5euu2|$+(*cs{Ir~A27W@392=uVf{K4(s)oq2*OG*D?r1!yY7KX39K{}LAV*I zH-e1e{U9Ad)-YxfoaRj=zbaWnA(dt0B*3gj2;pWNLqW#yiI7^6bw0CBhtP!N(ULVA z(r#p3%d7lsI7mi%8JKe@aHMYpvker>*EMjY)$Yc+ z89keHj%6HV-5DPLwXB;FvaQ3fp!xcsmurh>7%nn`MXHAHDZQbj7ze#*{R39&MD(Q$-(~Q96-ZiE ze-^%$0+N=sO~nxyRCP)F;Tv%yLX%%4G_STYH^a)v$B;1c*LX`XxnUo;XHe|-poYIf z2v5U>83-dW9)0wYb{Mh2S$(^e`A_^PX+qsOkxo51!j>wm3`22W3Y-M&G01MnRK1b=pG{-$-S__68r1p&T;o#)Ouk@Oq zTmH*fihITzE%@R&NcN2M>G**pD3+%S{B+Mq_Z+=JnZlT*VtKqKMOU&hS;-z&@^8!k zgER2&oDWhx zJV4I@!`R7E`z-&*u18Nm=`oh#uKWp@L!ellF7R_6?fjV@<}STgm+=@!Sjn@NzjF+B zxija_#3KNZ?92%;LqUe@?Ux{%FVk?jT$Ny$|FZlWTnlHTz(Uu;jbOHcVq10LllJx( zlOC$QT`C%k_VHyJE|;w6Q_KIkThSia{k>b!XJG!xicZyqPpatq>y=IS5Ha|sp(-IY z?yd$#)%!Z_HcXkpPwM#-7lq>s#ZMOE!RPBOd(Qt!v*Jmu$tCC)x?(P0$E_O`pSIKa z&41B}=-%Yv`UO>Mx~EZxx>5DA?gKeLj~b22%;}c=Hqg8l%gpHRICLPT2M-^kOO+ru z62@HK2RSpWe5#F^PzqtD62@}h9|v%vSyt*^_S{(R_Dq;<$-N6>EcbXO%&}5=#5Trq zXJ^7(H-Y;(6Xsc|JVhI0xr;MlzLm;-$Y`RlKpVte3*KiObuZl*Y{@Mq^KFzEE%ze^ zTisWo$Y{9_QD^n6h3+_9f7h$i^EliysaMZgjG9~71vi><=f{UNl&@{-1D6bA2jh@D z2M|Oznw`mqXW`fa8o)1Dn>U$qkEa<4W0`mlZQW$b?W~uPupcBF=O}F$0CZ_kxzkL2 zycQFQr;e7{ILd=$<8<{>j5>5ea^t)g`FDe4dwB)S-zae7JO<`_Q0#17gL~>&!6sC6 z*Qxg*YTreT*e7|{N6yacblBtnEVUNzI#swXJdPrnXfcYUd#-bJE4FCeeaPM)NKr=^{Us+>tSaCJ9)k8IXb(jx8!tI*jrgu3CX3fKQ0zmcre+(qb?I_Qdf3EH)7kQ1Q zT;yE@jYXh=Wg!G(J=7&2o6H>ET*iHw)%_M4IG@O6+d1>`XdE=?ve7t9Y%aNvR;GEOQ71@Ayh9w2ZL(4hMooHbWp5bmws8gf1)L)AZLw%bB|qERM8Ei z{P|c_0WY49!8Aus)Z}gr@b|FurT{UxgE9CNZLJF$fF%-l()z2iSnb$kW7wljZUXN9 z*hy1A)ieg~L336OL0>Mz>R{&ZZr_b?`C5=P{Ayhp42IG0`DWk|R4Wbt5IXOJq~ZAs zu@`});q_n!gQ^~F*KlJ9kKB873huLLE~WVm=0D04R2Yw$k3bF{w%S zY?*fYb#~oSMC&RQax+kLDyX7aE53sve*#Ks5R6!xPS@AN>7Li!oxrGQ)iH1wWsXRh zNr(ZX;uW3F(;@E@@^GzoA{$rq<1;Q;n{f=Uyozq8*has;~CI z(+tzMYk{U$wl^(D(332G)lT`&_R5y>W6cSE^wS;4h<-`?vBt+eowp*}M|8zBt;$Y0 zqEyp8y|?NIaez|8S9!*i zK>R+_o#%zBcI<|I5;$Yy4)ym1dy%#sfwvXZJO?So+}H64}ozYTgR{DYIrH ze`f)oL7l-LT$;CfS^5mD_qWR5IGq6>Z>JTcgG^wz=MtS>r(&_gb;Ive{GQf)8h0Cviris~=U0JH_ zY%IQ@$>QwF{&e;S$lrrn;OP0{a@As7*nwIw(5qw@`U|8#GX;*Xl2g=CNMC>kwqhi= zqUzr3dcwJD^Lei^-P5vN`8A!Z{4WP6!Ax@5uGibrXK=Ci&EzWI;fvqhi40lmhA!c* zL$!*(>!!vq{Ci=Y^K`WY2X6*op}y;SZ7w!I*F;sSaY{^-dj{&dFY^^>(nGnCnr)=8 z(@u-@g6FN~!T!ojA8pOt{=#r{6*ufw*;|*xpE;meyp{G(t&Q))bEwWq-2r7e=>%JG z2@8^w&gWVU3p3P`C!I0K9|4k;atoME6u1z-1m*=$RjO__S4w@0kpr9KefO^pbPTZ*XBlg~G^&%q5cPz&2SJ%{Irl@J$$ zDn{zk6H#v!%Atzm&pz>ubDhm)uj+Cw&_`p=_nd7-;=*Q~vE5WYnA`VsZ2U#C=S{LQ*2Ls~T7My+Cti4o$JR z=JPelH&ihN>cdDMfntd0#$2viyHMm#kQ&}+bs^JOM~6=HZ-%lA?*Zui2_&1MtCnK8 zT)sA*9BMkw%L5teFBwJLd50}2bL4FQ2SstQ?YPtM3t-vi)(5xr1(tK8@?3qRr zyET$N6jp2BM9u?H`5mbCFA&}Xa}X2@=ytWBU06}%zJI#sz3Y_~9uWCh+nDXzW&0Mu zq@Ir`LIo^V_!w_gMYK6?XjMFK^0kOUkrw2^`1~Y#PNT?2VK91txpX!<%CZ6TKwiIV3Fn8s(7r zh6Q0k3^UWytTcIxPH8p^4y@8_)|$(x8IvzLc(@NJO_i{48kSjP(#eIlDMh#d`}fe3 z&Z-p0N|owtj-{q}(%HPm0*y}*GOCj71<|YbjA=Irz%zzeO4#5~gJA3N1fh3pbTEulFdqr#>K&d~0 z#Ae2Mcsv6Vn@43(OgyCH(Kg zB_sJZnQyc3HvAmCHHGo?5FR$HfN&W!F9c2GG?=6-w~}0n@&eBw%uIP^^jGM<2tw!5 z-L1(IE;rkC97o{;be-P%u@ZibQqqn|YtWw{aXk;KmkkovKLqn81-iasErJbn4x8ZF z^2F)}Hsdf-J_0qcIo;RcOB|r3JP0p1m0qC^^6%^wGQoh{X2MeBh z4%etNuyATFRTNQ0v6()ERq#37x9foO2{MNBXucaBd2Ii zkZ8CL!fn66#01Ua;yZhiQp3|l=$Ox@&m9j3`9$kGs2l-F2VZeHVjLtLoPGs1eo)o3 zx(+$X&EiUUZ_?aBntM0%ZkppsxE=)tgXHReE|}RAc-vzOn5#g>;DNgI9u&enP2F;I z)io(b#blk#!|!30)&2mS?pd%^HNvP^KUs0SaLGi2VI>7tI$)zp*|Gt5Lt^7$gfD9R zB-dEZMl9CNGLu}EDr1-rX5Ij+(x6A+@&h1g&=D}7QDB3@n*fmjimld$)O{TH)PDS_ z)N*bE?m$^duDe^?m#H3x3%BoquvY_;?Rx>3IjrEQuHeM&+tAl2atml38f{b@(}8#~ zTAvS_XgR;hQNd^Pd~HU0g-*v3P;pSFZ%6tlosI>d;;>HNh4h*2(x+=jXn$2Z`v6Us z7xk|`u3z<_PJaODv2A$c>t`-*(mkhcRhc-8q-@#B#;B#?N9_q7azzknWoBkE+9;8G z7rN#a_7$JSrd^3yMS)AhG6+jRF+StxtNqd-k9ge-3qN^**>W>;t!wr-D0mM@%zgpp zGYT|Yb`@3xP^{xgX0agRKXG;6^JeM}@aX$=&kNT}{mA}CH)Icb;R%(k@78dDYPCfk zyxx@DcFz-H4pRAISq`b(<>BfnUpJ7a>BzOzb9HbTRL0BfX8OCJ-jQ79jHSHM@HagO zT}1&aGqM}rL&hXD>{K@HW39n&aq_H)YAO!ueTKK7mZ5}>tHHxC)_mQl(=NbW#gp$m zKC#-U$ZFR&_a84G>!{OTP!02(Yj6rPWN}Yi+vYu}PhI=iHYVb>l2K)yE)^Sc^QX;) z{O!{v)aK&L#(aUc=X&8F4eC=6ZFAv&W4od&uEBxr7oZWw3ZAC!7Pid=3yygM=T1+< z@1{U20fjtg`us(+XB94AQaE$z?CHyA7tUY2eD>ny#WSbRoHu**y!o?cm#kjWx_thU z#nTrR;>Pmy^LqC#JiBe#^1^x3SIjQNy^8sZQGV9^vu7_}2CZd6!O&xOhLp(URkrF`u`4KdCroh%a=}HtZ{v38Y_6{oiF{d zvgeMH<4vExc>ePF(-+M@|HS5(s0JG=PubC>5Y3*yxD{=a#?PQ;;gZF(3zyBFi>5C( z+Fr>?;sCd`gKTc&R~krp8zbla76U@cv&`rU9;SDKMi^}$;)B#Z=5O2H2e-9ABR6KW z5tfKJrQ3!_l_)(FoG0qG%i8ok_9m=*qwjU$4T&==|x67A={H;hbfhcLvIk zV)drKZ8;dy=sAJ5%P}0J(dS3odf}6l(wx!e;yVw%0#KVf(w5DfzG(VV<2(^o&~_%k=KXSC}F2OifqeHtw5^BPKhHcb*_WuzQk4|i0!Kg{_{XHC$selBhB%!` z&!@Utw?Vv_N&NdzRq$Pi{{u?n|Am?+T*dLy=wKhflH`hZ2Ro&QTfp=Gu=gh5aTQnE z@V$L?uUnQS%aXjY%ItwyURYv4#&`wU#%^1SC1c#kQp*--L*241gKc7GAqgZldoqbd zCJEV0wn;u16UasqCle+l5FiQ3WPzCs+1O@=ER*@(Q&n%>+qb)gnQ!v{-}C&xLEWd$ zJ$34Ab?Q{z+uaANgQWcIr|VvTQM`jQg5(#=q}imJ^+8g8Hq&)CspeTh`T5{^@~yBY z{wB(A0J-xAaqUVpH{h@0F%0USE+Z%Lcj>w3{&LZzo*lSvc?NN)XOoK+pS#fE4*XT( zR@eM};PPcOzKB0{_0ItQh`)*7nUaDd@EiUraWbtCQ||;5{8bJ>)YC-NPonh!g&B0*dih4zBX{AZ2>vPuaB8h+F2D|_ z0e@=5+X38)ze>zTcm8we@DN&mFBqKe*1rnG^uIwl3`9l4T&UDwEmD8k8QLPB_y7)@ z@Hg>G;)MCbvzpQ6*)rO6*E&kn&zBhR|jKZ3m zMYwlI@b^UU*G2FTMDRC6@Q+3C?}*@k6~TWnf`227i*Xwc9@rJ^apZOG*=M=VwAyn| zn^y!kw?SQWs(xg6d#>yzcKj3!1r4GWGR>*7!4-l_U3s`)t@6oH%EzZU~Nds zuGF^q0{DE`k~mcZ1}`@IhQ?3Ymx)7 ztVc@MIH!+Ch|VlU^i+gsbtxi$Ybdz=L`bHf_{$4{uSYJPr!E$Rz|#?ub@BesMK0!w z_wT$i@3Lhj<9wA0c@n-d`Trk$)oQe-!WkRD`6iG8O{QMlQZd zT`UNJ|A>&Z#QT@^h2!ri+P`|mc1@zbkn|&_@lTNV(~7<`IQW^-e@`|{cDGc#(vSqL z+DSN7-;I#|s08Va?|ttNzvNW?CPM00iHhL*Kt5L?U4-w$*bz!o{Z*Vp%ReRBS^IQD zL|aKF#YI~mAss0}YD621klsVm;-bj`xBOGmJoZ-IcplPxQ}vUN&g=@Ds-Hxz{G3-l zBUhe}T=^5P;74Dbs#hXcrebrd<^@)Gr^IL;hiL5<*4RYa~d@ygwDr8aVeU$-AMME?e&A8I1}#_k7nPp9U` z=JH=~8JzLqOJ2gS8Z>}P_K$V4o&7|@0QUoM5@mihc4wMKHpPnODbhSEG*hL&?2y&9 zZ@NUuE?J?TuqfFaE7Z>|N_M&mHP@nKbE{B0ElPHr3U#NTrn!l`g0j1UxoXoWo6G5C zcbz&Hs8bgN<#(NWR&dv;^}$Jkyj+keL0+nnT3p$GDt;?OgM5Cn&wRc7WV@;Oy|a*? zYz$v7KdB!Tzq7Gxb7ovQ7oWVsU&5LByE!;0#^1~v(U!lNTks-(GkBtwaAxp0E8!fM z**WCY<1)aZ!5z+01{1InAl4xC9h9Fgn8#j6WF|oWGb0$Wjx|R~M3UK`6@Kq}mf}U9YO5 zLi2Kguc(Z$UH~4G!m+TquEo{HnV35`hN%_$$+N&`4(O_6gUZlN!n5rJ{g1&&h^vt`pt@x;}dDoaq)Tgsg4){pH_o_$tauC zqy0plGhoW3*yPMIxFD|SSxQroy}>#Nnuxq-n-R5QkoO$J*&^O(6fhlT=bJV$0|!G< z&j?~p6oFeF%BdKAUbL?e&TnuR&7|W*RSC&UXWY3&+45YFi!GHXiRt$*L9Cv4qC2m4 zz5Botzjbopq+lq@9oafA|HH2^SLwLbE_PL1rdC>R5ckaWNpw2kB1fySM zdC9OLw~I+G25LmZ(R~*-z_i-8p{#dlSugP;(P>1$Pgs(^iDF$E#YyZf&a;VDa!C{? zL`#7PEdkM&iNYe@@(QS>!4*n-T)eCT%GTh4QrxpHq9PKy#nOm!3a)G4tTRlMM^RZu^~9Z{sFrw~A=O}Xg;#0{QA zXmBK<3{){}@lbXi3WDIEFdv0S>_Wu`51 z*vK19$I9uF?T*jSz9%sIo@kPnl2Q~tDL?z3oS%K`qvSYnkB*CE%dq%PBdnU8*S=K?&L>%-6Gon@u@=7|k6I~QICqMhXQDnk%#!+ubR3ZgmCMz2l zNpp^!7C;o_s=3iwDCG0<5IP6Vk4{FD(9Vq}#`7YX^!zYMUJ#w2%*DFj9ZMkkg8W&X zH#;wk29D`_5i_05%E-xivO$4``P0{|3dqTJIam~?w@Zr~$1FPe`53&HSl%XO8173g zK1`y^^e8GV%Yvj+vNkBPGBfq%8Z?QR-6bGaipXIGHr@*}uq;0+Sdf9E#zF?JaD~Cz zsA-UcB@wT)<`>@Uqs~UsE#?nnix#V5s5)-)hsz7nFB8m}GxJ=z!HlA2qH$$=9uB7M zh<0a&-x#IB{WhbJVua5J7_Ck7s);tkNgj?!!&<^5{xrDS8rR5kb(FQib;ec3Qh*X% z+#(BcmkKF}-fiik3q~elY4Jvn4K>JHFb{D%l`>6%o3^1dDvjHgfPHV&E86|n#CdV4 zyEdvCp0`7Hr@vt38<6TiR2UQhcW|w!BItFj9fqSzUUni#MYNpN)&zoCAVUt_U$FOvDC;LDN(#&C0N8I8p5S++U2@`s;b1R3qRxGNyjbrBhLSwAMJLEF)H{qXy=$7F>&UMWQXl< zf}7v=)<5*Ubzo%9mfl=elZc>OySnBSkX*>#$G~b%ZgePP7#e|(O_@1e`d6+UC-xiL zu&a4GW*fHUPW~^F;}{^D>+T(#->?mjXgEcF>m1!dfoFg~0hcN9G%-F{Hqw<#uV`Am z9Ebo*j)fFYASa;nXf~Z09`5VS$`5{H3^WD?^|g@!V7oPpACJN_NNM>2c1r9tv{w4GwIDGQ*jnVa;3+ z(LP%S2m7M!p1#4(TofU{o8Fh%8AajQr>%Jd!vurFqfwIF2s%X(;)`gzySFQ^Js3x1 z21fd$9q`*;(Wd@=`zWSoWS}eB?&|Bz=2@%tgbu-)7+m+Y7D}!gDA`b4&Wn%u#=J2GH?maZh1_s)i;j?3EpdFdcYlkyEQC>RC zvzhC3?}5(#Om+z3L}`Y4yRPj+)Z}%Pkm$;COoaX5uxWJ-;sLy!jO4-Y?8s0U+0u=j z5V!-wBNF~Hb2HmJ`!v|wAJT8>%k>Uu7qDBG%u?NuWPq^g9~35-%LCmioH>nUcK2?@ zbAPys$(sK(-8Q6Yr*jJo(8-z8xMifbFE_h);1XnPoX)vUd7}Ds1v}pTo*TFad_PD& z%2+rzCX2A{`YI8Q%@Nlo)5es zS6!W0{OWb?Q_ls-M&F$Q{>cZ*65f<#E@(d-xIudZ7`WbbZkgw=3cMfehCH>k0IU7- zWSyT}ne)qW{Os$d>%F|&^)K^wtOQuz)3ef_6nIzWeBY~cwNY03!RYy6pLm2dPnk069f_L4`7Qx%;(k~Qp7_C{K;s-+@~ASIyzuG z*Prwx3c0IUhxxqNsju<1MhM;0iN-Lm+?Es{&eqsdm&*hI@J2*O+fD#QICQJO#3Ux&9f~m zGzxcllcE;Vyi05OkkRsMO3STE%l}necxYK)<^|rDAiA;g%!?pBO?;m=F+AlqNE~>5 zTE$7C;wr`Yt9hKEiuk(P`+IP7z1sHVAqhXI_LjZ-g7(IsBak>udOw4v<-vn~Eeuwr zxcSupVaADv>HdiU;xlg1*})IhxcBFcYyEaFxGxL52Y2r~1Tskc^@JOUbzScfi1cQ} z@%No%gTzE1THdaejg1iJf(B_|DgfMPz)EkT0=MUUFTl^TCj;+%ap0Y+lgePrv{k93{b5*xs*+^NIGyI_-xsr1OJ@NntzIzgFBN9YR6&A1iK# znlC}(>KY^jUwM7A%1kxM!(h2e$rh{x=)K!r=}%V!ZSqg4^}XpzPPapx{I7cwbKK(n zR>L|nSG^!{X00Cp@`F27u-C5jE0Q0@g)2aUcxVT>&`@kv%v_d4DI9EuM*>#MLsq8$6{t{Bpbwh@pFfWDO!n=I0(4 zNn1@7e_xQ?8YIrDk?b0HzY`IVO_g4GNj^X#ehQsbp5G^V{#$BP%%PZMd3nD0Rpj~P zsvz+OBhQN^<@w|PEArd~bBmreiPLKGee@P6?&`ogs7a96^SroU)}Lg%yt-v&SVsYP z|A0B`2~>xtXz&&&v|6g3giF+=zzY(;2OzL;}ldov^XQ5tbRefY}Mk>|QTvV!k zGuoW%eSY~&neHzo8!)3@mI=DjFVn1LZSaG)!%--nR2r&SDFnfDuxFk3=aMrR9gx&l z9?&jbrKf#TFa58M*ULxZD-Z70UOFf6?$^tbv@R|s`3S1WGh`e|?1s@2!X~p}fuztodfs7=idVL7OoEms9I4C5&Rj}u&!DN5h zJpa`Def(&z*HMPl;(dKW4q8w1j_i~LY+;bYitQu1zA^z`s6&ORywOpo{N@D@NixQ8 zN$<{`&w{YRdwzl#f1$GQdv?YWX%9#cqrU+&N#j*9iOLoe%5I zuiDOc`qR)SXzeb90Ye*`EcxP_MICqdy?6{Yt%-n0AMCyqxK3;)neS?*s9rns`ld z;@LV~c>m!~d9OdY5%i-Siuq+Ia^q`I1^fu{&V$ejlE8dQ*M1NB6(2y$NVc@dUOJA(xUKV4Ie_~`(F3?#|B#%DZQq$5n0HO*ygAw7t_FSBWsbGZ zZCG$@2U5py*!6$axmmFz!~fRVV{8|V&${HFz+pe#JFqn^d+pwy-i(}oMUUY$tPk99 zT*jTcLPrnW;68KU28ai4IEBkUa6>m9xZ#>Ta08rw;ASL<9Jm2fR#xSjx&1{Dw8}k1qBUSZ!DNGlJTqzWXEpjKKT- zo_d2kBbZX}`>F&AypMaRIrSc|Tp)!0w>Tef?hJUgwlPHoB?E!Wna_M$^ zNy-yBD_mgC3O|8^3MEM`E>!!IPVwDgf6{6><679EN}rjsG`9QGI7~bZqTW)Aoww3M%Uq|0oh)y1dU&NOsKnlKy5R?x z_*3K!Ra)g(&YvML5QoGSgbV>x@@lTg`Zy3D= zfZ7VbQeNepc_AwOT7PmAz*Wk-sFrbzJPT3@+p?p+Fe<~bt1v1fBXPRIukgo7*gsx#msi=f_eVT*tGXzA zJr&u<;Gw#}D~FLVSS1b-k5@g#QY!QC=&6m@>*^oXp7 zA@m%a>MaHhHsB3P4rDW_>JtI{D(~Wwt;&ium_O4n;dFql^53Ays{G^R{Zi9hp!N+` z896{s$yna5eJYT=;B)@j=pcI(IUw;czQmiSEsQzclQ43Cr|9z*sPv{hL?_IbuU5_W11@iuFXYw#86dD9L z?2cTKgK1uY%cMhxMqC^rlWF8hUMDFBTnHlBw|L%*BDO$NLuqcFpoCP{A-%jy!aY?0 zqlJLbNnzaJDs>cInY_=h-GCF0Df9i>77+v7#Ta$o!3l8N8zs_ZVDGoeR=5JA9GKuX zD%uxzw&!FR;0`K70iwJ~oayMXgj68!cTw})I^juwwxE-9HQ_~hHhHr@S1vZ$&cEN; zh>^5aZbk0YZV0XNytRrRO{Gai&^T%UBe{$f8fP?O9Hr>W(nF0b`tD1j z=}=>xO5ty~$gkce>?$x_!ETzDdlnb246u{FR;8p%1MeTNmz55yH<<2ET@KDvQ?=0n`T3^ZI7bkMW>LOc zWd5NN|1b5h0hceTo(zV9S60l27Ck)vE=;}jG}IjsM+%K8-$U7`;|JVe~#a$ zczo$Kc*t=OBFFm+IJi=Q|tJCoWJLt(V0sA zpIosc&YW==ER#;ydjI0!02sV*#j7}?3aRqopH;-39o#E7o+=SH$pg5)$i(qR5yhW$ z^a$R)Ut%!K)O|Sa^FE5GEq_@~OeN5^`W4l_zeY&CM-lQE0Jj*yEqSy11IRUQ7@U6LC_?e=HQ;&&?)Z4f>XKxz<_WU{m+BqAPGA*!CZ81YX+M93oh zce_-faFX|^F9}B>q&^UYTB|@Iyh$KwXcz3Qh6R2K=o(DN#$3Cs*l_gsA%@)GuHL5$ zzXKuzw1J;F@O>QkasP20aWn9JX5hz_WEl99`2#<02EK0>2G-;LK#wbmAH|C& z<9dz$a#VL2{{%E9?U%6x@IIjhP+0FttvxS@AiN+}ka7og@W(^|0VN^J&JMUIebzg| zvQdyyv8k)Ei&9aki&FZa>r-J@?6G&LL5w0Vl)1Ia$6vdiK9;Eq(>{c^sq!cR>Ofq? zwq@lZ-0tu$aE~UI$l`6P!iNE#gmF-X8kIfo=Igby1?|037SoEL30L>uR`f$WawB7U<+?BRR2W1`7? zH7kjCFYb!U{kfZD^isFvkqrjqrmgp=>ox`}RTuDlagUg>+IeCPG< zp`>}x>o;mBB#i?Y@jjaL+l=t}=KF?i{)PIqhn} zNJw?`pknbJO5rB=fk(B>Uhk)6G9}9-s|HEg)lE2(oaG&N$e+Al*YF<$&JQmq7e1{Tiufk||}SFCz@qcKS{7bcdQH-q&_Fs&y3zc{Fb#5G%#)hzxlM zO-kKKlJ=fb_n#N#{Nr$ffl@^RRF+&2ScD7$-7shF$McYq*Vo&pges^EUWB%8ZR*x>Ve zLc89F_rh||m*LSIRIZ3R6qTZhoQ!X4Jc2om6LkK*x>qiymDqFxh&*+n1gbuTb~nKY zkE7i5u^E?h-T8s{_Fcji^Pyt3KmT%ENzPHv+kz6uKym;n&q2y)RoD_$>V3i&u^+It zExd$8_|-itMIuxl$)oCo%=MOIe;@}VuDYdt7`%@I0gnG_q&`=(Zl6C_o({!ilJi9o z8?y{E>?J_a$%PrE<_NZJQvpi-e1<#`m>g4lWRA&Z6$qZ~ep+qwuy2(!Q8_|XJHCVd z$pEjwf#^y#^A-gwC8TCTNj&(Z_rG$qjjaw&uVrtwQf*<+RIO)fB?|Y;hukdiR@ALD3mkb1N+1SdLY=R9?AMPiUe`^J=p3*ZHPeqDOl)8{j@qfE)Sj)qd**) zv5C{C`zKT?;Z8)F2-KOfUxRHOw#zt9PF!3gwV=ktJ{+A^dm9v!i3J# zRTgk4BTJ}+4Yq5&a1J8&62GDg%~i@(<=BYos2Wi6A%x0N%jsqGgDU$yj6%oWS*Y>8 z;vP}??n`@AzC(vE!_0CNjRPU2%~Ye+2bIs@q^Y>gQstMg>GA!Ie)&aE_>vAq?=4a} zK`Hf7S1PO;?}xCyoS|vw#FT>E7pToShJD<4aIA=z?**$91Mj&l)B&C1ImHQHGmvqFMXl zmn0Yd7RgT@bgJFg11g+h;g*l)cy^+>#-F^?uenci7!e&C+htGeZPVj6`jhqj9UVJ} zwtR~;s&tF|syzE)=n$QDQ{eX_BGA-!e+5LqYPq68t(gz{$2H-?LgdToxEmxlv!+Ac zhkf$j(<&JD3NE~r%5{F%2=LCt1Y65(z z?X$u5#NBT7D?wsIO^_Ix(viqb*$}LJDZn}qB-(25ATPT5iHFeh9r#;T6X4Ng^aJ*U z#QZ!lFO=3rNx79$Ld=yI^1$K5Y%Slvc#vcks3F-0%K(e=fN#W?4+BW<3q1WGVvu;M ztS0dlsFU~-KIy24o=Vgt{sL8=zEK|Ts!N{ZO+xk9p11}Aj!NYOMj!QR5+8xkjlfm7 ziAyV!s}i4er*7Ty_Q3$p{{~Z6Z`in@Bj^d5yd4LE17grbaFKeIhrAL8g2%n72Lcgf zXQIJP4655pLE=I1{TieJwgaCONi>`BehiuZfbq_#38ulHHHj6VDNh~>lmz$+BPG@Q zL3J;vR@AHvI_|^$*Tad0mB~4YPq|aOHf@Dub08Vy>e#T=8|k?{IX^jTY?Xq811p2J z;Mw4Xp#3N!9WnpUL81XxSzDbr6OO+UU=}VMG%l>b2Mdk{-pzZDdjIYu7P#I!_a^?9L()mH+_mFIF4Fd4l0KX^$4cB0YBp>dP*OT1faNuo~*J`EU z=}_=$H*r=~@KUlK1g9Z18j~*tKNspQ(19s(?scO2%-~3(3NtG;x@M$*OJ+E|8lR=$?RC1U7W-B=*q|YvYmZ7kX)7-NVnkgQ2^8Gb7k^jH76Z;Yzn_; zG%%9QbkBFv@|X<1_!lpVDm8k=U^hOMmcA^LTZT`~IX#`(TvuQ35ST5IPX(q|3=j4< zs|UP*TE4R@tvjq4%&iz48R%Xvp8~^`rh!~~>9$PQwT5a{W>jCw4W;p5R;S2}FDu_V zpuTrpa}uF7QTDntKH=8y;B$EDePBzvv%4FtAXYOZlaDu2N0DI#w8)oWa7!8=bL+yl zC}T9mBQ@G0pA*#GFaSQVrw4&%o!N}Bs4^U$2Na`dsTOCm89c}~I1q|9Fw}?7$6 zOlQu4Mx9ywKPpyEjV=}dKG-naIW&~%ZtLtDF@r)2e5!M}cW1hP1fOXe>Kk={>dS8H z?a4W!vf+zQ&*5v&g>P>*y|v4ck7EuFcV~v-#BK1u{01L7;#;YJvH`L}K1}KK%*W^9 zV77F3XRb4?eA?Nc?i|3U@j$v1A0v#~t!bbeU;Ew}YPTlUkzT!a&1E8vQ7@g&3~cWm z9vpDGMusymHa?^`l0oDQFgFitw3;#{HZ~F^iR*NFx&QS<7BCMAKT1z*y=LLAD?SvUqZ7u%{<2mXfGy>D)rvE7V79 z^WrYO7QZOa57}4rb#8Ui_^Nt|b>#(`*vzG+!w8eid`FDieEHh-EufR>yk0)q+619Z zOzLSdsGJ6ox-;qv@ST?RiE{7;5R@zyKb^gBR9kdL*%Ev%&Uw=&QdIX6@g-lYw@_+Gctoy=Jf#ld&1|d0Fo;M#Kk!3pkKiJh)_d@Y>8k zs+V~Mvr}1W>EO_4^N!A;H4;6B1EW@3B85j-b6WN8%ub1r;oh!o^7-V>VFW)?tIBTc zGnf?elM$;C3XGdp{b}hId~`Y62hSU8^yoAyay8?l;No~S^PGOnr3|OQ(rvwc-6@25 zCY#kAv#@>|v2raY+rW^MZd#k(F$@!6UP?-A*@p1yZkCV#ioC;_e)v$5#rEE;nJ|jO zvflnI$aN&^h*QZzrj^>CNRjx1dwH zEi=4jFl(ko&+y=`%z(2484~G0eXbedklQ7nGFB6!wR!paWy@D6$z-9E01eZH;i{(g zkkVhzWrmiv3zEG=JNk)nQ?Lut&oX=rJ%c<7=g_sHVEeM=OV?vOcvM*(zs;7z=dROT z+pbN^k7*bt>qiFUF<|zz<5?@phtS)4GdqkWVWV80Jm~Pr~OC*WGbYYIv5wK=(U>81buDp-$ zFpysrm#;j~mO~`=JDI*n7B|tm8u@o*NXIa&jbGsCbJQxC&g|^c3st`^HuUqEq+5IY)W_JdhQJqyXYfF7V<^e;t;0#nZXBkE8_)tP(@ADT&4B6FuM_~QfzIL4 zo^a+b#%$UK8G5^PZ-kR92k0&9j&UFw@)`Xl5-Vys+KHcw0ZB@IGCt~5V@u^`%@ASN zG>{!a!qRI6JSwwaR|qEir^SOqxnZn6`o~J(h;C9G(k(t>qH4+>)vIUh} z?+`O(Q+BaU84v{Ly20oXzOTgR=@SK z3g%P(*6wH>*dpcWYW$!~pB@QjQco85^uSseN>T^PHc85Z!^?N7Y_4l>oifAZDRUdW z@uNZN=XTI{seJu|CX3Vv{VFTsGHPZdK?EV?M@=Fo3C#g^U48f>4iKl;jr3-0plGIf zk)o|4CP5m|9JTb#_}+(1zY<+Cok?_nq&(IaA$lij&*k{`3Kc(52TB!;@y+TLE%dRZ ztDS^I97-1iqaGF+MZVGlIBj|4sb(zS%IxCER$c8t7}0&%NPoX9*Gu&mUuYIxNSrEs zmvpo&cTf=wjf!o>#qyvx{ztY!GVDSN)dVU<<2Og=j&8MFi0?#6=$_4)WiwnSF{`8( zmY{x=`hpUY=O5;)==M&0Y#cK*NtQb(3KmVD>8Zo zi|kIcVIW(dvP!QM0eT7RPh%oFTY6+Wgo++(g0-VH;&xTzNaj?ca&nkG&9Fkkx=RO# z2lGNi+^@bPBb~!HuE;haE4G6vRTt!6$=xUzq6^T9rZuLjghbdrpuiX&Mz+YQKH!Ks zq~y$?+Q3)ps9dJLX$IyrG)9WZBv1rkNLkaDW4q9t!4GxiFlQsRglzD#LsE9B3UxSx zN^d)U`$<*JE$f@GDH$97u1$yf3yi*|Kl_lIg?&{;Dyx_D%#RPE^;witHJ7Io$GEqzMUrK#3*>zY+- z)^1pnUcP2o)8aLbe8UQuBI=MN7}&b1voYH`AYt6SqBqmmt#$yije|#IY{`qdPPi6@ z2FnbLkF8W*!LSA_bT*ZUQwsH~O^a;&dV04)5_}oWj?SS0XK;IF7`u)g@TjaHTRZ!; z^u|d#sZrLn5k|RrP190Y4AN=&rlbqbgNzZwEX8M_=oGtB+iaw~g&5nZ&LkvDtj8A{ zjSP3$!VVV)GFwq4Zr4H8+_D%kqt;Owe8c+1DVgaxl;onhv8G(QV)^>ZG$C|XwZRoy zb?k;jbz8*h?5`I}Rpao4U~w}lRjo3rP?@06?HaXBz)bD$+zB4C0OqfLSfmZIKdU>3 z=D=rVRFQAJjD=j*O)yfOXkT(L>X?uV>kb58zqk`V!cAD)`j|M*f2wR^F_r>rlf*YGP%u!`U z}Nt!+h3KFWPWsJyLx-mJGS-W98JDp$-%m|6{jee zQ`_Z-?!ZeQ@T8T%rf@+TWR8&~O=U8@^FyG?w=7|kp*6-BI`UQeRSRWC7H4(NKsTTe z%^|~NbYY>f63$CktX{jg1=P#?uta5X@}xA8rN4Vnwv?hK3Pv5E+Opyo*~ei|fd8GY zzQHVxh>)myxgKE0F1vM|*kr0Yc59=uqh6Nr-BW5Il}~cw%cqpXv09r|F}g;eBvwaY z^|lVhtTej{eDDr6*>F~l`@+(cdaHvOn<18?($H5#0{NXmXdbTB8?YhJWuyvCHMHW)1{UJg%lBV>8NiSZ~lwP{_iqztkCa#Gv zuR1~y@0%>Fz{M@gWd|wogLPX@YOxf7rd6%A%2>*G2)Fz~Ned^b3(?Z0mje`V5*{)? zka%-?zpgh{>85P+$d;Vi9$>vd;fIu$9?<8CX_R-ehN1YE9AwfYMCw;3aoR}w7)0&W z6!T@0{e%V*YnPxR!#-VmL}R4Ng|qYtmpaIigCHE#uEo(xYIK9%aHUl$Gsf0&VN$6I z2r0SL+@n8Cvqg@Zh?9^|Q3rRc(@Bb<`L(Iqu2rf^9b|HHs|>44?9h$c-77M=u5D5< zA^Y^`9sP(cNlgry_?7_b?;O5XO@r`!P^lw{$drbiTl&%#i4%p^_;YgvhWOdI5h>qdHUf+xX+gH0rM zT@Ru=wnu%cK1RxclsKvx>`xELxBjWwAq7s?c9B`?5xr|h2Q^32z51vb^8%Y)Epd}n zbu>Q~$I!OS)TnG&I!Zycr0FvC>FRntKG=vUu;0ovL>NcV4+#rN1t(Y_#*%?`GMZu` zsk(n+Qn^ZqaGKmJ&}1rbWxKDwyiglR@69vH8Bk9`Un``eSB^FG5v^p4!2#S)fE==` zFlL9%hh?vz=CBGaF||(gO7UxVsFMX9aAu#)@MR4_@l*#j&BRbrB%-KeL9T8$C`UG} zQ6~`8M7c{cjhdx8qxTNnqLZA4*ahY9^FI!%(35>Vlc0t&XNQLlh9#c<@D z8J2CBiAco0d~JY(k~wcyU~NFDYZ3>Jy|u_XK9I-a2NC*0kwZk3!PsZ0RKr4EpFQen z&7%`#)oFdA=b#^X>0hq;>s#hvK(Z%e&x!&U(6ZgQRFht;UADoumiaNhp zyng-Sj`ZSGQ~vZayzJ4mwu_p9>Zn?6CQN!ZMh6L2YMc_v&j*K5EhEYN!eWI3r}HJ0 zvC5%)C)tb}7l&zDicCpkVY)^Ut8ZmOVSH66=A)Wf%t{XG#rbmff)#x$ zrc-7Z1%rHDg(IW(iZGFSL-q~Sa9QuxUY!iZ+*th8cYflgQG{OKl9Qx(IUKHcxr&QzTOYpGj*A(OV+Mk4eP5fr9|Lio1k~da$F63cjqYXp>9LA z)bk6XLQzJT9;2F7 z=>pxwQ0AVZ#BDUSffw>p7~rtR8Wf4D;?;`dMu4$CuG!5H?qdv^({v1=DjJbef=ch8 zOh}oVS(=p*CF%pLX5p=^@HDQ23J+;7WDeXP0eyZo8Feei3(;$R*tfUaXN$gN+$`!(Bw4D zQJ??oN?o6xs-rm-)Ox`c3*=Y#;r6o|#@}Xc>8cxIX=GrOj(sEj1K6cT##RZ+T5vdG z;>c_bZYOesgqT!%Q=CiU)8yEqf6 zOU*&&WtklBPP5#=3L?h|vUgD#GE(0_Kzt=Fbiy&0b_vRkErXrI-A(8*JUoJ(mMnvE zax`MXz%Gk&)QNAHMrOvXaa4-%j4W3mMT*0u()N?di%mT6;l4z&Hj*6!!qf#Nj*j(O zE0LXEh6-VqSAa$8iK4N90(0*IBt6h5@C6LfO^XwT&i<-fMzTJWMguF-%6d*4naS0S;qu6L+w$o295WH0OmL zFQS8)N8%++YU6Vpua!JiR|hOA>TJPi=0Q}JrTXix&D@7<`THp(V!02iVn!0RY^3C- z5Cj_<#JycPv%)E#Ifl?&)bvp=h%dFhS!Nz1&?*`!mMK?hJ!QF)+iqq!91nC|3(Lwq zQFG@_AH&SYV5rXI0G%}4v_eRp`5MCWJ?d0Q^OVA48J=U1oA8=5)KN19-{}kssc^h(O>6zqd2gz}u;JW> zx%IRAb0Y(pg~&n~+}c93bGU2ULVW$#>8Wv1Vuq zF&$^>Q2{CNwRN$nvrl%QUeE@%HxDJp;06qCLwEPjJy*8ucytUsO)Y_wgv>0Je!)GxM9v1) z1Qbo=6c101=|ayOh=mieOVU%PJTT?-N@~QJT91^gntv)Y+~13Y!tg>(BAHTOT@&63R?6PBRL$_ajPK}xRc(lLOPNZVYszjSY(HBY#+&o@yFO8 zAib9Ag3uIU#GDy_yhQM%x zP8(Q<=Lrw}h!twO)asV?*rE>OCnL;RiNvYwHo}eS(r`Kmby#F$*C2)lf2_@Fomcm| zLjqLc19@dQs@X_?UUX#nRTe>#)gwl;-J5IfB&FO?FM` zHOu6n4+k3J+}1VCO_!}%zD&st%Qmf1kF?-1tB6>UoB1lwfx9fIQgE0@(bP>f@R%PF zULJ=T##yx5V5mu}jtk64T7G%#RLenA%Wol|?!a>z_HGJXiyfOx8yxqG%%Bx60;}7? ziY4~_X^f6BGq@pS#23V{Ousy<*-<65rE_@44OvPam=xCb*%v#OwUoMyLnc)(ub8h> z5FZUOxj|MI#YeVH!eU@Br;mrFw>~8$=Vj)gRLg>sM(k7Y7*{t|0L4P~ZgTC|ro7pf zz>ru&FzH3WrKW(?_m@QikzIHiYD9G?oxa;n>3B>nZEO^A&f>_8I2}bf2pb6jiv1j1fn->U(!0L#Pd-M~cCpN{BO}YA9pjmN<>q%(?7jdT@Y_X9Yz{T{#F1jVFhL23AX48uMI{<|jkxOk1iO zPLe(0{&|*Gn2J`Y6v$g1Q;>r^9V3{~eP_utObZvhA@X^UE%2Trw5sSV3^KgLP@PUQ4sHvH9Ls zuYT`noF6knzplQKZefd62EPTOS_|`jCW$n2$C0I#uE72LR}C!>8&)*p!$&@ zWCq;$MloaY`0*3DlPZr|$XS!c;}IKmcO#OTWy(rjo!Och)|Nf*4Ux<8d&SwF9bNe( zFn+jj$?q74Eq$lH$e1`n#t}njAD--vTorF+<;g`Of|1Wj;2%Ea^H8;X)(1ZoZ{8Em z+%dxE;#ZmFU&5I;MwssjXa3kT=K60f-P|$VquA@klQnjUd3T)@!Q;%}u5%T^<1H#h z@DVc%s5tU{HJT?-#fB8ze8Wh7&0GFqSc25Wb=o=%?_2B`Z5)Hzfl6~I_PWe)Uloo* zaLA%I5!_)>DT2>h)TTmNHWeFE^w$&PNL5QM#TSFA>I~<}4 zHE+AsT>V%`6>6>_^|`KFa&^+=04f5h+K5pJ?CXrtxHZ9{WZcCqsbz@UQ6h{M`;<-dZE*#PlmH1Q zJ~vAGs(=!*U=|h166aWSSm{Q`#lw>(KGradi-3fgmnu2V|8#&*&j0C9i0dQnr4AcR z%0&W+XF#ChJ*7m(PxP8TrR+>buQlC^aJNek$KcX{;CP)2#p|(V@hKFSPwYmy_J?+( zyQp>%yGc*Sp)RHDMncS0^>$H+(w=MZvg);h2;)l}3 ztq>oZR*3c&xEK$e^5PscHr`)~+fWK_?%=dDjNB9qs5r+Wt`+t-;s-$F-!0}H#vtg~ z0_tVAwII3aZtQ-*c5fk=#4iWPKX4=%<=FBX9N%j>t|Le`uG2y=%5hx@j#`Y@dZi{G zv*WHOxX5bKMsV1m%AA+o^HCPNy@R>Y9w*C?l5=`P3wL^|o}{m_gAX(iX$Oz`%QiXdkLs0h-O!k;iL2{M8VW+5ZI z+=k(1f;6L$5vHZUEp8{E;^x3FB&k!lD1JQqyb`ewVd^HQbcCr}F+GLuSQHhyW6@OT z;;ITRs*}KWYT1%!D%6*M#U>Opp=dxKf7c`-!BGR+TX2-3rc(129O3gVZm62@GJ|uS z_1`t%3sqs)KN^^EF6{Kx@U?iD|FsmGWR;jZMwrUrT$AA2tX|Fc8<6_BPBX!~BdQYq zyupDPL28elq1qZU?u%>{{#uIv+2nC?0by#Ha2m(rY6@;VJ*kw?#kI0=8oyxL{o_O} z=cLF<_*Gj6qzHz=y~AN}bLu9X9S-4Q(>R<2I~+~|<|rAKFsH8YBg`ZvbcDkRw8P;9 zI>pA>4u^1)!6DoKY!@4&5kmSPoI*RC!YQ<)z^ZzSMfB)6*8OHA`w@O3v@Stf&vnuS zpS6`!iXim{71d@`07Y^5jxSA9iF!Qo?um#;n4`SzB*}rz`>3TMPZEcex7>UE1Y#eg#i5UoU>M4e7yoSAQDzH~HVri|vmZd%zu@qsd zE0If>8Wz)5=#E9%Vl%;U&NI8|#dcS{j!K8`Z;TPazz^IIUM3VLL!re>e3$y;Glts{ z^NypTQ?CF%zK|2ozI-pn1BXM8xCIrx#kE<)@iu2HJjdLjN?0A2ei=97N+FUa7u#uXj7Nz9517n8xV$#QX zXt%~Wly)}z-(btUR(4)gTKa@@&}=9_YThS0_<2PwV8OOP)(Fz`tgOsA_?g{fY>`Wm zW2J<1vyp>V#ZYs{8;bNi8`DFvMJ`2$Dl-|A$6Xj|$#_GNo`+_7D7MI@$WY?`LJ=q{q`n zMr&@~itHHt0;1B2#MzY+I8Ik&Sn&xar700uGhsS&TlR{rPFo4uU7A!Gs(<7~%p7M& zO~{iBh>vtvU@;zA$2f;lnhTq_6#oZGiIv`KZ1h?44t4}tT_Ud+mg~OlNwU&va|}|J zR*#ev;aH_n_Ej(E8xTE1WE={KTH=?&c1TpP_KD%%VJP2Y-l4uKPX1!r6LbvXH=s4% zpzT{R9xx1wlQ;*BwH+fsTm~r3&iHK@^{Hg~S^YmA5)!1wBE-5ewkB9< zHxs1BnvgB(P-OAeEGYK%W@y=W5vC7N@N(cstb_#{o`mx*bCLZpCofnXTF63$l%A9P zLP4qK7BDPQdF#U@iuVUA-ey|hy3kbg^*Ba>jE3HE$dnO=(up9)dCg$s=$eoMFv7r* zAZ5~o)>H(PP!x!xV-go?xru|2V~KnJj&q99^c-uU6hVqzM8IM`fRw*6mVd>1AVu(1 ziz-;rJg3bJ&Jjz+Od%y==F0^!lPF+Vq~J|BOU$Soz0|0Mlo<6Z1*5tJ42z6PSK?T} zjQ(3|_*R17FlRDw8o_@sD2a^LF}9wzgslXJ&0VaL4i6;|s8EU)N-@_mZzK4gh!ibj zY~33Y5~P4SklFfyC2S!$--_Et@M?q7ec9>{2?Uh*jbQM7gD_qxE zOFv@?*Ae9KMLw@!V%|f5Nm? zsnqXMI9dcx){q~41Qfxa*ij3fwh(1qbNLoab`=GoAB$Lvj$&^{8>SCIGSsdnPeu#~ z338ayF~L#D5)*~|*m<0}LxC=|8m0*LSd^9KO*Uv#1j8{3ESPZOM5QxQoDv!7y+txo zoUBMjN;oY>a4JxG)Ho$ZeP5AL<77of6`x;k#(kSLT#Dd3EvjI(kV*7@bNOELPKjw; zMm_P2FuoV#0bSlb7H6Q4?8SGP-Ej#pzv6w1OgZ6@nx*+{Ht*Ok5PXY4N$?hb+%9b> zMs4R5L3YMT*fu>v{%iGdx;@LhV_bsE465|Fj>GOJ+U_j`$;Nfo5sY#y{+Qn>hR=nT zUy2|*m(s*>UYMzMac$>Tf|D((oghUYPd#!hv)x+=k_`+-Fv_vGdil10!PV^x%nATj z1lQY0-$by(ptQVfz1?_1aHVAWGmFa zATLv6zEkr_)|=}HhMG4Mq^=^@I;;6it3WeBimVCQqSSa~hag4PglvTh6g=BQ!Sml2 z8Sy);8YzPJThvC1&zO_jYKM*6SSYy8#y=QTjg730ara5j26K6hB})-xY=Rj<#-{Y7 znjf$ZO%eQC8@e0wHPkJcduIMQml?%6&AV_W{1&Tp2fb$2|H-QKZR7q)cLX*DrDC3lVA%m?IT8hvy8r)(TV|TS9`gf}*3mUo&!Jl_2%CML^Cug))7^3eZlF)4|dfO4c5ggm4(3=f$Rn zgeT`mx1BN_1X<=xa;}Sn=a3k0)ee6CXqOgnNg_CId_ak4s+YwF~W~okF^o3GS94_Vjwuhpgd<}?-(0=SQB&vPc(G0 z9X#E@vn{(6!FiS)CiReM$e=uD``$4&9tr8< zYn_bB$or6uz`0{TGVre>IKnBr2wX*w_rbCD6ATy0lHV~P-qXtk-SUsdEg}~ELW5$i zj3?FER;mtyZ?dQq!7hvHAhZGF=DEd-Ph|0L6G=A9}Qai9#0k zmY)Q6tTaokwi^giKpe$TuBBGB4FoA_kpmmop)G%ExI>@+b(hgKE>TEL%LmYA#5tiL zVhbrJItQH*=ah-nZZT@QkLd_fJXl%^$02=#@vX>l9pqs966^DV`pLDO87m^%btOe( z7%|(8Zy-`L=t>(XPC34T7`glu6Qua|cm^VU(u4yI#P$puCPfUy&YULW87LkjufIKH zp22w{d?tust9|zJDuVYIlx&$=$JqM4C2S?g2UI2M&9ej<^RD}{bvS&|fZ#(GbrnHA z=BfL#<=e+Lt|B59NAh@X9)@R8k8nv>kU&aA;Ct2 z(u8acg@gq68We0+HO9uHAsxYA<}qYz@-#a#!8(J|BeOLtB-B0rJFkrEXKY-z5M(d}*!q|yY$5o#4a`jh8BDq_TZ|`+OOU~&3E3L9{@q0I zClUX)jIl+hLOFtWN8Hge#@5%Y-!>7Xr}WTly%-V_{I5KYY|*P2njl@OIkFWx_!!T~ zN(Dfnlh+kGxs6W#m`zjb2-34CZ3)t?BJw)x;7s(#$$JnB$V2DEZG#4{}F&tgOxrj{=L4KYJPiYd2x}@E@E00KIDcybc9+pq zw#9_sWwlQcq`6RB&|<8tq$gp1wim~U1R2WcNfWZJlAeSay68!e??OhH7L6E}(J5rK zBMToPi&Z^B#DCeannks;r2DS1gX$W}sv&bCrjN@U*N7L2 znIg!r0hizJj{8s{;~rDUFBo|!j6%{IG_yj+4Xu!IakYVY_kiMZSAi~17nAMj-9==3 zdN*aeC2Anbw#no*#WNlk3Ry(pr*{_$%wk z2h<)DFAQ-c5r)pw#!WyGq_g0UpB0#1qNI?WofhPQ-B?@{iL(7MLEw-L9|4}yaA@L> zg$Ev5#wRG^95goGU!;%A08!a_9O=o4TgL~D?O`{9%st5DOrSrtiQ_7Qzp$tx7Mf@Z zlPX)F6f9qE;%PJV6_!)MF>f)V0#2SoPNC$-L{u;wjFb48k?MueFa#-R!r5(#Ct6dz zCrIa5g;E3~U1#KV(v1Y^s>7}XBVFr@btPSW*p*siIRl5TF;m0+an++tlxcWKy_ zV5IAUg06`;6#_3#ROXPy)s}mKuaX5sr6yY;W${Thp@1W1KwLJ@dDO_n(-RDPm(2b6 zzd}k3JIO0Z#*$CSlamVr6C7ur*%8&9tW{=t=6VOi65MVJix$>DH--6<;2jp#Lh!!m z;>QNF420x5$R$uMeO9a(z_TUtfq(>yuWe`gkvpix6$1sjh zJu1g~h_xi?8M^W55Eq+#DEn&}&)ln+0Es2MBbysa&gh2mK97$cnjIR?Xf>7_U{+8X z%Yu)(YAjn!I>2Hu6fGSQ2a6c!{a8 z@gOWyH<)NMdK<+86{AD(s0YEwJ|WIdwO#HFdBP=SE8z!hvPtbWK6$%&FIL@3C_3XZ z{HkTR{umiLXPN=$nfJiS;*pS(#@G%wtIdT9vNMT_OHHZ;R=2{UKpr-5oiCXp=xOtg zV)$c!qldM7$^nz@qSrocPRov(_vp2_)H0*>yyj>;Ez~;zwkQKiYz7sF)`T3C=W`m% z7DXvqp*NXBrp@LZ^1jMjs&RRxP5M?tZ*~>DO-FP`{^e4e4#)YHA^cG|em(76Y<$xH zAb$XkPxKG-FP9#Fg((WJH1E*A?ruGB!J_XtErx2Nd4G*PRRZp1digg~fgq(mBb5hJ ziD!a{__)%=cxeB|IcRLWzvGOW74b&%4i)by?P5~zHPo-6B5tJ{1$g=bMau6jlmZzo zPFY-F*LlQnBvKEu>4c$y=|Pj2uo2gWwh)z@5s*t|J9)6 zV6gBxb6q0{NsFP|X5J-j5$-cMlw1Uj$jDD^CP=1`9%h*W?khbz?|K@TNRMw!R+{5^Od4>7m)Wj~^^>(gZ)3N66OwAt6Cp zOmi$|ph9!6qjA_7<~~|rZqLcY991k>y&ke+ zroL^!S3?wS@x#zVh3p=W^_${sUl5#He|wp>i4^0n-6`R0H`P&;HqIJl#bY-Fr_KoQ z$p5KN7lb?z#<7fEr17FBHieW(<9N=u0@?H1=VLmL4`viD9oTHf)@( z$gm>c-x%rcHSfqN1R3|^d}vZQn6po4+Dfoq@c37}4AIy0>kFoFoCGBPfeFEzEou|N z+YCzcW$VF^klMo;5jz&25sMp@zAwvoI~-7RvZzR0mfzLaipgRL**KJt9eIng7;fg zGeLeWqxJ(^kA{R~%Xbwi>Lq80ZZYq&loP(wGDs2pv_);=Fy9DK1ix)jC6?6348e0D zA;C`j%MQ&1`zo~DrITzSzZUX~b}sy!tDZ7#W=sw!Mj$-f436XVH3lThA}8)lSWg(m z{>{7#M+;jGQwakuv4d` z@Jk*GeCHPsl~SaTvbexy1sumIW9m&j&JHIY!3KlUvy81(At6ELrqa_<`=oHJmSSVI zjB%{X?N}`Y*ICqhg3;j%Cp5#MaPW1-2480fUus8MM=&~4;m`884&`2Ny5h|17k6m^ z3aVqrxzJEuVcrusdmr!LXUs>Ner(>c1Q2}2ptJ|rdNCv<_+NR1Y)!GMwh}zfpkB+T z__iIxlCt0~8$k*pOj^d+`kfW4g&+mdgltt=v04a5#VYMxzlB&WiOPR;+ad zDTs)*Zj7zzR;+adqhb{c498_>+853vIAdH>V?nZ=X$6>=V6=0gL86^0D{f#BjCL** zyI3ryj?>s7^A0r#-fvLydk%!ZZg4mOdf|FDzHq$eA%ukg$>0LCw}5Lc(Od z9_m!{t_klqtuN7a;=XV_8=Q(lNSHHG5wbxIgfRZklXE0Ivl-U73E~wxTpTP#2s*)f?1l zHc_MqGKYwE@kkR~Jfs8{j~&5j8H>FxHiK?6??U}P13zU2YB{N1ccxLWARWutAS*T~ zXXhq64^spge??+jIAu(a;jkycu;-@2F@J1Sp+RBxI8nkfXWXMMFL549F-VEJd~vaZ zNz#R~wZ(^Zotum0mD8x9JkY?=q`bieNZI zFLfm9y%REVlq`^a$G(GcAUblEqgRX!M1pm`^wO%<;uMLTB;Uf5HgHqhs z2vb>V9Pj|a{7D;ADS|(@sH+Gvwi3<-W6VkqhI$cv%%V0i2+FM6 zQUsZUaH>j8ziX+kBFIoc2oU6)#m{EO%>iD|)N2K44eW>WG*%7QqT(qB5p&}WmmAfY zVHA=sVnR_!>PH_bWLzqRjC)BTtr!N7M`I#uQT#I63^9s`FI4FsW8?cqZpE7oIt}Kc z3g0jeQgm#DUhANW)J_e;2IsTtOwSEi&#foOnT@X-BKVx4Lf4yaU?X&A2SHA9H3Y4B zNxe1)^dQLTjv)ws&QPf#*a&BS2i@?WA>EBPXvXo^UB;TXns4LMFZ`h|5T*>GMEPZQHP#M4L&J>qFEDouP`z0wlF-CrMzi=&WnSrjrZh(gAt zP{_ClViTH!CWS9KG&2QIg*|_5yyBQxmYnq3R4|73(Ks2}t`p~n)g(?Q;(p2u$6SY? zAo#^F?G^T9zmTZySco>qi4qRy-vSeEIE8lJugMAwAn4-^-MQvn&Y=mv$>4C#7avHT zq{h=5CultP5ez04+su%}uQUu9D8v`xj_pk$e{8Mhxntyhxv?m)bKNnvIHsnJkEm(m z6J7?T%^+K7V^;I$2n+hT>OMXI_}gV zZLmrJHm=Ph)!oK_U1TmNoSZ}W;|V+91ET?3{B3&~u!W6zlcJ<-t&7Ok!bU_ka2;PN zbC8PZah*f>{bv10I5#+i$x~!1Qsjh#957(Q8FmP>GhA@f_2UY3y6wHwAsp#__xQaZ zvb{$g!jazh6z|Okou4wjk)Q~&GuGY%yUgXhx8IxA%jR7Y9$|Kd){hl)1N)M$!kLW)cV) z;YDU?kP2)U8%&Zo&bVjS?PaIp=SI)gGQDixg$3be^S}}AW*jvjO`^CmgZ;$hHHBPh zOu+P{kZjO)G74?Qj3u~ZvkxtCvbkd^Jzp^EaILK|(gdelOYC*WE;JMLkLF$a5nB*%n|2{*Ww7M#Pe~viUW|Jg;`2q_y`KZ{K3AA;bgI z)HG#KYG_0t*d!FpbZDG}h6xF&hA9~jq^&b;r%VG=Pm^YtDQz5z!3in!+;_ikwR`tn z$<1^+)18sNchCLKx##{m@9leU??o-IsMm4_4>#0nS!p}G=yGFaIj~*b)pmF-5@)V3 znbNI1{3S#YkKVJd<+lEOKFP}c@ai>OLGq%*Re1MlxYB5ZvU`x%p^cpG6zz|Q_A1e4&X>VBUo-BWib^2o&ycqqJ=$1; zUFXKU`77U=%RqDo&XY^zcEh2ihf+*`7V_0bzI2n$UA*D&p|*|kcj%MMe-OM2RZ0jg zG-mSz+^K1we`9|ulMKeV-;l5?v{)`VYPqQxooBiOa+mYW{|I;v=b6o|+uhES@iZpv ze9n`zACqj2sc379kic$t)rR?;sPh$04kxp-a1wasGoR62)=8w^9j(JIlC&cVFeaoT+CxC%XxQZ|Gd{# ztqv$f%iJ-I4N^}pFu9f>|GfDp7qhdVxyL6NoH){(uP!vX4&k*p*RW&$qu@Cv5wrgT zG`EvvaDvR|Bssh1CXudC>m(w9lf+dU=5vC~S2#JGBQlBN3n!sr5;>cl98M;uQ4%;r z&sT>!?C9J&C^;ml<(w5C$86|om=!#xvdoI33(pE({iiTI<;yM)IS$2(<25F(#|RM~ z4|$y!@i^;wMHdOL#FZTTBogvUj#q7w(EffI30oVA5_el4+rs@gMJf&&d*(v z?^BybG*ZOW^-`}ceo*gp=3Vi$tlc*8(q=Xa6KdjFrybk1eQ1BpiQS1H#c z4s+{beIJC!RF-&rs`VBHZ-u?WzJn$1O-(WJJ{&wi0r(w2iir>6;EO==T=pM^ox{Lm zz@Gy<5O25x4$C24i~JtoZs0*6c|?1I$rA|M+)9!>BKK#U=38vhb3CPX1IZ&^58g1a z2fP~{e0%3U+T~_Cv`g&AeH9x=AphHChWQ$hdc$jKvem9BNLcQ5b(hyCA%{BDakNZ^)h zW?T>XCg1?@Ey`CK{%+tj@GpQ|^6?qmU2e9n)Hv+y1r~v!W&b+Zv-Q6M-k$@>qdzu( zdxw$S1Uz8*ZS$wVyBAmnpL#a`8{oYFq#x9?`EP>vE|BZZZbUgJfow-xAJ>lRYGm{P z`)wl9>w#y>{~Y)>{xRf7fX@JbU?GxqpdFWforr_uIFA$UACcR9?g7aC1dri7%JVdL z+~c-{AH{h!={UdAP8aM@kJ~|Vqd0DaX7Au;`^W93=oj@~K>6IIi@RfT+bM4KW!vL6 zP24()TOd*2#m}5$a&kcKqC}j6oc6eX647Pv)4#-WAh#Mj2CQ7z`9{Ie}z)jtbLe3qDzK%5aFyhWfwmn%eGWsk6a@!!{3dp%< zk*%M^d5*XNY5tJV=JS`UHYObB|1QXFmd^P#r6rr@uNU4lF0QQZF|?^ zJUj#B@~T``-Cobp)+e89LoUSslM9T6M}YQKG&j5ev z(0B0`!_TF_AUzGZ$E^8TxHrd{L(M1={>wc;jRY$R8FSK-%WdK;DrsIhObb$L#zy%FP!W4VQh}-Z8!qUcb6{aPf?Y3+X3Uo*7)fHfX2fqd4IUoG-B zHP>#sJpCDvzcv} zyVgZw^@ouEqa?MT2hhKGoS=RL{_JlWK38JgBzoG;^c6;aFYbT871>#>PX3jV?>3+o z3%^aRRz2DQ`Aiy6=R!UU`ANi&L?mCMcEg_p_}#RF@p%~hVUfqR!)+qhe$MKSkWV7| zuhc|jXN@{&)wc}(N$`{4AAr1LlMy@&`TdX|gZyWZ&qVgmRl6TG0$h%&r^w%Iu}+aMlHCgJczBV>+f-|u>5k+w9?yQ?I(o!JiQMN{J`a*8IBD!N1QTpK-{a6uIu-@-3#)e9Pb&2mi&0 z-`YSwb@2boAz!vQzMa>JJg$9uL>|}v!w&hb$d1I-UgIl&fOEUU{=ML*&ES$L7boe?2w;v$d{ZGZ|4G$Um8>H?}&V*oEMH9Hh~c(_PfSz!hkyDu=9jN{+vVpl0*KwLw?F3Z*#<@6%KjA zA>SC%iCj|Xaee~vfpJ4+g0K=+ z$H$WymGuLEB3B9hzzYjrCSNN073F!^k~fhrjivKmHY^1dFI}BdnNp#g_d`FM+|+ed zS3JoZ&lPiCItbD=&o72SO^pZXg70Okg+fhK8d9Dx!zOAbTj<(YC}pd8Upy<8YhJ3> z9|T_CWI9*upUU{;pcJTFF>K08mvi3U zeR-*9a{X0Tb!}Frn5;jp#y3boL8%(%isGj~UNI6w@Ctr7S;|(VxQth4dZwu8zZx$E zVURA02Yx0Lzbk&|Wz%6=Rnm7v2FVcP>3qJFsiy)O1~8Rf;igKvu*p}mOgJoazpY;QK|Q> zx5E!j_g0GKKss?ehU(pz&R2b7&z~wcFgEKEX7s$wsi1A#9-dlQ9H z(W`{%Ae5#^)%w!qii|pMXRYi@@`hqAQ_A{6E){l!;>Uz`Qbyu%Nooqb|6Wki&PO66Hi0n!696o)eqO_lCtZQ%O#!@bul6jgb z$>@-o7?~5Lp(yTo+x&2AE)$Aihktw3FJ^o#8Vvn{i1ZK~^(zvQ^(aLHZ}W?Okjn_G zSI>Vl=SHi=Py&V-h^d;cqc>RDQ5_4-2#*9&%~Q24wa~A`jdcl3x;5&vvtig(LNn0h zL{YRyoAz?R4>OaEl`x&Gn?hGl&vRX;`sDJqRCD=kG_f0N7FDTEY8hC)m8i;kq^2cQ z%0TtT)4BZIAnMi=PG)V<7bDfES+#f4{d1L)ftM*XMiB`~bMq@O4QWm**0j>5QaVbZ z(X}(Vv1(Xv_Nb~`{d`kZ>m}<(*cqfV{+Ku)Il2`mhvU-GUeJ_{(2qn8P&yL zs-)wiZmFmUJ^vf0rS_E*Qza|4LYN*C3nN-Pa zttgrXWg?Se+N@}xlrPPap5`E+{y6K~Dhw4|ws6UGXVi^j$T>X`w`kivDKRxoNZBw7m zkBA?Z?|qFQ+%~9-u9Kq=8vN&TCgQVT(tnmi)Qc3o-=JUr@`Eoy)6m!cYa8?*VwIHx zokx3oZbe+GGv&kbsn7ZsB~MefXp(&Re2dtL`fGi;yIL=w`cop)ZBlQhge3GQ5&ds@ z(gJr(ru?tSU!#5^VY2FIDe$`<@or0>&((;mudzDkKjnX5>GL@Z@pC>k4YFKH@3-`M zUz&*5%1Dpex}K1OL(pgc)t~2~iME23>tTuGunOV(}g$-Tuk>%U=h5yZxU3 zj?sVI%3xW<_0VrFMXBG@57^}MrLQ#SP><4U9r|ac&A>abhD?LDzD`?1G$KwNHPSA; zH+P9h2j!2$k?~({U)9H6q=ND`6_35Fz1HV`be zv71=7%VOHnmbShvZLKf0w9>cMVry-}9jzL$D&7NlIcq==D#RQ6`+jHUY)(QJFK<7; zKYl-#PtMHq%*->-JoC&m&s@&oTLu2?ZUKJasjXCmBpyM)cqT29orPURmEuF8^lGqjc) zf~1vym+32?=pR;PO1MjfW;wQ+<<_clYgIWj>}EsoGs6rC+Q=jSCMmHE3|%Up88R<_ zMXv`d7%%>#08a`3DbY4FG|SzHa^&-q{!};EW~us;$)#EGZ-%P5qHUv5St|Z!%$#G} z_swP7m*yS3_UfLO_b*tN@#dRv-*XjtVfuCWBblN2v$fisP91$eFFo_j6q}oAGx0YY zf3v<{Is5*%pP&9@y`y(p%QOFe;q@;Z|L&Pp<8JwfzWId*ZBvS;H-GPe)j6F-uFL|7;RIrvrZ>{s#X34a8vW z+LMI-nk0I4a}qxPl7#-ZlF)xY3H<{}=$xA*|8J7u>yyx_NP;g&(k>$j{=y{qZJ~?||F}qcc8<9-fh8TwIg{e}0mF2`7=y)FgB!CgDFnNqaMr{uh8B zOb&kqKcm3wz~A&F@@Yl>!RY)hi5$L^gwD^C_QBh5GorO2}cPtyJX?PLg=T z#B;*N?;b^em!f0yOZ*eVW%z5Af1^*rMKZ8;gU>T<;78H9RpC8~&yBZ8gvn=ykn>2J zTk&(Y%73}a->&jI72Z}-vS>+NZAoLWtRYxZVk_~@E-a}CGz1n^HwFU@vkRxy)YS%N zmo2Ob$h5&zO3ItdN-C>s%WA4`57>&97c?}K+)!TL)X)&9P~h}Hu)IpeXVx_=5m^hG z%LDbn>bhDcnDLUE0>Rl0W#xf|W#zXGOqf>I)M(Z)E6^CMYXDWl-X4ys2qnP$FhFEm;_7C=r>EKCNy^eNCX*%ueRP!cD=3>e@v} zzG30wKzXoaMj+@31{)G+W}8+MC~H8Ln*v{N3e=VdN~To>1kVWsO8J6;CCH;H_16ia z3`#tWr$V0EiW`;&8Y*k*mf1>*mY2+g{8499c@Q)_4U0;O${HF2vzx#%vR)rpzO1gH zqS02?&``F#q_UxINlE?kx`m4=lzKEESV^&Y9q1%W9e^5?^g~u%x_VN$%wf zt1GJ6gu=RtrW!P$Ay5_!OaMYiO-XQiT|=;;tk#r}Z%I86B{Gl&QD9nGeIrSzGA0NK z6xD%|K!dHMwjMlAz{4|ZmS1bU-{Bvrn z%j+rv{gLdGnSo^qRRVRzy6QwEdK%e{s@_>mwZZBo0kdM3FQU|#j5rD}DH8yAWU=an zO+l4gNUsDL73t{>0ZP`&SEBe0HM9C^LX^qVCloEG7^ss} zB_)BzAciSKT2g80W++TwLs63`hc+X6iX3c90!tbLK{0w7$}w7~Cyl{|@+I|5Dz9H| z67U9UEESj6q5o!jON7SR$er2K?4O(Ksw;|wculOVUT~rY!`$j%m26vr-5G(}Ktpvo zGKkIr8#MtMg~Gs+lESi@n!0iTR?$i+U$2ZoEzrqH@ z62`7%tX#%sOuu2)>{*_fC6jD3{JyEvN+yh-ke`U=O-w}lVwaEai%$Sq^}{qF){LoQ zrD?^QaWlk3fM1HpZQ@w^bU#cg_@#)I{lI)_0#B-(62+R;W>50ZCh+q>j=r-Ke^u{& zA4P`P?vPc8^u?C+@b`X%WqPVDoJdcz1ywqV+t!Hmp|&*&H@dp|4DOWtLczgvtA}xC z;kOEII*)LQ?azSuGxs%2zo5e<@$G8g!o;^Iylsz6H}NK1$^`^|CO-9-60RD6&rtaK z0r*UXZytajt?(@a@L3AKasd8(g>N5#zewTN4#4Lr{JH`7e1%^>0Pj)wjRWw0h2Jy) zKU?8D2H+Pc{LTURa)s|2fUi>cy#w%d3g0~dKUd+ipOgJy_RCU*cMrfjm4DbW0Dq@R ze{X*}ML7~S2H>4aKbn@q5zEf&0WKWwE1uUu4-zukf#VWG3ug4Zngbr!sGVMXeC3*Nep*l59@ zW1+Ljg8!lg-(kUj$%5Z$!Cz>>cUkb)Tkv}=c-6HcwcCRKiY32c!C!8{AF<%oQb45k zTJRoA{=G_n*eBfAGk;lKGDdr9wa!ipp7z%KWn1vl!poFg3tpK#kub@Emo{7GcU$nL z?lMKU;9)=$zak4BtCYmA*n)>aPW(zOcysHRiB%T7Baz!?tGD2->(gcn{=Y2wTP*m| z7W_&J{wxc=-GV>cf?sRFXIb#;EckOR`1Kb2c^3Re3;qih{3Z)tZTXAT4h#N#Oa7e} z`~?<#mj&;%;P+baMHYOw1^;CW-mu`!sgB7<%@%yV1>a)9PqyG!TJYkaL8Y}@@M>#Aq^z~z zr&#E$v*53>;MZI5*IMu!EqJ#DzsZ81YQc9{@Y5{#off>;g73263oQ7(7W{MzzT1MI zVZj>~yl%lCvEbEIDpGqb_?s;GKaYMcfzKuI|6K_j)6Rci4;{?VBk9W@fLqko5lo49 z>7lI|TSTMdSL_EmKK3;{wF}&c5w2odtUHe1*cS-X-HUYzcn@K^c(D!vKSr3YU2LO( zHxs5y7h5ObzY?Y^7i$;r{}QI_9%~Ws{e(IF#_9$9E5dZ;VxIHlu zVY+a!QURYwn66u_NWfg88YZlum;LU{TlEu~u_^*WN zipAOm{J(_hg2h?{d_Q5jUa@)s|B5hOu2`vne@ZxqaFKw&PnfP(%q`&W66R7TmMh?I z6Q&Cma|-x&!gRf24goh19#7aN;KhV5BYfmT(f@?$V#T@zd<)?`!d(KMMVPKrtV6)p z5$2LAwo$-S3Dbp&trPHM!gQTt?E;=am@ZSSMZlL3rmGaI7x0CIxfF|)3iv$2beUpB z0zQ*4U8R^?z{3gCMT+GLIE64>qnJ~`n}27sRki~bKRr6-`M$$nOoF1=DaB z^3XI4i+5`mv@qiq6(av{MgA*(#USUT9zLRXzJ0CU*_*1{x9hu421kQHp(2nG@2=D? zfWu>!r~PS}(uA_MrmxJ=LsKRor%eyP9vrDhrY!iq&1TGl)Qt)}wx<^&pZ!*p?N>gw z42g;#&m7NekU8kq!z)}_dN}BE=;7I}j0!z6axAq*5Bpt{@^xf-RI)6|(E$9aNZH{yedr;7gBQk+~c> z!h*eRdfTDk--Nu-9eVg}fA~$~ZCE^zixk)>W5ce85&My-I(!&h_k5S_%N8tYt+zw% z0OuVy?qk1&xApw4-7KZGoySx%9X>1@it@21QGulgD%(9b`@+xm?}9Aos_bYz>~&@2 zfuHFaJG?H=nYQCC93OVA?EnHY^Nsi7abFm%>CoElCQb_QpZ_EK?+jxyc%ypnmjxh& zjAlq7Bw3~uE;lYhi~QlEN(xorTuMP}`;etfNeu6kgz;af*B?GE`8{K z5Q#ttY-gGjym5mfEU5Kt6#4tBiPmjh@_Pe8inZ( zKjPYm5U5oM_#+s zD^cq#D6)uL_gYY9+jvs}VuUh1;&LF)O4nL&Sqit#f^#a|dJ8UF;Wk=uxeCYLGV7S6 za2*z$8}TAj;Qb?PzrZ9SRc7YT7AZ1|>t;mMp4Z_=hqDp>=qeXcM)$kWxX{5CPq-tm zqX5>_qemVT-KR%4h+c+n^)x|b7$1Ma5DvGxTEK2Z2C$ka(CS(TR9|?H%Yb@e)Qu5y ziPm=6FeKl(wHMg0sgdU?fhjiUj|YWz_)#O32sL)1Mhp?dGf0iW)enPn+h6(k2c2v` z7{~ymM;~;pL}*-vM)|^9#feM4{M_(CccdG2`5DFT?3>qn-;C4}PIK7bxe38QrYe}bZH%j`#TSURlFuyFwE}$y-!}Bq# zN6)%xDe$nRRgu@JD>1 zaW2dlM;MJ@M!`&nJi>i%*Q0A()JV3T3aLjQk;->Dr52F@=8T#k(%RxQ^uypl8l$P3 zku|amI*kgehu64D83He8qT$5~U&W9eP)3va>`{~^w3&iHl`Tl7iZwGE!g|8t_c^^o z)BfievV%cE91II$C`IDN?My_c$Qq6ZFC^E@X*g9AM2gk_Vh+KW71>u^wxTH8@`zx{ z`0_il!Q_U3hiaI}oJkNu_W86jN zD9<8j>Bq}+E_q2N&r1ZOgUPc?HR03BbFUDc>OP2oqBEX8d>VOHqD0IM`;uIqKM+I{ z`swPEXEi(|BPe+N4D$RR%Ja%2N}gU$(I2ayL&-}rdA>kegX(9CYQm?L=SoGfpMHkk zK8-xjMv2%HkZ022?iDl>;=J_h3H3bheu#6dVD&SIGZ&Q_Z<05v=Q%LAA1}^LRE=cf zj0n9MOg-~d6F#jt^A*K@;+%NsG~(QW_QYKdH5Tk%k4T#(7uK5p#_3JWN9pBAZC0yj7I(g*)~9RxyQXt*?

FhZ9s`d9L#H8hjFtI!IaA|4`K~qd=(&T%!thuTq=tT zZcP~p%i94N#eRB13Q9v%MzMdx-co{_ zqy&Stl-^1yy=`@}{aMD(l6S%FBns)VjFR3?&<|cYP;!3(HM;GKQEMk^H7daq*u6a0)w&d*yECHP?(#m`ER(N;Z=?NCzhHK{*H1gNi- z)SpUF|2@WO5?xuPsI!cszD`j8nW9de5SrM9Nrcqt(}VYS64Y-n;h6|7GtHNtSicHt(C9skg~f! zkvee}Q54NeH6*&opzq{l&4scW?z1gPSEY@O8;v$ImG z>Es%eRE%m-6_TiU&8San{R8mqon{@hd|`vrju@GcZ#}Cg?Re1T^xRk&jv>;FzwG#f zt`_1|5OhtVef<|uU|Ft2MdT%7kc$*mK+j5mPh;<=)L3e;^|Sj}3XZ_4vIY71g9@}D z0HbX$Bhx7`F@Ah~~((VeA7MQjGU{ z)WM!=K`0xHo@xeQT!b{ECL2RG$of|9-{cjhjtS^QMOg822)75uWjev~U4Xh8Hz6tDL3FD3@NoIZwt4d#r?xrhMP2V;+L7)3gn>bKf+QzKe)(QHJ4Q2AVIvWWzm*=oMwi1#ixn^SW9_W5ZBu zeSk{Pc1UaGTWX*%gB0=$GPJfcfXKt9=wYK#)b_=z1@Tl}Zhfv61yRFG$QO4^!Pbi% z_C{;FlyLi6%*3Hy9DJl|cU>be?ZA+uAfQk$7V$F?F@AhNFdDoCb^qyms5^SaztKl} zWRkH0jB@+iA2#G}&K7JV-N(j7r`!)tjDr0l@6vvGJNoke26^-LKvK~uw;+!( zmbAqd{d`emvmQ?W<$oh#70RH8e~37bP=a%DM6`ptqqUwz)sBAguYh2gjm_jXayh6d z)^0SbYq~|WUcYmTuwP>LLl0eLYuXvxjbSO|qs~b{y;@TL3sQR4wOi$OJu0-q8X1s8 zNlt5P0wQ(?3ih3`pohNRPPtt10`(d_^aA;$I&dq;6uvQAaG(DA-6HQv=y*ZiA!h%b z$ZqXW!EfC0SD`%7EA9tfxc-s!VXP-I3GVz1w7h47)Th7lXdBf(ZD!lgDnvFXv$dh* zQ?k}vjx3Qf1Szp9HZPL?zcTTFWFORd?jNHpkobF>K77Rl#-x@2T zlF9Qe0lNW<@jn~w^}uTKATY!D2^vHF^)Ne*J8CF)d5+@1xl(k>IAk?`@G4T-Ezq9e zC^>|>u^+0&PhVGAl5k#yeR}LsMW?(7*%=R5Xf!?2^El75Fcy)#3&|iByA(P4pa0C| zPXAedMLLh-eBpQHX`C=wJRm8er(qPJTw6!;0)4GN-}vU-!sx^_U(UAB2lhKEqtj0M zqbuOHMr*c~VmvGdsh;x_<69KC$QRm?;j?c?8DIY4-~?YpBjYb%e+?Uk#+$E@`f~bC z8TyWnIDY-Mf?+=j+Ya5)t%tDWK(E+5+lS=%qSNg`oNGcgbGj|rmAwfavim|GX?Ogt zQmae<5nKeE7EZVKJY{J;``53%I|ezIR&y_451hR$UwCu=TUzu@z{t1yUkH5>IGNGgaVF&v{&de}>YUgIYkJ2pe}1Rd z_HEK@+oiSUBI4H`*ri8xyPm%zc!?g~iDTm}{zw|Oop&vNypX2&Jmf0W9@yy*r)^O= zo1WEoY^T(EGDDl~`VOw7Z28aJaiLzmS&t%H1m5I(cJ1zWfp0s$`~|)IC^F_h^Q~9f zjyF5};V%6rz7y~1;k09@e`jI-Zmo3-viifj{o%);%x{Rnm;O|QP38y>yd00yodI}{ z5RGL+KQ|5NJGWAZmTpn)Zac2s{b!^EEA{g2dNjDD*B=?8g|7vzg1i^mz?GLH4*4!b zWuCC%4L=VC&VW+MntNVSHTSfN^R^vnTgXRjhp?nJkKiiys(_$3c^$EN5De&@N#>(h z99U#h`lU%J_EqEvZ$_TCzbo>5Cz0oyi9G*>JRWhbAbTpT{rfEY_i1$L)9hM3Dl#;^TA2SB z^bIv9dg2kV7W=wrT??9x)2g(m+5VpUAwJ1p{xe#1aSG+R3rD~CyT5s*598SBEANCZ zboQJn?6)V>Y1cy?8AuPFt@PuLx0pKvEOs(Ew8QQX56ORS#oyp+tj+>OQ;T6&kZI%= z5U}TO`_?g`Fy9ALzVPd_u+#G@n0%N6#&eU9*rSYNMxTRYq`bICfSy@K3zP`s*U5fF zYUCU}v?DG0?fA))Cr|A8QrFlP{DQIY=9!U^AAsuE0GrzhX~a9Y+L`9ZG{7B{AI5gL0#WrFTRa&X#DU+H40-NU?JlRy^nMC?|mp0Kq|lL zf3$Ho`c3gV$J7M${Y6s4_@z&*o3`)%OA;OfhnG-$6g52d1GPzk)|6x;Z6X! zU9&@c$jE~((nFmY-uy#N>o6g#-iBIX}R z_QlXW?+%AxzbG~ZxN?#jd2fctKf8>g30I*+(yJ3fYksjL`rS}V7eP{bGc7DiRQ1Gmt$)<2^(s5y+9XK)P&5p-`GcM?u) z;g>EZ3HO>12|6in{{z0d)-KOEQAY=-s8+vSaZdldRHZ%@2EoAt>K zJl7xI&m-p@M#a1Gy3lXX8p;U*jq&0V=AK<}g)i)r_vo#hhV{<3uC?#RWc)Tf$-B41 z8-Wb2{kBw^ygkRaxKXn=922Im1MJX_H#-*FW}(W(_PEeCazSl^D%~AA;Ar{^dUKK| z(j;}Nyx1uuc_fWZ{iXw}XYGN#@ZybSd!Q!RT44tzZV75_J0TO^>|lqO+X0>h;&O+r z^+hdwGYmhvZQq>~pbr52>qFYzIZzES|81bDI(d5_xlhHs*5(C?*e+0P$M_2RA~Pm= zj?ZwXYOUGqbljNCuXk#zCZGd^z|k+pF>F?{Q-6R`p#y2bG+$__y)gVy?8~6lXP>#= zqar}Nm5xvwOg(Aai@B>OLjQ;zNxDB%bgu&4@bjU4?&DjWTH6)qphB?4T@g>d8<;Nx zLvbFZSvtN0L!t|i zCo;nw-psYcW5{&pemh!t=lgtWt=B>kk8erAod;wTw@Wbz{JjL8S`J7Qay#Ylv3tid z^Au5{t%EGItZWu^Cd18#AAd#|tBipmSbVLK2UFBM+8y7*E5NmYud@?NPt$f&%SPuj|~w>n}Kc z{ZB%X6LQW&y+Y2r5ovidLu;Lhq3+p4iLckRRyUy2aU+^II2)U8ff(RY_BCC4tVSUi zh`osl%<;|Ds{y7l>oo_R**1MsqZ6OZa4xFDQu`*5;a+?_^hETimV;@MMYf?xAr|Br z#N-mQ1sDQu0^1c(L|~T!N`-%L8b7=+f=f){=Ld1VRsUIgRyyEYGmP7Jqfhf+Z~Dz& zccNX;xu4A=*N2U~r)V|OZ^!hCJq*q$a4fGz?$}1SYmdTsz&z?Fj_X`>Ux>>qfXvDCiHLgm)fqZwEDw{2}Pi z<2x_`1#t2iec=?G^aoSO|e z7cjyZ2;_)3*ooEn5``q@a=az5B^i~cf${;Sr%d=D*7%pMX z#EocdVK_KD_B>NmrDs$g_n++6ooBp>zj#GTNM29=(PUzonkU^-P zzg%|;)f9F^i;jR9MCT`6>j~Q-jYIT|bD-a+(KZesvCuQlhAN5IJJ7AXbB`JRgefIJ zVsc+FZ;N0@qbwIMAfB%|jXjRgNK7tI1 zG4>AvqaYU+-K>D(STEX)zQ^+AibK$Sq3K0gQ2ig@&Tiy>%31$J10F`DLaH=@(n42XP7?O(T{0Zu0Mh^@yYdokBJn*{2mq~w2y6iGfJ@<{SnVba!TA_bK>kP@rG=;_rZzdD>Guq8YUphxN`jN*#lJ`B<57k=lKzYw58k*SUsKq{+V9Wr(OOy9 z7nyiI+>FBLxbuyAvKZcqd$-RQM4B=@^y6C}g{kmGeqV~b;>f5)m<|{M{i^gu&2)e+ z?P#S`_aH|Bw&zy=5ji~3>2dDr<~|ySboA)xZIlxInaEChXDBZg>)!BDm{CvU?_9bV zukPaDmW!!rK=|QmIrOOCHBOH-!3>G(XzjVPeFc;e45H4x~_G0Oq>Y?6v z((P_OoE@So=oGV;EKcz%R(9uB>Vy{y*S;Ii z#%`!4Z*B?7;bu~9y3g|n9iyIyOn-pHH$lvzpO^mvM&y280FGYq<(t`vNyZ0A?D)bMzFy-SvNbUfIBF+z?RW16?y@E zKn_KXFE(WvHKYdtXNkA{uoOq1v6Hd=zGkcE#7nUl2}perYUGPHIiN*Cn~a}BY)XOJ zQjszC5gusc_9oHBpWX;MLLhAED6};8Q)HlDAe1#$4lhB*ve5?7g<9*wq#@2f+x{TP znTKAnUjQ`DgF^R>FR{N7Nl!FK;Tcn2$;?1t3c!lE?wic_U zVOTb0;m*2S*yjx6X3(Snu|);E<;X#v534f=zVbx-uov?2N9vq<_-a?b1@BHIzJbN z*g`$J8eaD{_V%l2yE-G>h81IfWgZO>{S}=udL~S<7bSf(CTXrnk%K1`%SbcI>sR3# z+-!m$;p{oToqh?1G4_MR5qz5Ks$z#0{XPW+4U3F+>E$>+!uIIHb(2PY&wbt()e zrZWtU^;JL|(|@D38oiNHI9Ib>*^zc3Od18g|0w33f3Pf?wG7Ppqg54tZ~|k0*tkz< zwtTnZr<{I5A3{BJX2*NsxC=~QR~)vnHts=3&w8wou@l;(`nhaOF1)B;U=`_y@yXTK z`a(HkOpNwLZUjR}_lKW~&&uVf%%y&>yiQQ(RDeUc)mIbB>7*ggviYK;hxo$KlPkeX zLECHE-2oe3pN-g#l*aP1noampCH945Ln^~l({N;iV;-Ebt=^P!~?5d%&#OnbxCtpV)+|5S^RmLdUR2R@Dla9T#bK$`=NW zBRDCgw(tr*_lM3z$PV{Ms+?lz$85mJ^@EUqoUMSkPk;-51hR)U@#Sw@F_i~V@+fv3 zc*T{t>!WEG73S;{ExLO=29-bO2uw`R7j$mFR-lQVzw;Tp27GZm2&XpvqI&cR=P!Ra zhA#RGG~BWq+zx(u+`ATG-f_y{Ns0q68-kKe8zJl`N@sh+6*y16^B{Fi>Rot)D;vgv zE>j1PYFY*4AQs?C(KOtx6tKLXsfXW$V*0~RVh!XEuTpu|h#A>P-G{30+$z)=M+el1 zt2k$f8JrUs4$D$}IlE#Paa<+dXEi?f2QuNUy(>k-QMWQM(=yQEu^+>6O!x~tLQj&-r?3$PIN;awXJlw=I<$v6w)FLvXD&`0ec?S8cYG&Q#b16t-xA8e_@?&o zlVCdD|LaDTg>5hLP&-#7J>r@ql2)mk=NnwQz^`&~*Vd2Dq5@I5=;rZqZxQj4Rjy)$ z-taxHF(O^QYE`J|ulghRy4<9JmzA=SMz;yWWh88TtIH`6^35yqqYD^sz6m1oI;l>AulXqGuiJVtm!+T zeXWT4!`PGBAYL%jI}fD#H18|C+jREd*)@lJnhvjnQ%L9QOcO6hy$^>Bd5Etv4hcYH zsyDjLlvZ(b+~|^t&~qy@T)%`_c`@T0~YDQ162lR5;J~5-A+3S!AokbCO^561lg>P{Z$e0Lok3FaIPV6jc`et4vN9L8t z%zF`SyYv%XMC78_%;=aWfQRsAzUssH5x)xx^WW3%-hTyU{Gu@Vqg_6&-~;2Czj5G9 zbUn->P;ydnfC}zeATw^ZlF7D1diic$^F1SW*5!@mwzymS`F5O!9@2ikW!NkJ{P(rH zzl|au&ZW4^(UifJl3y#pyJ|456J5q)R7LVd$Uw8!T88X;`5~lp=Fc^JDg(VCk-?1& zUPwa-3i`Ajl)a#^5gBkd!G+i79l3nCGx%)I;!}6>S)9#hDPFT5HBscNnsl@P8QnnO zDm&x4&Sy~(Fps!wAjuL%4uG&kc+Pi~;(4#Q9gD~Yu|;*%tBr!&3Pu=PCEikD3_=lH zV7ShN5>pOX>`-o&oK0-t`XhlhclvI7xi~xdAtu>0KBZ@ z;k@0-g&AUS9Iuu!>|`87N#N47R$kggEIn9+=Mb&!EPPQz4?l&|kG$iQ)q|`PW?&sc zv|^3CU%%jC>?439kqT9msScUy!Lg0sj$1b$M& zrEB{HRJ>PVzYOPh=sp^@_2?d7_(^Ygo9HC=hZv^l#X|c@;}3rk9*XEyBsGsp;2S)31@~*lNJuZzD_yK3B0uXo=2oNbWEdW1n)Dwt9nD zv)m(I9QDIu&?qD?Ir)cyhP_um^o%W*q|9xbf{PTZ;%BKGam4^Qa zm2sbd%Eyn4Hy-?WxqP~ju?7^)kz#xYz^NnS>((q4r(`j1w5EGcP0zEYyJY%lMuvC= z#vBM@4BR8;Jh;KR911?`PzddZt?z_(iknJ}B7$*{DRcX;*=08fQ~aq1|230pZQ3 z;*KLU8hdBWP|oGqRO3}5xzej;@5Obw0&Vn*`tF$Cxeq&KU*{Lv()7@Fd*}^l^;elc zbP^@$j35TRraB`A#r}tkL9@RrW9fM9D0Fg2Fo)Zc4z2*WVidPBDmBLitnq-BGat7e z3bc6#3baud(uYDuxwNdr>SK(Zxq1@0dXQ@z>g&Lf(0pcj#OfA0X@1c=3uvak9?$5y>ctrc@?qdbD}ROp^T?#C$`MPZ31E z5AX)V)hV)W?$4-}%Le(vUC8{ntR0yj*G7#LdG-9ATIM`)^mEMb z>P0YbFPDMypT=tgc!`)Afp8M^1|tXKjc0C?z~b*+05GQS8#iI-Ft1J>LoRL; z5Puc$ux+M6M8Do6wm-0d*H#x&tK}yVpq{s3pVGIxhuz!@hodn30-8HI?(5v2=8N7A zr9KR$-eDJ}dIIw5!dCO@Ct^@)F@1&NQ0kDxr3K57k{-Mk&mqAtvTr70_jZ-51L^Xj z5hZ^DvdycUra7)oW2ZBb==fCXgAWSEv@uAN1)26L(#GHg7@0N_Y1lYb<(@*?NbKLq zG<@9*EjH8MM4BtrOdFR*DVu4Br(u*}lN;q`XpXc#UeM>5V4j^$|2v# zH0GY2CJI%gISJLISnb^6&4ti|qxG zp=7q6C8A@bx1csUytsg>Jbed>*$SGqlTfaL7IqQBQ8`PDTD%uknn?}a045QAi@|hlR0AKk zv(lyr*8rYSEX8ks)sw$hYx^~J+-U-w=u_^Loy(J()pqEH4`(W2!xuitW3ya6wA1d} z9i!3r@GKbC(udjA7kcd^-j?9Fj0+)Z^kn% z=*BZ0FR*bHH3}otfipF?qf#sG#F(vv?ya zs_(#~xeIXdK0Y8+hr64};0y3Od^``%-of8{Yy=VHyR-$5s&+i;*WppT5s?lwrwjab z1JTUto9^_5pYY`$44&h&zYAHu#cmD2j1(WBg$dwl#!c7=Jnpma^ZMRJUEK@&C`h3jd7Hb~z~%f^uo zl;;f`_bcCQ$_41Q-G`7@Xm5q9G;bI53IuTMMh)H|wrHs?)FxCk`ZY8*`-d%&uk?PkjuW;;#B;KJ<^S`)_}Q;UoZ30_MB#wnY7SVa#z z5Tm|Kbg|l3v>eGl`G+7j z@1sg>-g}Iktkf3tLgrWF{jW|~KY3-Ht_Hmx$HWX)stTi)4_Vbmtn@v`PO{QobnDen zI~JF|25&jZ;u@-cBT@BhtnqbJy^oPMP<1z|c4e|GXAN@Am7?G}6Gc^Pk@+Q-co{{X zX9Ta_EZB?b>aOK8PN zH=&A=tY+Rp#^;X|4yAWwJ?Z|757AN~XVFtaW}>gRveY4Fd4`Xd34X-bM~uDB$IAq_ zK}s?5x|B3c>9Vw1EN(y3kSMC|99l zvqw0nH_*2EBWOj03auEC%N_-C#R%M~Ua%KMDn=ABxdYMpBk1UQN7U<~Sc@MbYkNW& zb~>$oyx`*ZXOF0NDT-p43Owm!eBhUAWp^GSvDIs-4Hsdcnb%K~5 z7Hkz>$_u?(>%?Z!9*lI{Cj4nIk!}80AIo>1IU+da8>DpAcn!aAB7Ra;Qh6Xr3aS)9umBqJ|$N)I`qH(?_%I$2800Q%F2OQ zF`eakLZmS$(0J3I=Srs@gLTYTm|ZNdMD}CMPMf>n9b}()87@I$nBiZSl(_lMh zXBRP;pUn{m6duQkSdq=KSImK3yoZk$`9QIGz4+s#Cm%-`qmV=+1WU}Z0OM-GK5f+1 zT6 zunshp6(5H3!M%a&XvZEbrZaX8+;`k%oA0VWIu)(m#`$v>27)+5T<{o>qegClvTuau z(wlxUjlC(?h*Y7KR3Tiy*oY8WkcKmUMCg&T41F%)9pU@&C{|2V_-LX1fG6~pUEgi! zq5UVXkNTg_D2z@`DYQRLXS%Z+!{|vnz2}+H6|dkzl-%u^8FjsmDnP(I(pR79!`|8? zL0GOs`N?5!ruczhkNmg~QOTKIJKT}jUpb~-0tS(IOuJ>Xw)!R99#M1o%CkB4?h%(3 zAlK{;y#9dB#MB)9M*qdA<1FM9)ANTQB&TP!EX4@_rNpJ-k|DkDnRpHfVi^iidlK{U z2-dJq%fZG2>X=8n7eMVCV(5;M!`IW?2{L|}hx52(hh!8tAY*`x;)c_n%rab!z1;~) zU7$2u)t0|Xh*b)QEgX|sIUU0((?MWGrjyW$%v?ehnQjKNGsQ%=mnjvQr3`8^#YDH4 z6HG6~*2`EoA6?)H6S|Nk>Yaav5Gy%daR%41E6&J8yy6Tup0m#=0;b}OQao$Uz&e&Q ziej*>#4>I;RJgz4&&RzLguyfAfWb7<(<|nQLs-pj5IXlaq>KBVaw|klKH38Bs~F~U z)7N|jwE zc8qFf)f{IG6UpfbxNTum7LVG!TvN1cbZ*HWZG0201QjD+H5Sy|SXetvI zYp8^*S5i##KOiSHE(h?a5JqMT{^qla;xGO{73xLy`FC(Bxq#W{k^7Plfh>NLB%VWT z-a+Ph9boY@h>a4&N1an>f76%$w${dP|LC~i=eNI}k5AQUQU3obdPtcl&PW{gL{Qwg zuP+ycTH9V+G9!ob)*Dpl@NqmY+pgUe9!ZHIVH0{65x=Y0n0yZfa+oCQK48$e1HnYQbJ7a92Df1nkP$MhLTtdh?2rv-H(!D zC2#;G#Y!OIdB~C#lHnW*Rh9&suhT;8C&T*~J3xkMeDO+!@O9Rx*3MSdUc%CEo6Qye z^II$(W9c52HZY8&6VoSRmPTuZKcZzntJr>qh6+6j*BX(h!8X>lqlHi6%g3uSwnz)#_{FP0>Tmom8qUICa*NGJm!TDw~ zeUz1Rr*+=@jETp7g5n_>$MyI;EY793PuE|%|G;uVFB>nmu8)xfU7mR#FeV-c2#SZ0 zPX|gYI07N1ji*i_5|lnpFU&Mt9H}rX;NhSrV5p^kgII-hZz$gi;oj6p_lB}+`mZ?*NXzQ!m1Vw{QWJAKvpAjMIM3a}EuWEU`wE z0HcmEBO!6R&d81>!vN2DxLotf?Q1UfSrN2qOa@EAbC#tBIL@k++`Q&G-z>#-Hr5V; zv&7N?Zv8~Dq-ST4Jz5b}f|In#9hsv;49^w=VT4>y%gu9c4vP|OkZ_i^n5=C9qw|DT zao@^ZhD*sM8pLAwzizmQRs2B|1C~RgQU3gQ$qB@04p$W0jSZO3}$P&L+N%{YHK>UN0f!g-f8<-C)uWR*ffRS}aa^n-z;R+dV32<_S}e>&L%85VI>w1u z4!|5;O$Sh{k1B>a80D&`W*A4yJBZC5mP;fz|ANEZj1ub|R)qBT5DN|~Mbe64YPI~1 z)^@&dYoy{9hL8EgYWWR2KWQRQIeeiWdg(+N_0(c8GvPOr&^&X+5JR&`ZygYcqo4!;elm<69?g+<8f5AX8XJEFJ7 zF`}Y#FoSR5xY9$raOAQTFDl48h`!K1+#Y*Sc#>QSa2)%i^Y`LhYDGr|e10xOsA?^O zlcMD2dO`HLI7(g!dHTxC1D>@Y^UTrjXPwqsuH5_nX{JlZX| z((1)B$TTKe>vh99Smj~^y^!6FV=Pb@{hBY@(Em_&GbqVJ*&oSRN^k`aWMQzd84%R* zOb=q}!$!bpP;lg^<0_cagV6G?&{ZF2hl0&J2*Wf^9x36lXS5x;=lu(3MWYiq9LECp z5^!S@M^6()*?*(#!~_myLGNF{^_5K%Ww-L|N#yh66Xaqk)w&LRlM7JiSrg7Y5v;H~ ziCbaMWl(`LPXvB>=J^sc_;Kcmpay52;OXCdh>fYf-Kl?~ejE!U;h(5An98v??;xTp zQk_Uzk(!HVMXDQ5e`*o%{?t-DYf{AlRD!>@QfN5sjgy^?ke#mQ%e&XXOsMWWZ>*PA z9lkr=IcR`9Q)eNeO4L{2@e)T*-}gX5TkU%426;O$|6XyaTU*8VSm?-8CiLR4?~4i? z-UA%Omvt}2Op@^Vumh%LV^?i%dOJ3YjmKA$P3iK}FKTA_v!Y1yN3T8%U_MViMvZpC z!*!fba$jslqIMUz2#-#em0&vBBD{SF7`K9vAKN7SCLp75y^SA!Pr9_&?FB2$L;oLi zgl|uSmRL0y)yzx(UnI{LnL&gFu?#S-Lo%0nRh%-t`^5raJNBmyJ6eJ~E3llvpgDx9 z9cOGq0tW&YCs;kO4U2?l{}d48T+Aa@B=d0BV;&CtVPmFzk7Y1+=;kA{wtx=*ynT3- zyp96Jui-KOU&I|G_zc0<>HptM%A*$b7UsXJwcZ4Wpig84ps9U_TZ9qT5WftTr7o!+i40|dk#7|kZU}~H(A8g-bLku)#yeTqOJ7X<(34TUEOcTEqg3YXv?&= zC0LqJnYsFezHu9o=jdtBKOSvn0mgqMq^&-N2>p^~B5;_ADD!eUY1WH*=`P=^TZX9sn zdd4=IY@T$!g)9F1{i*lLlTN(gpm9Cx4fn$C`=S%`wFkENPQ2m^y^Ukex8*S>PD$7L z?cI1cu~TlPt_APd9JL4Uz%wPd2+!2uEIiYKSK*l+#D_3pF-M^*9OvVdRp|eDy8SKm z7XHIGz}lz@5q+Dq)Ps*7 zgtog8xuXk@%Dupknyf0B+09(F2G|hQ0H}oSIBKEhG83-T$h@OSm}M_fp}QG8oiNXe+FagUez%oK$0ZmKp(t#QWHVxc!7{DVmNg&VIY_e?)#L2Ym3m zWh^DQ6mV+rRy@;!UOdx-U%_)o@Jv`N$51^wgPzu{+t3HRdc-4eaqxNT6Ts+4h;o>y zXMn;A9Vn-XdL5`zfyy>fhk&XQs9Y2EE>QIXg%fv4{$-$wkNELlb1sD+o{PU`)MKjN{Z&9H;77b{2O7;byH(-^E1;9;cp-8wQwzHq(k~(8OCGqhZv%(WNj@o%mdU zH~$r_b;o{Oh2|F_d78>^BX2@?*n03%D>f8kUpk26Re_1Ei6JU>#bRsU#S4mf#eNH4 z)EVva;t z7qkr1BEwe@fmIfKz@WE-Ilc=7cXlIEV#ed zp^mNYVZ)NWGH~Nv9E$^Af)T>U_379j@Cg)iK^fcpB0egDdTg<(mq@dQcYaTJ!_Oox zvc{gnx9QAFed2~+?7ZjkkrPqqABdSga)RdLoaeZ+WA1yzu01R<^~BI##D4My3*sP} zGZ1Y{?Cb+*sHA%1k$7Axh!5|X<4xl(7{S%<@w(w*ymB-#?eYHTK8V zmo=0v5xAMQ+NLG-%g2}3H3Y_&ENQ9e^tS!RDG3SX$j!T~|BV>9UoSEDbaeC@Dd_qOKgFXx75& zit2{(frf^<23tuVrbJ>It843R)s;2X^|r<0Sy8vp)=*K`7_e2>medAIkXl>PSiNXT znT!S-WQe53z9bPvk_ctnZ4{@C60}L7$)M4~m5kbKH&}ivM0|1|qvJ(X^xHsWc8+sG zZ3R97x2S1Jpf>2t77fX9mY3CD9CR)WILqs5A(ddD!Wpb{LTIY@2cdI$gO!dD#mCdB zEUT^o?dn>yqUzd3&MSjeeH@i4AztjPtCU(MyF+k5rlwssy{;kHP*y8HWG5LMly3eY zbQ}Kzbo2U&kPOTI`xK-H=RQQq<(ewF{4DP}0j< zsrI(ox@EP_Ky5{J89u-xf64RLR0o4-smwl3w5K8vgdi|oR#aD31{yeD%jDWXW23Vy z=xk`J4OTCq>9#mbeg2X;Y&nxJsmG*=aVqBd>e_0!R5jJN2NImqof8wSGh6j_qLh>) zZjInKn<7@Ny|~ZlTudpKH3jP~T@X~RG zELTmS42lt`kqq=x31%OlwPpntwHCPs&`nOxLXVoO#>kTTvS2l|nWKwn(6rdTJ{!rk zV{H&_83xA+46>TC^1zDnvhphPW7^}?(7SjnXH_wMnNsM#O!;{F>if~EdA5o`4JHBb zTYG7sxw^66SS;bfdD?#^AzAnM^2uhOa9KMU(yq;}&zUmz_KIupH${#Ss$@+a z#y*EOC?VDm_2PIu%xbGITgZeqwEQfY%xvRvbrYN zut0Np02WQ%{fzbGIJYIo&CdF%kN4Os0JqR;?5|8gBjGMR4bd>*1JiY}`t2@4&5I+w@Gw-6{UetktQ$OlLH0YG(GTbWdjPT|+#XlR`sp%-l32 zHDb@~7~;#^iN7xV?Zsa={tWyb!Cx=_T88>ESK_Z7e{1o#4u9+Mw{hs#GB*xMsUDs= z2}C`a*$_a28{df3l98xjD#*_Oc`wM%0Qngp?;SvX2FT9<`I#VB1h$W$4G-ch}=@GtnogCY0{Y%uRV)$}Z72Ge)F#QX~+10yljG2-s{6{CT0%j#bb_BJiW$@H35L zfXgMKAk%SI%FV+wGYUprpP6C18mMNZk3;&enGQZyrRbSiccr3+<-;?xyh0^rjF_2- zdq-4cX6XWLD@Bn_D1Q&i^Me-Dt-DjMXJ0@}(X;~g1=^wd!kg(%fyzwMPZ8ww5%YmZ z&H)0RF~Y`W$Qa0IQWS@994n#@bb+cv^tY&E8vFaY%=VPj0?25P?$Sr3?zd;Ig`n5r zZ+%K(=EfBCcuMM1#1;a31F+XAEbGPJTGYMb2l4n~#BFGI8KgI3!~#60j^LQvg!F$R zoqcMXmFf5<(qnH)3w)q=HQMb(y*+v&gm*q-Mi5wfrz1e}eN7=-$mS zd`jO4xk1xYQm5N9H>J$a>`3us?o27j>=F`6xoOa@@s3zLNaoaoslb*DAmK;#-QZ>G zFXHis&{oL{#=Er-`^M~y%#PI5(J6yg3+p6xJs0+M;;;Mbx)(S%a1)USedPq_(Da+o zBk;TMSAq0Wq^Ar8FhCxCcEd|O!ca}4hzC*1X(LkJ&0L#ybLKiI_<9(ejcJ9*o!XEJ zE0R*qf&s=#5R*Fe66)>69ANTQ1io~|*J!Z9xgzWScpT@ei63P)8v5=8K1hQp^d4g~ znaosygiGO1@u#Y_b*Z(a zS|->!RJysu>{J;|8_)F+f1GB;uS*81m~E5F&v}PGPKErPBLiENnuJVz*C?4_^0^js z8h^uNAl6@u;^LX$->vfFW|x3XK5(^2z~85%ir;$*#vSMXPyg1c{vO!KE1eQEU4=KR zuu_FfRd|;Qf26|uRQQkzx2y136~3Xu<0>5TC7bx2t-^~`c%=%btMFzOR;qBR3hz?k zk5qV{3LjG8b`?IW!Z%cST!lj}RQ0RyA{Ab#!s#l!S%sA( zF5@)6|F<^uzs4PXv4^jA?bSxT+MB;MXZY~B4Q2K9*!scNn6tE0oK=*Tjvqd}i1$pe zsn*aq{L;j4I8U0Llhr;Rw?8kPAor`XFRr*aM{XQ1;Z(i^S#lS9rKQQv zekV@DdE)dbOXcMZmmU2{%305?WU)S>orcN2V(6v;BK!Da38~Er1e+Ra6Ju()umqFE zNx~-@O46vL{!)e+D$G>jXccCu@O%|sq{2KE=Bv=7Lca=Ut8jq|%T-vV!a5bsRbes{ zXHS+e0Kaqq9d$E2?tE!L#!m^}spyg(i<)#lC7I8&Cy_vrJm$7JKW3gwQv7rD|4{QZacUzv->0fLnIN8rEKmHAuTGK1-J56G_Q|LRX> z{?dgqhuB9Pm>KX;P?pQO4Ewzp&m&i0RrUic6bEB0#g0>#^xfy=qhM;r&~JeE)U=^o zR;RgvO3z5OXN<#YG;Jm`qzt_e3(8dcknupJrlkK2Z5fi5j%m`C#`WM(K2jEc3D`@{ zb~An{zNa!|+_`HJPt8cb9QvE`RiZBa0&7fpBNg$rB01$J=OF%*FEDG$N#^Mk@r;ZY zfcbw2`x5x7itGQoQ!Gjrz5nVB=o zoqOLm;T_aqrq|IHMp&odnK}I>$(p&V7hb7l40X;#Ke*HIFq|=5OflRy%E643+>ZMY z#4<(+6LB9yaT)c(cw97IHO6JcK3HIbb>G)?iKjeO-8dYo$e3lij3BR%VB4i`#Nfn(H7qbW}$mF>Xgwg zRxfpbiFV4EEX;CuK?Rs8?p+XA;a-oP$(SDHFkkCFg67XSD0eQHU%IoQCS!(k1OA-j zW&VAi>dsNk^dhatA!ZH8B798vfPQZ~B(VSSD)dIn6l+cW^oQDV+!_fryhCEx`d9?bN%)wx`x;JNm=@Q$vxu+v4W1jOTD0s%O-hnzNqv$I{X5EC2${3iF z-Cm41=Mo4w4ij?Nd9*8+4#3#+z+{hyS&s7n$?vJfc@m_^zU9lt5c@uIq%kJUTZHcR zJqSQ|94gUSm`r6%{QHqZ0jC`I={JLEJ9ZJmgrnp+%S3q@7~Y|AZ) z-$;5Yx+5~Zhz40>;XaXri`dRqKgdLmiqA+xmD1AAN8j2`+6@pcu#u7%vPG?we>r5N zk4+I^i~HCqW=;%}E4(An&9PI>yc1A|wcd^7mMNXfxmh#^rSI{UvV>ooMP1e#IDhOXcpbTyw{pJS0c62Eb5Ix8N1HR zeFSu`7KMQoFqeKXj4vxq(syWY$h%6>G9n&1?%8&tL1&7xQ74>u|^I?N)s2yC}v zJI$hR*|Rq(w#zK~536^xVi%f4V=*1YZc*$~v*;?HdW_+i?c@Z@4IwlqwOU2*ACau{j253s_giVH^!YdLGQ z%-+MH;7}lgjcChm?1B~Mwg1ZRN-$X!5{ezx& zSHbBbwc3}WmmHANqG7uFZ*y-F(K{%5GRk?#7d5Qwz{c(_cuEAeQ-I^{%>x35p^sws z>xexR*^9)Id8Zv`#2$91!C<2VpPU)7t;#h^aF$@i9#L)YHqc#uFO26N!BO&9 zm~~FL#Gj5mE=+&7ie2%9y8|he?g>nJGLOa7y2CgMwh2@3&Y!QK%_45r8tSGf~C!@-K_E#xp#}y{l3%-Nh#4P zqP-GkY;Smb7W{fN=h1H>^ijk8Wi^;@g>l@|ICp#}OvL?=lhZz7Ja;gS{$7}bdlX0W zzh%y>bT8px`XRR;wAH#Nb8!Agn0j|LmX+9#!Zf*)=psMKyw~oQ(uMa+N{7e)Vj43{ z(cS4?!>%$F*X8{ST4R>t7J5rrl&!d>UO(17O>rx{k?gdPDLU7BKheX}P3hNl-Z_-a zP-*MEPnZ@~`8Im{nJ-gu-CieK-BsLX?<4kQmg2T}RcxGWwNz~NK7^;la#Y$j@4O0d zxr*EFUCqTIqPU&jTM2M^ireL_qr*iNx7&M$TH=b^<2}F<@)ft&+setgKymwu{>k~Z zP;r>Zhq7~uRFyE1|Hv*aQK^{7-(;mq6^kG8$A9EZ-pjP<7`;1UWoDT0oZbSKkTA13 zcNks)M_C`0$?>+cSNfV!P8$)gn)>@G&hxHdEA>~coAAzMTDh6e`J>Xi9fKe?K&91s z{Fmpk3NyknQ11<)&MH+xllL(5RV$tC_)d?mGtjhOhl}?1VuQ`_J+$#ow%!om##Km+ z)%Z3Z%WBn{G0sU5BYt5e*rBFxb@Ylx(;E)XG2#X6m@%gPBl5)O_5m~AjEqAL z$7#jAl)D_YtBx0Pt!grXCd<@$Oy#ae&5ZFjY|mnCX6{N!U5mR+4BQE+Av z+Z0s}5jH?3kxn_RBv3sel#Li`FU8b2i zm0&j71>E-({Hp@Y&5Fr68C4&GciS8`Wf~mD2Y{ni1<2X0rUK}YL9r_rA`vbbDurWqgHQc+gHz*t zJnf-ll6fZUJZMIvaEi{;*DD+uz7;b4PCM2ptd9wK+)1Y!g<~`R0HgbVN~4=ISb_di zF{%nDWzf+6ZT&z`&0uk=;0HiS!G(tP2Hd%Dn$5DKqcI&7PVdd+==bP*FH<}+x(40o zxr*KZhxW2`JiNinR`hh#)yq+I0&U{uDta=S+>0psYxIGar|4hz1szrNiRdvers$K= zD_&gDtKp1ZzM?n4POm`GW3f~43KjhnoZa&jJsS&mQD5=L=tgu}Q9q&OG~*Udmqzq5 zm{wFD-NeuUakCR|@5p?%@LuhLnwGECAM168jgy1?qKjh}1AA4u2ip2(l zjwaHmYbg4$cXTM}Vy`SWyc2}jSQZJXXPAf4`ek`pCqXNoVbZYmEsNT}W!_pumE|j) zAEPxA6^ecymG2W(^sN}7ePW892l+m6MX!bNeYHKKNvnEC&%o5uufLM{7s~2auINV0 zpZy0a`W4I){dFh3j489f>ZIuN=$`&VluRKUwtSePpMZas4_EY#{-8%FIv<@=UZ?2W z;D_ZS72Sz8Egz-m-@t#$>lM8m@&j@e{R`3&MW2FpACRZ$D#q)&KZ!OOpz9t*T`F{a z-^9FF;VSu)P_N2~sxRx%Zk5wj{0XqR@*qXG!Y?XkD0(W!S3E~(t1sl^QCXTTE-LZy zrCb;shhG{+zs0S}Z($7ms!GX~8D@!910$~?U3$7|kga-p3UpKr&ixA#BJOf%sv45R z1TOU(LJ(}k&Zx4;Rj4ianX-K)sV zh%85*Cbt{|zpA5@%G%wnX#J|05kBK|xPL-a)hw4!z@6^Z>0oAO@i3ta#($2y(cYDY zQLTN7W2O2i)yD6^7pjj|bR6Sjpzgyr(B1>9Rs7%4R)dO)X=?N!*fXd^(Kn*c2lY~O z&taq!ioOs2IH*eHU4=#)tj3LHz@QIlbQj-RJuDbnrkYA8RVXa=BTL@rq=BRzpSYeW`z3z8mFdO zn0hzDl!3yGaX+H!LBce-kD<+L1`E^b-oQLVglTsVW}&q?&!Iaz+}9IehDu7O+ix(K z;km4JmwOsIr)GqREp+p-8q|ywv8C=4Xrr1@BDTVP2z_7EASr9zqtJ#mqa|gXOSh{T zD+<=TM_^j187Is}_j}9}HO-Qz+r5B!S|!hB*X#>sqKIvgO+ihYFk9V!v2v4y+2($W z4ytJvX1n_(naRTJbnj(1PZQO<(4DNL#cu&?rrSrs?Bb4^uJDt|UY#p~hN}2Hb+(~w zI98a5vSGe3p0Z(qFbQSDal&9c(T3xNsa378P?&nvSc`;da{tYWpCC-TVcmNlv47nH8ro-}N~hw!6)W<U8)1!S2?WyQsiNq5pl1gRmj7<%TWGBQ?$hjm z-NKZ+^D(j3d>~?#?r_X@HJ=DG$gLr>M;JIEJNmQe6|kn>?T6B8J{P9Ry^1~fcd1Of zdozlz`9hcucQS-)_6pPKzC+u-6sF7F!v_CKn1${#P6poKrcN(*dLL3tAC+&H=ddRIRKDF_h+Kb_w#WN38)JY<+v^=hlPeUr zujmW*dzIpFazI`sZ-W(wpJ+PH#YmP@^L1z|*+2edSZC59?zHI#RtMet zzT9pkJI?L6%TxR_Ak?#NadAG4vN3d`5C7!G#t;!h>DiOIcv+*a(Og{ z=FqS_I7Z9R#zRY0{C7|{w3nhc!H{8UTNFJD%lB|c#W$do;bBE{?>t;@h=!sGM(Azk z=zgFZl+1AW&4|&8J`y&J7^CP#Xuc7%6}<;b`G|uRy&DtPh&hTrxi9ELgtqWMp^bbe z-$pAqP8fGt%6oxOO*{?dV>1mtKb%{IKaNv_yL3c5hy#ZX>fpz5_~0Ea$0C_ORTVb@ zMdwdb^aW^^e7$qbP6MrXjy%oC*E`4WFhcV?l>BDunWgC2*c;|AQuK9|IET?YqBbmt zb$XXQ1t!($UH0V|_9F}AwPJKOsys^XWMgpI`p?uZs6X;HT&;Gs528C7HY$21%5At- z(dVGo8#XEWQ`pdOy`ujOZ)>OZW`eE9CpQ87}{Tl99^a%7(!-I-`AMM=mkfJxkbsHX5^iQ;ZtD>LAMAGnx zqBmmLHvC@EFS89FRdg}im#Q{(7g@a-}4M5g>? z_+<2I7&Z3#*b(So$C-kAWCx;Gg2Kez^QIVMZ?u)C?~V}Tr7@mbra&Vss|$`yZY~Npqy$K&6Znz zEe2SmdKT_^)tN|*RzC*KvFfK$ZoGOba^+Y51x{R0eIBY?SbaFwLa#axl`5)U1AB@G z{RZ6!UZFbX7$r3&#JzL_oUeSIh?4gd!tp2>dib0+V|a(c-CEkrk`3S- z`2wS*-E^-8hZijUVR_30Gxun)rTm&Ik2koCi$C#Z6yDNo7OVynVFES!5-iGbPR2cF z8nWC0Lfi(gx4JL@Th^HQ4g^z8>D4b@-ok9ta+aC%It4fs|3Lxnb%IiFh9I@p z%>4n0rTsD7R3g18KnY77TK62x94+UVxkHhmbZRmeZIl73#qwyvxn`^r5|Ou|^28KT zBYqURzvW^x=Ru6hco$pZ5;Ny~O0%$AlhRUtl0}m+BK`_oyX7)7_hHDD?oJgJQ+m{b zaqxRK+~sEO7tED~r9;)TM+PPP7dUv!HD*o`#Kfdgl$R+>$+N-@UE5_ zR-_s=laGa3I;^l9R(W->x#du+uss1~-qrBUmcuML*7dwkGQb_7xFT;dMpR3e;)=cL z^q+Z(EAbjb;O1M|Y@kxFF%0fF#U(s!rj3?`itFzg^yHJQ(mxEw;gt6kMr_M+D@F&X z^$x?*-g2hm>W3T$N3lwtgB;#aV)AHNt5Vv%2g#jp<ZsH?Qj91wXs*e23C{LDQ++m8JG@QZo;QG zewO=_S;P~PoomD^FzdA3Y36M6Mc++|CZ)7X{+5k$mznb!nmGOsh_&2p=I+Da(n3_V zhee82uF%9Dy4TF@53$mgq-<&x@>rY^Uyb>!JR~#Cz zm}NHlbelJUlhrP>cNpAuFNd?*yJm4NxSigw*ybOZ#rfcNdB-QfeQuVNfZOeH0&Drw z?A-_49`8@|wS8u9K$qc@t7?|F-z?!r68nl?peux|^5NhNvuF=l*D7fMi#PQjlg+Yv z&j6b+i}w#4eQ0I5x8(d9I+)XH597N1R}Q@EFva|&2|HuV7Xx0G3B zXMn|LQ#Bk739IiKuw7=+G&pxlAFJ#fu=s51IxGz>6_(U=scGbVj<#WtIW&$j%Spp= zIIZH{r`$P7;)zb;Ia}fDPr3g_?wl?hhhy7uIPEzOUEXo%nmLnED1&IX5KAA=IR-Hd z$=G$0gC6QQtQ6*V)CmW?5<@R^9Qs%ME_!v9Wz%^Ee+nkja)}k;X!c^6NV?SW-U4HI z{OqUYGS!|Aa$hA{e}#Me0nA4&7g;tZC&zgaQG?&dM9|T4y%jle2=emdua+Au_2$I0 zsHxkM&xs;KfCk-ivn3lJ&zn$#q+6|A`fkGG$3-o7Dy~wQ^Oz-%*tOn2X!jFVoW|9w z*=w89(&X`@otCGRB))(6h?COOmc5&{j>aCSWrx+9cA?pEuYDKxq^+==Tfl_vj(1R7 zT#hphclp}(5hO^iboR53y0NnD}NqI74cQFH5qgRtTvC$rb1nsyT@b`(06)Y-J!F6Eb7)j|cE7%gu zX2m(Iz_=)_?lOn+W%xw(VfaGRupY$bY+|d;!lO5#+7mkp`TRX>6B^u#M>*?fXvm^r2P>-@JrvL+2j37K7b7){_0q z&M``*fFgl3H?66|v-={$nr}%1p~iBJT4GoWEP2(_h6rXGHJ?$U<`J+DGHMy4;%tcT z!Tys`%a<%=q&(@IWOB-Y$97{%sTpeEsT1SQI?1w`QGw*E{NzY7d6rJ5p%41Wmv!shElUE)Qiogp zB(&l`^+OH?dqZFA}yNLiIMMX+MN`F8=y@3!mR&4oS%8{$(HqEeYrLQ*n?Fvk`J{XtZ$;9mcm{Nf4P;GNl%R%^g$u}I> z-;E{x62{D*5ZbaU5w}myv9mG1WFWLXgJEWUFLB3!Ka6qPF|Ant?sqTpJ_-IVgkcNf zh{LM}2M_lf_O2ZE=>YKmiL642_J*A+Cp`rrYrlIZ^4yKZ=^BK(Ox!HP%z6-!_J;Lq z+RyKW2-D2wptTyf8?r1jdj1f=!9njjgob7;o0e_L%zbVc7+eT-Z&6X2DRZ~IVc*KS zk(r1HDJgryYb)!fL=chgORQa0$L~|D3}0f`%DTCfaD0h%s~XNILqymVlbfM$1VWw3 zs%QEpcdu!Gz(a)Vn;c~YvXseRLjJD^4g8GU%2q}3cLC2M)U9EAMD$g~@xf#nZmSH*n{Uw9FrVJSOhfGX~LjD$}R>OP=jRQSd1Ue)jq*1u8}_j=SY9!IDf ziz-@GesOzNxBo=fsrHL|pS?R!758t@?;tch+8>dFRB^NO5rI(m0XucDU)-Km4X?oE zts$zoGf{`*5$aCH0JduU;`Xj?@5_i;NQpF9!e!Li=;jw;* ztXIXg;{a|1Lfu|^SA$>NzEut1vN1=i;zppi69{#c?Dj^#xV3BApG974j9=WzoTSF8 z;wn+o9E65@Xwf*`nDDIe2z5^mK;(G8xV5Vr-eGY~s<^S}*ntRjkF#MW_{FVT({3|c zvtQh+^okZ$Tq#7;5E>4n4XvuUftY?v5b9pzK$z$kw{CUarL0Js8F~F6ZdkkCFyyN5 z!uaSj7CRpx+8Wl8>V+q!#MP5epL-%B^0{fVH*8!zc{#@Xk!FeFyH}6R?l6qUYLp(l z=H);;#tgkX#xSPTA?dF$gFkDUQVGWD3ps=-C19#RR3J>40OnP#;W@47Y2=^Uj0Ahb zw$)Q-2(f+j)FXx1xq8AP5Vf^R7)~lz2zkbzgoJ~jbsB;(VKumkJ;Vl4>=#H_29Z-J z*8IILeP}11DUqC9GO-)rN`5wE3bdNBkU2xi*c&#l=DuUY7W|oMZ`iupX!VVn46){g zfjpakUT^CfEi(rhTCdg2TrfuKpR`%r%Ct6(kV+bo)Vw5MaR?m;i`iXb%|>NS_iCI; zYO&-R-E_0kf*n7WJ|lm;-{%W^_W8mdeZH_qpY!onUA0hTEjB~1jMII-5si8kg7o?0 zARZ;dKK}^B2ME&V=V%RnpFfQJ|5u;y)_MFs{~mRhJ`ZDXXCSCP|E7l+H+s_NLm)DU zV$FQa=EXkehVJM3{Eu3OeZE-9{9K>=MoFK0y2+Vm)6eT|9js-f&!=cc_4!I&r1bf` zls@kju=so5n*Z+eF-XP+2SrO%&%)~66u zpI_NSEDqJu=bu946N)uY)*|fldL;i`pC6}X*nh_;nV;)(-ze$xt${r2e_n6vi&{qd z{4>p{J}=gs^!d3deg3$f5NPoizBT{d=kI8-WS{Rn(B}yozYlEo`yB5`)YR?I?Q47V z`Pv?RegvL1)ztw-);VVA_fRHtdk(e>SqReS!$Axs!#+P8L??pu`Keli-{&_X|NqtJ zJ9Hku&)?DN@5=I8p{ zH%j_EW4LM+<~jH0^|qF38R_!|&8R+Kq>Ge3zdfbTvjP^s?_2ZVeLhf&CHuVn7G)8h zWq0ecurrfuUJEt@_b1SQ8%+D-gSf12Su^d4nK&KSl2(%P^H6lk+Yosk?f4wRlpSFB zdFD54SYu3ao#-~O6_V?@WFc4eD8!ev44?AzSP+#$MqtM_3_%K+4}$NLQOE^YHhCrF zjxKEVYjRzWLVQWf@F_o!1yL#FM(DiWFNBAje^!Oup$qY?+K?=yyGJ3uq;2?=pT~lz z6q1R(nu8!U84Y420_K~w7(N9Ped}*Kpm;3%;kc2if|jubau$+J$cn<#kbjx4@HP-P zA+%&_pIHL`OZv1qlpB#uoaGoTMOr}n2hIRs#L_gJLqM_G=-uT{2HW&T?=F8b*seBu zclndS&ehGAHYy7_kXAqi3gzZZwjA5lmSg8?qxn89#$vA)F&txUyj|rrT3^!1+%{qk zhB+hJd~+V|Y0kqv%y~FqPVay@8Bp;*%$XQ4XMl*ooV`hN=B1d^4RfAOn)7r|bDr*D z&eH*Na6wWAMo zRykDskJkBv7Na?>B8JxKPMY(sPFCjZhGV{;H0SM}=Dgj*oVNq!R0qs?;D4JlGhoiE zzB&7n=A0BXXH2v~Rk2(*UQ0Wkf`_9-WWNrUIwxO_e5W#h zPf1mRmbwNKe91Zb+MXrU@5EGaR8niY()t8sAEVaaX?eY6)GrIP)Q6CGpIYDOsddb` ze0hW`qW&27CQIn0N^tP-n~pHOr=+r5OAUs^Km@e)&01rz)|fZNZ;3ui<1EN^P-9O? zrBO@qzNlK5L3nTv)o!@94KS*h! z&=Fclo`J*mzNFA;TIgI@bdC}-$H+Rci|YUvp;_ioqxqhI++8VhdsE~-3CO*gBDZc$ zP#@pl^J2L_q{yuoxna6ozNhB(4K_M`r%8*YZCJZ9UD|5nEh^Dyo~O4y6r1detEKEA2g>~*MXvim2akbc^F-#Lm$h^h{fA+mwqf6y z=wcklNaxra*!rE~;)n6APU~A*o?GsgZ}psZ4XTLDVS7QhDjOQoHf&p&&X?yOX5i&H zUm4`dP2Ql(?dRAYaR=lMDEJu)rSSONaVDb}dGXHUX#I9tcplXW&ve+x?Yr=K3L1>= zEBtyB z&;c9H8*{*h^OX&6CG}q_`bQUITI9u<9NlQl{(Dm5n!(DZpOP`xrr317wrNguAYME@ zY?^ijw%UjAkP}=rGateOPB0C^;BXUkJL!WDt%S+ulV%~gLvKw8)0<4^@_ECUBEQF+ z%`?VB*=Xi7ruyB+?8}l-e^h6$M)M%OP2v9Vek8Lt@>WjX^v-0>nwzu?A1U8bGB{K` zTYP#8{@{pl^Vvr0!CFinL(d81aZ$OS(c5~tmXXKM+chJPp~j5Q(4uCa!jtjG=BxLP zlb3>*b{+nkYNYj*4`+{K63-YBs zs+if=K~$P2?GGXO2Emxk7w#(R`H&znp|RP3X)kICI;S9fSXoj)>P$ z`pnXhBz_F{J;FGWKIVfu%6|i+ftwzlg{LPTMbyH5__ja}DdvEfO@>F)D?zM4XyO4h zugj1}4koM(O>*XJZD^MxXKO=8lbkq1XfcH3B;qDyy&l0hiXL#RZq_Ij;gVB`zaaTd ziWsfwI$fUkUkmg>>zA70nqVBs(QIJT%1i!F8UC7^J~$XQr^Cy$(6s-7#wignuY!3T zVM-|(G~m++<14}NH)-c0Oc()Xu~vsJl56m6NHrjVU)2#q$2gj$uGeCC^hOkBk!>uL zs>ec(pTJ3>XMNKt5cgzvh4BPM$okPCfP`fJ` z+4WlH31qk}snuwiqT~OJ_+&|ViH|a>0#>zjYGzkb4u_MR;MZye&tdDy%iP3oOr~6j zq>-rXAcQGbfZ-dO&1Aa4bfbW)5XS!&OkyZLwL&LPAx`UP0}r{<5yZM5g+d(K~I|zkr2ceMd zvtccukZJW&`jWGjG&9QN^$nE?Y}2s$=1fQO7BcY1$T_X#MkyC1hB zq*A*;rIA%Psa|*)Jl+RIj`^U-UqL9{;pm9@pva7}%EOrU6ezM)h*ANHEJkZkWTE?D z0sts7>C6Bqa%KP&Ia7lo)1b@%C~~F-MLrDkb(sQ1E>ob$F&`9}YUMk1{-0s#L45G7 zL6I*;l%+wD#gqUjvZXsk^NIg|p597+L24yAx1hlpR31Vs)_#(I?m zMGmEaB8O5ykwYn<$e~pUbJGCRyLb6#On02H|wy3E0E?pQ_=6gejq6gkHSMV3A^b8cYX zBq(xDDkySJDkySJ77923ij4pI3pNRgobxJ113{5#Mu(Z>gCdjdG;_Yi96?ZIvR!7* ze^@<$B9mQc=J=qwW{>A<#l^C>y+ zv!QH_hs>HsjLhXo2OjblNWv6~du9L%IbEQTU7ACf*)$SHW&jE~U7(Of-~?YlO9h~i z(;Y$~ixh#NMBu>9$P7Rsr#p90ltcF+U)0FF4y=YkPIveXt4r&NX{rkgKq03)ghH0W ze)I*>C~jm1pperA3R%h_?5MJaQd(gE3OU^&6tajCOZb4{O0+x(h1_@EX$PQ?`)Vj; zwwlvdLm^AE+Zqa)jAv^oWY#%hYbazg{p}zWvK@p%w)tx%9}3wHLLu8JP{`>Hi^vQ> zA!i1lkkbVUS!y;I^PQ@hP%Iw)Kq%zQ02Fe%Ln!1vgn>OEY-9$YkkcJPA&W|a79VIV ztiW(C4TX$F-5(+t#3WXdFLLrCea>>OqGQq+=e~3 z4~3lWtVM!M41_{fgPGgzG?{C{K`7*Ohfv5eg>OsBavN)egHXufAQW=Cv)k8CC}gFd zd9*EOU>@|Lki*;XMCL;whl5ba=>mo9E`V?y29?emghEbt+L0i(5eiwA!|LjKR3Ora zLJkL^ki*Y2MMEKnHrqY(>2ArJ7OknJE8 zvi%}fCLanp>qup^%RbKp`KK0)?C|P{?Hp3OW1;8rz3Ljs>BR(*+87 zfDeUiYba#8s$pv=WHJsQQ8g5DUj>Ccfg*hs6f$W@_)y4p5DHmoX^T-y#K_};4zY>l z@hq2l6cn<`qoI&(G$WyqRh}*%3c2k76mnYt3b`c!h1?Q=LT+ipcE*Q7mV$|OECm-D znQy?IH59THfI_yu$0!CAGW*NYP{=}SC}b611(|FmGaX$8C}fFGppJk-7Ft6g3$3A$ zh1O8WLZ6656;Q}RYba!)H59VY8VXrx4TUVUhC&uP0EKJ?ppfM>gHXtgh82K9wgOPd zR(l1GF%|w-x^pq7j35+pEC_|1cR1RFKP$sA1)-2*K`7+%AQZAZ8UPAeo^$OKC}b-D zg)Dv29@l-c->^PS;6PD9AzK;>nUkQk2ptJ1WYU?_s&ODQI9i9M&hw#=rB5LjfI_xn z*okQO&h_PhbMo(8g8(+Sm#}8(RTrV=Dk{Yz3f= ztpK#K^$YZxhBmfNK|5+_V=Dk{Yz3f=tpK#K^(LO6HMFs%p^c?)0?@|R39wm18(Xb- zQr6JMRsh;KGYD-Q05Y~lVk8Be0(bf*K8mK8wqwbsE^G?K3sK=QQ$NWNA8$=3=X z`C0)aUrQtT%FxkBzCs6(e63aJI*sI;$CTV1%i5TSQ}r~tQ4vxK z5iycTz5{jx$#*x}&Mt?u0m)YcY>nhgCe7AJzGNIbh~#Srk$i29Q%UXBYK_p*WBl%L>Qd=YWQf!6&P&yPeh=R5DQAh`p zFH_dpK_p*0h~#VYQ*j{qQd_ru0rRvxHt&x058}<^|4J6;8 zcz$sDDkR@-%=ZynBl(i??B}2bNWN_JgsqW$Sx%*`k$lP2+8W81Ouc<;9C_Ag+cc7| z*k)@aUp8Zh9YpfAgGj!%M)GBzg|&KWn?bz&F%q+zee(<+*Y&Li6iZ5F?E|+tdV@FeY;t_f%&d2CV==(vpA2#b(0*& z?lOxtlJ6)q-fpv4Bl$Alu5j^c>;Qn|OKx|#SR?t8+Y>HMLGmruNWM(l7cQQS6$(hc zvXRP!lU)dd+mlGX>?eCCRlg~Hrh9Xj>Ofl~`MwFMh^>))IRSaLM)GBa6Lt{E*A622 z+Vd-+`U7ddN?RlOGS47eBl(hn6QVVM0$_Usk5w)=0i&I&6*P zOQzG-NWNscY>nhgW}&?dJ1`*m{u$bq+6Kq+4~2gPv)ea)8~d4#N=gbK^{lcg3IJQReB@?mT1X6aC zGK+^&s6106`I1g|Xk5C(4hs87zBD}D`4CZ70LjwfGRshM@3LyDf0VH25 zfaGfhkbEtC4B{jCS^*?qYdHKyBl%iKVt{BQUuzM@lScBj0!Y5rZtTu9lCO1gU(gE4 zH&Y||K7|KGJjUWKOF5q#RTED``9@|M8VN|gdqnCVl%g+W;GOz`XJ&P7kuFHSRshKt zKe0w;h2(2pfZo92uh1IFSLjnP zp##ZRXpQ76v_|q3S|j-i{eC6nA5!uf$yeevlCRKDV;lgN?(pH?(n!AFNDP%& z0VH25faGfhkbLtdA!`j5OIhdk8>MBSEsf;McsW?;2naM$U=pVJ3B`RFZ?y~pT_SX* z2I`%jhI0VE3J?2ey|YnF*hlN-(b44Xc!*1)^&XC8-uXoz2swh*>j+w}(+NS_ITn&> zj-d5AJK-4WbC3*2(0Uy~>vaUJ*AcW{rwKdFEJx6K9YO1L1g+N*v|eWxhEkp*XuXc0 z^*Vyq>r6$id`HlF9YO1L1g+N*v|dNhdguKHU1XS!LhGIUN=>o`C#Mg`OzRLJZoKo^ zFvFPV+=(T!+3AGLLgyaDw>u*dv&bR3-DD?iIDllG7$m1Tk0JFG#{xamxeBQZoF$Mv z&WRv?zOxJQ$2)0=Z*%q_rqy{JYw0BC5ya1MZoz%F^X?FQBj!v%t~t&RkUYfc4aw=w z{h*gPM}j_902P-y3B+_bFFnZZY&r4*dIW#QCSizg#{r0ZoN`WB` zHDX033^ALzG~~k&lS_o~Bp@)vdAT>Vr9L)-$nrjQRq z%#`+!4?|4H>pxL%ams=8z9VybRoykPkzACb+F3ABOmBaN9x?(qRu^h`B^;5BV^}7lGRu z`W4$8FvJ_c?Ft>A00$W2tHJFK@fW&;A-*2mo{$eid<(d}As>eLPH_8jd>G<;!Qo-m zhar9tEIxAbVTk_>Heu%YFvQ|~W{wX-{612f%p4zv_!F@0W{wX-`~_HisPq8z6NdO} zu=r5PhavtRY?qlc4NglKVt!nJ50$RN@<D0v3^AQ&Y!Zf;qd64IM8yC@dI|NA{`#yGp0zzsb%)S|*heoafo$hSHz0X6qrLp7EWEdamvqp21 z+16;k0KV^hqpdMc3g&TizXMXtt1z0Enr)-PZ8dt=-KL?5Z9)^bHONQFj!kIdw#Et; z6)EQ0&^AU=I?Q5rQJW7~k6*g{REqSXdUK93?jh_3O(V^ugBUu?2$cgrHM$>J zD)_w{MEWqxG^Dj7c&Fn39h+8~{Nu@AA>urQtX!>NU?+YAMOy$M^0hg~6bRdRwN4#{ zRAbyKR_a^Zq}DBbw!sA*a+#ajVOE9M`mJ3?+nzz%HiW7M>iyOpcw`Pb2fv*D5s}K8 zeYOmf*@&EhkoA<-+Jf>%vzh^GO#IXmKe0FBZ)qWA)RpX+&+X81l(=4}B*Y}dZ@Py@ z&Bae)AyP?ZJ&L&yq2lDz&>ElHV=|Ec14O)ou+XoSD)(Tt0vm&UZb5ANbT+_5Ro2>O zRmkI5czBtcP8jKzHPIf-;_I!h3Jc1B;kFDEj%Wmo7(KyUU@D>?B7?7x4 zV4q^te8W6kWqqL$9fOd2cB`0f%s_Lau3@|Lw<-dKu0^5QC{Go7uFAO(Zx9Ygp#Jle z{(fU2j6nV8E2(F|K7kN_wB>;Q+*^7UmN-z@P88OTMxoy8mEKX~P(FeOPrlyHW%qtN z9zQfhU{N=yq8@DmWD7#%J~r`O7c`hoQRO0fcO4@&R(=++3|+? zM?1=X13c{-j~|Ab&)M>A!Lty39HHRu834nbsOn+k84Vh@+u5CP;fyzsR1P=jgOKqj zFsFc6LgooD_k*|#Au^HFAHNbRgG( z9M1M+4w8W!rg@kN=Mj64)g_w77TUYR&ijLJZyvfN7eVYD4`M7C+PetE@d&vm1?)|h z7TzzV9ekIzPZjiNvY<#91-)u#m!V~)VXlU%E2*0e^Bjn$$*`a_ID&HQOJACp1ArV-b6yOijmCwL}=ip+zjub@#93RhWS8->d07JfLS&39x zou4yK;E&(TGpq<_K0_7}0NY~8#Dt=&Su2hl#o@y9xAgDEIl{Jv7$0gH&2!qhN$%W)PD>FF;Wv>1e zK2Lyg4<7_cgb24=CjK`Jw_7K7;751}5d#wDMV9=N&9a&JQ6WNv4~yo-YAbdGA`V5! z-;2tvuUE6n6_yO|D-r)|go3|Ae*y$A8~=zE*{`&+AIDsr5k@CJilj#nGJb^I#~?nW zY{5rJdWDo+UCg!7%8R0m3=_6x&%y=)A>$j!HG*hB$o-qnum`<@9_6^7Y0)8PS<9ej z{8K36b1h>gskko0yvE92#RA@g*on}00tGSWZl3FILQk{~=UvL25+M z7Iey7#2$r!UKuTaSYv>J>>|Q-eh2!am`j&rdB6%$*>#Y+nzH$cEHpJ%tjPDUz_jdM z^o745>1Bj``qrVz%vp9GGdCQJ_c#bfeit&|#AGovs*+DZ(#Z&wOOdKd)hSmY_6mfO zUMw1ynrcB5T->CZRbq{9GHw8~8^pT^l@!a~ikQ$G_!C0* zvtX)0R3h|x1>Xf|-ff=?F%z55XDPfL>zK9xxXpdYvTw3tSVD+L-h`nCB4v zv?OtvTZ^Q*Ov(gf9fF;NBo%<$hNRU@DgiSVNeu`_uL^MdK<8>E4Fa+ zlCm2>+=r-p8I68ksGa5| zXnYN!b_QCE*AVr`*oZxea=&Ujo01C;#Ul_x{x;}2kEznDNM)zrj1>Okg@cx8J@7)g zR1a&ZcOmf>LdhB}b-)pglCJ-X>$hu~Qu13Ar=6i+#&i|;k&ZhXDS-7yGw{}#_q938 zX)1OS{cEe7{l)z@WU5xlE!FuR80zc7fRte=(EY}V)6mGwrisO45G`+8`}7>}gKAhi`CV>p=aL3~H1 z0!-OqZ~=te=XGxWT$~dU>M~QNBAFG>fG96)BH$0^=T`Qs)XiCOGIF;d$gKD15OQPxbCwU=ztb}@baUPLot|?nV|N6)pSH5=u;G;!z8tD9 zrEab}Z-96OLA7v;_F0V6Jmh-L%Da}i*zoZq@q0@Iv8WkD6GHA3o#E$NxIS6=11-#T z=wY45HrBI{XRW-QEQD*%GUz;og>db;9>jGBYV}&oi3gWy_*9XKFwB2ic@5aQi-u>B z;b~vP*C4(`$UR$U?y-6;Oj@W`FIgtL)TD%hd@5Pc7gpZQenH+*Xfp&cwGBioLat17 zu&YNw*XYjim&txh^i1#&)ajWZ{(z1<0uJAgyBJ=?J`N7-|C%2AO+i!fDs1{cB(u2R z;l(MVu}Kxo=_W93WD#tN7iErV`gs{wwmGS`yd z>6&erW=35+SYj%;^p4t~7EI$N{XMalhp!sA*Y2jJ+q8$*E36+ngvG5=ucClpR-9w4e=<3 zc1R8FD28N6_0~Wc-62y>6r;;{wmweH-%&XrAE(?h@dRv&qLVXBc|#Dtk{d8we`13q zcIebzW(l3xNEE}UDExnr5|1t$MtYb`aLb019z{Bl3Aust+>3w1BUuM2cBp2J#9)f> zzfqVCN|~WWCa6UN&$172MgAe%AG8Trz{}jU5_#)!Jo-cF4)8PKmD3TH9*3ApF1a{A zpZVM{{Oy*N&ioJLht6Ms^zKr=02$1m&6_vN*H?ovdEcBzJ%drPTjZpEFiuEsl@Gj! zOyb&qYmC3J8}e{A>0YEy;rXihl{IKE%y?Q}-whff6@FF@4WRDSJ8Aw3lj3V9AOhEy z>JO?gZVIX(W~_*^@T*XP3lWA%AuIYaSM_oDp%Oy9n7(2ZP5&MEEeO>xd!0iD7J0!@YvJbkyMZmbbOIP(Xcu+5B=TKj*h6wJMgD3jl zpBvUCQIujFJs3$8lLxfC_o0v$%9&oSQOZU;o&VX!TxxbVu{caz>JOUqbEMXDEnX_i zX4OK>nF#r{>6reIHe4R7PmwLj3rKhdp>in_1$Wd`2}2f1OG4?aZB0t`cQEgD=K7FAk7QgB)QB@Crw4y^1YndHIT2%PDC;DSrqM^Tfk-hb+CU% z$ST&kZA=cckqvC__qI7tu44rPQ=D)U@{T{nNF1yMtla(1A>JLW8=?9^!`SS@g-j_4- z;3YWRM;IpSN_@x;NL~Z}GK6}0vl<^qxq_3hr$adSmoxCbORF{UdlqOa3|ByF#*Ii> z36T{D8NUXz8N}@fxgTixTr>d2wj2gyZ*`Zlin}nr>ojKhdRfzh4x+5T*{1;J1N@n3 z#6QvMxH`qZ)JzF<$G_E#ye*x1`VhQ-IYj!*=5zkg)4>j5ZH6vha3<)n{K$6jVnlb! zx;GdbowQE*%2zpL+R=I%uW7?NVx48Od2AkM^nL*|4kBJhMDNu#LK6RYdPsSzx2|V(-4F2xy2yKmVUB{wv@#&^9|mNr8rwYQKx;{@xNR%cU{lyk$bc?#u`4*?S+@} zvakU2GB@#CgpBb>IubUtBVLJC9v7sQ?mUHlMNH1_dp6n^6a597abhj^cQGzu&d@I_Er>g!&tPpZVu4JUMIcz4qQ~ zt-bczYp;DS{C9=9I4_gkub|+p5yzQ>-|3H73~^ep383Y6X4AVp1af$ARK5U-tAV?g z`1RH)uu^bl)5-oKP`O7c|1J{yfwl|3@_$C+ihUSV{L23WiMIi`6TjK?uPdq@=OCLe zL*j?XeFneN?~XN(9hNhlzVgr25pfz&$z9-9@?EeK-h!fYZ^GFre)CvT{s3|gU<7*b zD}NsnZ{CmS3x4H~B5@@eyb!F5+JeDqi@1Q-B4nupJ@PA|ZOn%vP5Qab--`V6ZT>CDf63-|B7bEpf5ei*_P5#m-N1j@<`aJ? z!ms|+4TjJ`}eux&!|A@o~Ad-jiJH68O zXZdp`ZMTfmto^qkpw!!?i^ilsTYebunTe^*dK%((CM~zE(c!sBN;UKi8BIx89#}W5 zN4wI@4ft0qQ)e1Roj22Pyaoj)LFbDc!tYxQ-X%x33ztbRT5HM>49^rTA7?dL`}K93 zcMGCm`H`~E-Rw*{Gsf=EqWV)VwE1@#TD?6ECx#8;zRotzAk1w1*y$}Wl8o;-)h8{P z68)%&y_dNr_CDg8h6`aE@tZ$u=3Ks?nLoaxd1=)G>|OD@%2`U!WuAaFu~$0Z=2ioj zzss&avc0Rlr#IbMn;od_7)rNi)3rVQ*>rz)UPpV!&h*VYdpgtS-8?Xu?HTBA@2y2F zw0&g${Mx?ZOtyAs`|flt_TWAJsNdPsm+sF1D^t5;I9uC2kVV8{Y4jH6rN09mzcggg z&tvHRD(A8bj+_?}(9_?O?P>4r*_TVid8S+Eva^oNsYT~K{e$R1NZ3Kl+JXLbZ6@6f z0m(Z=ue0dM9~x{$T_UFFnt;lkh9ADCKGu>{KreplZ$ zsph8(VVUte`@K_Z{vBfF@9Z@*YhrJ~zO3>{#cON(!FhXc??4A++3C#vA@KOS^hI}S z&2IqkH@&N}rV@?uH~o&8HJ^Z7`14vP)x=(aUGsSeiNCYg&%CVk$b?KsdvE)YGq(Y# z{9S#UJEdk8+T*Xjqk8V|pwaxD{^`Vwngsy(tKV5!^G+b}cj=2W=kh*O{!ZUCVaD7q zp&9vH_?5-iQykK_n`6Zlbd*9DXCY=H3aIm9r@Bwjoc zw&5MF2$E;Sk~4$kKYQAoceob!V<(tQp%3ryydcSMTeLc-$De|F>B z;#bzS2ghnuDCd(%{vCdk*!P4t!_{VacM3s{>nB!Y^MR~g_(}Ok0DK5Plp{o#nvL@B zBKd7CpZ*r85PlP(ULMmilwic(Lg_bWr!C`#yM|CXa&Ere#qzS z1rW*Skor5x8F1XWEui?zhw$wT{L1q?q`7W#5-{J3w{%qE&(!`{9qIvwvGW`_9EFgaz$p`ThMN3y-HAgwX5IH5gs$+LxR^qdS#kAyabG)r zpTzR}V)!q{^6!Y@{~?zD?ihYq zXGG7ZV)&=W^1l_szaWK135!bJ-N$0=_~M@+ucc6I=r?TO`oJeL2nE`$GO z4AL_uzvS@42ZG6T?Cx-N>AjP;EjTQ11dXCpE_!~p{R1D>p`SrgXE38Nst^d6k%6vhIHU6_$A@7VY z(*J+OQ2O%g%ggy81PseUY^>RnNH{bM0*iy_@R7Shoe(qn=Y8-mZo3ZFJD;EWL$Vcvq z4B@Y0D2oIo*8d-4g^k7QPw9;$F_>R}R;=*e;`RSe4CQfy0&nW(+zI|d4C%*XA{8^=PL)F07w|5!*{Vo0A5q}UK3{4D=Ci%ysp z@>O6shVoK={e!W>>6418z?@c!cUhX*1SKT{m# zLot+pGAM;w@_Y=*D<4Av<_t!i%^M5px){3cDx2gX7=`^JbSel{S- z#xIT)K4V(QR{%!Q`HwpCoBaCCvBDXXiz>j*7|K#Xi7CKvtZ-}b`gg`qvibGzixoal zygp;-{C6Md|AIj&IsEhev;ifDAHN0H&Ae@<{EisjzbW2>7Vmh3_Z_$|+TN5YRuNvb zc!%gb$U%GgzsK+{R=kHT-h&ZdBLcrJL9(o|DnyLpW#1N*`QSp*$%Zz`Nc7; zTk^3gO~Wzbz(`B11|KTP;k+`2Ybt{iZngMN$oj*5Ch>nj)-zHatM{Q>0;fEAe^l~o zE%`P}ro~FirdmySmL+G#O3v02jJ;F7FjjJ=P0T8WUOR`mVBFaUd9HJ|F~y*n<>HBT*i_8z=L`FfiVigy}&N)Hnp)2 zn8suS_SRVb6S4eX*?gM0e^IjX_X5YcbH%?e0Vz=>{NiidkC{wo>UVAN*HH{_2;bP& zBBxSfMhr?+y$1kB#SSDG+2xqNfuwNX0jMMlB_4gEJlwc>)*pH#*QTGQ(+dvMw0b5?Db7sjP6L* z2f{1{bR=tHSdlRt$vQvGV%SEq)`eM&i%8b%nKjK#JP?#T5G-0i{uu$8Uh=?Mi;#8J zB|+%}XUz*9IIA`|gPB(|vw@k*O{SrZQ4wixqo?FD2qIa0Ay{4)3~l_iT`=4s?eQyG zrdI|vBN&~oEg_GMFb4Lgfl}!r@CiPt}62;pFVjiZi20tf&A%?H~F%% z%gZh;tA`?ZbDgrXD}aGG{3*zBoWK@fv6=8XDM+$_7^N3WdSaF9O)e`lZMn!V zD~~mO3EG$x^#wCjh0?kj&MddSiuhCJpq+)ltC;4VTVwL3`qFmg(pXbh*05UD9FC1` z(KpmjI|q5wEw1Dl+!;ce57Lmyu4Y=&1c#*6&N;_Kp#5%Ho0?v*uC7u``DRP5z5?_Vi{ zgGmwbotW`yzKZUWGPijKhw9RtwoKt=cO7&wOE7WXd=Q_%n|XL8`lu^IRwZu##qDyl z-3#%JkjGd0%`;ld+Wf6D=vS~wL@Ad#7gpI`mX`t1^s|DXHn7rkaG_}YDox%65;}e5g?Bt2n6jIg$WV>->n=^+Gr@H-zkwUc(@6 z95(#pwlhO71+giY$Xby@1E>pU32r)$6AN$Hl3>-hvCL&dO=XaFvu#br(6rTJ+d>v~ zd~2K`ybUSNj^nh&>(^JA7Pf_|fgUNz+Onmh71x4OXZr#>DxtDmr{je1aVQ5F<}x$P zsi?{WM!#-Y;LyVKPu2m$^S3!!pdPnR=42tGBg&vvj;R{Vv^G^=WsDbgr%@J7Pl>UK zzRec_F+Wg)JRvr;NuAZDxu$YrWQ!@@vdH94Ql;eRl*d$ha!!Ysj8ha7CObYnRtKl5 zVW;(`TG*kiisKp{t0V27rqgqJ?ikpqHbWPQnej$#k2R58&HRBK&ygO8KHU%v3vSl8 z+0jHjBUfMXqD@^3p-_~@95wo9qSa8*Df_cbt3;ZcLxd>6*`dvZCK3l0JHEP{8`pKq z%RFOK&a*U$>}=8bmUWp(Ht&MCQ1NgaXVv^T9?pL)ik*K8$C@6CB6D}4CCpY?92b!7 zILA`kyrnrJfOuYKT!f2s&A&L#6-;ux8`}n~GmYV87r_d{9CNj=%UxTSg;IrZDAg-M zj*tx-?o>k1d>^|nEwiAuL2KA`OPnp{@M=kl4B{f%nGH_Dp8rH3aerc<5JKG|+b6aGw9Oqhk zdfP<-Vs71a`QFy`agpJfK09u9RBy=jw%X&!^h$Q9&(o3X(R6YsaVMC?m&rl=uBFaZ zbg0lgN25EgL(JG2$`f}F+PNvDu<-SvaFG=$uXSX087qZ{A}GSR@6lIm%x$gyP~KVt zr}puY&KbbLoLLBx@X2mnd9YWF*Hbsk>Q*M~CmL7WQb0wc?=dXv5gObbZ^QI$Dcuut zpQBo~bZf;IUj8V+`Qb0}`=-u?*Dwt7oG)mUN>tx#X+R(B#A zVt=<`v#-lM*K4D#D|7cz(PH5l)h#hL&yP6kmt9vlBLm1={JeT~8nJL2lYt!YmW&}F zS-KQ^p`}o~i8}AYie*-t;3`@3ImsZ~RJjp_@j55R{0%PQ*6pka#bwZ@Y8^&0+)^}6 zF=E?=O&Wk|UEQa#uwmxLnFe9{9OulL3ukTy!80PUaXH4e%Vs1E-`I9V7!YjNbZkJK z9?T@%Gz4$M#Xrg$|1aD*(3f5~(%!$Yy}!L^A9Sa9XvO5R*mn^t=VWuaW zo$v8%m1omtpF+&4I~uw!5-y|Aahqj$J7ZL*w&*}g&kdM>@OJCoX(U6>i_SkT+k zKfHJT-b*e@U9@yQ8gmv7XNJOxHs2t1_YW`J(UZ*>6q3;0(Xp@qn=o@U$F2Icp@GU$07A@J))7dlBH_$oUn_kd?Sb&qs zcJ>S`1_r_xsZ`%^FYc}5?R%;A!5&i&7`S~8Frp7akU_>{k;5I?)Y|$DYmkAVi6Chc znTR-KMlz}N&`@trhE$*rB>D$z8M^Mz&d0CclnwU-tna*?!#WMi+^bPi!_6A3GwrAKP z+8!L~Oz#-(Hi;c0*|Z2KUX_`dcm_D>80bvLvw8>myFvRR*@&-lr}1#qulifgjfFAwgmN`5xE%&$heqSc=o zw2iv0!4U+z6UZs&wVHnrH7QB7;*Z(^LI(X5K>y^1B34eXyeQ!T-{i-U!6@F>5+E1>_`lZA@$Um*YUVk#_+U8H{M1wnh zH}Gb=N5FuWZuQGhQ4+d_-9fWNCr<%^J@T?Zu4hd?$=z7oMrwjW(2nftssYTbgPam zK!!J%^`{^Sxu0!`Y-@wWU4POEe-V0PdkbCnNN@~&lnedk2iX#<9rqUnSGw*A|EeJC zFY5Bw1m2qDy1=Exf|sgFTz`i5&I4$@3YDw;(t2dy&TfuFwh++I9XCfp;B5pt;7yA2 zX1Xd);e1PBHz_<4xFO>;mw`s*`ccC*MCUFzN~U{VGZ18Cz3T=?jl`=k>{YGFBiI0u zx;GqX4O;7hwt$+D^nLD{nrEF8lzT4{-oABpb?Eace7+E=zdMkX#34Oq_n(2WPB+c3-sTda*v0$rGS)SR@FQ_c2dP0`G*& z2@Iw2csb3VA=x$=ywN|C=_*q?!=GqN-P@^T58aZu&@I-s7i_?gO&6gg&aLtTKz?w) z$b0%GzdZRJP;#w7X$80}2V-U&V`c!0<^}6R49@tfP5zXy4d`@k8ywB*Yy61^{OW7{ zi8rF>Yf0omKlqwoxwVK4{^Zacstmm8AlC4Sziu$fzoPy{{&=)(p4jsevDVtkw463* zy~k|B7;Y~(bV^PA|4xo~ROm=n2HqELaj|-dLG};g?ejrmUL_dBeE+6%(D$*P$iU{T zc8POXMV7mRT<*T+9_$LTz$>q|P}MWZ^+DpSN@GXwJup@u&%SDXd}Pc%zW6`x<4nuP zr^oDL>Hkzz+QmvU*@DE}sys#Zf;T|ct{)uqs}Dorv50X5DmgJet1}+vl4^)Im{J)_ zJi9_4-fw2RTP@QYt_;h?K{$aSqFum%-{vLjF!ZI~yyU?kab{)U=KlrmY=eu}tk7(r zC3K%$5mMInN|bR1#3*~~*pwv~pgY%l5G2`7pSh(q-s=om>t0D7$v3>3Xrw-w$HSj) z9#gu)!)uJlev@$hbF9p2yr~$!X+QI8-az?X?N1Xy-d-gWF=+E^ZbN>XSj386fBJP0 zYhrFWSM+r#xYozuaOFe=nqXi~k1CY+`ZZbsYpAJ!4r~SbUjOqRs@MYzG#BY9*Btcc zz!5$mq|thVCzyV^BFY7j_xYtYT$ht|#}emO!o(yls6rzku!Ktdy!b1A@G-bCaIEP% zcx9MZu>B&n@vS00cL6N5u(WUE8EbmkV;XA^|G(8%a^Wiw#+6)|JPC&iuHps3U+BTk zfY7GFefD0T#1mNcRbR6z$}B`-xavVvGRiZEK+iYe;TS! zIRcbXZVe)o`;94B;GcV~A6$y^UVk=FgD!vJl_tY0>yqW%3%YG{oM7G5j6^CkI^FT3eFTYH2kZDDP*sqXU2 zq^9v|?I!yKY{{_M(B1BrrIE5k;+-W>ie#;S0k2b}u4`zuOJ(qDmcXTEvo7|EM)620 z1hiM|g&UkS$$cjKq*0Z?n~FJ#l7wj(tAGdr%25J|dEX3@2a|1hn`3Y!(#p{hX~P&k z+xkJXmm*g)dIw?TF9Eg=>PRdb8ch_&pq`hOUUEMaEM z)4VWq@na*-=W&A1FcG=oW@9i+qNLTPo(+w8*ZgsYHf$1n1Vt2xh7f2W;ha9??9(S>x#EM7OnFiq_RWzc- z6{bam!$FT5O!q6+`tIIZzv6s)H3*zjZl#NT_pJz=&qam1tEy%1!R-;l9`rLn=@ec- z5w=~73R3)xKY?T)OFQ-_2mSKVtUr@zqdtiOHbd|U)G&Ss*p>7$f3jR%@nzva?W>aj zKb!*bD@hPK=cWq5|Ai8CbiEm1%-ex*yLU!*9Xj*|kJ+%yc3h|V6YusXFn_&9Yc2wV zRsQ69-(9wjlJ@o-_R2y0&K=qPxBuwY-US0%rX=6f!75%iMlf906hPmwgma;j_=FV>!H| zbutdbJBNYDS#?r}8}Cwd%)oGYa5y;bod&mfI=SNk&DZf+mNP3U#*??4km17d!Tf`A zoG}XoK}D)T8I=cIGE`sF;a6OVti#D~Vt%_vb-(j@jMcf|hBBV>o311NB<~N1rh}`u z9LNSIg7*>|EO`A#0yyUvxXHadPdVZ@cnH%}_8kR@-fOXG09IA-dNW3k`jvxrgx>F; zZd&JGo?rFFM(7?XM zxS;x@2M`+xy#I8%Nb6A$y%0g}6~MvPe1Xv6tusD#fN@2Bf2AIR~9+tf%oPK=!j7{9LoH5uX~Vq(wg@clrSuh z{#Z=N`>(ypqri}CAS7$!B@1FD7&2C9GpLux&?H*W6+_hymjOvksrPG=&Fa%4YTh~_ zq5{;jv=yai5wKhk1W%IV2G>cbr#$(nU$qq{5>prZRZS!Vty37)-r)%tw%1bA*|GOa zkrhfHltUBTI>CK$Z)=v_An&jU3Xsy9M0~^aMN~rGf5ydg&x8~B&MC5!iwxprIWoD; zU&O-tu=20=GSX>8dk<`<8HPwIFN9Jty@{C=B=6n{*|3>kM#7N}EamJg63$3WIKt=) zdy_}ddzE)Tq@p7E*O*8iP?7w5B$5XwxXC%3mq(zdUJnl9WP*(rYG2|42Jj2j?GSQZ z?>!K0rT6fG)}xrBI0=?0QE8oDb1ZulmDXcJ>EhV*tNtv`*}7mGZ4?R~mB}?d_$N*i zaFlE_6B2PcS%$}$k9CMtaz3&NYrr8L7kPG7@Ta%XlEEl*Rgef2=DM0Y27a+hX0m4M zugmBL_LCQ&TI#^dNCj7k1{ED4yt_;%^%}w{R&!OPj02|(2Vv?2z-ap>Nl@6=r zbbmRHjLSCh5Umu}gI07>7U!eeC2&%XqjNWy;ZIuwZ=Q3312 zo%;`(2JNDJgNzMEX`~h7?RwvUvG%Gd{lNR!0hwCflg_&Ak=D8eRCr*15+QWpl^mmC}#lhi7tD*TBL<4n(-P~+MrELXMi9t0mWv%Vi3mh)Yff>s^_d;1Py z=$84Vmm`nM3`DTJ)i#UB)p9rnSa9fe7_VlLy*_W*xi{>GKE^u`K*3S%R)7eiP!njR zjdqj;my52~)cIwk^z*ibJ1kA>{mCQ|hw5D%wbJ7v=ZY*wtj(`Qbfp^FGz|^{$8Ktn zd_r_$D!i!6n6WN+Njy4EFXN#yXz0<%sb4EjSc%sSwKlopZQp^j3b@V#}?}3{z+dSSvVSLYW@5d!wESu=P@1{CV2iNq^&r@)XDwm)?5t>Vz%0Eq|za%5fDM@rTWzFm78>oPnwd?<1&r6_rPI9A-tY-M-X@SE^?12R&tfM?&A{x z&p)9q8Js)x;N6XNbcLKFK81>69m%F_xyuU}h6cWP1XD&2W$F1snGY?fk zk!YwAi?M%)mMsXr?w2zYW~G8=>Wz|(T@!54cVMynD%^yyE~u)PIptTm>m)H36D&+z z7EdgVCl(FZD6vX+|4r_ZBsUPi{sk^vD=QA+@@P1>f2?!+ zeSWf1CO2}-Fz-(_6Y?`E7;l^F zos+Cho&iR#a%E7Z==Px?yuR(n~P}Has|x9^v@tMECW&#^oX`za)|1hTrb{#HN3E? z!94l+4=M1z znh^KM=98E!1paE`puddJLDHqgyow?d2)u8BMvj+>&kdUiMdulzDhWRp&{6h%Ek@bONK6ORj$CVLDg#z zw_GRl?8;yrRjLM@xZH`5$Tu?KC$WZcH?&T+n&(RDM^!wUzn%ABFC*mp*k5v+2`O|1 z>$(`mrz-G1m(t*QGK8i$x3Eu~9Sr*A%Y(Wqe^$9I@hjmdU_*+KZKAHS3nPO-Ea<7W z+b`5Mdq3PP?FaXm8))=icwK2Ja=!jOEW_a*nJ*qblhvQ7+8 z;C&G~z!)wfDfsIn@J|x`;5{Nm2x=P6Cno!)8*%^rHox>T6kS10!P<1CnVsc``ff#9 z6l-13ggeKmZkWAkm=SBy5tfU!3uMvwtbdy56D-LLoMZ49hW6IJ!c8bSiz%%u_xjdbX~fL zmM-^H5>Hkp^!?59z(8?3h=X_^6BY z^NCgl4}kv7L}lVJX0-(r$IQgM>crlP#Cg?0;##zto!XWdoVqnwcQU965^s?<{lq`G zm5BqD;5L|%yu-Bf+mgz}@dRo-jz>wQPTA z;4Z_dMWVq?UXl2qJFR2;aC^Wy)3$BhwzVzo?LHVB;(C_|==>*45b03xXPg`18J*<4 zLE?GK>0M~^OC;fQO2VH&!tc<_VjD`ryHI+w#8Ms%DCv^Dx@dLO3VHOH_5qJ6=s?<5j=Mr;c3YQcWE2?ZK4}yiK z9BHr%!MWt|Bt+VE91!lKpN$K`NoXwamV`Ly0S-|;oxs__iNqvK$%c`Q!+kr_L#YjT z8q#SPS!*6s+a!Hbs`o`Q3_GJK$}BNcrRq7%g_ zc|?$pAUb>6@vNzQlp^D#Vo#zvsp0+Sboa|ADojgc)F5SUOyOb1J_k=< z%C&z-svTdqr985Ypp1{R8o3x|GN~OS5KU)#uQRYCg@+tF@ZAe^Bb6IQn)q0#!AHw@ zKGU=gmfACED}Ir(p<_iRlg7=XQsB_L}F82YW{xWc6lt_Hgi_Vklmm|8Q5-7f^TQAubxb*yTjolxC29-=^>2tPACz-4vNO`E;M9?TDF$Y)Z)t> zcytnSOm((r+fy>g?R}~CemuD8@JY;6*ASliM6FeLn$*b1NTD9$?8iWba@g3=mfEms z<5i^03L=$C_wVi*8t8XAhKJHn1~fRF#_ceJ)L~}_#G6X*h1w2cOnUZOU1%IZyL-1n zVR7ReTeJK@Yvh5@l(`ti60V^O8GHl9)?c$}t*Y6^;oe?@jcFxA$O$qyG|&OuO^vB7 zc(N9ctf$vvijb3r0X&urA@y{MmOx`U%YazVFQ{BSFt7__!Fgt9hkWwIc3ZzmdsQv$ zB5`Cg!%-V-ha@riQUhIGDN&N_5XKQDxMpl4P3=3hm22cN?U*iOK5xPd?gOW5d)viA za0m@w_5&(1x$GQWHN>yeEOt0BjaP5l(u6)}TDI^(>3XnfRo+au0U3J`+?kfPsIHvS zE943Ibl+eWdSWJaDvOzDo}P8Aky;JyS&i@FLe223_P|i8vu8IxgcI?d!c)yXELNpe z)kZd?+1q6Wuxg;cA5W@dEViV(Xqb#RQmHPy)7I#ICIt?5iRrZ{^Uy zu5^Dxj~Xk?dJ*BOfx(f+J?(=Vscg0dRdV8VryAOaGHEeJEBZTO5%*vcXPkZb{s{C$ zE}|wwL#YPbQ<^o>q*24D4fS;Fls6mf-tiMd8=y7RWYX7cp2u&(jf|OI zD2SCtm$Bl+XvFIVs2?)9oj#a=w9c(nJ9~ON8!&&;nT)B}AFV8y*!_b}s(w>y&k)3j z$xoZyB+sum^0{?VJe2NhrzyrH3(cfaj@>L9fM{)L;}tL>*H)d8Y$yt1Oh+_8kuT>&Co9upbmKt(KD@d>1`|F^`%t&T7ik!lplE$gx;JM3t$J>NwH_WcN(ymyz^Xa2 z5M#;dFzcT24pMz$X;O{;5XLOE6kthSH9RofC#& zwO3%-FaqBM^Quo6L6iOMLnB?0F<5~~vlF!RbeLA4D_lHKn=6+cBqaFShm}+cS0_3_|W zU_CXQWQKRN(^7&P>vUlurN?XiNilJKgCenEd^xR~Ur|Hz^l3tkHcfTDe#hP=OWIKY zWf+9F21CJV*GG2@12?<_9%9d+n#B6diqPg8@o~*uwV}S@noX$m7pQB6-BisOL(*@2s)=0)Dy0v;RFHx8%!(S+G~iJcA?VX`OI znwn=8v{1PqtF_z)tbzYdIdY|Pz*?q#2R2SU;+5msn^5E!TER0*0lF~0ZwgNhIX!eV z%nH(%>Vyb)AUu=i9tBHI*g`mB{d>)>Riw%pY4>eLCLnCpz|cUBA|fv(uZBrw@e(0! zc`_U#jF^ZK)L{RVF%)1W;3@*o1SDVw1fOMS$mtx&T8YD1GK8f&8~Ji5v8D31B#ey3 zv7N^pbwNObf&2sf>nLHcsyIS-}bfbPaO5UD|pO5KC`i~dqK(K>x~ zCDQF^$7UAJ%Yd_SaAd{sUhXVXS!{O(N768q(gEC&UZW5V&8g;%>o;!Nx-qq8CN#lN9V%2^}}Xa}|fnLX`;{m#Jd^bj^pdob`^)Vkq~a&%YO zp*4opZ~{r$9%b#mXes(mrT88&0b>$dg;#3nD2A>>Xb@$1p@@5BzsS{S3trkaJk$}o zlql>^cVoHOZ8Wd3X$AC5mTwZbb<2td5f3&4l&6(6i>_I-AEQMdKhV z8sPyO*5K)Knu4L%%T@&QwXdCusmlsICzZk`o7tB!IT7P<=sBIJzR>mzjd#j;z+7~~ zfrMwl_K+n_<+mFuj_6|K2SF<%_26oV_jF-{1XacuVxfW?Z#G;hxEFBb+IzWafTz9> zqY+v|?)ydKI3X>E@Kg5MWm8^01z!rDC)OS8!o@TKp(7KY6Kk<6lW~L%>>JFPZG8ya zAVMJFr~dRFQKyY&NfHHR51l3!(=h;d81&0_gJPqYVlIY}4Bi%J?1|Fm;8VA7gkaRi-pU?#EeBWlal*>wQmTR z?V*ce-2TX}n!POMGGA$iJ(H0Ox-@f2tiP=HX?h+KVo{}nAD)F#OB<)j`vGKW7s>HSzsguH$m(-Rzm#mbo35n5KhDH!kWX_8ZMC$$YJ9E0~yAk z(h@k~HcqC7aXj#1H}MCoA7Yo_SZk|g21PL&Zq+2BSR4A^&;W37)vDCh2&M5AhhhfJ zJ_|3HgX21sVVrfSNL-oGK~y$MqSBJEWN5M0aQ=!|NHRYXj0#5NbTYPL$J8h;xXc7f zHC!R#&?3@?b($JY6W4@!2+11rn>CxeouqoG6We|(>LD6*v*N-4f^>M760#EmyNBBi zm?)(Il(1v7H9)wn)2zQ(e60h$4Ze<$Z?t-qWT)Dp;Nm2pA&K`u(XB>7`iS;|OhhFS zMq!wEC^mmnD^}L0R&BbbVMSBDuKO4_3AK=WyJiTuqG=6x-5gywBlIH&Y!u1xN+fY8 z5NU^CMKPezxz41ap2irvxDIom0RPv4B69l4HeZy^`e_Jtb|Qq0SpvIg4cL~nSVwE< zK~A4;xWiD9Y;>hD(K+IPS~G5NM-kgF!)9{0DZq%PGgJx~NXbk;FnbJB+Hrd1&p5{?`L@l8V5+PPvj3Ty3u&|l#wzMfxDv_qy zmPCV_8XQUOMfjNZg}$&+inZx%$4Z`So*{cDfi$6HWOwL+jPcGhC>J6s-vAX z++*~$b0?1uq7beKf;Q4R$MoHu9eCj*&KB&(pS~$P5wzXei*0kiSwxJ??KaMy-*EkH zVKCnsErTODMmX%K0VW*bBr8%!S4sG!9au0#?0JEQ4u%&YiW`S}5PhYBZrsFm%Q(%@ zBJ8DlW!C^3$-M`{bO?^}C7)udB{;vE^OH-H32mT)SWml8;pCGT10`Hf=T}D)&OtO( z?0Xfw%a!$4IWVBzwWdR~OxCf*&0#!JMl*~yL`|EOVO$#VLDa;W2A?3l41i8KHnXdb z*lP?XPl*hgEa8l`$eT({_&~dmnF8)Oo1D({ZnHa=kuWnOg$?eicI=bkm$Y{d^ds&G zin!;p(oaF6-1&%Y5RE0>dg5z=x1h*{1KrD$t91+<%KRnn}ZRRd1SSQ{ooL zy1-pIW`88sJU_u40fnbO>Ygd@(x_Mk&KA1Z@RoH$Bqvs)BlR04rlevLO`uT}qheOI zp8hT|CosJ5bP;rsSoGikBF^-1u?V$WLoKmdnS^9c*tQZ9IL4>hHE_0xm;V?s8EZCMj& zHbzQMAJ)<{&g^VQFbujt79H$4Xanp~ogBDA#bh9@F$#@H)JFzRX?S91w}k3LA*hYB zS$gxBml`QaanC8HamAJ`E80>k8tQF)Gz|3{*;xZFI@-C@He$I^CtEoO-%_mC3|e@8sz!5t^a6Pc~<>FzPB2z3$u zn!Fqtr=>7aMpftt#Wv&yj5lY_w7J+^4OKQV7HLc!9;|=}2AY+eCn};kX3M-}F+4e} zc;TTCjo->mn>N7Vv-_MBcBN)R$rBjlcean;iu^2i`K0#z~d5?f>5FCpr|qwrxI8)03x5;AKxylU!=m}0ay-zMyfz=SLlBzD!+E4Bbz%u0Gs%%I@Z(%gt)hh;^E`in!_ zO)yU2c~3ZL%=C`t4OI?dJ?N7jaGP+NnYiq9b94Qw^%7S}W9g7}irHIM)Hkl7{CB1i z&BHv&NMx(S9KT@2>BiCu9|_UZA;bsa5F3+5`q7TH$fle4Zp<7bNa$G<+c-CrR_>lI ziez-cnb?VQoZ%t(^S#4;{qQDY9U5_g%fn$f|0(Hj7wgJAn!Z@sC4 zw;Vb4)Ut;s$YLyv%rWmWh$LXm#L@!4TTcGz{aFiu1*>xacSy)i-zx1Y8`{4roz?q0 z#0QK!kDv>$00(;rwC3F5A;cJ&!s**F&_2{z51TkNG>n}%S9V4)hpiH+AyzG**An^% z4ERS|yMZALDqVh5hyBEyqm+?jt*ETLw7xhcL=Z`~*w|0o6P!hKrlXB2R~(pCRW>mc zoVrC%Sd3S~Nt0R)Cwwc9>S;sBwn!{CMljZW;ciW~$>!!U(7_Tp`ao!?3(Ep&mryE& zz-h&Bu+>H$;`Qu+Y>hsedya-XcoP9J<9E@-Pi@246kJUzAMeINTr7(vjrI_NfdeDX zsBok4Lu(=;D+o@To7P@}I0Fu^26{Vr2M%qq8CIRchPD{h8FT9< z;1ZuyVas+qWaMpb?+U4l-G$Y}4HDw15?0ONI~EK}$oUK$BgW-ShAM(3JEM1sG!7$H zVuS;aI9FQGGU3e%ir(64+@VCr(olkNsON0MHvq69ka?gSTItA+{i==4wW}_?xc1To zOBO7uo!^%o?oTh1dD+u}ByX8qhVPurzi4Ug{O;QMo0inh?_v~ZH?9r!tMFHhF_znY zxOel1`}bgM=gXR(L7@!Ke3(>BM{H8&L+@yrwSfN7PAvxMDCp>lrQsiQ@?l2Gk|E3H zrj_f~tcuoPY9CJbWf`^_8*OHx{P4nPlc-S~W+P5n9Al?VdSYR;RCY`@oPnhW+x_qk zF3d6`UYYV5*1|z3C#-dVaCEW?@lT;hI>N4dLw!>dHca&7p)_#wSMe@_a7E6TU9Hh4 z&PbdtXR`K&B$F$HNh7W2p_~XBXx(Ji4mh=l#E9)!$%wd2U1|tAgd2sKXgyom3yEE` zq1|XcchEex^X5s1(VbXu#~zI_`frvLdIi{S%5DWg4w`nvlDoJuFf=!$hx&S8#Z)KZ zfzhs;LS4~$NN(*YS3=``Az<*kn@AKJm2;REFXkcg`3*IwIzrHB~R$zSw3$l%6AS z^@1~NwJDkNHQ}=tR-J-xTvkC!j>VU^Egvdb5qUPV>3gX~=^>oNO z62l9Xko>G|@6D+BfCXksBiF2vWIku~A;i8TUE&Al#i2k3t<^ zwHBf+<|Za%gWytJ$d=9BlW<}iHZ*PFyBs@kBxB-lkZTwBYr1Qvx5N9Qp&NaSOB=<{ zn>uVI+FfA##bLp@FdPzbW#o322m#xV{+#^>eD_#=Ez~cXh%V8y5P^bPqGRDOUc1$L znTopy5T+G$h&WEUQTm8}Zc$SkSKFu=xoO_mSbx>VHLDFPT`}@v_wB$z=)sN7a{CVU zJVW*_R5{Z|#lmBF#hI8qfVxD2E;92aAhAu`pd1ndUwP_E?Gno|KYne6#2 zyki6z_r_<2?R<5b0Yg>7I1?O&I2$4*+=`-7GdHF%mF~jB0k{*JR2nyfxhhP?nNyh5 zQXDxC+KkFi?pmQK#aLe$;u4FTU<0M?;h3-2;p`RTwgW?hyXLVmz=DeSlw#pKQe1KE zU5a$qAQ!6p;zf%t`K#Qv{(<=!IMQ&>a4#Q%WPAt%4wv!bhWm#GdVA+1+%ZVM4a*ID z1*~NAt@DbH>}7Y>$`|s+c_}gK$!GV>O$9JZAsYkosW?n)+zrCJzvY5mZy1>3Y?9Nw zSRTJ{A7LOg7E9TCZ!%qb5d9CoekafRajoo556$C^p35#d4_mBQdg*yM9mL}rput=- zJWS{fk-1&%?Zu(D49K87BK=c*ev$uvYp)4s(dd<@nY>N*$~==(?C&Cc7?J-jwpZ6_ zP;jbk)OD^?urkbQQ1Dx}8({s51>bwRX%krn$o;#`HgbK`n1XK%8*9m}6HoQpdYP!c zf)9pS+Z7xQvl-S1cs?C6zFl>+0MxON zg>XD0TU0PBw2ud@5Tia?=GpGlRJl$l6Xge4%16{kAs@~Mtd2#xR)9oKZ!Iwl-)*n1 z)2!g1XPBZA=Owp!3{$Sv4~5m66nqljVdOuws9?OsrdMe3p|Hix3TiX1)1+X$#m!^1 zXvomNO7Vxn_O~cFg)ia8Ki6qg@M@by8EhHV)Q6KHqJj%cO_o8_RJtNWRPgmS%OGm% zlIjpq!HQ||7B!^|gGN&v{mq%kHv9LMOXY`?Sh?6|xnQ2c2Sd&p6ntBVc2kAIe{b_V z=kUuT%548+(<$3ixN(Zf6GTn?&}I@*VHJ-cs#KI&$&45^kmW2VdpvfVLOvFaD%>8i ztDv&zI@c-JQ22722WLhF@RSvb)Kvj|ricK36-nynBRNbVfiH9< zxFqVo@%Y>j<5S^Zgn1W^>ToI1aR!vYgmdAj!f|31*3lwf{$Mdr>C~%LO}v+f|IP(F z{8vmVRo0|RDUEtt6!!LZe0!V!h^O$0FmJFzVJDneTQ0E^O0|krO(W6YVoLRDkh>=& zZPBR0N+PsH!6lYjXv-J(>6BNxB~ue^mKjuj#DaHOdriLXv+#Jl+EK8BLK(aooDRh} zRk+)-m2m1tl`Ey1c?!olP*^!3p2FjCRm=)TF=0RQSi?($JuwYAS~1 z+0ZH+m}q*COietAZ@%*%8&tR=n(ohz=u{hy*#(8y+4VwN)VX&5RMVnle#|Cf%Jb}q zig}Jz4#8CAxh9^e!vB0cbLMo@!3uko>hH3NkHs@*TTNSRuY!5RCO#d{e99)CiD#N_ zqQ7w~=Qzj48Ky^K!=&)1qG3`{2LbMyg730}gt?=jniycIj8(~y6_IBkyk$qs@p$Cj z79&q#?d7jDoB7?_^q0pGjw&ZrZag!(s?sz@JcZZWJcviZtu`y*3K*PKp=nhU4EiJc zH1S%i9&A%#RUJXpMA9k(5f!eEl;e?onou1hqQa_T(xN6###&TZ$59aTMVYH^QRzRv z3bHMW$yVVjBH1daVgr3YAJK%$Z44Ryd_-mVc`IxTmVzn_X;2d?4K}E7OfrQo2XvhO zVynZeA(P)*TSYPyR-QR46fVZUvO+wCm6c*_jpK+I-eP}Gyb9y}?$~%M{I}6~EBG;+ zg}HQSALf##pN!W2$HKK=<$A!+HHNfGaeVS1FLYXP7=0y-Sp#mL4xQF(gqHquG%NK6p zj8cqOL$Hl8!78j$e5IMCLL#2RDx_ipBi^aVi+HCZF5;;y^jhf0y)cgYRfZd!MWYH& zk2ZG-26mT@5&uc(v#Co)P8C*luoP6LiwOW|%D#G}L{nJV2U5)&R=2OM@$z5)qFuR51y*&f3QF@#Z3RJA(cmCQc+k%Kn2!aV6lau zm;jVp)>U{sH8|BtQu!)qKzl5(pzv;+=Q?c)zRzZ1z`nRoH@v#Xl}t^j@{chQz8Fq~ zKgV_zYP$3~md-oQ8LtA*H8GwQ-W2lOpkQqBKOAbkvI(9a-lvJL*-bt)TtU?h!PCSm z$mZctHsfiBw5Wp8Yq6>DYKUq=OjHW1TwZA^jK?kOo{B|0wW)BG^0yNuO!O zFgKJ{5z^<|!b`_Ps+(k3t+!X#DMI?vJfty5&qpgt`s22(zYjYsLi)FC;rGWwdW${s zdN4ftDnk10c}QcBo{v_P^a=Jrt;$|;yd3ID2+XpD^TtL>I2wXK$C`?Xj^{sYnkd+f z(%>onOp9NFn9TlBO=&AQpEqqpe-q9+8^l-3gRW*gY!HferTAOI!(w)&DQ%@_R~mAE z$~rCR>b&u~Qv5Gie8ZKdw3Q-Vd5#A1)dxUV%f{-8%f90Ob52*9(pHLem2mXHL(e+U z)#kCf;#evEk*P@FpW#YV+Dg%`R$8mChgL;S+I{B~kP^;r+mgB=MO!)rq=fTf+mibB zMO!)rq=fS`+mh}KineqLND1eYcA@@CxQ1VAWF7tWPX#IAJY`!@&!#9%r+}1jersFO zg|tWv!ao(Hgi~!73SEYaoC5i$f)okkbrvjYuoNvqYSOI2YlKw9);i8zw#L2oiVpFW zG5I&$UW?N3pv8ZGRL??VUKZK*)$+q%#F>>hNNv)@P;t!It7(uw!Jyz|5${mpmJ;w zH8nM)_BsWXV}qzE<)O&!ym||r<0$DmICOuNz_(bEn5XdHhGaG<_`xu%S!w)km{s7i zlKQ`~#o7WK6$N9B6-XOZwF5sA!YQzemMnhMg6a;|Fa@JAVURK+ofno`{X zqJlaE2JzGw+O8dItY`-+ksN?(WA7Dl!T2H z_>T$a6q<)qXIqF-s(ck*AG656jJj3us~Qqic!%ts;Lh~hzcr!Mol#Jy%4cU!NnoDEec+2vrJu0ZHf>TR945( z#gNTH9ycqG-v}wXUO^?6t!@q_{i6_Zvx3@v5tl-h%#iS1JHjv9E3J>h)53Ne6jZUo z$|?9jgr(roFzY&{_>VS=?JGPKiml)Y2%*MR;#4BIl~&u+F+!GtKMs2>I=gUpfJL|? zM7&-}(UF9_bOa;n3QmT?(F>bYCB*z!P?8d_9^X`h7xK}aA%lRKsfAFVIKu!;5ny&lyI7CKe7HIaYs4-Nt?ydDt`C*+bzb2!paQ_YUPA;cxS|6 z1TC^R$FHzg^s8W}%^JI3I2{&eSy;VEL2U*h90lVo7QgF#rERAzY_CBMA%tG=19@ToPtAEBN&=YrBF^hgr=Eem>mN7To%m$BQNlcxqCfmWMpGD5zYJ zr>0R&MU$*aL1hG{O+jS@R$9SJY|tH83a+tt2bdl-^``KifffbdnuDmRi2nkcqYQ^v z%lWKuG&d`#>|#5wpz=z(Hiw*_7c$VOpptA5HKkOeMFo{)gQ%&9fyR)~ae+;i{GO1F z1_i$wW^GgQRp%Ig|C}A)ABN++t<-ANnW1KF%O5`0yuub=AEGrVsJiJo+Z0sYWKCuB z(QrT;6#RIoy4#8|>>`st{@ZF9yU||Rvcm5OnQl|?-8O5IGw3Xtn{mzzMw~N7AGW#2 zq6$w~Pz9G;q1wvn{7_zPg(7TI5tfCrX){FU{{6P?Dr&6h-)y`86}De2lET|}%@Y-2 zIG|7*i;9S&AzvJxGw6m=P}Z@2E2vTsJf-*PP+FT6{DIB#oEr~}YN9k`VsoL88kE&P zM_7e&E7-usC8)!#W9vGtk61dQ0c}-KS(+dkkaf;fnofiSv?{36A;c}DtTj%F!jXcm z&YK=oPn{pxNG%lHZ?h&jH^$UcpZ2;hs-WPJq7^=4b9LI`&H|ln57^m8LX_OtHBu?3 zkn}}GNZ*`KI)>gIEu?sJKE;ApNa*H5LJJ>oF$Aj|wKI(SotAMG3$hBkC^}@)q?tze zOZ5>IGSe#*&_1gpk?mYGszQ!z+oDm0e-e&Zi-Kp^+pMtaD>%nydCu^GQB9m3;VC%Z zW^uFhItwog(Haz7VY6hi-f9zXuvgYq_$OiA)F!)nwc0Du6#itmvb8AqEt};zyAO)v_(vXxIp6YscLnx5!BKAjvYZfaTsqpf(w=S!cd71go@Z!s5wRLl(hRVw%Wgk z)tfK3I=C*>#m%3!;PEi4d7345Zb)>&8HDF}&PLm=&LN!FJ^rZSXmpdUdW*fr%Oa)? zRIDw}Nggj~L^2C&^K;lvNX?dz+pP*Jf!LrbU5z1YTNPANi)>?EM`ih+wsr8+^btc! zfgVQKD)|813_G(<0dt~r*co=toLJ!&!`9(ba|9~d#-_q?6#oi4wxr`m(4py#;g}cr zPi|OQb%mteI3{VTMr!TG7m#AB(v2;ke9Z9$q?&tPq;@;U6OiK1wD>9@P0tI}q=ynVw+_UHTCldQNh!z%^({@ zP3f%wXi>pKIf$BSm}aU2QNa$IWm?qK0}-NvAFx@F+2m18{64}{aMJWRiJF>cbJ4Sc z^K%e2r4Qo(@vqls)=-_+oBI&(P*7DCVOItJ5NdCeg7u*WZdXwCl|pJ7)zsr5Vv~Yp zp{{LLP!-A4)s*TIs8diC$slU#Av=(uS;3OnkTs2JN(U5(3hF4C7B%&~aLl$VsH0>M zHFa7zX4@6iQ8I{{ipK0z!(K&(ws71w7miztj+@?yhH$BZI#>v2DX1ewayN(L_Wp3( zHY@nY(3rF+s3T?SYU&@Ykw7O3>PQ(xP4$G6w?)AxW3znosHTpD1KgsZ4ykETQ#z{X zT0tFBgQ%&02nV=DK^;nE;Cyc>elAhO*oHP zL#8v1^3TWe9MuxV4xE$sek>mi=|W80Kl|eTf)*WTi?xwb6^vD#nN!Im5{lOlRaG!nwYFGQ#k(P@ zs$i_@ykb=qZ!oH=V65t*VpSFI)~Kq2v8tC8R88b#LB0h@no&~XTx$)uhD(61;2XmQ zr%Bhvr$U`?Q1G9_tR@BjWV2+|(1b3dMYNFQXsqCOVRH=%j#HDSM{E8utl6ZX)*N&B z`lYR-6|k{YQ0XpOR|M#)tE785E<*|*4~5roxAmGHu-9U%6&l3LNXKjNsj$HpKU!Ilic_svSBJb6PF?es)!$iPMV~9e;g5`@$dCYrHInU?j|OD*tM4x-T{>x~7x{ESc)IY1al(JJp@2$<>sSQgp?= z%?4BMw^z`6=m_J>S+fu47LVmbKnB)yR@y82e|)_D6~El#=k>4I zQ*(>Q?*A5xcyHAI$H#JF9OtbT>z-3vn&0XgwwkZvuLIw|wHOz(BMVcgc4VJ|&dxiU^;7c}(d*#9#Bst~Hzb1Qq zy}iy*JW!zEd%~>k z3LXu!8Wj9on6+I&B@S&V_RxD{P_)qC;vSZAe z3hxfby+J|k6sAH!9ck9gA7AF_Q0j*ln5VFg9-33|K07`{Q}})1m^CQ)qZpdPuH}9V z!%8bP*|PMy7`rMweJMM8uCdKG#k%=>3u|}8%NMAzgm1I0zsp|Boc&I+c5brvoF#Kd zHS=Lxh;tAH-%|{~unTQo(V_E&NRFdu`YIF88L9~1Yoc9_860@p((>bw%!U^%I8(LF zX;4{2ABoWAE2Jpl{F@crIOCIWYHg#cRz(N#r929zI=e3k&Z>P!iIFb-`mo;+$ghN_ zw5_8Rq5#Opf`{_$n}f4v2Dt6@tY?c(p3hp6{~?lxf~r&FJSM`^aBSKX0sT@R2{W?O-p+OTGgtur)2=V{5e7Ytp$l*?4csz0Va4q(!h* zwVo0klj&s^6GN(C#M1SJEM2cGeKoAupx~1>%X4mVLoOqR3g(dOEVDKAA>A?VNCg`g zSj;t1w_0g;ly#Q{BNmEu`ZJ3(4rP(Z3Dw%ncnm)k6(rJ7nF zBDN^FDa>kCP#GA1<|sXvMGYvZbiqK>Dy)PdeqXEPtc|K#D7;X;F0`qO?G-{;ZozSC zS`6n_`xb)x>=m^Y{A!rhsNmOamf=}bKaLQ!S-r}L%AYq_q<7mZmotSw5H`@D;1|NI z?b^+WC`-W~gjvnnWA61Q7U6dhqJl%=`*K?4 zMVYRd2_Ygv2m!*oBM8W2%nJ-pXYwMWd32IVB$#m1(|zXwGu>l%56s9+l0{bIDmoaA zQCKIw2ies@1cM&WMqNE143M zcWY4ey926nhh^)%#(_F%rP?615wub6^d9Q72fqOSxA>>!YsqqB8Z!edHN-twOZIp` zMv$eMi6GevYXo1NTkS5l+Q;bD%d!9MWa)@@t9^{6vtqZ}$)?@%&$V{9ezaD(+*%d8 zb#&a?DzbD$yR|BI>-3-Z7Lq>>nA~nSa4QQ(oskHVe+#fkkcH2jod}Yj zlrdN&$U+Z5-8A`!(}FCNXBzFuN5iK7o1-iccJ-@qSKG-x7enjVscq<~TnLh#hd!C0 zW~mLR2wt5rO|1bng8z!rff{rUJYNWEWQ~6EUw0q_PaZzY;QAQ47knSIHI`@@&aFG! zq3d{Rqv070NisBb2YKDVIK()T63Jv~!Eq_w5bHe}k9?hZ-HZEC{oPnBOExjT!SuKG zKMg;bXp&7d>)LE=pkC7NI`g{U{tu^%QFGV;x+e)BvX1~VLGc7iuOxzG??W8O>KPwq zfq`PQ87j{~RQw@(b;fif(q^GHcv)f)N1`m$Ml?%|>`0V_+AwE{;p+?$dx$x(Ofh=R zlV^sJHV@p&0!L8`att{(8so??6={q-Gf`xa1*Re`NS>J}5@dn>(t`G6ozgCfw8v@K$;M!Ae9;s&y08Iz8P*OnfF#`h9UvWaG0){?s}kmrEPu-lF`#>Nv% z>uez@r=BX-wG71HBp#7voXHJfvS-GjxsmMMao!2YJ`h72>jN|39B=}}e0^XBc3?X0 zLPx*nP+T?iM@GJa_LBv&ZV;y?ABs;=d{I?zZ{z!5??Z9FvSgDc9JAKsa4z_0opXU> zmNdlU5a@c0eE|A8wQBp64bfdkLW8I}My^a)M{FJ1eZAgWnUw@NVpB}z_Wg~VxCRVZ zjT*sOs7%y|EJ97%6Jnf;M2oX>b;b-uO=EVv)KuD$Q&VY-9qxbqgx_!n#_>y_vfRif z6Mh4S=*1)~$Z{BDuPXNXJoHT!lc4MfR+W84NkNzj!MPoC@g!S;wsGfvQ}ck^NQL8VgC5%N}C(E{rGi2C~V7)}{LB z)I$H{EBbUJNQ)RieZVAN1}1$W%cY(=PvnBsnj9^5Sz~r2YK)zsn;J9z)ckL-qwZJm z_K(TZB70Hn>_)PTt44L%7?aM4@jPb9UJyeY=>O3ft)GhKpS|3qv2tv5?HidUlb$iyC2pt29#P%zZJQ%++MM zUS&TBvNJQLN20oIn1y6I*OPUQW)aHL53+k=Xg%5I07Xr(kgVtRoQ6wgs^}B-!mzdf zzm6DqEQxut&jS+OUBk6n`lf&VYFTd!HK1q3$?e;nUo~QN1EAs6kh=*~-@qkb z0w(wQ?1uD2G}f(d$)7wg!ipphsG%{8JdU7i+YVFSLHG!C%zZlIA>7XDHr%F@jF zDPLJw4A59*DVr8$p;{wqY`Opc0&t_MD)Q9Ujyf;?5>s!C)#aDO;M?@dkWZs}k0PHo z={SHG1^s^`*hW>3c`ECUZ=RgU)^h`~_MpUr`J}WD99nxM)*h0d6V++I=+@>BAi}uY z{fd05ZTYDSOxBPhw8|-M@+s~8Ztb+GUfgZjfX##&R2SKwyvYdado_QUW%#RSCm2@) zgIddVAut)J8YBN<)JYR$8M#{Qctqdzpc?akxF0H=ZBRL~Tu*XjcxJeM83|bLQH~z5 z^+?&({2~lks+EZ?Y$c^VvBjmW)F@>CYLw{Gzcf4cFHOgE+WlML0rjw1iS$p({$)Bk{D z|379DG4d1V8caN%7-8WdfN~>bV&r3!&S@BPg!{zEt;kka&PnW&|L|OcN%I_d9vU($-dTc$X~s!ikn_XmNVv=ZiHrhyggRknVHNVZH~FRnP8m8 z`%_cfgapJM>**%X2@+Qx9_C?WEhZ=eb0~1uRKK6qyH83(5~pMG#g^I2o8`7k7=X^G8)FHA|v+z8i8ICj^x0IUj{ zv@kJnva1-Eo?C@Q0DJZ$LUPBz`h)sGTltWQE{@|4B0+qdzR(1fuC&fDf4yh zq&Z{T8|KR2_A6M=qw+~AD*|<5tbPEC{xmuIY~DWQ&I$Qvo1{#fmZPSfq7-4SK9pI? zoR1?qd&=@W;J%)+p5gE5DXV!{IFw72>BbosUGh!YW&|6vaDystMg-gk+Mqfg1agAr1Vv#IQFCsbn zIx+%z#mESXz*>(FU*hP@HoqTK3_q5~fcsVi>%Raw&x&C6L5R)JDZ;s&DREblB}RQ& zf->=dzp5VI29bQiAbw zD65oVmYSxvPqlM4>$s>+F<#aucYjp!MJrrZvWE#-PKreNw)j$yosB>i*e_8gOZOu= zfAe3#fsSo9sE}-``Q5JOcWJ$m{5XqE!o-YJY|@H>AYwDWB3kmcY?}}+hqTrEV${&4_sycHx}G? z>W(8lj^oI~BTP$N`Lg04j?(}S9u2C8Eay3ri)Ycve51~VPP#CP8w6ry+h$%M@TwpJ zxwg0{BCrb~n{syBW)|q7TzZgAIlFDM)5i$>LY<=pI+|*JpX(m-KF2-ef}{C;bze== z9cIGU`k4Cy!t^hx!y$PlaXB3BbR7<Z>X8RF+0|xfFGBrN(5;{! z2fYi_r~ee{`6A4{h(f;d(r%A0h8%^QJdz)MT0pa)e8;7&|90rD0Hu64^lbUNA;)(r z+U?l##~*DFQog^O4+YxtU&ei3Qu~$fwmj`@#p9a;#~X=HfZFnRzs?{>Do?q+c#v}q z?6Mu({_o+(k;+r(eBSY_CE+ej#U0U*l7dZae`^* zK2UpnD1XHf%Fo9)DxU`Zz$wNe_Y1M@k3;UblTFQkK>lS=TmE9meH3&Ggo5VJ@V(_+t5ouuLS)q=nQOAvJ`X_4=#NJbU)~4@$`b--*>^zCeS=+ zk7a)r?A!XEfZS(6DMx>7`6}#e0o?@u_?Vq7zYB8rf@UF4JzM@M$o(30KIGp9YRjJs zfb;^C-wN6SdM&6;W&=1a-)h(DBJqns`?Zh zXJ_HKc_ruq&?TU@{xax|gK|G!?pSHd?>o^T{{qTAa=EFkEl<1LfOgkZBf*{YZF$yn zYjx6ZLXWSPnCdxR+j18}ZZ7B&(B+`qc>SFyb8GcZlx_dm4{n-k@0e@La~s>Mah|dW zl$+n$@+V=QIFAp(kMU_nlAC{XuTq~r?c5H%4}fxuXWFy%xgobt&nJH_>|X$SF{mx? zlbZ+m`Jh*M^nG%RAiorJnMdCz*ADsXKsR{weR2iJcZ2qN^nG$w$Pa=Jd-Q#Bw?p2Z zXM6k^Kj&lpa?g2RJaM~YZftDtYRq@^Jc=KSaerg(WNf$Jj`QgCpuM0K&_U1+tud4Js>N|e+N6$Fd!6_c)s4(lYez0eGHJx{P3jnxapH2>!CMb0 zwI+3}n(D;gpq~0vN)T+5lGEBe&(n@jr*#)Af z@$8!oz8PmEFG*3pK~tM>i)_?XtK&powEQl}&w{*uu1Dj0fqxG8-L&6ofIk8M zlHd(G4@?+fD)0v>zrX_ zxN95)cH*y>@orF4)wbPeFhyK;PL1ZLK95~2c%!P%hjSwP^?62r1E=HRz|T?*3fm6c z&Of;bug`Bc3f`#d^L)SH9P@Mw8)Up)_-!ITEiDLshsVyn9{KNh!+hb>n z%zwt==P81_`gNWMztV&2Zya6YaDzv_DEJAIH?r0`y3Hg1DGxsG!Sye6T>bjK;L~Ki zZ0azB!7r>I^T_|&ga6Tkza+S8oM%YBagEO$!Cii~c<_~x9r6F|#($kh^e6AJKLGg_ z^j9)z^m)HW{w~2YkV%sV1b6xQV-Nnk2Y=CnA0>Cj-{b=REkIJ@_jg ze46AjJ#KriG9CJ?#H;?C>&b6dd+;_7em(3@;CPfZ=GD7B^7}O9fdgG2s;xI zjzWq&=CSiL5B>*_9eq4>t<&=aclkNTgJ0{xH+b*?5B^>c{z(u11rPq92mgWKuKxa7 zaK|N+I_Qy~E+>92JF^6LjoUJh{05JFk4JvkBY&p{zdN#XteU{O=6YB8ab~K8x*RgawW(O461youfI2}hK1(&vo5{d zEfjS26nlbPxttpc!eX^Nq&myFzAz{Z^z{viN~#oyWVJ>#U+9}Px1*=fQ|>Dj26{tr zuh>5nWQP`)%fZ6#Tu*WFU_R`x_LPd1g}H%Bs0yWlj^0qLmimJJp;E_MWJ3as-@nBHs=?jY$Jrc2gUZmrKG@GkdBYWDNpbO>1-{#KC zXUU8#S>3vPajvby=`-$&xjT+k^Jj1uxci_QtU6w40bw1gLS#yfza3s2m4bJIyO6vUXbs;DXE#;JWrZg z9`*%G%AvR!boG^rL8Y22SEcvap@q5rio{*eKGYvdac!|DUn+zmT6+gPPlM;(7 zN@AlV!QB^4P|`r$kI01aEzmI>1x)Me)vfD;)@+-YS=5uS2G@qwwrbe-&Yo&FWV1sn zqreGPgtusiq9r#-hgPl$I3Om_wbN-YmqgJc;IdM&D`>4~A|>rJs)DxmypJUKg4D@wKjz}3?na>ZD%V9z6i)|fbDc3t?d~1hg$(&?-7wS+} z(pYa;td)w~b2^tDYAtsK*<862whu@iYAqJt5f0r_D$A0r>916*yg4j)_Lia%#FU!x zT+&;T?nToZ1o^?7j_zD<&wDIi;~p7Nlg?5}COd@Ti0n!8oP&j>qKuzP_qDaMuGCY= z%2LdiBoJhsMdn0ld6eXI5a?hKU`_b$fv}hl85aWSnOhxJBnRt&!~kC#7Q=E+UKCsP z5;x0h^+2&IIl;tHc1ZUzXsfIl=%|`tj)17=*`WnP)v!_<)@?c&C&>X#uh8+N$0ts_ zs8|wK^WDP7E}JRU9giYg7O;-&c+~_826}o6(TWwVxF1mmVxhV)YOO>a)Nz@U+$Uif zbmn?`laQIGMmj=H)i?5*i)+_KJM?d4oP>=5UZUPq}XJ7m%!vZ4tE zG`X-h%;{N0d@L-7xoS8Em0}a)C8OfYah0m9@NzOtIxQt#E>#@86>CVfuGP=@PBNja zvNaMHs=stgs-4TV+mc?Fn}MGs<|*!6iq{Au|zeJ9`vEJrVvP7 zIqc181#tbnRn@G|QdG0B&0Qs7s^Osg*Jn8*REiGl&0#mrYq|?!ge9Yj)gEb(mlkq; zJ$Y%qRMnQnIemiA+)=5hW;x4}BfG}Jj)5*w$rZcglnlk5VrPkbuA`$I-po?3oV1Xa zfg!6;FrW)dsSAm}lGS&h<a*L<3#^ujBzl&HT64Cw|)<8n>O zX>84BzLfNjpQyhF4Cz!T=yvrbH1&B0zC|!?oBI6Th4edeJ(>RCGCYQs3inFNe||qh z`VWw#|7?eJt<=Aq(&zU$q@&Q+{%afbAFwJ2qw8po-}jL2)RppK`_yOui&CdW7HA>) z@OvTB-RQs8m%Ea2`_vy4Opl3NR+>+ymfGJ?z#Rz5{dD2d`Wfhx?xW+-;58NLW=lW* zKI&Yf!2Uu#_MiCsEq#7(Mf%S-Q`1nkOY{y)pWknhzJY?EcK^3SpYx}7K@jvh>tfVy z|1L|P-{oA&0yXC1*`cERJe{4g2 zeor@gg!+$)u6B|7{623d^!MrDk`MdMb~%o>Nu3sXSYtHEI3$ z`@ua>i6_>SsYm(?TmMPueb>+fa;rZ5$)pRy|3?0_E&9*z8xQD#k^3($S#){)SjAB+PUK-e?+h$%?W||MSql`H@-!w(PMU{nK_B$uS+A zsgJFHnn(Yk&l|~SuS_WmYwMo}eS7@2?=zC$k8iXXJJctg4gK0yWZq6Pf%C%WYHO%R z^eT`3iieE;E}gVfA6s9Stq_f*4?JPey%@ilg6dnFj9cb^9iDOQMVjW{o?jUKuTuea UcKbTLx%8{QGx~406s)59A8mFehyVZp literal 0 HcmV?d00001 diff --git a/csst_mci_sim/mci_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so b/csst_mci_sim/mci_so/cdm03bidir.cpython-38-x86_64-linux-gnu.so new file mode 100644 index 0000000000000000000000000000000000000000..4ddf6dd453c91a1ed8b3448956bc127596d748f8 GIT binary patch literal 203248 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 z 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 t??&vqZC-%xA#%<(S}nUPwmF self.xsize + ihi[msk] = self.xsize + ihi = ihi.astype(np.int) + + #pixels in y-directions + jlo = np.round(y0.copy() - dy) + msk = jlo < 0. + jlo[msk] = 0 + jlo = jlo.astype(np.int) + + jhi = 1 + np.round(y0.copy() + dy) + msk = jhi > self.ysize + jhi[msk] = self.ysize + jhi = jhi.astype(np.int) + + #loop over the individual events + for i, luminosity in enumerate(lum): + n = 0 # count the intercepts + + u = [] + x = [] + y = [] + + #Compute X intercepts on the pixel grid + if ilo[i] < ihi[i]: + for xcoord in range(ilo[i], ihi[i]): + ok = (xcoord - x0[i]) / dx[i] + if np.abs(ok) <= 0.5: + n += 1 + u.append(ok) + x.append(xcoord) + y.append(y0[i] + ok * dy[i]) + else: + for xcoord in range(ihi[i], ilo[i]): + ok = (xcoord - x0[i]) / dx[i] + if np.abs(ok) <= 0.5: + n += 1 + u.append(ok) + x.append(xcoord) + y.append(y0[i] + ok * dy[i]) + + #Compute Y intercepts on the pixel grid + if jlo[i] < jhi[i]: + for ycoord in range(jlo[i], jhi[i]): + ok = (ycoord - y0[i]) / dy[i] + if np.abs(ok) <= 0.5: + n += 1 + u.append(ok) + x.append(x0[i] + ok * dx[i]) + y.append(ycoord) + else: + for ycoord in range(jhi[i], jlo[i]): + ok = (ycoord - y0[i]) / dy[i] + if np.abs(ok) <= 0.5: + n += 1 + u.append(ok) + x.append(x0[i] + ok * dx[i]) + y.append(ycoord) + + #check if no intercepts were found + if n < 1: + xc = int(np.floor(x0[i])) + yc = int(np.floor(y0[i])) + crImage[yc, xc] += luminosity + + #Find the arguments that sort the intersections along the track + u = np.asarray(u) + x = np.asarray(x) + y = np.asarray(y) + + args = np.argsort(u) + + u = u[args] + x = x[args] + y = y[args] + + #Decide which cell each interval traverses, and the path length + for i in range(1, n - 1): + w = u[i + 1] - u[i] + cx = int(1 + np.floor((x[i + 1] + x[i]) / 2.)) + cy = int(1 + np.floor((y[i + 1] + y[i]) / 2.)) + + if 0 <= cx < self.xsize and 0 <= cy < self.ysize: + crImage[cy, cx] += (w * luminosity) + + return crImage + + + def _drawCosmicRays(self, limit=None): + """ + Add cosmic rays to the arrays based on a power-law intensity distribution for tracks. + + Cosmic ray properties (such as location and angle) are chosen from random Uniform distribution. + """ + #estimate the number of cosmics + cr_n = self.xsize * self.ysize * 0.014 / 43.263316 * 2. + #scale with exposure time, the above numbers are for the nominal 565s exposure + cr_n *= (self.information['exptime'] / 565.0) + + #assume a power-law intensity distribution for tracks + fit = dict(cr_lo=1.0e3, cr_hi=1.0e5, cr_q=2.0e0) + fit['q1'] = 1.0e0 - fit['cr_q'] + fit['en1'] = fit['cr_lo'] ** fit['q1'] + fit['en2'] = fit['cr_hi'] ** fit['q1'] + + #pseudo-random numbers taken from a uniform distribution between 0 and 1 + np.random.seed() + luck = np.random.rand(int(np.floor(cr_n))) + + #draw the length of the tracks + if self.cr['cr_cdfn'] > 1: + ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u']) + self.cr['cr_l'] = ius(luck) + else: + self.cr['cr_l'] = np.sqrt(1.0 - luck ** 2) / luck + + #draw the energy of the tracks + if self.cr['cr_cden'] > 1: + ius = InterpolatedUnivariateSpline(self.cr['cr_cde'], self.cr['cr_v']) + self.cr['cr_e'] = ius(luck) + else: + np.random.seed() + self.cr['cr_e'] = (fit['en1'] + (fit['en2'] - fit['en1']) * + np.random.rand(int(np.floor(cr_n)))) ** (1.0 / fit['q1']) + + #Choose the properties such as positions and an angle from a random Uniform dist + np.random.seed() + cr_x = self.xsize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_y = self.ysize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_phi = np.pi * np.random.rand(int(np.floor(cr_n))) + + #find the intercepts + if limit is None: + self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi) + print ('Number of cosmic ray events:', len(self.cr['cr_e'])) + else: + #limit to electron levels < limit + msk = self.cr['cr_e'] < limit + print ('Number of cosmic ray events: %i / %i' % (len(self.cr['cr_e'][msk]), int(np.floor(cr_n)))) + self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'][msk], cr_x[msk], cr_y[msk], + self.cr['cr_l'][msk], cr_phi[msk]) + + #count the covering factor + area_cr = np.count_nonzero(self.cosmicrayMap) + text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' \ + % (area_cr, 100.*area_cr / (self.xsize*self.ysize)) + self.log.info(text) + print (text) + + + def _drawSingleEvent(self, limit=1000, cr_n=1): + """ + Generate a single cosmic ray event and include it to a cosmic ray map (self.cosmicrayMap). + + :param limit: limiting energy for the cosmic ray event + :type limit: float + :param cr_n: number of cosmic ray events to include + :type cr_n: int + + :return: None + """ + #pseudo-random numbers taken from a uniform distribution between 0 and 1 + np.random.seed() + luck = np.random.rand(cr_n) + + #draw the length of the tracks + ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u']) + self.cr['cr_l'] = ius(luck) + + #set the energy directly to the limit + self.cr['cr_e'] = np.asarray([limit, ]*cr_n) + + #Choose the properties such as positions and an angle from a random Uniform dist + np.random.seed() + cr_x = self.xsize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_y = self.ysize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_phi = np.pi * np.random.rand(int(np.floor(cr_n))) + + #find the intercepts + self.cosmicrayMap = self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi) + + #count the covering factor + area_cr = np.count_nonzero(self.cosmicrayMap) + text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' \ + % (area_cr, 100.*area_cr / (self.xsize*self.ysize)) + self.log.info(text) + print( text) + + + def _drawEventsToCoveringFactor(self, coveringFraction=3.0, limit=1000, verbose=False): + """ + Generate cosmic ray events up to a covering fraction and include it to a cosmic ray map (self.cosmicrayMap). + + :param coveringFraction: covering fraction of cosmic rya events in per cent of total number of pixels + :type coveringFraction: float + :param limit: limiting energy for the cosmic ray event [None = draw from distribution] + :type limit: None or float + :param verbose: print out information to stdout + :type verbose: bool + + + :return: None + """ + self.cosmicrayMap = np.zeros((self.ysize, self.xsize)) + + #how many events to draw at once, too large number leads to exceeding the covering fraction + cr_n = int(295 * self.information['exptime'] / 565. * coveringFraction / 1.4) + + covering = 0.0 + + while covering < coveringFraction: + #pseudo-random numbers taken from a uniform distribution between 0 and 1 + np.random.seed() + luck = np.random.rand(cr_n) + + #draw the length of the tracks + ius = InterpolatedUnivariateSpline(self.cr['cr_cdf'], self.cr['cr_u']) + self.cr['cr_l'] = ius(luck) + + if limit is None: + ius = InterpolatedUnivariateSpline(self.cr['cr_cde'], self.cr['cr_v']) + self.cr['cr_e'] = ius(luck) + else: + #set the energy directly to the limit + self.cr['cr_e'] = np.asarray([limit,]) + + #Choose the properties such as positions and an angle from a random Uniform dist + np.random.seed() + cr_x = self.xsize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_y = self.ysize * np.random.rand(int(np.floor(cr_n))) + np.random.seed() + cr_phi = np.pi * np.random.rand(int(np.floor(cr_n))) + + #find the intercepts + self.cosmicrayMap += self._cosmicRayIntercepts(self.cr['cr_e'], cr_x, cr_y, self.cr['cr_l'], cr_phi) + + #count the covering factor + area_cr = np.count_nonzero(self.cosmicrayMap) + covering = 100.*area_cr / (self.xsize*self.ysize) + + text = 'The cosmic ray covering factor is %i pixels i.e. %.3f per cent' % (area_cr, covering) + self.log.info(text) + + if verbose: + print( text) + + + def addCosmicRays(self, limit=None): + """ + Include cosmic rays to the image given. + + :return: image with cosmic rays + :rtype: ndarray + """ + self._drawCosmicRays(limit=limit) + + #paste cosmic rays + self.image += self.cosmicrayMap + + return self.image + + + def addSingleEvent(self, limit=None): + """ + Include a single cosmic ray event to the image given. + + :return: image with cosmic rays + :rtype: ndarray + """ + self._drawSingleEvent(limit=limit) + + #paste cosmic rays + self.image += self.cosmicrayMap + + return self.image + + + def addUpToFraction(self, coveringFraction, limit=None, verbose=False): + """ + Add cosmic ray events up to the covering Fraction. + + :param coveringFraction: covering fraction of cosmic rya events in per cent of total number of pixels + :type coveringFraction: float + :param limit: limiting energy for the cosmic ray event [None = draw from distribution] + :type limit: None or float + :param verbose: print out information to stdout + :type verbose: bool + + :return: image with cosmic rays + :rtype: ndarray + """ + self._drawEventsToCoveringFactor(coveringFraction, limit=limit, verbose=verbose) + + #paste cosmic rays + self.image += self.cosmicrayMap + + return self.image + + +if __name__ == "__main__": + import sys + sys.path.append('/home/yan/csst-master/') + + + from support import logger as lg + from support import files as fileIO + from scipy import ndimage + from astropy.io import fits + + #set up logger + log = lg.setUpLogger('VISsim.log') + + #test section + crImage = np.zeros((2066, 2048), dtype=np.float64) + + #cosmic ray instance + cosmics = cosmicrays(log, crImage) + + #add cosmic rays up to the covering fraction + CCD_cr = cosmics.addUpToFraction(1.4, limit=None, verbose=True) + + print(CCD_cr) + print(type(CCD_cr)) + + effected = np.count_nonzero(CCD_cr) + print (effected, effected*100./(CCD_cr.shape[0]*CCD_cr.shape[1])) + + #save to FITS + fits.writeto(CCD_cr, 'cosmicrayTest.fits', overwrite=True) + + #smooth with a charge diffusion kernel + smooth = ndimage.filters.gaussian_filter(CCD_cr, (0.32, 0.32)) + + fits.writeto(smooth, 'cosmicrayTestSmoothed.fits') diff --git a/csst_mci_sim/support/logger.py b/csst_mci_sim/support/logger.py new file mode 100644 index 0000000..68253e7 --- /dev/null +++ b/csst_mci_sim/support/logger.py @@ -0,0 +1,55 @@ +""" +These functions can be used for logging information. + +.. Warning:: logger is not multiprocessing safe. + +:version: 0.3 +""" +import logging +import logging.handlers + + +def setUpLogger(log_filename, loggername='logger'): + """ + Sets up a logger. + + :param: log_filename: name of the file to save the log. + :param: loggername: name of the logger + + :return: logger instance + """ + # create logger + logger = logging.getLogger(loggername) + logger.setLevel(logging.DEBUG) + # Add the log message handler to the logger + handler = logging.handlers.RotatingFileHandler(log_filename) + #maxBytes=20, backupCount=5) + # create formatter + formatter = logging.Formatter('%(asctime)s - %(module)s - %(funcName)s - %(levelname)s - %(message)s') + # add formatter to ch + handler.setFormatter(formatter) + # add handler to logger + + if (logger.hasHandlers()): + logger.handlers.clear() + + logger.addHandler(handler) + + return logger + + +class SimpleLogger(object): + """ + A simple class to create a log file or print the information on screen. + """ + + def __init__(self, filename, verbose=False): + self.file = open(filename, 'w') + self.verbose = verbose + + def write(self, text): + """ + Writes text either to file or screen. + """ + print >> self.file, text + if self.verbose: print( text) diff --git a/csst_mci_sim/support/sed.py b/csst_mci_sim/support/sed.py new file mode 100644 index 0000000..dccb654 --- /dev/null +++ b/csst_mci_sim/support/sed.py @@ -0,0 +1,245 @@ +#!/usr/bin/env python +# -*- coding:utf-8 -*- + +# @Author: Shuai Feng (hebtu.edu.cn) +# @Time: 2022-09-25 + +import numpy as np +from scipy.interpolate import interp1d +from astropy.io import fits +from astropy.io import ascii +from astropy import units as u + +# ---------------- +# Magnitude Module + +from scipy.interpolate import interp1d + +def Calzetti_Law(wave, Rv = 4.05): + """Dust Extinction Curve by Calzetti et al. (2000) + + Args: + wave (float): Wavelength + Rv (float, optional): Extinction curve. Defaults to 4.05. + + Returns: + float: Extinction value E(B-V) + """ + + wave_number = 1./(wave * 1e-4) + reddening_curve = np.zeros(len(wave)) + + idx = np.logical_and(wave >= 1200, wave <= 6300) + reddening_curve[idx] = 2.659 * ( -2.156 + 1.509 * wave_number[idx] - 0.198 * \ + (wave_number[idx] ** 2)) + 0.011 * (wave_number[idx] **3 ) + Rv + + idx = np.logical_and(wave >= 6300, wave <= 22000) + reddening_curve[idx] = 2.659 * ( -1.857 + 1.040 * wave_number[idx]) + Rv + return reddening_curve + +def reddening(wave, flux, ebv = 0.0, law = 'calzetti', Rv = 4.05): + """ + Reddening an input spectra through a given reddening curve. + + Args: + wave (float): Wavelength of input spectra + flux (float): Flux of input spectra + ebv (float, optional): Extinction value. Defaults to 0. + law (str, optional): Extinction curve. Defaults to 'calzetti'. + Rv (float, optional): _description_. Defaults to 4.05. + + Returns: + float: Flux of spectra after reddening. + """ + if law == 'calzetti': + curve = Calzetti_Law(wave, Rv = Rv) + fluxNew = flux / (10. ** (0.4 * ebv * curve)) + return fluxNew + +def flux_to_mag(wave, flux, filepath, band='GAIA_bp'): + """Convert flux of given spectra to magnitude + + Args: + wave (float): Wavelength + flux (float): Flux of spectra + band (str, optional): Filter band name. Defaults to 'GAIA_bp'. + + Returns: + float: value of magnitude + """ + # /home/yan/MCI_sim/MCI_input/SED_Code/data + import os + + #parent = os.path.dirname(os.path.realpath(__file__)) + + parent=filepath + + band = ascii.read(parent+'/SED_Code/seddata/' + band + '.dat') + + wave0= band['col1'] + curv0= band['col2'] + + # Setting the response + func = interp1d(wave0, curv0) + response = np.copy(wave) + ind_extra = (wave > max(wave0)) | (wave < min(wave0)) + response[ind_extra] = 0 + ind_inside = (wave < max(wave0)) & (wave > min(wave0)) + response[ind_inside] = func(wave[ind_inside]) + + # Total Flux + Tflux = np.trapz(flux * response, wave) / np.trapz(response, wave) + + return -2.5 * np.log10(Tflux) + +def calibrate(wave, flux, mag, filepath,band='GAIA_bp'): + """ + Calibrate the spectra according to the magnitude. + + Args: + wave (float): Wavelength + flux (float): Flux of spectra + mag (float): Input magnitude. + band (str, optional): Filter band name. Defaults to 'GAIA_bp'. + + Returns: + float: Flux of calibrated spectra. Units: 1e-17 erg/s/A/cm^2 + """ + inst_mag = flux_to_mag(wave, flux,filepath ,band = band) + instflux = 10 ** (-0.4 * inst_mag) + realflux = (mag * u.STmag).to(u.erg/u.s/u.cm**2/u.AA).value + + # Normalization + flux_ratio = realflux / instflux + flux_calibrate = flux * flux_ratio * 1e17 # Units: 10^-17 erg/s/A/cm^2 + + return flux_calibrate + +# ------------ +# SED Template + +class Gal_Temp(): + """ + Template of Galaxy SED + """ + + def __init__(self,parent): + import os + + self.parent = parent + + hdulist = fits.open(self.parent+'/SED_Code/seddata/galaxy_temp.fits') + self.wave = hdulist[1].data['wave'] + self.flux = hdulist[2].data + self.age_grid = hdulist[3].data['logAge'] + self.feh_grid = hdulist[3].data['FeH'] + + def toMag(self, redshift = 0): + """Calculating magnitude + + Args: + redshift (float, optional): redshift of spectra. Defaults to 0. + """ + wave = self.wave * (1 + redshift) + self.umag = flux_to_mag(wave, self.flux, self.parent,band='SDSS_u') + self.gmag = flux_to_mag(wave, self.flux, self.parent,band='SDSS_g') + self.rmag = flux_to_mag(wave, self.flux, self.parent,band='SDSS_r') + self.imag = flux_to_mag(wave, self.flux, self.parent,band='SDSS_i') + self.zmag = flux_to_mag(wave, self.flux, self.parent,band='SDSS_z') + +class Star_Temp(): + """ + Template of Stellar SED + """ + + def __init__(self, parent): + + #import os + + #parent = os.path.dirname(os.path.realpath(__file__)) + + ##/home/yan/MCI_sim_Fabu/MCI_inputData/SED_Code + + self.parent = parent + + hdulist = fits.open(parent+'/SED_Code/seddata/stellar_temp.fits') + + self.wave = hdulist[1].data['wave'] + self.flux = hdulist[2].data + self.Teff_grid = hdulist[3].data['Teff'] + self.FeH_grid = hdulist[3].data['FeH'] + + def toMag(self): + wave = self.wave + self.bpmag = flux_to_mag(wave, self.flux, self.parent,band='GAIA_bp') + self.rpmag = flux_to_mag(wave, self.flux, self.parent,band='GAIA_rp') + +# ------------- +# SED Modelling + +def Model_Stellar_SED(wave, bp, rp, temp, filepath): + """Modelling stellar SED based on bp, rp magnitude + + Args: + wave (float): Wavelength + bp (float): Magnitude of GAIA BP band + rp (float): Magnitude of GAIA RP band + temp (class): Class of stellar template + + Returns: + float array: Spectral energy distribution of stellar SED, + which have the same length to the input wave + """ + + color0 = bp - rp + colors = temp.bpmag - temp.rpmag + + idx = np.argmin(np.abs(colors - color0)) + flux0 = temp.flux[idx] + flux1 = np.interp(wave, temp.wave, flux0) + flux = calibrate(wave, flux1, rp, filepath, band = 'GAIA_rp') + return flux + +def Model_Galaxy_SED(wave, ugriz, z, temp): + """Modelling galaxy SED based on u,g,r,i,z magnitude + + Args: + wave (float): Wavelength + ugriz (float, array): The array of magnitude of SDSS ugriz band + z (float): Redshift + temp (class): Class of gaalxy template + + Returns: + float array: Spectral energy distribution of stellar SED, + which have the same length to the input wave + """ + sed = 10. ** (-0.4 * ugriz) + sed = sed / sed[2] + ntemp = len(temp.rmag) + dmag = np.zeros(ntemp) + for j in range(ntemp): + ugriz0 = np.array([temp.umag[j], temp.gmag[j], temp.rmag[j], + temp.imag[j], temp.zmag[j]]) + sed0 = 10. ** (-0.4 * ugriz0) + sed0 = sed0 / sed0[2] + dmag[j] = np.sum(np.abs(sed - sed0)) + + idx = np.argmin(dmag) + flux0 = temp.flux[idx] + + # Effect of E(B-V) + ri0 = ugriz[2] - ugriz[3] + ri = temp.rmag - temp.imag + dri = ri0 - ri[idx] + Alambda = Calzetti_Law(np.array([6213 / (1 + z), 7625 / (1 + z)])) + eri0 = (Alambda[0] - Alambda[1]) + ebv = dri/eri0 + if ebv<0: + ebv=0 + if ebv>0.5: + ebv=0.5 + flux1 = reddening(temp.wave, flux0, ebv = ebv) + + flux2 = np.interp(wave, temp.wave * (1 + z), flux1) + flux = calibrate(wave, flux2, ugriz[2], band = 'SDSS_r') + return flux \ No newline at end of file diff --git a/csst_mci_sim/support/shao.py b/csst_mci_sim/support/shao.py new file mode 100644 index 0000000..3717c9f --- /dev/null +++ b/csst_mci_sim/support/shao.py @@ -0,0 +1,134 @@ +from ctypes import * + +def checkInputList(input_list, n): + if type(input_list) != type([1, 2, 3]): + raise TypeError("Input type is not list!", input_list) + for i in input_list: + if type(i) != type(1.1): + if type(i) != type(1): + raise TypeError("Input list's element is not float or int!", input_list) + if len(input_list) != n: + raise RuntimeError("Length of input list is not equal to stars' number!", input_list) + +def onOrbitObsPosition(input_ra_list, input_dec_list, input_pmra_list, input_pmdec_list, input_rv_list, \ + input_parallax_list, input_nstars, input_x, input_y, input_z, input_vx, input_vy, \ + input_vz, input_epoch, input_date_str, input_time_str): + #Check input parameters + if type(input_nstars) != type(1): + raise TypeError("Parameter 7 is not int!", input_nstars) + + checkInputList(input_ra_list, input_nstars) + checkInputList(input_dec_list, input_nstars) + checkInputList(input_pmra_list, input_nstars) + checkInputList(input_pmdec_list, input_nstars) + checkInputList(input_rv_list, input_nstars) + checkInputList(input_parallax_list, input_nstars) + + if type(input_x) != type(1.1): + raise TypeError("Parameter 8 is not double!", input_x) + if type(input_y) != type(1.1): + raise TypeError("Parameter 9 is not double!", input_y) + if type(input_z) != type(1.1): + raise TypeError("Parameter 10 is not double!", input_z) + if type(input_vx) != type(1.1): + raise TypeError("Parameter 11 is not double!", input_vx) + if type(input_vy) != type(1.1): + raise TypeError("Parameter 12 is not double!", input_vy) + if type(input_vz) != type(1.1): + raise TypeError("Parameter 13 is not double!", input_vz) + + #Convert km -> m + input_x = input_x*1000.0 + input_y = input_y*1000.0 + input_z = input_z*1000.0 + input_vx = input_vx*1000.0 + input_vy = input_vy*1000.0 + input_vz = input_vz*1000.0 + + if type(input_date_str) != type("2025-03-05"): + raise TypeError("Parameter 15 is not string!", input_date_str) + else: + input_date_str = input_date_str.strip() + if not (input_date_str[4]=="-" and input_date_str[7]=="-"): + raise TypeError("Parameter 15 format error (1)!", input_date_str) + else: + tmp = input_date_str.split("-") + if len(tmp) != 3: + raise TypeError("Parameter 15 format error (2)!", input_date_str) + input_year = int(tmp[0]) + input_month = int(tmp[1]) + input_day = int(tmp[2]) + if not (input_year>=1900 and input_year<=2100): + raise TypeError("Parameter 15 year range error [1900 ~ 2100]!", input_year) + if not (input_month>=1 and input_month<=12): + raise TypeError("Parameter 15 month range error [1 ~ 12]!", input_month) + if not (input_day>=1 and input_day<=31): + raise TypeError("Parameter 15 day range error [1 ~ 31]!", input_day) + + if type(input_time_str) != type("20:15:15.15"): + raise TypeError("Parameter 16 is not string!", input_time_str) + else: + input_time_str = input_time_str.strip() + if not (input_time_str[2]==":" and input_time_str[5]==":"): + raise TypeError("Parameter 16 format error (1)!", input_time_str) + else: + tmp = input_time_str.split(":") + if len(tmp) != 3: + raise TypeError("Parameter 16 format error (2)!", input_time_str) + input_hour = int(tmp[0]) + input_minute = int(tmp[1]) + input_second = float(tmp[2]) + if not (input_hour>=0 and input_hour<=23): + raise TypeError("Parameter 16 hour range error [0 ~ 23]!", input_hour) + if not (input_minute>=0 and input_minute<=59): + raise TypeError("Parameter 16 minute range error [0 ~ 59]!", input_minute) + if not (input_second>=0 and input_second<60.0): + raise TypeError("Parameter 16 second range error [0 ~ 60)!", input_second) + #Inital dynamic lib + + # import os + # currfile=os.getcwd() + # print(currfile) + + shao = cdll.LoadLibrary('./mci_so/libshao.so') + + shao.onOrbitObs.restype = c_int + + d3 = c_double * 3 + shao.onOrbitObs.argtypes = [c_double, c_double, c_double, c_double, c_double, c_double, \ + c_int, c_int, c_int, c_int, c_int, c_double, \ + c_double, POINTER(d3), POINTER(d3), \ + c_int, c_int, c_int, c_int, c_int, c_double, \ + POINTER(c_double), POINTER(c_double) ] + output_ra_list = list() + output_dec_list = list() + for i in range(input_nstars): + input_ra = c_double(input_ra_list[i]) + input_dec = c_double(input_dec_list[i]) + input_pmra = c_double(input_pmra_list[i]) + input_pmdec = c_double(input_pmdec_list[i]) + input_rv = c_double(input_rv_list[i]) + input_parallax = c_double(input_parallax_list[i]) + p3 = d3(input_x, input_y, input_z) + v3 = d3(input_vx, input_vy, input_vz) + input_year_c = c_int(input_year) + input_month_c = c_int(input_month) + input_day_c = c_int(input_day) + input_hour_c = c_int(input_hour) + input_minute_c = c_int(input_minute) + input_second_c = c_double(input_second) + DAT = c_double(37.0) + output_ra = c_double(0.0) + output_dec = c_double(0.0) + rs = shao.onOrbitObs(input_ra, input_dec, input_parallax, input_pmra, input_pmdec, input_rv, \ + input_year_c, input_month_c, input_day_c, input_hour_c, input_minute_c, input_second_c, \ + DAT, byref(p3), byref(v3), \ + input_year_c, input_month_c, input_day_c, input_hour_c, input_minute_c, input_second_c, \ + byref(output_ra), byref(output_dec)) + if rs != 0: + raise RuntimeError("Calculate error!") + output_ra_list.append(output_ra.value) + output_dec_list.append(output_dec.value) + + return output_ra_list, output_dec_list + \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..84c1269 --- /dev/null +++ b/setup.py @@ -0,0 +1,36 @@ +import setuptools + +with open("README.md", "r") as fh: + long_description = fh.read() + +setuptools.setup( + name='csst_mci_sim', + version='2.0.0-MCI1.0.0', + author='CSST Team', + author_email='zhaojunyan@shao.ac.cn', + description='The CSST - mci - sim', # short description + long_description=long_description, + long_description_content_type="text/markdown", + url='https://csst-tb.bao.ac.cn/', + # project_urls={ + # 'Source': 'https://csst-tb.bao.ac.cn/code/csst-l1/ifs/csst_mci_sim', + # }, + packages=setuptools.find_packages(), + license='MIT', + classifiers=["Development Status :: 5 - Production/Stable", + "Intended Audience :: Science/Research", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python :: 3.8", + "Topic :: Scientific/Engineering :: Physics", + "Topic :: Scientific/Engineering :: Astronomy"], + package_dir={'csst_mci_sim': 'csst_mci_sim'}, + # include_package_data=True, + package_data={"": ["LICENSE", "README.md"], + "csst_mci_sim": ["mci_so/*", "mci_data/*"]}, + # install_requires=['sphinx', + # 'numpy', + # 'scipy', 'matplotlib', + # 'astropy', 'healpy', 'ccdproc', 'deepCR', 'photutils'], + python_requires='>=3.8', +) -- GitLab