From a27db334c7aa8ac375e3df0860e70996733d923e Mon Sep 17 00:00:00 2001 From: Juan Gomez Date: Sun, 22 Dec 2019 22:58:16 +0100 Subject: [PATCH] Migrate ODE function solver to C++ (#442) * Calling c++ implementation of the numeric integrator solver function (just a basic scaffolding) * Adding C++ and helpers code (still not building) * Adding tests for the C++ helpers on Python C API * Adding my ordered_map to guarantee order insertion iteration (ala Python's OrderedDict) * Adding muparserx library for parsing hamiltonian math expressions * Now we can use both Cython and C++ func ODE solver depending on a config param: use_cpp_ode_func * Disabling Pulse simulator related tests for Python 3.5 --- CMakeLists.txt | 48 +- example/pulse_sim.py | 526 ----- example/pulse_sim_cy_fast.py | 272 +++ example/pulse_sim_fast.py | 271 +++ .../providers/aer/noise/errors/errorutils.py | 1 + qiskit/providers/aer/openpulse/qobj/digest.py | 5 + .../providers/aer/openpulse/qobj/op_system.py | 2 + .../providers/aer/openpulse/qobj/opparse.py | 2 +- .../aer/openpulse/qutip_lite/operators.py | 3 +- .../aer/openpulse/qutip_lite/states.py | 6 +- .../aer/openpulse/solver/monte_carlo.py | 20 +- .../providers/aer/openpulse/solver/opsolve.py | 21 +- .../aer/openpulse/solver/rhs_utils.py | 18 +- .../providers/aer/openpulse/solver/unitary.py | 25 +- src/simulators/open_pulse/CMakeLists.txt | 30 + .../open_pulse/eval_hamiltonian.hpp | 106 + src/simulators/open_pulse/iterators.hpp | 91 + src/simulators/open_pulse/log.hpp | 100 + .../open_pulse/numeric_integrator.cpp | 226 ++ .../open_pulse/numeric_integrator.hpp | 34 + .../open_pulse/numeric_integrator_wrapper.pyx | 31 + src/simulators/open_pulse/ordered_map.hpp | 130 ++ src/simulators/open_pulse/python_to_cpp.hpp | 509 +++++ .../open_pulse/test_python_to_cpp.hpp | 87 + .../open_pulse/test_python_to_cpp.pyx | 54 + src/simulators/open_pulse/types.hpp | 27 + src/third-party/headers/muparserx/mpError.cpp | 266 +++ .../headers/muparserx/mpFuncCmplx.cpp | 635 ++++++ .../headers/muparserx/mpFuncCommon.cpp | 272 +++ .../headers/muparserx/mpFuncMatrix.cpp | 249 +++ .../headers/muparserx/mpFuncNonCmplx.cpp | 126 ++ .../headers/muparserx/mpFuncStr.cpp | 180 ++ .../headers/muparserx/mpICallback.cpp | 141 ++ src/third-party/headers/muparserx/mpIOprt.cpp | 170 ++ .../headers/muparserx/mpIPackage.cpp | 51 + .../headers/muparserx/mpIToken.cpp | 325 +++ .../headers/muparserx/mpIValReader.cpp | 72 + .../headers/muparserx/mpIValue.cpp | 449 ++++ .../headers/muparserx/mpIfThenElse.cpp | 100 + .../headers/muparserx/mpOprtBinAssign.cpp | 249 +++ .../headers/muparserx/mpOprtBinCommon.cpp | 589 ++++++ .../headers/muparserx/mpOprtCmplx.cpp | 321 +++ .../headers/muparserx/mpOprtIndex.cpp | 117 ++ .../headers/muparserx/mpOprtMatrix.cpp | 182 ++ .../headers/muparserx/mpOprtNonCmplx.cpp | 423 ++++ .../headers/muparserx/mpOprtPostfixCommon.cpp | 112 + .../headers/muparserx/mpPackageCmplx.cpp | 102 + .../headers/muparserx/mpPackageCommon.cpp | 141 ++ .../headers/muparserx/mpPackageMatrix.cpp | 82 + .../headers/muparserx/mpPackageNonCmplx.cpp | 108 + .../headers/muparserx/mpPackageStr.cpp | 81 + .../headers/muparserx/mpPackageUnit.cpp | 119 ++ .../headers/muparserx/mpParser.cpp | 91 + .../headers/muparserx/mpParserBase.cpp | 1301 ++++++++++++ .../muparserx/mpParserMessageProvider.cpp | 181 ++ src/third-party/headers/muparserx/mpRPN.cpp | 186 ++ .../headers/muparserx/mpScriptTokens.cpp | 74 + src/third-party/headers/muparserx/mpTest.cpp | 1809 +++++++++++++++++ .../headers/muparserx/mpTokenReader.cpp | 1013 +++++++++ .../headers/muparserx/mpValReader.cpp | 347 ++++ src/third-party/headers/muparserx/mpValue.cpp | 804 ++++++++ .../headers/muparserx/mpValueCache.cpp | 105 + .../headers/muparserx/mpVariable.cpp | 395 ++++ src/third-party/linux/lib/libmuparserx.a | Bin 0 -> 3239354 bytes src/third-party/win64/lib/muparserx.lib | Bin 0 -> 4002360 bytes test/terra/__init__.py | 1 - test/terra/backends/test_pulse_simulator.py | 51 +- test/terra/openpulse/test_pulse_digest.py | 10 +- test/terra/test_python_to_cpp.py | 63 + 69 files changed, 14157 insertions(+), 581 deletions(-) delete mode 100644 example/pulse_sim.py create mode 100644 example/pulse_sim_cy_fast.py create mode 100644 example/pulse_sim_fast.py create mode 100644 src/simulators/open_pulse/CMakeLists.txt create mode 100644 src/simulators/open_pulse/eval_hamiltonian.hpp create mode 100644 src/simulators/open_pulse/iterators.hpp create mode 100644 src/simulators/open_pulse/log.hpp create mode 100644 src/simulators/open_pulse/numeric_integrator.cpp create mode 100644 src/simulators/open_pulse/numeric_integrator.hpp create mode 100644 src/simulators/open_pulse/numeric_integrator_wrapper.pyx create mode 100644 src/simulators/open_pulse/ordered_map.hpp create mode 100644 src/simulators/open_pulse/python_to_cpp.hpp create mode 100644 src/simulators/open_pulse/test_python_to_cpp.hpp create mode 100644 src/simulators/open_pulse/test_python_to_cpp.pyx create mode 100644 src/simulators/open_pulse/types.hpp create mode 100644 src/third-party/headers/muparserx/mpError.cpp create mode 100644 src/third-party/headers/muparserx/mpFuncCmplx.cpp create mode 100644 src/third-party/headers/muparserx/mpFuncCommon.cpp create mode 100644 src/third-party/headers/muparserx/mpFuncMatrix.cpp create mode 100644 src/third-party/headers/muparserx/mpFuncNonCmplx.cpp create mode 100644 src/third-party/headers/muparserx/mpFuncStr.cpp create mode 100644 src/third-party/headers/muparserx/mpICallback.cpp create mode 100644 src/third-party/headers/muparserx/mpIOprt.cpp create mode 100644 src/third-party/headers/muparserx/mpIPackage.cpp create mode 100644 src/third-party/headers/muparserx/mpIToken.cpp create mode 100644 src/third-party/headers/muparserx/mpIValReader.cpp create mode 100644 src/third-party/headers/muparserx/mpIValue.cpp create mode 100644 src/third-party/headers/muparserx/mpIfThenElse.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtBinAssign.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtBinCommon.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtCmplx.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtIndex.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtMatrix.cpp create mode 100644 src/third-party/headers/muparserx/mpOprtNonCmplx.cpp create mode 100755 src/third-party/headers/muparserx/mpOprtPostfixCommon.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageCmplx.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageCommon.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageMatrix.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageNonCmplx.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageStr.cpp create mode 100644 src/third-party/headers/muparserx/mpPackageUnit.cpp create mode 100644 src/third-party/headers/muparserx/mpParser.cpp create mode 100644 src/third-party/headers/muparserx/mpParserBase.cpp create mode 100644 src/third-party/headers/muparserx/mpParserMessageProvider.cpp create mode 100644 src/third-party/headers/muparserx/mpRPN.cpp create mode 100644 src/third-party/headers/muparserx/mpScriptTokens.cpp create mode 100644 src/third-party/headers/muparserx/mpTest.cpp create mode 100644 src/third-party/headers/muparserx/mpTokenReader.cpp create mode 100644 src/third-party/headers/muparserx/mpValReader.cpp create mode 100644 src/third-party/headers/muparserx/mpValue.cpp create mode 100644 src/third-party/headers/muparserx/mpValueCache.cpp create mode 100644 src/third-party/headers/muparserx/mpVariable.cpp create mode 100644 src/third-party/linux/lib/libmuparserx.a create mode 100644 src/third-party/win64/lib/muparserx.lib create mode 100644 test/terra/test_python_to_cpp.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 2bd2bc8e57..53177bc138 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ set(AER_SIMULATOR_CPP_EXTERNAL_LIBS "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/headers" "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/macos/lib" "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/win64/lib" + "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/linux/lib" "${USER_LIB_PATH}") # TODO: We may want to change the prefix path for all the environments @@ -178,19 +179,51 @@ endif() message(STATUS "BLAS library found: ${BLAS_LIBRARIES}") +message(STATUS "Looking for spdlog library...") +find_package(spdlog) +if(spdlog_FOUND) + message(STATUS "spdlog found.") + set(SPDLOG_LIB spdlog::spdlog) +else() + message(STATUS "spdlog not found.") + set(SPDLOG_LIB "") +endif() + + +message(STATUS "Looking for muparserx library...") + +set(MUPARSERX_LIB_PATH "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/linux/lib") +if(APPLE) + set(MUPARSERX_LIB_PATH "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/macos/lib") +elseif(WIN32) + set(MUPARSERX_LIB_PATH "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/win32/lib") +endif() + +find_library(MUPARSERX_LIB NAMES libmuparserx.a muparserx HINTS ${MUPARSERX_LIB_PATH}) +if(${MUPARSERX_LIB} MATCHES "MUPARSERX-NOTFOUND") + message(FATAL_ERROR "No muparserx library found") +endif() +message(STATUS "Muparserx library found: ${MUPARSERX_LIB}") +# I keep this disabled on purpose, just in case I need to debug muparserx related problems +# file(GLOB MUPARSERX_SOURCES "${AER_SIMULATOR_CPP_SRC_DIR}/third-party/headers/muparserx/*.cpp") + + # Set dependent libraries set(AER_LIBRARIES - ${OPENMP_EXTERNAL_LIB} - ${BLAS_LIBRARIES} - nlohmann_json - Threads::Threads - ${CMAKE_DL_LIBS}) + ${OPENMP_EXTERNAL_LIB} + ${BLAS_LIBRARIES} + nlohmann_json + Threads::Threads + ${SPDLOG_LIB} + ${CMAKE_DL_LIBS} + ${MUPARSERX_LIB}) # Cython build is only enabled if building through scikit-build. if(SKBUILD) # Terra Addon build add_subdirectory(qiskit/providers/aer/openpulse/cy) add_subdirectory(qiskit/providers/aer/openpulse/qutip_lite/cy) add_subdirectory(qiskit/providers/aer/backends/wrappers) + add_subdirectory(src/simulators/open_pulse) else() # Standalone build add_executable(qasm_simulator ${AER_SIMULATOR_CPP_MAIN}) set_target_properties(qasm_simulator PROPERTIES @@ -209,5 +242,8 @@ endif() # Tests if(BUILD_TESTS) - add_subdirectory(test) + # These tests were meant to be as an example, or template for C++ specific + # code, but they're not being maintained, so we are disabling them until we + # have real C++ tests in the codebase. + # add_subdirectory(test) endif() diff --git a/example/pulse_sim.py b/example/pulse_sim.py deleted file mode 100644 index 0a27b2b2f5..0000000000 --- a/example/pulse_sim.py +++ /dev/null @@ -1,526 +0,0 @@ -#!/usr/bin/env pythonw -# coding: utf-8 - -# ## Open Pulse Simulator - Rabi Example - -# If running the openpulse branch from source, may need to add a symbolic link in site-packages. Also run `python setup.py build_ext --inplace` in openpulse first. - -# In[1]: - - -#Import general libraries (needed for functions) -import numpy as np -import matplotlib.pyplot as plt -from scipy.optimize import curve_fit - -#Import Qiskit classes classes -import qiskit -#from qiskit.providers.aer.noise import NoiseModel -#from qiskit.providers.aer.noise.errors.standard_errors import depolarizing_error, thermal_relaxation_error - -import qiskit.pulse as pulse -import qiskit.pulse.pulse_lib as pulse_lib -from qiskit.compiler import assemble -import random -from qiskit.test.mock import FakeOpenPulse2Q - - -# In[2]: - - -qiskit.IBMQ.load_account() - - -# In[3]: - - -#Get a pulse configuration from the fake backend -backend_real = FakeOpenPulse2Q() -back_config = backend_real.configuration().to_dict() -system = pulse.PulseChannelSpec.from_backend(backend_real) - - -# In[4]: - - -#Get pulse simulator backend -backend_sim = qiskit.Aer.get_backend('pulse_simulator') - - -# ## Simulations -# -# ### These need to be run in sequential order -# -# [Rabi Oscillation](#rabi) -# Apply a pulse to Q0 and measure the population evoluation versus pulse amplitude -# -# [Measurement Level 1 for the Readout Test](#readout_test) -#
Prepare the |0> and |1> states and look at the measurement level 1 output -# -# [CR Oscillation](#cr) -#
Look at the Q1 State when we drive Q0 at the frequency of Q1 -# -# [T1](#t1) -#
Demonstrating noise with pulse - -# -# # Simulate a Rabi Oscillation - -# First, we are going to simulate a rabi oscillation, i.e., meausure the qubit state population versus the amplitude of a drive pulse. This is the same example that is in the tutorials. - -# ### Build Pulse Schedule - -# Build on qubit 0 - -# In[5]: - - -#qubit to use for exeperiment -qubit = 0 -# exp configuration -exps = 41 -shots = 512 - -# Rabi pulse -drive_amps = np.linspace(0, 0.9, exps) -drive_samples = 128 -drive_sigma = 16 - -# Measurement pulse -meas_amp = 0.025 -meas_samples = 1200 -meas_sigma = 4 -meas_risefall = 25 - -# Measurement pulse (common for all experiment) -meas_pulse = pulse_lib.gaussian_square(duration=meas_samples, amp=meas_amp, - sigma=meas_sigma, risefall=meas_risefall, - name='meas_pulse') -acq_cmd=pulse.Acquire(duration=meas_samples) - -# create measurement schedule -measure_and_acquire = meas_pulse(system.qubits[qubit].measure) | acq_cmd(system.acquires, system.memoryslots) - -# Create schedule -schedules = [] -for ii, drive_amp in enumerate(drive_amps): - # drive pulse - rabi_pulse = pulse_lib.gaussian(duration=drive_samples, - amp=drive_amp, - sigma=drive_sigma, name='rabi_pulse_%d' % ii) - - # add commands to schedule - schedule = pulse.Schedule(name='rabi_exp_amp_%s' % drive_amp) - - schedule += rabi_pulse(system.qubits[qubit].drive) - schedule += measure_and_acquire << schedule.duration - - schedules.append(schedule) - - -# ### Design the Hamiltonian - -# Let's build a transmon Hamiltonian with anharmonicity to test the Rabi oscillation and CR - -# In[6]: - - -hamiltonian = {} -hamiltonian['h_str'] = [] -#Q0 terms -hamiltonian['h_str'].append('np.pi*(2*v0-alpha0)*O0') -hamiltonian['h_str'].append('np.pi*alpha0*O0*O0') -hamiltonian['h_str'].append('2*np.pi*r*X0||D0') -hamiltonian['h_str'].append('2*np.pi*r*X0||U1') -hamiltonian['h_str'].append('2*np.pi*r*X1||U0') - -#Q1 terms -hamiltonian['h_str'].append('np.pi*(2*v1-alpha1)*O1') -hamiltonian['h_str'].append('np.pi*alpha1*O1*O1') -hamiltonian['h_str'].append('2*np.pi*r*X0||D1') - -#Exchange coupling betwene Q0 and Q1 -hamiltonian['h_str'].append('2*np.pi*j*(Sp0*Sm1+Sm0*Sp1)') -hamiltonian['vars'] = {'v0': 5.00, 'v1': 5.1, 'j': 0.01, - 'r': 0.02, 'alpha0': -0.33, 'alpha1': -0.33} - -#set the qubit dimensions to 3 -hamiltonian['qub'] = {'0': 3, '1': 3} - -#update the back_end -back_config['hamiltonian'] = hamiltonian -back_config['noise'] = {} -back_config['dt'] = 1.0 - - -# ### Add Solver Settings - -# Any solver settings also does into the back_config - -# In[7]: - - -back_config['ode_options'] = {} - - -# ### Restrict the Qubits Used in the Simulation - -# We can use a qubit whitelist (`qubit_list`) to restrict the set of qubits used in the solution. The pulse simulator will appropriately alter the Hamiltonian. To start let's assume the list contains the first 2 qubits. - -# In[8]: - - -back_config['qubit_list'] = [0,1] -#back_config['qubit_list'] = None - - -# ### Assemble the qobj with the backend config file and the qubit_list - -# We have to do this step twice to get the dressed frequencies for setting the LO's. Note here that we set `meas_level=1` and `meas_return=avg` which will return the average probability for the qubit to be in the |1> state. - -# In[9]: - - -rabi_qobj = assemble(schedules, backend_real, - meas_level=1, meas_return='avg', - memory_slots=2, - shots=shots, sim_config = back_config) - - -# In[10]: - - -evals = backend_sim.get_dressed_energies(rabi_qobj) - - -# In[11]: - - -evals/2/np.pi - - -# In[12]: - - -rabi_qobj = assemble(schedules, backend_real, - meas_level=1, meas_return='avg', - memory_slots=2, qubit_lo_freq = [evals[1]/2/np.pi, - evals[3]/2/np.pi], - shots=shots, sim_config = back_config) - - -# ### Simulate - -# In[13]: - - -#Note: this is how to run bypassing the backend -#opsys = qiskit.providers.aer.openpulse.qobj.digest.digest_pulse_obj(rabi_qobj.to_dict()) -#simdata = qiskit.providers.aer.openpulse.solver.opsolve.opsolve(opsys) - - -# In[14]: - - -sim_result = backend_sim.run(rabi_qobj).result() - - -# Extract the qubit populations - -# In[15]: - - -amp_data_Q0 = [] -amp_data_Q1 = [] - -for exp_idx in range(len(drive_amps)): - exp_mem = sim_result.get_memory(exp_idx) - amp_data_Q0.append(np.abs(exp_mem[0])) - amp_data_Q1.append(np.abs(exp_mem[1])) - - -# In[16]: - - -#Fit the data -fit_func = lambda x,A,B,T,phi: (A*np.cos(2*np.pi*x/T+phi)+B) -fitparams, conv = curve_fit(fit_func, drive_amps, amp_data_Q0, [0.5,0.5,0.6,1.5]) - -#get the pi amplitude -pi_amp = (fitparams[3])*fitparams[2]/2/np.pi - -plt.plot(drive_amps, amp_data_Q0, label='Q0') -plt.plot(drive_amps, amp_data_Q1, label='Q1') -plt.plot(drive_amps, fit_func(drive_amps, *fitparams), color='black', linestyle='dashed', label='Fit') -plt.axvline(pi_amp, color='black', linestyle='dashed') -plt.legend() -plt.xlabel('Pulse amplitude, a.u.', fontsize=20) -plt.ylabel('Signal, a.u.', fontsize=20) -plt.title('Rabi on Q0', fontsize=20) -plt.grid(True) - -print('Pi Amplitude %f'%(pi_amp)) - - -# -# # Look at the Shots Distribution - -# Using the pulse amplitude calibrated above, do an experiment with no pulse and an experiment with a pi pulse and look at the measurement outcomes. - -# In[17]: - - -# Create schedule -pi_pulse = pulse_lib.gaussian(duration=drive_samples, - amp=pi_amp, - sigma=drive_sigma, - name='pi_pulse') - -pi_2_pulse = pulse_lib.gaussian(duration=drive_samples, - amp=pi_amp/2, - sigma=drive_sigma, - name='pi_2_pulse') - -# excited -excited_exp = pulse.Schedule(name='pi_exp') -excited_exp += pi_pulse(system.qubits[qubit].drive) -measure_time = excited_exp.duration -excited_exp |= measure_and_acquire << measure_time - -# superposition -sup_exp = pulse.Schedule(name='pi_2_exp') -sup_exp += pi_2_pulse(system.qubits[qubit].drive) -measure_time = sup_exp.duration -sup_exp |= measure_and_acquire << measure_time - -# ground -ground_exp = pulse.Schedule(name='no_pi_exp') -ground_exp |= pulse.Schedule(name='ground_exp') -ground_exp |= measure_and_acquire << measure_time - -excited_exp_schedules = [ground_exp, sup_exp, excited_exp] - - -# Change the `meas_return=single` which will return each individual measurement - -# In[18]: - - -readout_qobj = assemble(excited_exp_schedules, backend_real, - meas_level=1, meas_return='single', - memory_slots=2, qubit_lo_freq = [evals[1]/2/np.pi, - evals[3]/2/np.pi], - shots=shots, sim_config = back_config) - - -# In[19]: - - -sim_result = backend_sim.run(readout_qobj).result() - - -# Plot the data, there is no measurement error in the simulator data so the histographs will be all centered at the average point. - -# In[20]: - - -ground_data = sim_result.get_memory(0)[:, qubit] -excited_data = sim_result.get_memory(2)[:, qubit] -sup_data = sim_result.get_memory(1)[:, qubit] - - -# Add some random noise to the data to better approximate the experiment - -# In[21]: - - -for idx in range(len(ground_data)): - ground_data[idx] += random.gauss(0,0.1)+1j*random.gauss(0,0.1) - excited_data[idx] += random.gauss(0,0.1)+1j*random.gauss(0,0.1) - sup_data[idx] += random.gauss(0,0.1)+1j*random.gauss(0,0.1) - - -# In[22]: - - - -plt.scatter(np.real(ground_data), np.imag(ground_data), s=5, cmap='viridis',c='blue',alpha=0.5, label='|0>') -plt.scatter(np.real(excited_data), np.imag(excited_data), s=5, cmap='viridis',c='green',alpha=0.5, label='|1>') -plt.scatter(np.real(sup_data), np.imag(sup_data), s=5, cmap='viridis',c='red',alpha=0.5, label='|0>+|1>') -ground_center = np.mean(ground_data) -excited_center = np.mean(excited_data) -sup_center = np.mean(sup_data) - -plt.scatter(np.real(ground_center), np.imag(ground_center), c='blue', s=200, alpha=1.0) -plt.scatter(np.real(excited_center), np.imag(excited_center), c='green', s=200, alpha=1.0) -plt.scatter(np.real(sup_center), np.imag(sup_center), c='red', s=200, alpha=1.0) - -plt.title('Kernel integrated I-Q scatter plot', fontsize=20) -plt.legend(loc='upper right') -plt.xlabel('I (a.u.)', fontsize=16) -plt.ylabel('Q (a.u.)', fontsize=16) - - -# -# # Cross-Resonance - -# Simulate cross-resonance by driving on U0. Note you need to run Rabi first to setup the hamiltonian. - -# In[23]: - - -#qubit to use for exeperiment -qubit = 0 -# exp configuration -exps = 41 -shots = 512 - -# Rabi pulse -cr_drive_amps = np.linspace(0, 0.9, exps) -cr_drive_samples = 128*3 -cr_drive_sigma = 4 - - -# Create schedule -schedules = [] -for ii, cr_drive_amp in enumerate(cr_drive_amps): - # drive pulse - cr_rabi_pulse = pulse_lib.gaussian_square(duration=cr_drive_samples, - amp=cr_drive_amp, - risefall=cr_drive_sigma*4, - sigma=cr_drive_sigma, name='rabi_pulse_%d' % ii) - - # add commands to schedule - schedule = pulse.Schedule(name='cr_rabi_exp_amp_%s' % cr_drive_amp) - - schedule += cr_rabi_pulse(system.controls[0]) - schedule += measure_and_acquire << schedule.duration - - schedules.append(schedule) - - -# In[24]: - - -cr_rabi_qobj = assemble(schedules, backend_real, - meas_level=1, meas_return='avg', - memory_slots=2, qubit_lo_freq = [evals[1]/2/np.pi, - evals[3]/2/np.pi], - shots=shots, sim_config = back_config) - - -# In[25]: - - -sim_result = backend_sim.run(cr_rabi_qobj).result() - - -# In[26]: - - -amp_data_Q0 = [] -amp_data_Q1 = [] - -for exp_idx in range(len(cr_drive_amps)): - exp_mem = sim_result.get_memory(exp_idx) - amp_data_Q0.append(np.abs(exp_mem[0])) - amp_data_Q1.append(np.abs(exp_mem[1])) - - -# In[27]: - - -plt.plot(drive_amps, amp_data_Q0, label='Q0') -plt.plot(drive_amps, amp_data_Q1, label='Q1') -plt.legend() -plt.xlabel('Pulse amplitude, a.u.', fontsize=20) -plt.ylabel('Signal, a.u.', fontsize=20) -plt.title('CR (Target Q1, driving on Q0)', fontsize=20) -plt.grid(True) - - -# -# # T1 - -# Using the calibrated Pi pulse add a T1 decay channel and simulate a t1 experiment. This can take a while to run. The noise operators in pulse are still a work in progress. - -# In[28]: - - - -t1_times = np.linspace(0,500,10) -t1_times = np.array(t1_times, dtype=int) - -T1_exps = [] -for kk in range(len(t1_times)): - schedule = pulse.Schedule(name='T1_{}'.format(kk)) - schedule |= pi_pulse(system.qubits[qubit].drive) << schedule.duration - schedule |= measure_and_acquire << int(t1_times[kk]) + schedule.duration - T1_exps.append(schedule) - - -# In[29]: - - -# Add noise to the Hamiltonian on qubit '0' -back_config['noise'] = {"qubit": - {"0": - {"Sm": 0.006 - }}} -#back_config['noise'] = {} - - -# In[30]: - - -t1_qobj = assemble(T1_exps, backend_real, - meas_level=1, meas_return='avg', - memory_slots=2, qubit_lo_freq = [evals[1]/2/np.pi, - evals[3]/2/np.pi], - shots=100, sim_config = back_config) - - -# In[31]: - - -sim_result_t1 = backend_sim.run(t1_qobj).result() - - -# In[32]: - - -t1_data_Q0 = [] -t1_data_Q1 = [] - - -for exp_idx in range(len(t1_times)): - exp_mem = sim_result_t1.get_memory(exp_idx) - t1_data_Q0.append(np.abs(exp_mem[0])) - t1_data_Q1.append(np.abs(exp_mem[1])) - - -# In[33]: - - -#Fit the data -fit_func_t1 = lambda x,A,B,T: (A*np.exp(-x/T)+B) -fitparams, conv = curve_fit(fit_func_t1, t1_times, t1_data_Q0, [0.5,0.5,100]) - - -plt.plot(t1_times, t1_data_Q0, label='Q0') -plt.plot(t1_times, t1_data_Q1, label='Q1') -plt.plot(t1_times, fit_func_t1(t1_times, *fitparams), color='black', linestyle='dashed', label='Fit') - -plt.legend() -plt.xlabel('Wait Time (dt)', fontsize=20) -plt.ylabel('Signal, a.u.', fontsize=20) -plt.ylim([0,1.05]) -plt.title('T1 on Q0', fontsize=20) -plt.grid(True) - - -# In[ ]: - - - - diff --git a/example/pulse_sim_cy_fast.py b/example/pulse_sim_cy_fast.py new file mode 100644 index 0000000000..0b60aaffec --- /dev/null +++ b/example/pulse_sim_cy_fast.py @@ -0,0 +1,272 @@ +#!/usr/bin/env python +# coding: utf-8 + +# ## Open Pulse Simulator - Rabi Example + +# If running the openpulse branch from source, may need to add a symbolic link in site-packages. Also run `python setup.py build_ext --inplace` in openpulse first. + +# In[1]: + + +#Import general libraries (needed for functions) +import numpy as np +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit + +#Import Qiskit classes classes +import qiskit +#from qiskit.providers.aer.noise import NoiseModel +#from qiskit.providers.aer.noise.errors.standard_errors import depolarizing_error, thermal_relaxation_error + +import qiskit.pulse as pulse +import qiskit.pulse.pulse_lib as pulse_lib +from qiskit.compiler import assemble +import random +from qiskit.test.mock import FakeOpenPulse2Q + + +# In[2]: + + +#Get a pulse configuration from the fake backend +backend_real = FakeOpenPulse2Q() +configuration = backend_real.configuration() +system = pulse.PulseChannelSpec.from_backend(backend_real) + + +# In[3]: + + +#Get pulse simulator backend +backend_sim = qiskit.Aer.get_backend('pulse_simulator') + + +# ## Simulations +# +# ### These need to be run in sequential order +# +# [Rabi Oscillation](#rabi) +# Apply a pulse to Q0 and measure the population evoluation versus pulse amplitude +# +# [Measurement Level 1 for the Readout Test](#readout_test) +#
Prepare the |0> and |1> states and look at the measurement level 1 output +# +# [CR Oscillation](#cr) +#
Look at the Q1 State when we drive Q0 at the frequency of Q1 +# +# [T1](#t1) +#
Demonstrating noise with pulse + +# +# # Simulate a Rabi Oscillation + +# First, we are going to simulate a rabi oscillation, i.e., meausure the qubit state population versus the amplitude of a drive pulse. This is the same example that is in the tutorials. + +# ### Build Pulse Schedule + +# Build on qubit 0 + +# In[4]: + + +#qubit to use for exeperiment +qubit = 0 +# exp configuration +exps = 41 +shots = 512 + +# Rabi pulse +drive_amps = np.linspace(0, 0.9, exps) +drive_samples = 128 +drive_sigma = 16 + +# Measurement pulse +meas_amp = 0.025 +meas_samples = 1200 +meas_sigma = 4 +meas_risefall = 25 + +# Measurement pulse (common for all experiment) +meas_pulse = pulse_lib.gaussian_square(duration=meas_samples, amp=meas_amp, + sigma=meas_sigma, risefall=meas_risefall, + name='meas_pulse') +acq_cmd=pulse.Acquire(duration=meas_samples) + +# create measurement schedule +measure_and_acquire = meas_pulse(system.qubits[qubit].measure) | acq_cmd(system.acquires, system.memoryslots) + +# Create schedule +schedules = [] +for ii, drive_amp in enumerate(drive_amps): + # drive pulse + rabi_pulse = pulse_lib.gaussian(duration=drive_samples, + amp=drive_amp, + sigma=drive_sigma, name='rabi_pulse_%d' % ii) + + # add commands to schedule + schedule = pulse.Schedule(name='rabi_exp_amp_%s' % drive_amp) + + schedule += rabi_pulse(system.qubits[qubit].drive) + schedule += measure_and_acquire << schedule.duration + + schedules.append(schedule) + + +# ### Design the Hamiltonian + +# Let's build a transmon Hamiltonian with anharmonicity to test the Rabi oscillation and CR + +# In[5]: + + +hamiltonian = {} +hamiltonian['h_str'] = [] +#Q0 terms +hamiltonian['h_str'].append('np.pi*(2*v0-alpha0)*O0') +hamiltonian['h_str'].append('np.pi*alpha0*O0*O0') +hamiltonian['h_str'].append('2*np.pi*r*X0||D0') +hamiltonian['h_str'].append('2*np.pi*r*X0||U1') +hamiltonian['h_str'].append('2*np.pi*r*X1||U0') + +#Q1 terms +hamiltonian['h_str'].append('np.pi*(2*v1-alpha1)*O1') +hamiltonian['h_str'].append('np.pi*alpha1*O1*O1') +hamiltonian['h_str'].append('2*np.pi*r*X1||D1') + +#Exchange coupling betwene Q0 and Q1 +hamiltonian['h_str'].append('2*np.pi*j*(Sp0*Sm1+Sm0*Sp1)') +hamiltonian['vars'] = {'v0': 5.00, 'v1': 5.1, 'j': 0.01, + 'r': 0.02, 'alpha0': -0.33, 'alpha1': -0.33} + +#set the qubit dimensions to 3 +hamiltonian['qub'] = {'0': 3, '1': 3} + + +# ### Setup backend_options for simulation + +# First copy the real-device configuration to our backend options, then override the Hamiltonian with our custom Hamiltonian, and add any additional solver options. + +# In[6]: + + +backend_options = configuration.to_dict() +backend_options['hamiltonian'] = hamiltonian +backend_options['dt'] = 1.0 +backend_options['ode_options'] = {} +backend_options['use_cpp_ode_func'] = False + + +# ### Restrict the Qubits Used in the Simulation + +# We can use a qubit whitelist (`qubit_list`) to restrict the set of qubits used in the solution. The pulse simulator will appropriately alter the Hamiltonian. To start let's assume the list contains the first 2 qubits. + +# In[7]: + + +backend_options['qubit_list'] = [0, 1] +#backend_options['qubit_list'] = None + + +# ### Assemble the qobj with the backend config file and the qubit_list + +# We have to do this step twice to get the dressed frequencies for setting the LO's. Note here that we set `meas_level=1` and `meas_return=avg` which will return the average probability for the qubit to be in the |1> state. + +# In[8]: + + +rabi_qobj_no_lo = assemble(schedules, backend_real, + meas_level=1, meas_return='avg', + memory_slots=2, + shots=shots) + + +# In[9]: + + +evals, estates = backend_sim.get_dressed_energies(rabi_qobj_no_lo, + backend_options=backend_options) + + +# In[10]: + + +evals/2/np.pi + + +# In[11]: + + +qubit_lo_freq = [evals[1]/2/np.pi, evals[3]/2/np.pi] + +rabi_qobj = assemble(schedules, backend_real, + meas_level=1, meas_return='avg', + memory_slots=2, qubit_lo_freq=qubit_lo_freq, + shots=shots) + + +# ### Simulate + +# In[12]: + + +#Note: this is how to run bypassing the backend +#opsys = qiskit.providers.aer.openpulse.qobj.digest.digest_pulse_obj(rabi_qobj.to_dict()) +#simdata = qiskit.providers.aer.openpulse.solver.opsolve.opsolve(opsys) + + +# In[13]: + + +sim_result = backend_sim.run(rabi_qobj, backend_options=backend_options).result() + + +# In[14]: + + +#get the end time of the simulation in dt +sim_result.results[0].header.ode_t + + +# In[15]: + + +#get the statevector IN THE FRAME OF THE ORIGINAL HAMILTONIAN +sim_result.get_statevector(0) + + +# Extract the qubit populations + +# In[16]: + + +amp_data_Q0 = [] +amp_data_Q1 = [] + +for exp_idx in range(len(drive_amps)): + exp_mem = sim_result.get_memory(exp_idx) + amp_data_Q0.append(np.abs(exp_mem[0])) + amp_data_Q1.append(np.abs(exp_mem[1])) + + +# In[17]: + + +#Fit the data +fit_func = lambda x,A,B,T,phi: (A*np.cos(2*np.pi*x/T+phi)+B) +fitparams, conv = curve_fit(fit_func, drive_amps, amp_data_Q0, [0.5,0.5,0.6,1.5]) + +#get the pi amplitude +pi_amp = (fitparams[3])*fitparams[2]/2/np.pi + +plt.plot(drive_amps, amp_data_Q0, label='Q0') +plt.plot(drive_amps, amp_data_Q1, label='Q1') +plt.plot(drive_amps, fit_func(drive_amps, *fitparams), color='black', linestyle='dashed', label='Fit') +plt.axvline(pi_amp, color='black', linestyle='dashed') +plt.legend() +plt.xlabel('Pulse amplitude, a.u.', fontsize=20) +plt.ylabel('Signal, a.u.', fontsize=20) +plt.title('Rabi on Q0', fontsize=20) +plt.grid(True) + +print('Pi Amplitude %f'%(pi_amp)) + diff --git a/example/pulse_sim_fast.py b/example/pulse_sim_fast.py new file mode 100644 index 0000000000..16ed207a79 --- /dev/null +++ b/example/pulse_sim_fast.py @@ -0,0 +1,271 @@ +#!/usr/bin/env python +# coding: utf-8 + +# ## Open Pulse Simulator - Rabi Example + +# If running the openpulse branch from source, may need to add a symbolic link in site-packages. Also run `python setup.py build_ext --inplace` in openpulse first. + +# In[1]: + + +#Import general libraries (needed for functions) +import numpy as np +import matplotlib.pyplot as plt +from scipy.optimize import curve_fit + +#Import Qiskit classes classes +import qiskit +#from qiskit.providers.aer.noise import NoiseModel +#from qiskit.providers.aer.noise.errors.standard_errors import depolarizing_error, thermal_relaxation_error + +import qiskit.pulse as pulse +import qiskit.pulse.pulse_lib as pulse_lib +from qiskit.compiler import assemble +import random +from qiskit.test.mock import FakeOpenPulse2Q + + +# In[2]: + + +#Get a pulse configuration from the fake backend +backend_real = FakeOpenPulse2Q() +configuration = backend_real.configuration() +system = pulse.PulseChannelSpec.from_backend(backend_real) + + +# In[3]: + + +#Get pulse simulator backend +backend_sim = qiskit.Aer.get_backend('pulse_simulator') + + +# ## Simulations +# +# ### These need to be run in sequential order +# +# [Rabi Oscillation](#rabi) +# Apply a pulse to Q0 and measure the population evoluation versus pulse amplitude +# +# [Measurement Level 1 for the Readout Test](#readout_test) +#
Prepare the |0> and |1> states and look at the measurement level 1 output +# +# [CR Oscillation](#cr) +#
Look at the Q1 State when we drive Q0 at the frequency of Q1 +# +# [T1](#t1) +#
Demonstrating noise with pulse + +# +# # Simulate a Rabi Oscillation + +# First, we are going to simulate a rabi oscillation, i.e., meausure the qubit state population versus the amplitude of a drive pulse. This is the same example that is in the tutorials. + +# ### Build Pulse Schedule + +# Build on qubit 0 + +# In[4]: + + +#qubit to use for exeperiment +qubit = 0 +# exp configuration +exps = 41 +shots = 512 + +# Rabi pulse +drive_amps = np.linspace(0, 0.9, exps) +drive_samples = 128 +drive_sigma = 16 + +# Measurement pulse +meas_amp = 0.025 +meas_samples = 1200 +meas_sigma = 4 +meas_risefall = 25 + +# Measurement pulse (common for all experiment) +meas_pulse = pulse_lib.gaussian_square(duration=meas_samples, amp=meas_amp, + sigma=meas_sigma, risefall=meas_risefall, + name='meas_pulse') +acq_cmd=pulse.Acquire(duration=meas_samples) + +# create measurement schedule +measure_and_acquire = meas_pulse(system.qubits[qubit].measure) | acq_cmd(system.acquires, system.memoryslots) + +# Create schedule +schedules = [] +for ii, drive_amp in enumerate(drive_amps): + # drive pulse + rabi_pulse = pulse_lib.gaussian(duration=drive_samples, + amp=drive_amp, + sigma=drive_sigma, name='rabi_pulse_%d' % ii) + + # add commands to schedule + schedule = pulse.Schedule(name='rabi_exp_amp_%s' % drive_amp) + + schedule += rabi_pulse(system.qubits[qubit].drive) + schedule += measure_and_acquire << schedule.duration + + schedules.append(schedule) + + +# ### Design the Hamiltonian + +# Let's build a transmon Hamiltonian with anharmonicity to test the Rabi oscillation and CR + +# In[5]: + + +hamiltonian = {} +hamiltonian['h_str'] = [] +#Q0 terms +hamiltonian['h_str'].append('np.pi*(2*v0-alpha0)*O0') +hamiltonian['h_str'].append('np.pi*alpha0*O0*O0') +hamiltonian['h_str'].append('2*np.pi*r*X0||D0') +hamiltonian['h_str'].append('2*np.pi*r*X0||U1') +hamiltonian['h_str'].append('2*np.pi*r*X1||U0') + +#Q1 terms +hamiltonian['h_str'].append('np.pi*(2*v1-alpha1)*O1') +hamiltonian['h_str'].append('np.pi*alpha1*O1*O1') +hamiltonian['h_str'].append('2*np.pi*r*X1||D1') + +#Exchange coupling betwene Q0 and Q1 +hamiltonian['h_str'].append('2*np.pi*j*(Sp0*Sm1+Sm0*Sp1)') +hamiltonian['vars'] = {'v0': 5.00, 'v1': 5.1, 'j': 0.01, + 'r': 0.02, 'alpha0': -0.33, 'alpha1': -0.33} + +#set the qubit dimensions to 3 +hamiltonian['qub'] = {'0': 3, '1': 3} + + +# ### Setup backend_options for simulation + +# First copy the real-device configuration to our backend options, then override the Hamiltonian with our custom Hamiltonian, and add any additional solver options. + +# In[6]: + + +backend_options = configuration.to_dict() +backend_options['hamiltonian'] = hamiltonian +backend_options['dt'] = 1.0 +backend_options['ode_options'] = {} + + +# ### Restrict the Qubits Used in the Simulation + +# We can use a qubit whitelist (`qubit_list`) to restrict the set of qubits used in the solution. The pulse simulator will appropriately alter the Hamiltonian. To start let's assume the list contains the first 2 qubits. + +# In[7]: + + +backend_options['qubit_list'] = [0, 1] +#backend_options['qubit_list'] = None + + +# ### Assemble the qobj with the backend config file and the qubit_list + +# We have to do this step twice to get the dressed frequencies for setting the LO's. Note here that we set `meas_level=1` and `meas_return=avg` which will return the average probability for the qubit to be in the |1> state. + +# In[8]: + + +rabi_qobj_no_lo = assemble(schedules, backend_real, + meas_level=1, meas_return='avg', + memory_slots=2, + shots=shots) + + +# In[9]: + + +evals, estates = backend_sim.get_dressed_energies(rabi_qobj_no_lo, + backend_options=backend_options) + + +# In[10]: + + +evals/2/np.pi + + +# In[11]: + + +qubit_lo_freq = [evals[1]/2/np.pi, evals[3]/2/np.pi] + +rabi_qobj = assemble(schedules, backend_real, + meas_level=1, meas_return='avg', + memory_slots=2, qubit_lo_freq=qubit_lo_freq, + shots=shots) + + +# ### Simulate + +# In[12]: + + +#Note: this is how to run bypassing the backend +#opsys = qiskit.providers.aer.openpulse.qobj.digest.digest_pulse_obj(rabi_qobj.to_dict()) +#simdata = qiskit.providers.aer.openpulse.solver.opsolve.opsolve(opsys) + + +# In[13]: + + +sim_result = backend_sim.run(rabi_qobj, backend_options=backend_options).result() + + +# In[14]: + + +#get the end time of the simulation in dt +sim_result.results[0].header.ode_t + + +# In[15]: + + +#get the statevector IN THE FRAME OF THE ORIGINAL HAMILTONIAN +sim_result.get_statevector(0) + + +# Extract the qubit populations + +# In[16]: + + +amp_data_Q0 = [] +amp_data_Q1 = [] + +for exp_idx in range(len(drive_amps)): + exp_mem = sim_result.get_memory(exp_idx) + amp_data_Q0.append(np.abs(exp_mem[0])) + amp_data_Q1.append(np.abs(exp_mem[1])) + + +# In[17]: + + +#Fit the data +fit_func = lambda x,A,B,T,phi: (A*np.cos(2*np.pi*x/T+phi)+B) +fitparams, conv = curve_fit(fit_func, drive_amps, amp_data_Q0, [0.5,0.5,0.6,1.5]) + +#get the pi amplitude +pi_amp = (fitparams[3])*fitparams[2]/2/np.pi + +plt.plot(drive_amps, amp_data_Q0, label='Q0') +plt.plot(drive_amps, amp_data_Q1, label='Q1') +plt.plot(drive_amps, fit_func(drive_amps, *fitparams), color='black', linestyle='dashed', label='Fit') +plt.axvline(pi_amp, color='black', linestyle='dashed') +plt.legend() +plt.xlabel('Pulse amplitude, a.u.', fontsize=20) +plt.ylabel('Signal, a.u.', fontsize=20) +plt.title('Rabi on Q0', fontsize=20) +plt.grid(True) + +print('Pi Amplitude %f'%(pi_amp)) + diff --git a/qiskit/providers/aer/noise/errors/errorutils.py b/qiskit/providers/aer/noise/errors/errorutils.py index 9be07b8f13..dcc5fa2aa9 100644 --- a/qiskit/providers/aer/noise/errors/errorutils.py +++ b/qiskit/providers/aer/noise/errors/errorutils.py @@ -557,6 +557,7 @@ def kraus2instructions(kraus_ops, standard_gates, atol=ATOL_DEFAULT): for mat in kraus_ops: # Get the value of the maximum diagonal element # of op.H * op for rescaling + # pylint: disable=no-member prob = abs(max(np.diag(np.conj(np.transpose(mat)).dot(mat)))) if prob > 0.0: if abs(prob - 1) > 0.0: diff --git a/qiskit/providers/aer/openpulse/qobj/digest.py b/qiskit/providers/aer/openpulse/qobj/digest.py index 994e09025b..9bfdf16daa 100644 --- a/qiskit/providers/aer/openpulse/qobj/digest.py +++ b/qiskit/providers/aer/openpulse/qobj/digest.py @@ -115,6 +115,8 @@ def digest_pulse_obj(qobj, system_model, backend_options=None, noise_model=None) estates = [op.state(state) for state in ham_model._estates.T[:]] out.initial_state = estates[0] out.global_data['vars'] = list(out.vars.values()) + # Need this info for evaluating the hamiltonian vars in the c++ solver + out.global_data['vars_names'] = list(out.vars.keys()) out.global_data['freqs'] = list(out.freqs.values()) # Get dt @@ -196,6 +198,9 @@ def digest_pulse_obj(qobj, system_model, backend_options=None, noise_model=None) out.experiments.append(exp_struct) if not exp_struct['can_sample']: out.can_sample = False + + # This is a temporary flag while stabilizing cpp func ODE solver + out.use_cpp_ode_func = qobj_config.get('use_cpp_ode_func', True) return out diff --git a/qiskit/providers/aer/openpulse/qobj/op_system.py b/qiskit/providers/aer/openpulse/qobj/op_system.py index 6d49f82570..00b390d3aa 100644 --- a/qiskit/providers/aer/openpulse/qobj/op_system.py +++ b/qiskit/providers/aer/openpulse/qobj/op_system.py @@ -55,5 +55,7 @@ def __init__(self): self.h_diag = None # eigenvalues of the time-independent hamiltonian self.evals = None + # Use C++ version of the function to pass to the ODE solver or the Cython one + self.use_cpp_ode_func = False # eigenstates of the time-independent hamiltonian self.estates = None diff --git a/qiskit/providers/aer/openpulse/qobj/opparse.py b/qiskit/providers/aer/openpulse/qobj/opparse.py index c2b9419343..dfda280786 100644 --- a/qiskit/providers/aer/openpulse/qobj/opparse.py +++ b/qiskit/providers/aer/openpulse/qobj/opparse.py @@ -90,7 +90,7 @@ def parse(self, qubit_list=None): else: td = p_td.group('ch') token = self._shunting_yard(token) - _td = [self._token2qobj(token), td] + _td = self._token2qobj(token), td self.__td_hams.append(_td) else: diff --git a/qiskit/providers/aer/openpulse/qutip_lite/operators.py b/qiskit/providers/aer/openpulse/qutip_lite/operators.py index 3badefce16..dd3cc049cd 100755 --- a/qiskit/providers/aer/openpulse/qutip_lite/operators.py +++ b/qiskit/providers/aer/openpulse/qutip_lite/operators.py @@ -53,7 +53,6 @@ """ import numpy as np -import scipy import scipy.sparse as sp from .fastsparse import fast_csr_matrix, fast_identity @@ -76,7 +75,7 @@ def jmat(j, *args): Raises: TypeError: Invalid input. """ - if (scipy.fix(2 * j) != 2 * j) or (j < 0): + if (np.fix(2 * j) != 2 * j) or (j < 0): raise TypeError('j must be a non-negative integer or half-integer') if not args: diff --git a/qiskit/providers/aer/openpulse/qutip_lite/states.py b/qiskit/providers/aer/openpulse/qutip_lite/states.py index 6bb9534273..a8ae4754e5 100755 --- a/qiskit/providers/aer/openpulse/qutip_lite/states.py +++ b/qiskit/providers/aer/openpulse/qutip_lite/states.py @@ -50,8 +50,6 @@ """ import numpy as np -# pylint: disable=no-name-in-module -from scipy import arange, conj import scipy.sparse as sp from .qobj import Qobj @@ -133,7 +131,7 @@ def coherent(N, alpha, offset=0, method='operator'): x = basis(N, 0) a = destroy(N) - D = (alpha * a.dag() - conj(alpha) * a).expm() + D = (alpha * a.dag() - np.conj(alpha) * a).expm() return D * x elif method == "analytic" or offset > 0: @@ -251,7 +249,7 @@ def thermal_dm(N, n, method='operator'): if n == 0: return fock_dm(N, 0) else: - i = arange(N) + i = np.arange(N) if method == 'operator': beta = np.log(1.0 / n + 1.0) diags = np.exp(-1 * beta * i) diff --git a/qiskit/providers/aer/openpulse/solver/monte_carlo.py b/qiskit/providers/aer/openpulse/solver/monte_carlo.py index fc6983922e..2e25c1ce36 100644 --- a/qiskit/providers/aer/openpulse/solver/monte_carlo.py +++ b/qiskit/providers/aer/openpulse/solver/monte_carlo.py @@ -21,6 +21,7 @@ """Monte carlo wave function solver.""" from math import log +import logging import numpy as np from scipy.integrate import ode from scipy.linalg.blas import get_blas_funcs @@ -33,12 +34,15 @@ dznrm2 = get_blas_funcs("znrm2", dtype=np.float64) -def monte_carlo(seed, exp, global_data, ode_options): +def monte_carlo(seed, exp, op_system): """ Monte Carlo algorithm returning state-vector or expectation values at times tlist for a single trajectory. """ + global_data = op_system.global_data + ode_options = op_system.ode_options + cy_rhs_func = global_data['rhs_func'] rng = np.random.RandomState(seed) tlist = exp['tlist'] @@ -64,10 +68,16 @@ def monte_carlo(seed, exp, global_data, ode_options): ODE = ode(cy_rhs_func) - _inst = 'ODE.set_f_params(%s)' % global_data['string'] - code = compile(_inst, '', 'exec') - # pylint: disable=exec-used - exec(code) + if op_system.use_cpp_ode_func: + # Don't know how to use OrderedDict type on Cython, so transforming it to dict + channels = dict(op_system.channels) + ODE.set_f_params(global_data, exp, op_system.system, channels, register) + else: + _inst = 'ODE.set_f_params(%s)' % global_data['string'] + logging.debug("Monte Carlo: %s\n\n", _inst) + code = compile(_inst, '', 'exec') + # pylint: disable=exec-used + exec(code) # initialize ODE solver for RHS ODE._integrator = qiskit_zvode(method=ode_options.method, diff --git a/qiskit/providers/aer/openpulse/solver/opsolve.py b/qiskit/providers/aer/openpulse/solver/opsolve.py index 82788ad83a..6842c08ded 100644 --- a/qiskit/providers/aer/openpulse/solver/opsolve.py +++ b/qiskit/providers/aer/openpulse/solver/opsolve.py @@ -51,8 +51,9 @@ def opsolve(op_system): # build Hamiltonian data structures op_data_config(op_system) - # compile Cython RHS - _op_generate_rhs(op_system) + if not op_system.use_cpp_ode_func: + # compile Cython RHS + _op_generate_rhs(op_system) # Load cython function _op_func_load(op_system) # load monte carlo class @@ -117,9 +118,7 @@ def run(self): start = time.time() exp_results = parallel_map(unitary_evolution, self.op_system.experiments, - task_args=(self.op_system.global_data, - self.op_system.ode_options - ), + task_args=(self.op_system,), **map_kwargs ) end = time.time() @@ -138,12 +137,8 @@ def run(self): size=self.op_system.global_data['shots']) exp_res = parallel_map(monte_carlo, seeds, - task_args=(exp, - self.op_system.global_data, - self.op_system.ode_options - ), - **map_kwargs - ) + task_args=(exp, self.op_system,), + **map_kwargs) # exp_results is a list for each shot # so transform back to an array of shots @@ -228,7 +223,9 @@ def run(self): all_results.append(results) - _cython_build_cleanup(self.op_system.global_data['rhs_file_name']) + if not self.op_system.use_cpp_ode_func: + _cython_build_cleanup(self.op_system.global_data['rhs_file_name']) + return all_results diff --git a/qiskit/providers/aer/openpulse/solver/rhs_utils.py b/qiskit/providers/aer/openpulse/solver/rhs_utils.py index 7071c914ea..a66240b56d 100644 --- a/qiskit/providers/aer/openpulse/solver/rhs_utils.py +++ b/qiskit/providers/aer/openpulse/solver/rhs_utils.py @@ -40,9 +40,15 @@ def _op_func_load(op_system): Args: op_system (OPSystem): An OpenPulse system object. """ - code = compile('from ' + op_system.global_data['rhs_file_name'] + - ' import cy_td_ode_rhs', '', 'exec') - # pylint: disable=exec-used - exec(code, globals()) - # pylint: disable=undefined-variable - op_system.global_data['rhs_func'] = cy_td_ode_rhs + + if op_system.use_cpp_ode_func: + # pylint: disable=no-name-in-module, import-error, import-outside-toplevel + from ..cy.numeric_integrator_wrapper import td_ode_rhs_static + op_system.global_data['rhs_func'] = td_ode_rhs_static + else: + code = compile('from ' + op_system.global_data['rhs_file_name'] + + ' import cy_td_ode_rhs', '', 'exec') + # pylint: disable=exec-used + exec(code, globals()) + # pylint: disable=undefined-variable + op_system.global_data['rhs_func'] = cy_td_ode_rhs diff --git a/qiskit/providers/aer/openpulse/solver/unitary.py b/qiskit/providers/aer/openpulse/solver/unitary.py index 9766559f58..2e488792c9 100644 --- a/qiskit/providers/aer/openpulse/solver/unitary.py +++ b/qiskit/providers/aer/openpulse/solver/unitary.py @@ -17,6 +17,7 @@ """Module for unitary pulse evolution. """ +import logging import numpy as np from scipy.integrate import ode from scipy.linalg.blas import get_blas_funcs @@ -25,7 +26,7 @@ dznrm2 = get_blas_funcs("znrm2", dtype=np.float64) -def unitary_evolution(exp, global_data, ode_options): +def unitary_evolution(exp, op_system): """ Calculates evolution when there is no noise, or any measurements that are not at the end @@ -33,9 +34,7 @@ def unitary_evolution(exp, global_data, ode_options): Args: exp (dict): Dictionary of experimental pulse and fc - data. - global_data (dict): Data that applies to all experiments. - ode_options (OPoptions): Options for the underlying ODE solver. + op_system (OPSystem): Global OpenPulse system settings Returns: array: Memory of shots. @@ -43,6 +42,10 @@ def unitary_evolution(exp, global_data, ode_options): Raises: Exception: Error in ODE solver. """ + + global_data = op_system.global_data + ode_options = op_system.ode_options + cy_rhs_func = global_data['rhs_func'] rng = np.random.RandomState(exp['seed']) tlist = exp['tlist'] @@ -57,6 +60,16 @@ def unitary_evolution(exp, global_data, ode_options): num_channels = len(exp['channels']) ODE = ode(cy_rhs_func) + if op_system.use_cpp_ode_func: + # Don't know how to use OrderedDict type on Cython, so transforming it to dict + channels = dict(op_system.channels) + ODE.set_f_params(global_data, exp, op_system.system, channels, register) + else: + _inst = 'ODE.set_f_params(%s)' % global_data['string'] + logging.debug("Unitary Evolution: %s\n\n", _inst) + code = compile(_inst, '', 'exec') + exec(code) # pylint disable=exec-used + ODE.set_integrator('zvode', method=ode_options.method, order=ode_options.order, @@ -67,10 +80,6 @@ def unitary_evolution(exp, global_data, ode_options): min_step=ode_options.min_step, max_step=ode_options.max_step) - _inst = 'ODE.set_f_params(%s)' % global_data['string'] - code = compile(_inst, '', 'exec') - exec(code) # pylint disable=exec-used - if not ODE._y: ODE.t = 0.0 ODE._y = np.array([0.0], complex) diff --git a/src/simulators/open_pulse/CMakeLists.txt b/src/simulators/open_pulse/CMakeLists.txt new file mode 100644 index 0000000000..b0399434f1 --- /dev/null +++ b/src/simulators/open_pulse/CMakeLists.txt @@ -0,0 +1,30 @@ +# Cython OP extensions + +include(Linter) +include(cython_utils) + +# We need to remove the -static flag, because Python Extension system only supports +# dynamic linked libraries, but we want to build a shared libraries with the least +# dependencies we can, so some of these dependencies are linked statically into our +# shared library. +string(REPLACE " -static " "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") + +# Set some general flags +if(APPLE) + message(STATUS "On Mac, we force linking with undefined symbols for Python library, they will be + solved at runtime by the loader") + if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set(AER_LINKER_FLAGS "-undefined dynamic_lookup") + else() + # -flat_namespace linker flag is needed otherwise dynamic symbol resolution doesn't work as expected with GCC. + # Symbols with the same name exist in different .so, so the loader just takes the first one it finds, + # which is usually the one from the first .so loaded. + # See: Two-Leve namespace symbol resolution + set(AER_LINKER_FLAGS "-undefined dynamic_lookup -flat_namespace") + endif() + unset(PYTHON_LIBRARIES) +endif() + +set(CYTHON_INSTALL_DIR "qiskit/providers/aer/openpulse/cy/") +add_cython_module(numeric_integrator_wrapper numeric_integrator.cpp) +add_cython_module(test_python_to_cpp) diff --git a/src/simulators/open_pulse/eval_hamiltonian.hpp b/src/simulators/open_pulse/eval_hamiltonian.hpp new file mode 100644 index 0000000000..2753db7405 --- /dev/null +++ b/src/simulators/open_pulse/eval_hamiltonian.hpp @@ -0,0 +1,106 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _EVAL_HAMILTONIAN_HPP +#define _EVAL_HAMILTONIAN_HPP + +#include +#include +#include +#include +#include +#include + +struct ParserValues { + ParserValues(std::unique_ptr parser, const std::string& expr): + parser(std::move(parser)), expr(expr) { + } + std::unique_ptr parser; + std::string expr; + std::unordered_map> var_values; +}; + +namespace std { + template <> + struct hash{ + std::size_t operator()(const ParserValues& p) const { + return std::hash()(p.expr); + } + }; +} + +// TODO: Document +complex_t evaluate_hamiltonian_expression(const std::string& expr_string, + const std::vector& vars, + const std::vector& vars_names, + const std::unordered_map& chan_values){ + + + static std::unordered_map> parser_expr; + auto parser_iter = parser_expr.find(expr_string); + if(parser_iter == parser_expr.end()){ + auto parserx = std::make_unique(); + //Value pi(M_PI); + //parser->DefineVar("npi", Variable(&pi)); + const auto replace = [](const std::string& from, const std::string& to, std::string where) -> std::string { + size_t start_pos = 0; + while((start_pos = where.find(from, start_pos)) != std::string::npos) { + where.replace(start_pos, from.length(), to); + start_pos += to.length(); + } + return where; + }; + parserx->SetExpr(replace("np.pi", "pi", expr_string)); + auto parser = std::make_unique(std::move(parserx), expr_string); + //std::cout << "Creating parser: " << std::hex << parser.get() << " for expr: " << expr_string << "\n"; + parser_expr.emplace(expr_string, std::move(parser)); + } + auto * parser = parser_expr[expr_string].get(); + + //std::cout << "Getting parser " << std::hex << parser << "\n"; + + auto maybe_update_value = [parser](const std::string& var_name, const complex_t& var_value){ + if(parser->var_values.find(var_name) == parser->var_values.end()){ + parser->var_values.emplace(var_name, std::make_unique(var_value)); + parser->parser->DefineVar(var_name, mup::Variable(parser->var_values[var_name].get())); + }else{ // There's already a variable defined for this expresion + //std::cout << var_name << " is now: " << std::to_string(var_value.real()) << "," << std::to_string(var_value.imag()) << "\n"; + auto * ref = parser->var_values[var_name].get(); + // Update the value from the container + *ref = var_value; + } + }; + + for(const auto& idx_var : enumerate(vars)){ + size_t index = idx_var.first; + auto var_value = static_cast(idx_var.second); + maybe_update_value(vars_names[index], var_value); + } + + for(const auto& idx_channel : chan_values){ + auto channel = idx_channel.first; // The string of the channel + auto var_value = idx_channel.second; // The complex_t of the map + maybe_update_value(channel, var_value); + } + + try{ + mup::Value result = parser->parser->Eval(); + return result.GetComplex(); + }catch(std::exception ex){ + std::cout << ex.what(); + } + return 0.; +} + +#endif //_EVAL_HAMILTONIAN_HPP diff --git a/src/simulators/open_pulse/iterators.hpp b/src/simulators/open_pulse/iterators.hpp new file mode 100644 index 0000000000..64e7919412 --- /dev/null +++ b/src/simulators/open_pulse/iterators.hpp @@ -0,0 +1,91 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _ITERATORS_HPP +#define _ITERATORS_HPP + +template +struct iterator_extractor { using type = typename T::iterator; }; + +template +struct iterator_extractor { using type = typename T::const_iterator; }; + +/** + * Python-like `enumerate()` for C++14 ranged-for + * + * I wish I'd had this included in the STL :) + * + * Usage: + * ```c++ + * for(auto& elem: index(vec)){ + * std::cout << "Index: " << elem.first << " Element: " << elem.second; + * } + * ``` + **/ +template +class Indexer { +public: + class _Iterator { + using inner_iterator = typename iterator_extractor::type; + using inner_reference = typename std::iterator_traits::reference; + public: + using reference = std::pair; + + _Iterator(inner_iterator it): _pos(0), _it(it) {} + + reference operator*() const { + return reference(_pos, *_it); + } + + _Iterator& operator++() { + ++_pos; + ++_it; + return *this; + } + + _Iterator operator++(int) { + _Iterator tmp(*this); + ++*this; + return tmp; + } + + bool operator==(_Iterator const& it) const { + return _it == it._it; + } + bool operator!=(_Iterator const& it) const { + return !(*this == it); + } + + private: + size_t _pos; + inner_iterator _it; + }; + + Indexer(T& t): _container(t) {} + + _Iterator begin() const { + return _Iterator(_container.begin()); + } + _Iterator end() const { + return _Iterator(_container.end()); + } + +private: + T& _container; +}; // class Indexer + +template +Indexer enumerate(T& t) { return Indexer(t); } + +#endif \ No newline at end of file diff --git a/src/simulators/open_pulse/log.hpp b/src/simulators/open_pulse/log.hpp new file mode 100644 index 0000000000..fac05ea246 --- /dev/null +++ b/src/simulators/open_pulse/log.hpp @@ -0,0 +1,100 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _LOG_HPP +#define _LOG_HPP + +#include +#include +#include +#include +#include +#include "types.hpp" +#include "python_to_cpp.hpp" +#include "nparray.hpp" + +template +void jlog(const std::string& msg, const T& value){ + spdlog::debug("{}: {}", msg, value); +} + +template<> +void jlog(const std::string& msg, const complex_t& values){ + spdlog::debug("{}: [{},{}i]", msg, values.real(), values.imag()); +} + +template +void jlog(const std::string& msg, const NpArray& values){ + spdlog::debug("{}", msg); + spdlog::debug(".shape: "); + for(const auto& shape : values.shape) + spdlog::debug("{} ", shape); + + spdlog::debug("\n.data: "); + for(const auto& val : values.data){ + jlog("", val); + } +} + +template +void jlog(const std::string& msg, const std::vector& values){ + spdlog::debug("{}", msg); + for(const auto& val : values){ + jlog("", val); + } +} + +template<> +void jlog(const std::string& msg, const std::unordered_map>>& values){ + spdlog::debug("{}", msg); + for(const auto& val : values){ + for(const auto& inner: val.second){ + for(const auto& inner2: inner){ + spdlog::debug("{}:{} ", val.first, inner2); + } + } + } +} + +template<> +void jlog(const std::string& msg, const std::unordered_map& values){ + spdlog::debug("{}", msg); + for(const auto& val : values){ + spdlog::debug("{}:{} ", val.first, val.second); + } +} + +template<> +void jlog(const std::string& msg, const std::unordered_map>>& values){ + spdlog::debug("{}", msg); + for(const auto& val : values){ + for(const auto& inner: val.second){ + jlog(val.first, inner); + } + } +} + +template<> +void jlog(const std::string& msg, const ordered_map>>& values){ + spdlog::debug("{}", msg); + using order_map_t = ordered_map>>; + for(const auto& val : const_cast(values)){ + for(const auto& inner: val.second){ + jlog(val.first, inner); + } + } +} + + +#endif //_LOG_HPP \ No newline at end of file diff --git a/src/simulators/open_pulse/numeric_integrator.cpp b/src/simulators/open_pulse/numeric_integrator.cpp new file mode 100644 index 0000000000..1cd8b0841a --- /dev/null +++ b/src/simulators/open_pulse/numeric_integrator.cpp @@ -0,0 +1,226 @@ +#include +#include +#include +#include +#include +#define _USE_MATH_DEFINES +#include +#include +#include +#ifdef DEBUG +#include +#include +#include +#endif +#include "numeric_integrator.hpp" +#include "python_to_cpp.hpp" + +#ifdef DEBUG +class Unregister { + public: + ~Unregister(){ + spdlog::drop_all(); + } +}; +#endif + +/** + * Python // operator-like division + */ +int32_t floor_div(int32_t a, int32_t b) { + int32_t q = a / b; + int32_t r = a - q*b; + q -= ((r != 0) & ((r ^ b) < 0)); + return q; +} + +complex_t chan_value( + double t, + unsigned int chan_num, + const double freq_ch, + const NpArray& chan_pulse_times, + const NpArray& pulse_array, + const NpArray& pulse_indexes, + const NpArray& fc_array, + const NpArray& reg){ + + static const auto get_arr_idx = [](double t, double start, double stop, size_t len_array) -> int { + return static_cast(std::floor((t - start) / (stop - start) * len_array)); + }; + + complex_t out = {0., 0.}; + auto num_times = floor_div(static_cast(chan_pulse_times.shape[0]), 4); + + for(auto i=0; i < num_times; ++i){ + auto start_time = chan_pulse_times[4 * i]; + auto stop_time = chan_pulse_times[4 * i + 1]; + if(start_time <= t && t < stop_time){ + auto cond = static_cast(chan_pulse_times[4 * i + 3]); + if(cond < 0 || reg[cond]) { + auto temp_idx = static_cast(chan_pulse_times[4 * i + 2]); + auto start_idx = pulse_indexes[temp_idx]; + auto stop_idx = pulse_indexes[temp_idx+1]; + auto offset_idx = get_arr_idx(t, start_time, stop_time, stop_idx - start_idx); + out = pulse_array[start_idx + offset_idx]; + } + } + } + + // TODO floating point comparsion with complex ?! + // Seems like this is equivalent to: out != complex_t(0., 0.) + if(out != 0.){ + double phase = 0.; + num_times = floor_div(fc_array.shape[0], 3); + for(auto i = 0; i < num_times; ++i){ + // TODO floating point comparison + if(t >= fc_array[3 * i]){ + bool do_fc = true; + if(fc_array[3 * i + 2] >= 0){ + if(!reg[static_cast(fc_array[3 * i + 2])]){ + do_fc = false; + } + } + if(do_fc){ + phase += fc_array[3 * i + 1]; + } + }else{ + break; + } + } + if(phase != 0.){ + out *= std::exp(complex_t(0.,1.) * phase); + } + out *= std::exp(complex_t(0., -1.) * 2. * M_PI * freq_ch * t); + } + return out; +} + + +PyArrayObject * create_py_array_from_vector( + complex_t * out, + int num_rows){ + + npy_intp dims = num_rows; + PyArrayObject * array = reinterpret_cast(PyArray_SimpleNewFromData(1, &dims, NPY_COMPLEX128, out)); + PyArray_ENABLEFLAGS(array, NPY_OWNDATA); + #ifdef DEBUG + CALLGRIND_STOP_INSTRUMENTATION; + CALLGRIND_DUMP_STATS; + #endif + return array; +} + +PyArrayObject * td_ode_rhs( + double t, + PyArrayObject * py_vec, + PyObject * py_global_data, + PyObject * py_exp, + PyObject * py_system, + PyObject * py_channels, + PyObject * py_register){ + + #ifdef DEBUG + CALLGRIND_START_INSTRUMENTATION; + #endif + + const static auto numpy_initialized = init_numpy(); + + // I left this commented on porpose so we can use logging eventually + // This is just a RAII for the logger + //const Unregister unregister; + //auto file_logger = spdlog::basic_logger_mt("basic_logger", "logs/td_ode_rhs.txt"); + //spdlog::set_default_logger(file_logger); + //spdlog::set_level(spdlog::level::debug); // Set global log level to debug + //spdlog::flush_on(spdlog::level::debug); + + if(py_vec == nullptr || + py_global_data == nullptr || + py_exp == nullptr || + py_system == nullptr || + py_register == nullptr){ + std::string msg = "These arguments cannot be null: "; + msg += (py_vec == nullptr ? "py_vec " : "" ); + msg += (py_global_data == nullptr ? "py_global_data " : "" ); + msg += (py_exp == nullptr ? "py_exp " : "" ); + msg += (py_system == nullptr ? "py_system " : "" ); + msg += (py_register == nullptr ? "py_register " : "" ); + throw std::invalid_argument(msg); + } + + auto vec = get_value>(py_vec); + auto num_rows = vec.shape[0]; + auto out = static_cast(PyDataMem_NEW_ZEROED(num_rows, sizeof(complex_t))); + + auto pulses = get_ordered_map_from_dict_item>>(py_exp, "channels"); + auto freqs = get_vec_from_dict_item(py_global_data, "freqs"); + auto pulse_array = get_value_from_dict_item>(py_global_data, "pulse_array"); + auto pulse_indices = get_value_from_dict_item>(py_global_data, "pulse_indices"); + auto reg = get_value>(py_register); + + std::unordered_map chan_values; + chan_values.reserve(pulses.size()); + for(const auto& elem : enumerate(pulses)){ + /** + * eleme is map of string as key type, and vector of vectors of doubles. + * elem["D0"] = [[0.,1.,2.][0.,1.,2.]] + **/ + auto i = elem.first; + auto channel = elem.second.first; + auto pulse = elem.second.second; + + auto val = chan_value(t, i, freqs[i], pulse[0], pulse_array, + pulse_indices, pulse[1], reg); + chan_values.emplace(channel, val); + } + + // 4. Eval the time-dependent terms and do SPMV. + auto systems = get_value>(py_system); + auto vars = get_vec_from_dict_item(py_global_data, "vars"); + auto vars_names = get_vec_from_dict_item(py_global_data, "vars_names"); + auto num_h_terms = get_value_from_dict_item(py_global_data, "num_h_terms"); + auto datas = get_vec_from_dict_item>(py_global_data, "h_ops_data"); + auto idxs = get_vec_from_dict_item>(py_global_data, "h_ops_ind"); + auto ptrs = get_vec_from_dict_item>(py_global_data, "h_ops_ptr"); + auto energy = get_value_from_dict_item>(py_global_data, "h_diag_elems"); + for(const auto& idx_sys : enumerate(systems)){ + auto sys_index = idx_sys.first; + auto sys = idx_sys.second; + + // TODO: Refactor + std::string term; + if(sys_index == systems.size() && num_h_terms > systems.size()){ + term = "1.0"; + }else if(sys_index < systems.size()){ + //term = sys.second; + term = sys.term; + }else{ + continue; + } + + auto td = evaluate_hamiltonian_expression(term, vars, vars_names, chan_values); + if(std::abs(td) > 1e-15){ + for(auto i=0; i +#include +#include +#include +#include + +PyArrayObject * td_ode_rhs( + double , + PyArrayObject * , + PyObject * , + PyObject * , + PyObject * , + PyObject * , + PyObject * +); + +#endif // _NUMERIC_INTEGRATOR_HPP \ No newline at end of file diff --git a/src/simulators/open_pulse/numeric_integrator_wrapper.pyx b/src/simulators/open_pulse/numeric_integrator_wrapper.pyx new file mode 100644 index 0000000000..4a031efdf2 --- /dev/null +++ b/src/simulators/open_pulse/numeric_integrator_wrapper.pyx @@ -0,0 +1,31 @@ +#!python +#cython: language_level=3 +# This code is part of Qiskit. +# +# (C) Copyright IBM 2017, 2019. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have been altered from the originals. + +cimport cython +cimport numpy as np + +cdef extern from "numeric_integrator.hpp": + cdef np.ndarray td_ode_rhs( + double t, + np.ndarray vec, + dict global_data, + dict exp, + list system, + dict channels, + register + ) except + + +def td_ode_rhs_static(t, vec, global_data, exp, system, channels, register): + return td_ode_rhs(t, vec, global_data, exp, system, channels, register) + diff --git a/src/simulators/open_pulse/ordered_map.hpp b/src/simulators/open_pulse/ordered_map.hpp new file mode 100644 index 0000000000..0cad0f76fb --- /dev/null +++ b/src/simulators/open_pulse/ordered_map.hpp @@ -0,0 +1,130 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _ORDERED_MAP_HPP +#define _ORDERED_MAP_HPP + +#include +#include +#include +#include + +template< + class Key, + class T, + class Hash = std::hash, + class KeyEqual = std::equal_to, + class Allocator = std::allocator> +> class ordered_map { + public: + + using unordered_map_t = std::unordered_map; + using vector_t = std::vector; + + auto reserve(size_t size){ + order.reserve(size); + return internal_map.reserve(size); + } + + template + decltype(auto) emplace(Args&&... args) { + const auto first = std::get<0>(std::forward_as_tuple(args...)); + order.emplace_back(first); + return internal_map.emplace(std::forward(args)...); + } + + size_t size(){ + return internal_map.size(); + } + + const T& operator[](const std::string& index) const { + return internal_map[index]; + } + + // This is needed so we can use the container in an iterator context like ranged fors. + template + class ordered_map_iterator_t { + using unordered_map_iter_t = typename _map_t::iterator; + using vec_iter_t = typename _vec_t::iterator; + + _map_t& map; + _vec_t& vec; + + unordered_map_iter_t map_iter; + vec_iter_t vec_iter; + + public: + + using reference = typename unordered_map_iter_t::reference; + using difference_type = typename unordered_map_iter_t::difference_type; + using value_type = typename unordered_map_iter_t::value_type; + using pointer = typename unordered_map_iter_t::reference; + using iterator_category = typename unordered_map_iter_t::iterator_category; + + ordered_map_iterator_t(_map_t& map, + _vec_t& vec) : map(map), vec(vec){ + } + + ordered_map_iterator_t begin() { + vec_iter = vec.begin(); + map_iter = map.find(*vec_iter); + return *this; + } + + ordered_map_iterator_t end() { + vec_iter = vec.end(); + map_iter = map.find(*(vec_iter - 1)); + return *this; + } + + ordered_map_iterator_t operator ++(){ + auto tmp = ++vec_iter; + tmp = (tmp == vec.end()? --tmp: tmp); + map_iter = map.find(*tmp); + return *this; + } + + bool operator ==(const ordered_map_iterator_t& rhs) const { + return vec_iter == rhs.vec_iter; + } + + bool operator !=(const ordered_map_iterator_t& rhs) const { + return vec_iter != rhs.vec_iter; + } + + reference operator *() const { + return *map_iter; + } + }; + + using iterator = ordered_map_iterator_t; + using const_iterator = ordered_map_iterator_t; + + iterator it{internal_map, order}; + + const_iterator begin() { + return it.begin(); + } + + const_iterator end() { + return it.end(); + } + + private: + unordered_map_t internal_map; + vector_t order; + +}; + +#endif //_ORDERED_MAP_HPP \ No newline at end of file diff --git a/src/simulators/open_pulse/python_to_cpp.hpp b/src/simulators/open_pulse/python_to_cpp.hpp new file mode 100644 index 0000000000..cb3563271a --- /dev/null +++ b/src/simulators/open_pulse/python_to_cpp.hpp @@ -0,0 +1,509 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _PYTHON_TO_CPP_HPP +#define _PYTHON_TO_CPP_HPP + +#include +#include +#include +#include +#include +#include +#include +#ifdef DEBUG +#include +#include +#endif +#include +#include +#include "ordered_map.hpp" +#include "types.hpp" +#include "iterators.hpp" +#include "eval_hamiltonian.hpp" + +static bool init_numpy(){ + static bool initialized = false; + if(!initialized){ + import_array(); + initialized = true; + } +}; + +bool check_is_integer(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("PyObject is null!"); + + // Seems like this function checks every integer type + if(!PyLong_Check(value)) + return false; + + return true; +} + +bool check_is_string(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("PyObject is null!"); + + if(!PyUnicode_Check(value)) + return false; + + return true; +} + +bool check_is_floating_point(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("PyObject is null!"); + + if(!PyFloat_Check(value)) + return false; + + return true; +} + +bool check_is_complex(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("PyObject is null!"); + + if(!PyComplex_Check(value)) + return false; + + return true; +} + +bool check_is_list(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("Pyhton list is null!"); + + // Check that it's a list + if(!PyList_Check(value)) + return false; + + return true; +} + +bool check_is_tuple(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("Pyhton tuple is null!"); + + // Check that it's a tuple + if(!PyTuple_Check(value)) + return false; + + return true; +} + +bool check_is_dict(PyObject * value){ + if(value == nullptr) + throw std::invalid_argument("Pyhton dict is null!"); + + // Check that it's a dict + if(!PyDict_Check(value)) + return false; + + return true; +} + +bool check_is_np_array(PyArrayObject * value){ + if(value == nullptr) + throw std::invalid_argument("Numpy ndarray is null!"); + init_numpy(); + // Check that it's a numpy ndarray + if(!PyArray_Check(value)) + return false; + + return true; +} + + +// Simon Brand technique to achive partial specialization on function templates +// https://www.fluentcpp.com/2017/08/15/function-templates-partial-specialization-cpp/ +// This "type" struct will carry T, but wil be ignored by the compiler later. +// It's like a help you give to the compiler so it can resolve the specialization +template +struct type{}; + +template +T get_value(type _, PyObject * value){ + throw std::invalid_argument("Cannot get value for this type!"); +} + +// TODO: We might want to expose only these two functions +template +T get_value(PyObject * value){ + return get_value(type{}, value); +} + +template +const T get_value(PyArrayObject * value){ + return get_value(type{}, value); +} +// + + +template<> +uint8_t get_value(type _, PyObject * value){ + return get_value(value); +} + +template<> +long get_value(type _, PyObject * value){ + if(!check_is_integer(value)) + throw std::invalid_argument("PyObject is not a long!"); + + long c_value = PyLong_AsLong(value); + auto ex = PyErr_Occurred(); + if(ex) + throw ex; + + return c_value; +} + +template<> +double get_value(type _, PyObject * value){ + if(!check_is_floating_point(value)){ + // it's not a floating point, but maybe an integer? + if(check_is_integer(value)) + return static_cast(get_value(value)); + + throw std::invalid_argument("PyObject is not a double!"); + } + + double c_value = PyFloat_AsDouble(value); + auto ex = PyErr_Occurred(); + if(ex) + throw ex; + + return c_value; +} + +template<> +std::complex get_value(type> _, PyObject * value){ + if(!check_is_complex(value)) + throw std::invalid_argument("PyObject is not a complex number!"); + + Py_complex c_value = PyComplex_AsCComplex(value); + auto ex = PyErr_Occurred(); + if(ex) + throw ex; + + return std::complex(c_value.real, c_value.imag); +} + +template<> +std::string get_value(type _, PyObject * value){ + if(!check_is_string(value)) + throw std::invalid_argument("PyObject is not a string!"); + + auto bytes_str = PyUnicode_AsUTF8String(value); + auto c_str = PyBytes_AsString(bytes_str); + + if(c_str == nullptr) + throw std::invalid_argument("Conversion to utf-8 has failed!"); + + return std::string(c_str); +} + +template +std::vector get_value(type> _, PyObject * value){ + if(!check_is_list(value)) + throw std::invalid_argument("PyObject is not a List!"); + + auto size = PyList_Size(value); + std::vector vector; + vector.reserve(size); + for(auto i=0; i(py_item); + vector.emplace_back(item); + } + return vector; +} + +/* WARNING: There's no support for variadic templates in Cython, so + we use a std::pair because there's no more than two types in the Python + tuples so far, so as we are fine for now... */ +template +std::pair get_value(type> _, PyObject * value){ + if(!check_is_tuple(value)) + throw std::invalid_argument("PyObject is not a Tuple!"); + + if(PyTuple_Size(value) > 2) + throw std::invalid_argument("Tuples with more than 2 elements are not supported yet!!"); + + auto first_py_item = PyTuple_GetItem(value, 0); + if(first_py_item == nullptr) + throw std::invalid_argument("The tuple must have a first element"); + + auto second_py_item = PyTuple_GetItem(value, 1); + if(second_py_item == nullptr) + throw std::invalid_argument("The tuple must have a second element"); + + auto first_item = get_value(first_py_item); + auto second_item = get_value(second_py_item); + + return std::make_pair(first_item, second_item); +} + +template +std::unordered_map get_value(type> _, PyObject * value){ + if(!check_is_dict(value)) + throw std::invalid_argument("PyObject is not a dictonary!!"); + + auto size = PyDict_Size(value); + std::unordered_map map; + map.reserve(size); + + PyObject *key, *val; + Py_ssize_t pos = 0; + while (PyDict_Next(value, &pos, &key, &val)) { + auto inner_key = get_value(key); + auto inner_value = get_value(val); + map.emplace(inner_key, inner_value); + } + return map; +} + +template +const ordered_map get_value(type> _, PyObject * value){ + if(!check_is_dict(value)) + throw std::invalid_argument("PyObject is not a dictonary!!"); + + auto size = PyDict_Size(value); + ordered_map map; + map.reserve(size); + + PyObject *key, *val; + Py_ssize_t pos = 0; + while (PyDict_Next(value, &pos, &key, &val)) { + auto inner_key = get_value(key); + auto inner_value = get_value(val); + map.emplace(inner_key, inner_value); + } + return map; +} + + +template<> +TermExpression get_value(type_, PyObject * value) { + if(!check_is_tuple(value)) + throw std::invalid_argument("PyObject is not a Tuple!"); + + if(PyTuple_Size(value) > 2) + throw std::invalid_argument("Tuples with more than 2 elements are not supported yet!!"); + + auto term = PyTuple_GetItem(value, 1); // 0 is first + if(term == nullptr) + throw std::invalid_argument("The tuple must have a second element"); + + auto term_expr = get_value(term); + return TermExpression(term_expr); +} + + +template +class NpArray { + public: + NpArray(){} + NpArray(PyArrayObject * array){ + _populate_data(array); + _populate_shape(array); + size = array->dimensions[0]; + } + + const VecType * data = nullptr; + size_t size = 0; + + /** + * The shape of the array: like + * ```pyhton + * arr = np.array([0,1,2],[3,4,5]) + * arr.shape + **/ + std::vector shape; + + const VecType& operator[](size_t index) const { + return data[index]; + } + + NpArray& operator=(const NpArray& other){ + data = reinterpret_cast(other.data); + size = other.size; + shape = other.shape; + return *this; + } + + bool operator==(const NpArray& other) const { + if(other.size != size || + other.shape.size() != shape.size()) + return false; + + for(auto i = 0; i < other.size; ++i){ + if(data[i] != other[i]) + return false; + } + + for(auto i = 0; i < other.shape.size(); ++i){ + if(shape[i] != other.shape[i]) + return false; + } + + return true; + } + private: + + void _populate_shape(PyArrayObject * array){ + if(!check_is_np_array(array)) + throw std::invalid_argument("PyArrayObject is not a numpy array!"); + + auto p_dims = PyArray_SHAPE(array); + if(p_dims == nullptr) + throw std::invalid_argument("Couldn't get the shape of the array!"); + + auto num_dims = PyArray_NDIM(array); + shape.reserve(num_dims); + for(auto i = 0; i < num_dims; ++i){ + shape.emplace_back(p_dims[i]); + } + } + + void _populate_data(PyArrayObject * array){ + data = reinterpret_cast(array->data); + } +}; + +template +const NpArray get_value(type> _, PyArrayObject * value){ + if(!check_is_np_array(value)) + throw std::invalid_argument("PyArrayObject is not a numpy array!"); + + return NpArray(value); +} + +template +const NpArray get_value(type> _, PyObject * value) { + PyArrayObject * array = reinterpret_cast(value); + return get_value>(array); +} + + +PyObject * _get_py_value_from_py_dict(PyObject * dict, const std::string& key){ + if(!check_is_dict(dict)) + throw std::invalid_argument("Python dictionary is null!"); + + // PyObject * tmp_key; + // PyObject * value; + // Py_ssize_t pos = 0; + // while (PyDict_Next(dict, &pos, &tmp_key, &value)) { + // auto key_str = get_value(tmp_key); + // if(key_str == key){ + // return value; + // } + // } + return PyDict_GetItemString(dict, key.c_str()); +} + + +/** + * Returns a C++ vector from a Python list that is inside a Pyhton dictionary under a key. + * + * We assume that the item indexed by the key, it's a list: + * ```python + * my_dict = { "key": [1,2,3,4] } + * ``` + * ```c++ + * auto v = get_vec_from_dict_item(pyobj_dict, "key") + * for(auto& elem: v) + * std::cout << elem; + * ``` + * Output: + * ``` + * 1234 + * ``` + * + * @param dict PyObject* A pointer to a PyObject type representing a dictionary + * @return A vector of type VecType from the Pyhton's dictionary key. + **/ +template +const std::vector get_vec_from_dict_item(PyObject * dict, const std::string& item_key){ + PyObject * py_value = _get_py_value_from_py_dict(dict, item_key); + return get_value>(py_value); +} + +/** + * Returns a C++ unordered_map from a Python dictionary that is inside another Pyhton + * dictionary under a key. + * + * We assume that the item indexed by the key, it's a dictionary: + * ```python + * my_dict = { "key": {"inner": 1, "renni": 255} } + * ``` + * ```c++ + * auto m = get_map_from_dict_item(pyobj_dict, "key"); + * for(auto& item: m) + * std::cout << " key:" << item.first << " val:" << item.second; + * ``` + * Output: + * ``` + * key:inner val:1 key:renni val:255 + * ``` + * + * @param dict PyObject* A pointer to a PyObject type representing a dictionary + * @return An unordered map of type from the Pyhton's dictionary key. + **/ +template +const std::unordered_map get_map_from_dict_item(PyObject * dict, const std::string& item_key){ + PyObject * py_value = _get_py_value_from_py_dict(dict, item_key); + return get_value>(py_value); +} + + +template +const ordered_map get_ordered_map_from_dict_item(PyObject * dict, const std::string& item_key){ + PyObject * py_value = _get_py_value_from_py_dict(dict, item_key); + return get_value>(py_value); +} + +/** + * Returns a C++ value of type ValueTyep from a Python numeric that is inside a Pyhton + * dictionary under a key. + * + * We assume that the item indexed by the key, it's a numeric: + * ```python + * my_dict = { "key": 255} } + * ``` + * ```c++ + * auto l = get_value_from_dict_item(pyobj_dict, "key"); + * std::cout << "val: " << l; + * ``` + * Output: + * ``` + * 255 + * ``` + * + * @param dict PyObject* A pointer to a PyObject type representing a dictionary + * @return A long from the Pyhton's dictionary key. + **/ +template +ValueType get_value_from_dict_item(PyObject * dict, const std::string& item_key){ + PyObject * py_value = _get_py_value_from_py_dict(dict, item_key); + if(py_value == Py_None) + return {}; + + return get_value(py_value); +} + +#endif //_PYTHON_TO_CPP_HPP diff --git a/src/simulators/open_pulse/test_python_to_cpp.hpp b/src/simulators/open_pulse/test_python_to_cpp.hpp new file mode 100644 index 0000000000..3db11dce88 --- /dev/null +++ b/src/simulators/open_pulse/test_python_to_cpp.hpp @@ -0,0 +1,87 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _TEST_HELPERS_HPP +#define _TEST_HELPERS_HPP + +#include +#include +#include +#include +#include +#include +#include +#include "python_to_cpp.hpp" + +// TODO: Test QuantumObj +// TODO: Test Hamiltonian + +bool cpp_test_py_list_to_cpp_vec(PyObject * val){ + // val = [1., 2., 3.] + auto vec = get_value>(val); + auto expected = std::vector{1., 2., 3.}; + return vec == expected; +} + +bool cpp_test_py_list_of_lists_to_cpp_vector_of_vectors(PyObject * val){ + // val = [[1., 2., 3.]] + auto vec = get_value>>(val); + auto expected = std::vector>{{1., 2., 3.}}; + return vec == expected; +} + +bool cpp_test_py_dict_string_numeric_to_cpp_map_string_numeric(PyObject * val){ + // val = {"key": 1} + auto map = get_value>(val); + auto expected = std::unordered_map{{"key", 1}}; + return map == expected; + +} + +bool cpp_test_py_dict_string_list_of_list_of_doubles_to_cpp_map_string_vec_of_vecs_of_doubles(PyObject * val){ + // val = {"key": [[1., 2., 3.]]} + auto map = get_value>>>(val); + auto expected = std::unordered_map>>{{"key", {{1., 2., 3.}}}}; + return map == expected; +} + +bool cpp_test_np_array_of_doubles(PyArrayObject * val){ + // val = np.array([0., 1., 2., 3.]) + auto vec = get_value>(val); + if(vec[0] != 0. || vec[1] != 1. || vec[2] != 2. || vec[3] != 3.) + return false; + + return true; +} + +bool cpp_test_evaluate_hamiltonians(PyObject * val){ + // TODO: Add tests! + return false; +} + +bool cpp_test_py_ordered_map(PyObject * val){ + // Ordered map should guarantee insertion order. + // val = {"D0": 1, "U0": 2, "D1": 3, "U1": 4} + std::vector order = {"D0", "U0", "D1", "U1"}; + auto ordered = get_value>(val); + size_t i = 0; + for(const auto& elem: ordered) { + auto key = elem.first; + if(key != order[i++]) + return false; + } + return true; +} + +#endif // _TEST_HELPERS_HPP \ No newline at end of file diff --git a/src/simulators/open_pulse/test_python_to_cpp.pyx b/src/simulators/open_pulse/test_python_to_cpp.pyx new file mode 100644 index 0000000000..c94aa3ea89 --- /dev/null +++ b/src/simulators/open_pulse/test_python_to_cpp.pyx @@ -0,0 +1,54 @@ +#!python +#cython: language_level=3 +# This code is part of Qiskit. +# +# (C) Copyright IBM 2017, 2019. +# +# This code is licensed under the Apache License, Version 2.0. You may +# obtain a copy of this license in the LICENSE.txt file in the root directory +# of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. +# +# Any modifications or derivative works of this code must retain this +# copyright notice, and modified files need to carry a notice indicating +# that they have be + +cimport cython +from cpython.ref cimport PyObject +from libcpp.vector cimport vector +from libcpp.unordered_map cimport unordered_map +from libcpp.string cimport string +from libcpp.complex cimport complex +from libcpp cimport bool +import numpy as np +cimport numpy as np + +# These definitions are only for testing the C++ wrappers over Python C API +cdef extern from "test_python_to_cpp.hpp": + cdef bool cpp_test_py_list_to_cpp_vec(list val) + cdef bool cpp_test_py_list_of_lists_to_cpp_vector_of_vectors(list val) + cdef bool cpp_test_py_dict_string_numeric_to_cpp_map_string_numeric(dict val) + cdef bool cpp_test_py_dict_string_list_of_list_of_doubles_to_cpp_map_string_vec_of_vecs_of_doubles(dict val) + cdef bool cpp_test_np_array_of_doubles(np.ndarray val) + cdef bool cpp_test_evaluate_hamiltonians(list val) + cdef bool cpp_test_py_ordered_map(dict val) + +def test_py_list_to_cpp_vec(val): + return cpp_test_py_list_to_cpp_vec(val) + +def test_py_list_of_lists_to_cpp_vector_of_vectors(val): + return cpp_test_py_list_of_lists_to_cpp_vector_of_vectors(val) + +def test_py_dict_string_numeric_to_cpp_map_string_numeric(val): + return cpp_test_py_dict_string_numeric_to_cpp_map_string_numeric(val) + +def test_py_dict_string_list_of_list_of_doubles_to_cpp_map_string_vec_of_vecs_of_doubles(val): + return cpp_test_py_dict_string_list_of_list_of_doubles_to_cpp_map_string_vec_of_vecs_of_doubles(val) + +def test_np_array_of_doubles(val): + return cpp_test_np_array_of_doubles(val) + +def test_evaluate_hamiltonians(val): + return cpp_test_evaluate_hamiltonians(val) + +def test_py_ordered_map(val): + return cpp_test_py_ordered_map(val) diff --git a/src/simulators/open_pulse/types.hpp b/src/simulators/open_pulse/types.hpp new file mode 100644 index 0000000000..f8dac3fd30 --- /dev/null +++ b/src/simulators/open_pulse/types.hpp @@ -0,0 +1,27 @@ +/** + * This code is part of Qiskit. + * + * (C) Copyright IBM 2018, 2019. + * + * This code is licensed under the Apache License, Version 2.0. You may + * obtain a copy of this license in the LICENSE.txt file in the root directory + * of this source tree or at http://www.apache.org/licenses/LICENSE-2.0. + * + * Any modifications or derivative works of this code must retain this + * copyright notice, and modified files need to carry a notice indicating + * that they have been altered from the originals. + */ + +#ifndef _TEST_TYPES_HPP +#define _TEST_TYPES_HPP + +#include + +using complex_t = std::complex; + +struct TermExpression { + TermExpression(const std::string& term) : term(term) {} + std::string term; +}; + +#endif // _TEST_TYPES_HPP \ No newline at end of file diff --git a/src/third-party/headers/muparserx/mpError.cpp b/src/third-party/headers/muparserx/mpError.cpp new file mode 100644 index 0000000000..67f7d53fec --- /dev/null +++ b/src/third-party/headers/muparserx/mpError.cpp @@ -0,0 +1,266 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ +#include "mpError.h" +#include "mpIToken.h" +#include "mpParserMessageProvider.h" + + +MUP_NAMESPACE_START + +std::unique_ptr ParserErrorMsg::m_pInstance; + +//------------------------------------------------------------------------------ +const ParserMessageProviderBase& ParserErrorMsg::Instance() +{ + if (!m_pInstance.get()) + { + m_pInstance.reset(new ParserMessageProviderEnglish); + m_pInstance->Init(); + } + + return *m_pInstance; +} + +//------------------------------------------------------------------------------ +void ParserErrorMsg::Reset(ParserMessageProviderBase *pProvider) +{ + if (pProvider != nullptr) + { + m_pInstance.reset(pProvider); + m_pInstance->Init(); + } +} + +//------------------------------------------------------------------------------ +string_type ParserErrorMsg::GetErrorMsg(EErrorCodes eError) const +{ + if (!m_pInstance.get()) + return string_type(); + else + return m_pInstance->GetErrorMsg(eError); +} + + +//--------------------------------------------------------------------------- +ParserErrorMsg::~ParserErrorMsg() +{} + +//--------------------------------------------------------------------------- +ParserErrorMsg::ParserErrorMsg() +{} + +//--------------------------------------------------------------------------- +// +// Error context +// +//--------------------------------------------------------------------------- + +/** \brief Constructs an empty Error context structure. */ +ErrorContext::ErrorContext(EErrorCodes a_iErrc, + int a_iPos, + string_type a_sIdent) + :Expr() + , Ident(a_sIdent) + , Hint() + , Errc(a_iErrc) + , Type1(0) + , Type2(0) + , Arg(-1) + , Pos(a_iPos) +{} + +//--------------------------------------------------------------------------- +ErrorContext::ErrorContext(EErrorCodes iErrc, + int iPos, + string_type sIdent, + char_type cType1, + char_type cType2, + int nArg) + :Expr() + , Ident(sIdent) + , Hint() + , Errc(iErrc) + , Type1(cType1) + , Type2(cType2) + , Arg(nArg) + , Pos(iPos) +{} + +//--------------------------------------------------------------------------- +// +// ParserError class +// +//--------------------------------------------------------------------------- + +ParserError::ParserError() + :m_Err() + , m_sMsg() + , m_ErrMsg(ParserErrorMsg::Instance()) +{} + +//------------------------------------------------------------------------------ +ParserError::ParserError(const string_type &sMsg) + :m_Err() + , m_sMsg(sMsg) + , m_ErrMsg(ParserErrorMsg::Instance()) +{} + +//------------------------------------------------------------------------------ +ParserError::ParserError(const ErrorContext &a_Err) + :m_Err(a_Err) + , m_sMsg() + , m_ErrMsg(ParserErrorMsg::Instance()) +{ + m_sMsg = m_ErrMsg.GetErrorMsg(a_Err.Errc); +} + +//------------------------------------------------------------------------------ +ParserError::ParserError(const ParserError &a_Obj) + :m_Err(a_Obj.m_Err) + , m_sMsg(a_Obj.m_sMsg) + , m_ErrMsg(ParserErrorMsg::Instance()) +{} + +//------------------------------------------------------------------------------ +ParserError& ParserError::operator=(const ParserError &a_Obj) +{ + if (this == &a_Obj) + return *this; + + m_sMsg = a_Obj.m_sMsg; + m_Err = a_Obj.m_Err; + return *this; +} + +//------------------------------------------------------------------------------ +/** \brief Replace all occurences of a substring with another string. */ +void ParserError::ReplaceSubString(string_type &sSource, + const string_type &sFind, + const string_type &sReplaceWith) const +{ + string_type sResult; + string_type::size_type iPos(0), iNext(0); + + for (;;) + { + iNext = sSource.find(sFind, iPos); + sResult.append(sSource, iPos, iNext - iPos); + + if (iNext == string_type::npos) + break; + + sResult.append(sReplaceWith); + iPos = iNext + sFind.length(); + } + + sSource.swap(sResult); +} + + +//------------------------------------------------------------------------------ +/** \brief Replace all occurences of a substring with another string. */ +void ParserError::ReplaceSubString(string_type &sSource, + const string_type &sFind, + int iReplaceWith) const +{ + stringstream_type stream; + stream << iReplaceWith; + ReplaceSubString(sSource, sFind, stream.str()); +} + +//------------------------------------------------------------------------------ +/** \brief Replace all occurences of a substring with another string. */ +void ParserError::ReplaceSubString(string_type &sSource, + const string_type &sFind, + char_type cReplaceWith) const +{ + stringstream_type stream; + stream << cReplaceWith; + ReplaceSubString(sSource, sFind, stream.str()); +} + +//------------------------------------------------------------------------------ +void ParserError::Reset() +{ + m_sMsg = _T(""); + m_Err = ErrorContext(); +} + +//------------------------------------------------------------------------------ +const string_type& ParserError::GetExpr() const +{ + return m_Err.Expr; +} + +//------------------------------------------------------------------------------ +string_type ParserError::GetMsg() const +{ + string_type sMsg(m_sMsg); + ReplaceSubString(sMsg, _T("$EXPR$"), m_Err.Expr); + ReplaceSubString(sMsg, _T("$IDENT$"), m_Err.Ident); + ReplaceSubString(sMsg, _T("$POS$"), m_Err.Pos); + ReplaceSubString(sMsg, _T("$ARG$"), m_Err.Arg); + ReplaceSubString(sMsg, _T("$TYPE1$"), m_Err.Type1); + ReplaceSubString(sMsg, _T("$TYPE2$"), m_Err.Type2); + ReplaceSubString(sMsg, _T("$HINT$"), m_Err.Hint); + return sMsg; +} + +//------------------------------------------------------------------------------ +ErrorContext& ParserError::GetContext() +{ + return m_Err; +} + +//------------------------------------------------------------------------------ +/** \brief Return the expression position related to the error. + + If the error is not related to a distinct position this will return -1 + */ +int ParserError::GetPos() const +{ + return m_Err.Pos; +} + +//------------------------------------------------------------------------------ +/** \brief Return string related with this token (if available). */ +const string_type& ParserError::GetToken() const +{ + return m_Err.Ident; +} + +//------------------------------------------------------------------------------ +/** \brief Return the error code. */ +EErrorCodes ParserError::GetCode() const +{ + return m_Err.Errc; +} +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpFuncCmplx.cpp b/src/third-party/headers/muparserx/mpFuncCmplx.cpp new file mode 100644 index 0000000000..9f97b23439 --- /dev/null +++ b/src/third-party/headers/muparserx/mpFuncCmplx.cpp @@ -0,0 +1,635 @@ +/** \file + \brief Definition of functions for complex valued operations. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016 Ingo Berg
+                                       All rights reserved.
+
+  muParserX - A C++ math parser library with array and string support
+  Copyright (c) 2016, Ingo Berg
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpFuncCmplx.h" + +//--- Standard includes ---------------------------------------------------- +#include +#include +#include +#include + +//--- Parser framework ----------------------------------------------------- +#include "mpValue.h" +#include "mpError.h" + + +MUP_NAMESPACE_START + + //----------------------------------------------------------------------- + // + // class FunCmplxReal + // + //----------------------------------------------------------------------- + + FunCmplxReal::FunCmplxReal() + :ICallback(cmFUNC, _T("real"), 1) + {} + + //----------------------------------------------------------------------- + FunCmplxReal::~FunCmplxReal() + {} + + //----------------------------------------------------------------------- + void FunCmplxReal::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + float_type v = a_pArg[0]->GetFloat(); + *ret = v; + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxReal::GetDesc() const + { + return _T("real(x) - Returns the real part of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxReal::Clone() const + { + return new FunCmplxReal(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxImag + // + //----------------------------------------------------------------------- + + FunCmplxImag::FunCmplxImag() + :ICallback(cmFUNC, _T("imag"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxImag::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + float_type v = a_pArg[0]->GetImag(); + *ret = v; + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxImag::GetDesc() const + { + return _T("imag(x) - Returns the imaginary part of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxImag::Clone() const + { + return new FunCmplxImag(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxConj + // + //----------------------------------------------------------------------- + + FunCmplxConj::FunCmplxConj() + :ICallback(cmFUNC, _T("conj"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxConj::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + *ret = cmplx_type(a_pArg[0]->GetFloat(), -a_pArg[0]->GetImag()); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxConj::GetDesc() const + { + return _T("conj(x) - Returns the complex conjugate of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxConj::Clone() const + { + return new FunCmplxConj(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxArg + // + //----------------------------------------------------------------------- + + FunCmplxArg::FunCmplxArg() + :ICallback(cmFUNC, _T("arg"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxArg::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::arg(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxArg::GetDesc() const + { + return _T("arg(x) - Returns the phase angle (or angular component) of the complex number x, expressed in radians."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxArg::Clone() const + { + return new FunCmplxArg(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxNorm + // + //----------------------------------------------------------------------- + + FunCmplxNorm::FunCmplxNorm() + :ICallback(cmFUNC, _T("norm"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxNorm::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::norm(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxNorm::GetDesc() const + { + return _T("norm(x) - Returns the norm value of the complex number x.") + _T(" The norm value of a complex number is the squared magnitude,") + _T(" defined as the addition of the square of both the real part") + _T(" and the imaginary part (without the imaginary unit). This is") + _T(" the square of abs (x)."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxNorm::Clone() const + { + return new FunCmplxNorm(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxCos + // + //----------------------------------------------------------------------- + + FunCmplxCos::FunCmplxCos() + :ICallback(cmFUNC, _T("cos"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxCos::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + if (a_pArg[0]->IsNonComplexScalar()) + { + *ret = std::cos(a_pArg[0]->GetFloat()); + } + else + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::cos(v); + } + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxCos::GetDesc() const + { + return _T("cos(x) - Returns the cosine of the number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxCos::Clone() const + { + return new FunCmplxCos(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxSin + // + //----------------------------------------------------------------------- + + FunCmplxSin::FunCmplxSin() + :ICallback(cmFUNC, _T("sin"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxSin::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + if (a_pArg[0]->IsNonComplexScalar()) + { + *ret = std::sin(a_pArg[0]->GetFloat()); + } + else + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::sin(v); + } + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxSin::GetDesc() const + { + return _T("sin(x) - Returns the sine of the number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxSin::Clone() const + { + return new FunCmplxSin(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxCosH + // + //----------------------------------------------------------------------- + + FunCmplxCosH::FunCmplxCosH() + :ICallback(cmFUNC, _T("cosh"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxCosH::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = cosh(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxCosH::GetDesc() const + { + return _T("cosh(x) - Returns the hyperbolic cosine of the number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxCosH::Clone() const + { + return new FunCmplxCosH(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxSinH + // + //----------------------------------------------------------------------- + + FunCmplxSinH::FunCmplxSinH() + :ICallback(cmFUNC, _T("sinh"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxSinH::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = sinh(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxSinH::GetDesc() const + { + return _T("sinh(x) - Returns the hyperbolic sine of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxSinH::Clone() const + { + return new FunCmplxSinH(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxTan + // + //----------------------------------------------------------------------- + + FunCmplxTan::FunCmplxTan() + :ICallback(cmFUNC, _T("tan"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxTan::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + if (a_pArg[0]->IsNonComplexScalar()) + { + *ret = std::tan(a_pArg[0]->GetFloat()); + } + else + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::tan(v); + } + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxTan::GetDesc() const + { + return _T("tan(x) - Returns the tangens of the number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxTan::Clone() const + { + return new FunCmplxTan(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxTanH + // + //----------------------------------------------------------------------- + + FunCmplxTanH::FunCmplxTanH() + :ICallback(cmFUNC, _T("tanh"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxTanH::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = tanh(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxTanH::GetDesc() const + { + return _T("tanh(x) - Returns the hyperbolic tangent of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxTanH::Clone() const + { + return new FunCmplxTanH(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxSqrt + // + //----------------------------------------------------------------------- + + FunCmplxSqrt::FunCmplxSqrt() + :ICallback(cmFUNC, _T("sqrt"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxSqrt::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + *ret = sqrt((*a_pArg[0]).GetComplex()); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxSqrt::GetDesc() const + { + return _T("sqrt(x) - Returns the square root of x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxSqrt::Clone() const + { + return new FunCmplxSqrt(*this); + } + + + //----------------------------------------------------------------------- + // + // class FunCmplxExp + // + //----------------------------------------------------------------------- + + FunCmplxExp::FunCmplxExp() + :ICallback(cmFUNC, _T("exp"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxExp::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = exp(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxExp::GetDesc() const + { + return _T("exp(x) - Returns the base-e exponential of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxExp::Clone() const + { + return new FunCmplxExp(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxLn + // + //----------------------------------------------------------------------- + + FunCmplxLn::FunCmplxLn() + :ICallback(cmFUNC, _T("ln"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxLn::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = log(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxLn::GetDesc() const + { + return _T("ln(x) - Returns the natural (base-e) logarithm of the complex number x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxLn::Clone() const + { + return new FunCmplxLn(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxLog + // + //----------------------------------------------------------------------- + + FunCmplxLog::FunCmplxLog() + :ICallback(cmFUNC, _T("log"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxLog::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = log(v); + } + + + //----------------------------------------------------------------------- + const char_type* FunCmplxLog::GetDesc() const + { + return _T("log(x) - Common logarithm of x, for values of x greater than zero."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxLog::Clone() const + { + return new FunCmplxLog(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxLog10 + // + //----------------------------------------------------------------------- + + FunCmplxLog10::FunCmplxLog10() + :ICallback(cmFUNC, _T("log10"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxLog10::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + cmplx_type v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = log10(v); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxLog10::GetDesc() const + { + return _T("log10(x) - Common logarithm of x, for values of x greater than zero."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxLog10::Clone() const + { + return new FunCmplxLog10(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxLog2 + // + //----------------------------------------------------------------------- + + FunCmplxLog2::FunCmplxLog2() + :ICallback(cmFUNC, _T("log2"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxLog2::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + std::complex v(a_pArg[0]->GetFloat(), a_pArg[0]->GetImag()); + *ret = std::log(v) * (float_type)1.0/std::log((float_type)2.0); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxLog2::GetDesc() const + { + return _T("log2(x) - Logarithm to base 2 of x, for values of x greater than zero."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxLog2::Clone() const + { + return new FunCmplxLog2(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxAbs + // + //----------------------------------------------------------------------- + + FunCmplxAbs::FunCmplxAbs() + :ICallback(cmFUNC, _T("abs"), 1) + {} + + //----------------------------------------------------------------------- + void FunCmplxAbs::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + float_type v = sqrt(a_pArg[0]->GetFloat()*a_pArg[0]->GetFloat() + + a_pArg[0]->GetImag()*a_pArg[0]->GetImag()); + *ret = v; + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxAbs::GetDesc() const + { + return _T("abs(x) - Returns the absolute value of x."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxAbs::Clone() const + { + return new FunCmplxAbs(*this); + } + + //----------------------------------------------------------------------- + // + // class FunCmplxPow + // + //----------------------------------------------------------------------- + + FunCmplxPow::FunCmplxPow() + :ICallback(cmFUNC, _T("pow"), 2) + {} + + //----------------------------------------------------------------------- + void FunCmplxPow::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + *ret = std::pow(a_pArg[0]->GetComplex(), a_pArg[1]->GetComplex()); + } + + //----------------------------------------------------------------------- + const char_type* FunCmplxPow::GetDesc() const + { + return _T("pox(x, y) - Raise x to the power of y."); + } + + //----------------------------------------------------------------------- + IToken* FunCmplxPow::Clone() const + { + return new FunCmplxPow(*this); + } + + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpFuncCommon.cpp b/src/third-party/headers/muparserx/mpFuncCommon.cpp new file mode 100644 index 0000000000..71797ad8a5 --- /dev/null +++ b/src/third-party/headers/muparserx/mpFuncCommon.cpp @@ -0,0 +1,272 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpFuncCommon.h" + +#include +#include +#include + +#include "mpValue.h" +#include "mpParserBase.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + // + // FunParserID + // + //------------------------------------------------------------------------------ + + FunParserID::FunParserID() + :ICallback(cmFUNC, _T("parserid"), 0) + {} + + //------------------------------------------------------------------------------ + void FunParserID::Eval(ptr_val_type &ret, const ptr_val_type * /*a_pArg*/, int /*a_iArgc*/) + { + string_type sVer = _T("muParserX V") + GetParent()->GetVersion(); + *ret = sVer; + } + + //------------------------------------------------------------------------------ + const char_type* FunParserID::GetDesc() const + { + return _T("parserid() - muParserX version information"); + } + + //------------------------------------------------------------------------------ + IToken* FunParserID::Clone() const + { + return new FunParserID(*this); + } + + //------------------------------------------------------------------------------ + // + // Max Function + // + //------------------------------------------------------------------------------ + + FunMax::FunMax() : ICallback(cmFUNC, _T("max"), -1) + {} + + //------------------------------------------------------------------------------ + void FunMax::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + if (a_iArgc < 1) + throw ParserError(ErrorContext(ecTOO_FEW_PARAMS, GetExprPos(), GetIdent())); + + float_type max(-1e30), val(0); + for (int i=0; iGetType()) + { + case 'f': + case 'i': val = a_pArg[i]->GetFloat(); break; + case 'n': break; // ignore not in list entries (missing parameter) + case 'c': + default: + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = i+1; + err.Type1 = a_pArg[i]->GetType(); + err.Type2 = 'f'; + throw ParserError(err); + } + } + max = std::max(max, val); + } + + *ret = max; + } + + //------------------------------------------------------------------------------ + const char_type* FunMax::GetDesc() const + { + return _T("max(x,y,...,z) - Returns the maximum value from all of its function arguments."); + } + + //------------------------------------------------------------------------------ + IToken* FunMax::Clone() const + { + return new FunMax(*this); + } + + //------------------------------------------------------------------------------ + // + // Min Function + // + //------------------------------------------------------------------------------ + + FunMin::FunMin() : ICallback(cmFUNC, _T("min"), -1) + {} + + //------------------------------------------------------------------------------ + /** \brief Returns the minimum value of all values. + \param a_pArg Pointer to an array of Values + \param a_iArgc Number of values stored in a_pArg + */ + void FunMin::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + if (a_iArgc < 1) + throw ParserError(ErrorContext(ecTOO_FEW_PARAMS, GetExprPos(), GetIdent())); + + float_type min(1e30), val(min); + + for (int i=0; iGetType()) + { + case 'f': + case 'i': val = a_pArg[i]->GetFloat(); break; + default: + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = i+1; + err.Type1 = a_pArg[i]->GetType(); + err.Type2 = 'f'; + throw ParserError(err); + } + } + min = std::min(min, val); + } + + *ret = min; + } + + //------------------------------------------------------------------------------ + const char_type* FunMin::GetDesc() const + { + return _T("min(x,y,...,z) - Returns the minimum value from all of its function arguments."); + } + + //------------------------------------------------------------------------------ + IToken* FunMin::Clone() const + { + return new FunMin(*this); + } + + //------------------------------------------------------------------------------ + // + // class FunSum + // + //------------------------------------------------------------------------------ + + FunSum::FunSum() + :ICallback(cmFUNC, _T("sum"), -1) + {} + + //------------------------------------------------------------------------------ + /** \brief Returns the minimum value of all values. + \param a_pArg Pointer to an array of Values + \param a_iArgc Number of values stored in a_pArg + */ + void FunSum::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + if (a_iArgc < 1) + throw ParserError(ErrorContext(ecTOO_FEW_PARAMS, GetExprPos(), GetIdent())); + + float_type sum(0); + + for (int i=0; iGetType()) + { + case 'f': + case 'i': sum += a_pArg[i]->GetFloat(); break; + default: + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = i+1; + err.Type1 = a_pArg[i]->GetType(); + err.Type2 = 'f'; + throw ParserError(err); + } + } + } + + *ret = sum; + } + + //------------------------------------------------------------------------------ + const char_type* FunSum::GetDesc() const + { + return _T("sum(x,y,...,z) - Returns the sum of all arguments."); + } + + //------------------------------------------------------------------------------ + IToken* FunSum::Clone() const + { + return new FunSum(*this); + } + + //------------------------------------------------------------------------------ + // + // SizeOf + // + //------------------------------------------------------------------------------ + + FunSizeOf::FunSizeOf() + :ICallback(cmFUNC, _T("sizeof"), 1) + {} + + //------------------------------------------------------------------------------ + FunSizeOf::~FunSizeOf() + {} + + //------------------------------------------------------------------------------ + /** \brief Returns the number of elements stored in the first parameter. */ + void FunSizeOf::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + assert(a_iArgc==1); + *ret = (float_type)a_pArg[0]->GetArray().GetRows(); + } + + //------------------------------------------------------------------------------ + const char_type* FunSizeOf::GetDesc() const + { + return _T("sizeof(a) - Returns the number of elements in a."); + } + + //------------------------------------------------------------------------------ + IToken* FunSizeOf::Clone() const + { + return new FunSizeOf(*this); + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpFuncMatrix.cpp b/src/third-party/headers/muparserx/mpFuncMatrix.cpp new file mode 100644 index 0000000000..995e680e7b --- /dev/null +++ b/src/third-party/headers/muparserx/mpFuncMatrix.cpp @@ -0,0 +1,249 @@ +/** \file + \brief Definition of functions for complex valued operations. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+    /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+    |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+    |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+          \/                     \/           \/     \/           \_/
+
+    muParserX - A C++ math parser library with array and string support
+    Copyright (c) 2016, Ingo Berg
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+ */ +#include "mpFuncMatrix.h" + +//--- Standard includes ---------------------------------------------------- +#include +#include +#include +#include + +//--- Parser framework ----------------------------------------------------- +#include "mpValue.h" +#include "mpError.h" + + +MUP_NAMESPACE_START + +//----------------------------------------------------------------------- +// +// class FunMatrixOnes +// +//----------------------------------------------------------------------- + +FunMatrixOnes::FunMatrixOnes() +:ICallback(cmFUNC, _T("ones"), -1) +{} + +//----------------------------------------------------------------------- +FunMatrixOnes::~FunMatrixOnes() +{} + +//----------------------------------------------------------------------- +void FunMatrixOnes::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int argc) +{ + if (argc < 1 || argc>2) + { + ErrorContext err; + err.Errc = ecINVALID_NUMBER_OF_PARAMETERS; + err.Arg = argc; + err.Ident = GetIdent(); + throw ParserError(err); + } + + int_type m = a_pArg[0]->GetInteger(), + n = (argc == 1) ? m : a_pArg[1]->GetInteger(); + + if (m == n && n == 1) + { + *ret = 1.0; // unboxing of 1x1 matrices + } + else + { + *ret = matrix_type(m, n, 1.0); + } +} + +//----------------------------------------------------------------------- +const char_type* FunMatrixOnes::GetDesc() const +{ + return _T("ones(x [, y]) - Returns a matrix whose elements are all 1."); +} + +//----------------------------------------------------------------------- +IToken* FunMatrixOnes::Clone() const +{ + return new FunMatrixOnes(*this); +} + +//----------------------------------------------------------------------- +// +// class FunMatrixZeros +// +//----------------------------------------------------------------------- + +FunMatrixZeros::FunMatrixZeros() + :ICallback(cmFUNC, _T("zeros"), -1) +{} + +//----------------------------------------------------------------------- +FunMatrixZeros::~FunMatrixZeros() +{} + +//----------------------------------------------------------------------- +void FunMatrixZeros::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int argc) +{ + if (argc < 1 || argc>2) + { + ErrorContext err; + err.Errc = ecINVALID_NUMBER_OF_PARAMETERS; + err.Arg = argc; + err.Ident = GetIdent(); + throw ParserError(err); + } + + int_type m = a_pArg[0]->GetInteger(), + n = (argc == 1) ? m : a_pArg[1]->GetInteger(); + + if (m == n && n == 1) + { + *ret = 0.0; // unboxing of 1x1 matrices + } + else + { + *ret = matrix_type(m, n, 0.0); + } +} + +//----------------------------------------------------------------------- +const char_type* FunMatrixZeros::GetDesc() const +{ + return _T("zeros(x [, y]) - Returns a matrix whose elements are all 0."); +} + +//----------------------------------------------------------------------- +IToken* FunMatrixZeros::Clone() const +{ + return new FunMatrixZeros(*this); +} + +//----------------------------------------------------------------------- +// +// class FunMatrixEye +// +//----------------------------------------------------------------------- + +FunMatrixEye::FunMatrixEye() + :ICallback(cmFUNC, _T("eye"), -1) +{} + +//----------------------------------------------------------------------- +FunMatrixEye::~FunMatrixEye() +{} + +//----------------------------------------------------------------------- +void FunMatrixEye::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int argc) +{ + if (argc < 1 || argc>2) + { + ErrorContext err; + err.Errc = ecINVALID_NUMBER_OF_PARAMETERS; + err.Arg = argc; + err.Ident = GetIdent(); + throw ParserError(err); + } + + int_type m = a_pArg[0]->GetInteger(), + n = (argc == 1) ? m : a_pArg[1]->GetInteger(); + + matrix_type eye(m, n, 0.0); + + for (int i = 0; i < std::min(m, n); ++i) + { + eye.At(i, i) = 1.0; + } + + *ret = eye; +} + +//----------------------------------------------------------------------- +const char_type* FunMatrixEye::GetDesc() const +{ + return _T("eye(x, y) - returns a matrix with ones on its diagonal and zeros elsewhere."); +} + +//----------------------------------------------------------------------- +IToken* FunMatrixEye::Clone() const +{ + return new FunMatrixEye(*this); +} + +//----------------------------------------------------------------------- +// +// class FunMatrixSize +// +//----------------------------------------------------------------------- + +FunMatrixSize::FunMatrixSize() + :ICallback(cmFUNC, _T("size"), -1) +{} + +//----------------------------------------------------------------------- +FunMatrixSize::~FunMatrixSize() +{} + +//----------------------------------------------------------------------- +void FunMatrixSize::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int argc) +{ + if (argc != 1) + { + ErrorContext err; + err.Errc = ecINVALID_NUMBER_OF_PARAMETERS; + err.Arg = argc; + err.Ident = GetIdent(); + throw ParserError(err); + } + + matrix_type sz(1, 2, 0.0); + sz.At(0, 0) = (float_type)a_pArg[0]->GetRows(); + sz.At(0, 1) = (float_type)a_pArg[0]->GetCols(); + *ret = sz; +} + +//----------------------------------------------------------------------- +const char_type* FunMatrixSize::GetDesc() const +{ + return _T("size(x) - returns the matrix dimensions."); +} + +//----------------------------------------------------------------------- +IToken* FunMatrixSize::Clone() const +{ + return new FunMatrixSize(*this); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpFuncNonCmplx.cpp b/src/third-party/headers/muparserx/mpFuncNonCmplx.cpp new file mode 100644 index 0000000000..4ea6b7db68 --- /dev/null +++ b/src/third-party/headers/muparserx/mpFuncNonCmplx.cpp @@ -0,0 +1,126 @@ +/** \file + \brief Implementation of basic functions used by muParserX. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016, Ingo Berg
+                                       All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+  
+*/ +#include "mpFuncNonCmplx.h" + +//--- Standard includes ---------------------------------------------------- +#include +#include +#include + +//--- muParserX framework -------------------------------------------------- +#include "mpValue.h" +#include "mpError.h" + +#undef log +#undef log2 + +MUP_NAMESPACE_START + +#define MUP_UNARY_FUNC(CLASS, IDENT, FUNC, DESC) \ + CLASS::CLASS() \ + :ICallback(cmFUNC, _T(IDENT), 1) \ + {} \ + \ + void CLASS::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) \ + { \ + *ret = FUNC(a_pArg[0]->GetFloat()); \ + } \ + \ + const char_type* CLASS::GetDesc() const \ + { \ + return _T(DESC); \ + } \ + \ + IToken* CLASS::Clone() const \ + { \ + return new CLASS(*this); \ + } + + // trigonometric functions + MUP_UNARY_FUNC(FunTan, "sin", std::sin, "sine function") + MUP_UNARY_FUNC(FunCos, "cos", std::cos, "cosine function") + MUP_UNARY_FUNC(FunSin, "tan", std::tan, "tangens function") + // arcus functions + MUP_UNARY_FUNC(FunASin, "asin", std::asin, "arcus sine") + MUP_UNARY_FUNC(FunACos, "acos", std::acos, "arcus cosine") + MUP_UNARY_FUNC(FunATan, "atan", std::atan, "arcus tangens") + // hyperbolic functions + MUP_UNARY_FUNC(FunSinH, "sinh", std::sinh, "hyperbolic sine") + MUP_UNARY_FUNC(FunCosH, "cosh", std::cosh, "hyperbolic cosine") + MUP_UNARY_FUNC(FunTanH, "tanh", std::tanh, "hyperbolic tangens") + // hyperbolic arcus functions + MUP_UNARY_FUNC(FunASinH, "asinh", std::asinh, "hyperbolic arcus sine") + MUP_UNARY_FUNC(FunACosH, "acosh", std::acosh, "hyperbolic arcus cosine") + MUP_UNARY_FUNC(FunATanH, "atanh", std::atanh, "hyperbolic arcus tangens") + // logarithm functions + MUP_UNARY_FUNC(FunLog, "log", std::log, "Natural logarithm") + MUP_UNARY_FUNC(FunLog10, "log10", std::log10, "Logarithm base 10") + MUP_UNARY_FUNC(FunLog2, "log2", std::log2, "Logarithm base 2") + MUP_UNARY_FUNC(FunLn, "ln", std::log, "Natural logarithm") + // square root + MUP_UNARY_FUNC(FunSqrt, "sqrt", std::sqrt, "sqrt(x) - square root of x") + MUP_UNARY_FUNC(FunCbrt, "cbrt", std::cbrt, "cbrt(x) - cubic root of x") + MUP_UNARY_FUNC(FunExp, "exp", std::exp, "exp(x) - e to the power of x") + MUP_UNARY_FUNC(FunAbs, "abs", std::fabs, "abs(x) - absolute value of x") +#undef MUP_UNARY_FUNC + +#define MUP_BINARY_FUNC(CLASS, IDENT, FUNC, DESC) \ + CLASS::CLASS() \ + :ICallback(cmFUNC, _T(IDENT), 2) \ + {} \ + \ + void CLASS::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) \ + { \ + *ret = FUNC(a_pArg[0]->GetFloat(), a_pArg[1]->GetFloat()); \ + } \ + \ + const char_type* CLASS::GetDesc() const \ + { \ + return _T(DESC); \ + } \ + \ + IToken* CLASS::Clone() const \ + { \ + return new CLASS(*this); \ + } + + MUP_BINARY_FUNC(FunPow, "pow", std::pow, "pow(x, y) - raise x to the power of y") + MUP_BINARY_FUNC(FunHypot, "hypot", std::hypot, "hypot(x, y) - compute the length of the vector x,y") + MUP_BINARY_FUNC(FunAtan2, "atan2", std::atan2, "arcus tangens with quadrant fix") + MUP_BINARY_FUNC(FunFmod, "fmod", std::fmod, "fmod(x, y) - floating point remainder of x / y") + MUP_BINARY_FUNC(FunRemainder, "remainder", std::remainder, "remainder(x, y) - IEEE remainder of x / y") +#undef MUP_BINARY_FUNC + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpFuncStr.cpp b/src/third-party/headers/muparserx/mpFuncStr.cpp new file mode 100644 index 0000000000..093d016a01 --- /dev/null +++ b/src/third-party/headers/muparserx/mpFuncStr.cpp @@ -0,0 +1,180 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpFuncStr.h" + +#include +#include +#include +#include +#include + +#include "mpValue.h" +#include "mpError.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + // + // Strlen function + // + //------------------------------------------------------------------------------ + + FunStrLen::FunStrLen() + :ICallback(cmFUNC, _T("strlen"), 1) + {} + + //------------------------------------------------------------------------------ + void FunStrLen::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + string_type str = a_pArg[0]->GetString(); + *ret = (float_type)str.length(); + } + + //------------------------------------------------------------------------------ + const char_type* FunStrLen::GetDesc() const + { + return _T("strlen(s) - Returns the length of the string s."); + } + + //------------------------------------------------------------------------------ + IToken* FunStrLen::Clone() const + { + return new FunStrLen(*this); + } + + //------------------------------------------------------------------------------ + // + // ToUpper function + // + //------------------------------------------------------------------------------ + + FunStrToUpper::FunStrToUpper() + :ICallback(cmFUNC, _T("toupper"), 1) + {} + + //------------------------------------------------------------------------------ + void FunStrToUpper::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + using namespace std; + + string_type str = a_pArg[0]->GetString(); + std::transform(str.begin(), str.end(), str.begin(), ::toupper); + + *ret = str; + } + + //------------------------------------------------------------------------------ + const char_type* FunStrToUpper::GetDesc() const + { + return _T("toupper(s) - Converts the string s to uppercase characters."); + } + + //------------------------------------------------------------------------------ + IToken* FunStrToUpper::Clone() const + { + return new FunStrToUpper(*this); + } + + //------------------------------------------------------------------------------ + // + // ToLower function + // + //------------------------------------------------------------------------------ + + FunStrToLower::FunStrToLower() + :ICallback(cmFUNC, _T("tolower"), 1) + {} + + //------------------------------------------------------------------------------ + void FunStrToLower::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + using namespace std; + + string_type str = a_pArg[0]->GetString(); + std::transform(str.begin(), str.end(), str.begin(), ::tolower); + + *ret = str; + } + + //------------------------------------------------------------------------------ + const char_type* FunStrToLower::GetDesc() const + { + return _T("tolower(s) - Converts the string s to lowercase characters."); + } + + //------------------------------------------------------------------------------ + IToken* FunStrToLower::Clone() const + { + return new FunStrToLower(*this); + } + + //------------------------------------------------------------------------------ + // + // String to double conversion + // + //------------------------------------------------------------------------------ + + FunStrToDbl::FunStrToDbl() + :ICallback(cmFUNC, _T("str2dbl"), 1) + {} + + //------------------------------------------------------------------------------ + void FunStrToDbl::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + assert(a_iArgc==1); + string_type in; + double out; // <- Ich will hier wirklich double, auch wenn der Type long double + // ist. sscanf und long double geht nicht mit GCC! + + in = a_pArg[0]->GetString(); + +#ifndef _UNICODE + sscanf(in.c_str(), "%lf", &out); +#else + swscanf(in.c_str(), _T("%lf"), &out); +#endif + + *ret = (float_type)out; + } + + //------------------------------------------------------------------------------ + const char_type* FunStrToDbl::GetDesc() const + { + return _T("str2dbl(s) - Converts the string stored in s into a floating foint value."); + } + + //------------------------------------------------------------------------------ + IToken* FunStrToDbl::Clone() const + { + return new FunStrToDbl(*this); + } +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpICallback.cpp b/src/third-party/headers/muparserx/mpICallback.cpp new file mode 100644 index 0000000000..1523f75468 --- /dev/null +++ b/src/third-party/headers/muparserx/mpICallback.cpp @@ -0,0 +1,141 @@ +/** \file + \brief Implementation of the interface for parser callback objects. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016 Ingo Berg
+                                       All rights reserved.
+
+  muParserX - A C++ math parser library with array and string support
+  Copyright (c) 2016, Ingo Berg
+  All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpICallback.h" +#include + +#include "mpParserBase.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + ICallback::ICallback(ECmdCode a_iCode, + const char_type *a_szName, + int a_nArgc) + :IToken(a_iCode, a_szName) + ,m_pParent(nullptr) + ,m_nArgc(a_nArgc) + ,m_nArgsPresent(-1) + {} + + //------------------------------------------------------------------------------ + ICallback::~ICallback() + {} + + //--------------------------------------------------------------------------- + ICallback* ICallback::AsICallback() + { + return this; + } + + //--------------------------------------------------------------------------- + IValue* ICallback::AsIValue() + { + return nullptr; + } + + //------------------------------------------------------------------------------ + /** \brief Returns a pointer to the parser object owning this callback. + \pre [assert] m_pParent must be defined + */ + ParserXBase* ICallback::GetParent() + { + assert(m_pParent); + return m_pParent; + } + + //------------------------------------------------------------------------------ + void ICallback::SetArgc(int argc) + { + m_nArgc = argc; + } + + //------------------------------------------------------------------------------ + /** \brief Returns the m´number of arguments required by this callback. + \return Number of arguments or -1 if the number of arguments is variable. + */ + int ICallback::GetArgc() const + { + return m_nArgc; + } + + //------------------------------------------------------------------------------ + /** \brief Assign a parser object to the callback. + \param a_pParent The parser that belongs to this callback object. + + The parent object can be used in order to access internals of the parser + from within a callback object. Thus enabling callbacks to delete + variables or functions if this is desired. + */ + void ICallback::SetParent(parent_type *a_pParent) + { + assert(a_pParent); + m_pParent = a_pParent; + } + + //------------------------------------------------------------------------------ + string_type ICallback::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; id=\"") << GetIdent() << "\""; + ss << _T("; argc=") << GetArgc() << " (found: " << m_nArgsPresent << ")"; + ss << _T("]"); + + return ss.str(); + } + + //------------------------------------------------------------------------------ + void ICallback::SetNumArgsPresent(int argc) + { + m_nArgsPresent = argc; + } + + //------------------------------------------------------------------------------ + int ICallback::GetArgsPresent() const + { + if (m_nArgc!=-1) + return m_nArgc; + else + return m_nArgsPresent; + } +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpIOprt.cpp b/src/third-party/headers/muparserx/mpIOprt.cpp new file mode 100644 index 0000000000..5ccf807e0c --- /dev/null +++ b/src/third-party/headers/muparserx/mpIOprt.cpp @@ -0,0 +1,170 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpIOprt.h" + +#include "mpError.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + // + // Binary Operators + // + //------------------------------------------------------------------------------ + + IOprtBin::IOprtBin(const char_type *a_szIdent, int nPrec, EOprtAsct eAsc) + :ICallback(cmOPRT_BIN, a_szIdent, 2) + ,IPrecedence() + ,m_nPrec(nPrec) + ,m_eAsc(eAsc) + {} + + //------------------------------------------------------------------------------ + IOprtBin::~IOprtBin() + {} + + //------------------------------------------------------------------------------ + string_type IOprtBin::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; id=\"") << GetIdent() << _T("\""); + ss << _T("; prec=") << GetPri(); + ss << _T("; argc=") << GetArgc(); + ss << _T("]"); + + return ss.str(); + } + + //------------------------------------------------------------------------------ + int IOprtBin::GetPri() const + { + return m_nPrec; + } + + //------------------------------------------------------------------------------ + EOprtAsct IOprtBin::GetAssociativity() const + { + return m_eAsc; + } + + //--------------------------------------------------------------------------- + IPrecedence* IOprtBin::AsIPrecedence() + { + return this; + } + + //------------------------------------------------------------------------------ + // + // Unary Postfix Operators + // + //------------------------------------------------------------------------------ + + IOprtPostfix::IOprtPostfix(const char_type *a_szIdent) + :ICallback(cmOPRT_POSTFIX, a_szIdent, 1) + {} + + //------------------------------------------------------------------------------ + IOprtPostfix::~IOprtPostfix() + {} + + //------------------------------------------------------------------------------ + string_type IOprtPostfix::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; id=\"") << GetIdent() << _T("\""); + ss << _T("; argc=") << GetArgc(); + ss << _T("]"); + + return ss.str(); + } + + //------------------------------------------------------------------------------ + // + // Unary Infix Operators + // + //------------------------------------------------------------------------------ + + IOprtInfix::IOprtInfix(const char_type *a_szIdent, int nPrec) + :ICallback(cmOPRT_INFIX, a_szIdent, 1) + ,IPrecedence() + ,m_nPrec(nPrec) + {} + + //------------------------------------------------------------------------------ + IOprtInfix::~IOprtInfix() + {} + + //------------------------------------------------------------------------------ + string_type IOprtInfix::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; id=\"") << GetIdent() << _T("\""); + ss << _T("; argc=") << GetArgc(); + ss << _T("]"); + + return ss.str(); + } + + //--------------------------------------------------------------------------- + IPrecedence* IOprtInfix::AsIPrecedence() + { + return this; + } + + //------------------------------------------------------------------------------ + int IOprtInfix::GetPri() const + { + return m_nPrec; + } + + //------------------------------------------------------------------------------ + EOprtAsct IOprtInfix::GetAssociativity() const + { + return oaNONE; + } +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpIPackage.cpp b/src/third-party/headers/muparserx/mpIPackage.cpp new file mode 100644 index 0000000000..f534584cc5 --- /dev/null +++ b/src/third-party/headers/muparserx/mpIPackage.cpp @@ -0,0 +1,51 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpIPackage.h" + +#include "mpDefines.h" +#include "mpParserBase.h" + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +IPackage::IPackage() +{} + +//------------------------------------------------------------------------------ +IPackage::~IPackage() +{} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpIToken.cpp b/src/third-party/headers/muparserx/mpIToken.cpp new file mode 100644 index 0000000000..4f261815ca --- /dev/null +++ b/src/third-party/headers/muparserx/mpIToken.cpp @@ -0,0 +1,325 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpIToken.h" +#include +#include +#include +#include +#include + +#include "mpIPrecedence.h" + +MUP_NAMESPACE_START + +#ifdef MUP_LEAKAGE_REPORT + std::list IToken::s_Tokens; +#endif + +#ifndef _UNICODE + + //--------------------------------------------------------------------------- + /** \brief Overloaded streaming operator for outputting the value type + into an std::ostream. + \param a_Stream The stream object + \param a_Val The value object to be streamed + + This function is only present if _UNICODE is not defined. + */ + std::ostream& operator<<(std::ostream &a_Stream, const IToken &tok) + { + return a_Stream << tok.ToString(); + } + +#else + + //--------------------------------------------------------------------------- + /** \brief Overloaded streaming operator for outputting the value type + into an std::ostream. + \param a_Stream The stream object + \param a_Val The value object to be streamed + + This function is only present if _UNICODE is defined. + */ + std::wostream& operator<<(std::wostream &a_Stream, const IToken &tok) + { + return a_Stream << tok.ToString(); + } +#endif + +#ifdef MUP_LEAKAGE_REPORT + + void IToken::LeakageReport() + { + using namespace std; + + console() << "\n"; + console() << "Memory leakage report:\n\n"; + if (IToken::s_Tokens.size()) + { + list::const_iterator item = IToken::s_Tokens.begin(); + std::vector stat(cmCOUNT, 0); + for (; item!=IToken::s_Tokens.end(); ++item) + { + console() << "Addr: 0x" << hex << *item << " Ident: \"" << (*item)->GetIdent() << "\""; + console() << "\tCode: " << g_sCmdCode[(*item)->GetCode()] << "\n"; + stat[(*item)->GetCode()]++; + } + console() << "Leaked tokens: " << dec << (int)IToken::s_Tokens.size() << std::endl; + + for (int i=0; i::iterator it = std::find(IToken::s_Tokens.begin(), IToken::s_Tokens.end(), this); + IToken::s_Tokens.remove(this); +#endif + } + + //------------------------------------------------------------------------------ + /** \brief Copy constructor. + \param ref The token to copy basic state information from. + + The copy constructor must be implemented in order not to screw up + the reference count of the created object. CC's are used in the + Clone function and they would start with a reference count != 0 + introducing memory leaks if the default CC where used. + */ + IToken::IToken(const IToken &ref) + { + m_eCode = ref.m_eCode; + m_sIdent = ref.m_sIdent; + m_flags = ref.m_flags; + m_nPosExpr = ref.m_nPosExpr; + + // The following items must be initialised + // (rather than just beeing copied) + m_nRefCount = 0; + } + + //------------------------------------------------------------------------------ + void IToken::ResetRef() + { + m_nRefCount = 0; + } + + //------------------------------------------------------------------------------ + void IToken::Release() + { + delete this; + } + + //------------------------------------------------------------------------------ + string_type IToken::ToString() const + { + return AsciiDump(); + } + + //------------------------------------------------------------------------------ + int IToken::GetExprPos() const + { + return m_nPosExpr; + } + + //------------------------------------------------------------------------------ + void IToken::SetExprPos(int nPos) + { + m_nPosExpr = nPos; + } + + //------------------------------------------------------------------------------ + /** \brief return the token code. + + \sa ECmdCode + */ + ECmdCode IToken::GetCode() const + { + return m_eCode; + } + + //------------------------------------------------------------------------------ + /** \brief Return the token identifier string. */ + const string_type& IToken::GetIdent() const + { + return m_sIdent; + } + + //------------------------------------------------------------------------------ + void IToken::SetIdent(const string_type &a_sIdent) + { + m_sIdent = a_sIdent; + } + + //------------------------------------------------------------------------------ + string_type IToken::AsciiDump() const + { + stringstream_type ss; + ss << g_sCmdCode[m_eCode]; + return ss.str().c_str(); + } + + //------------------------------------------------------------------------------ + void IToken::IncRef() const + { + ++m_nRefCount; + } + + //------------------------------------------------------------------------------ + long IToken::DecRef() const + { + return --m_nRefCount; + } + + //------------------------------------------------------------------------------ + long IToken::GetRef() const + { + return m_nRefCount; + } + + //--------------------------------------------------------------------------- + void IToken::AddFlags(int flags) + { + m_flags |= flags; + } + + //--------------------------------------------------------------------------- + bool IToken::IsFlagSet(int flags) const + { + return (m_flags & flags)==flags; + } + + //--------------------------------------------------------------------------- + ICallback* IToken::AsICallback() + { + return nullptr; + } + + //--------------------------------------------------------------------------- + IValue* IToken::AsIValue() + { + return nullptr; + } + + //--------------------------------------------------------------------------- + IPrecedence* IToken::AsIPrecedence() + { + return nullptr; + } + + //------------------------------------------------------------------------------ + void IToken::Compile(const string_type & /*sArg*/) + { + } + + //--------------------------------------------------------------------------- + // + // Generic token implementation + // + //--------------------------------------------------------------------------- + + GenericToken::GenericToken(ECmdCode a_iCode, string_type a_sIdent) + :IToken(a_iCode, a_sIdent) + {} + + //--------------------------------------------------------------------------- + GenericToken::GenericToken(ECmdCode a_iCode) + :IToken(a_iCode, _T("")) + {} + + //--------------------------------------------------------------------------- + GenericToken::~GenericToken() + {} + + //--------------------------------------------------------------------------- + GenericToken::GenericToken(const GenericToken &a_Tok) + :IToken(a_Tok) + {} + + //--------------------------------------------------------------------------- + IToken* GenericToken::Clone() const + { + return new GenericToken(*this); + } + + //------------------------------------------------------------------------------ + string_type GenericToken::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << _T("]"); + + return ss.str(); + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpIValReader.cpp b/src/third-party/headers/muparserx/mpIValReader.cpp new file mode 100644 index 0000000000..ab6c629e96 --- /dev/null +++ b/src/third-party/headers/muparserx/mpIValReader.cpp @@ -0,0 +1,72 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpIValReader.h" +#include "mpTokenReader.h" + +#include + + +MUP_NAMESPACE_START + +//-------------------------------------------------------------------------------------------- + IValueReader::IValueReader() + :m_pTokenReader(nullptr) + {} + + //-------------------------------------------------------------------------------------------- + IValueReader::~IValueReader() + {} + + //-------------------------------------------------------------------------------------------- + IValueReader::IValueReader(const IValueReader &ref) + { + m_pTokenReader = ref.m_pTokenReader; + } + + //-------------------------------------------------------------------------------------------- + void IValueReader::SetParent(TokenReader *pTokenReader) + { + assert(pTokenReader); + m_pTokenReader = pTokenReader; + } + + //-------------------------------------------------------------------------------------------- + const IToken* IValueReader::TokenHistory(std::size_t pos) const + { + const TokenReader::token_buf_type &buf = m_pTokenReader->GetTokens(); + std::size_t size = buf.size(); + return (pos>=size) ? nullptr : buf[size-1-pos].Get(); + } +} diff --git a/src/third-party/headers/muparserx/mpIValue.cpp b/src/third-party/headers/muparserx/mpIValue.cpp new file mode 100644 index 0000000000..878b3d0889 --- /dev/null +++ b/src/third-party/headers/muparserx/mpIValue.cpp @@ -0,0 +1,449 @@ +/** \file + \brief Implementation of the virtual base class used for all parser values. + +
+                __________                                 ____  ___
+     _____  __ _\______   \_____ _______  ______ __________\   \/  /
+    /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+    |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+    |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+          \/                     \/           \/     \/           \_/
+    Copyright (C) 2016 Ingo Berg
+    All rights reserved.
+
+    muParserX - A C++ math parser library with array and string support
+    Copyright (c) 2016, Ingo Berg
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+ */ +#include "mpIValue.h" + +//--- Standard includes ------------------------------------------------------ +#include +#include +#include +#include + +//--- muParserX framework ----------------------------------------------------- +#include "mpValue.h" +#include "mpError.h" +#include "mpValue.h" + + +MUP_NAMESPACE_START + +#ifndef _UNICODE + +//--------------------------------------------------------------------------- +/** \brief Overloaded streaming operator for outputting the value type + into an std::ostream. + \param a_Stream The stream object + \param a_Val The value object to be streamed + + This function is only present if _UNICODE is not defined. + */ + std::ostream& operator<<(std::ostream &a_Stream, const IValue &a_Val) +{ + return a_Stream << a_Val.ToString(); +} + +#else + +//--------------------------------------------------------------------------- +/** \brief Overloaded streaming operator for outputting the value type + into an std::ostream. + \param a_Stream The stream object + \param a_Val The value object to be streamed + + This function is only present if _UNICODE is defined. + */ + std::wostream& operator<<(std::wostream &a_Stream, const IValue &a_Val) +{ + return a_Stream << a_Val.ToString(); +} +#endif + +//--------------------------------------------------------------------------------------------- +Value operator*(const IValue& lhs, const IValue& rhs) +{ + return Value(lhs) *= rhs; +} + +//--------------------------------------------------------------------------- +IValue::IValue(ECmdCode a_iCode) + :IToken(a_iCode) +{ + assert(a_iCode == cmVAL); +} + +//--------------------------------------------------------------------------- +IValue::IValue(ECmdCode a_iCode, const string_type &a_sIdent) + :IToken(a_iCode, a_sIdent) +{ + assert(a_iCode == cmVAL); +} + +//--------------------------------------------------------------------------- +IValue::~IValue() +{} + +//--------------------------------------------------------------------------- +ICallback* IValue::AsICallback() +{ + return nullptr; +} + +//--------------------------------------------------------------------------- +IValue* IValue::AsIValue() +{ + return this; +} + +//--------------------------------------------------------------------------- +string_type IValue::ToString() const +{ + stringstream_type ss; + switch (GetType()) + { + case 'm': + { + const matrix_type &arr(GetArray()); + + if (arr.GetRows() > 1) + ss << _T("{"); + + for (int i = 0; i < arr.GetRows(); ++i) + { + if (arr.GetCols()>1) + ss << _T("{"); + + for (int j = 0; j < arr.GetCols(); ++j) + { + ss << arr.At(i, j).ToString(); + if (j != arr.GetCols() - 1) + ss << _T(", "); + } + + if (arr.GetCols()>1) + ss << _T("}"); + + if (i != arr.GetRows() - 1) + ss << _T("; "); + } + + if (arr.GetRows() > 1) + ss << _T("} "); + } + break; + + case 'c': + { + float_type re = GetFloat(), + im = GetImag(); + + // realteil nicht ausgeben, wenn es eine rein imaginäre Zahl ist + if (im == 0 || re != 0 || (im == 0 && re == 0)) + ss << re; + + if (im != 0) + { + if (im > 0 && re != 0) + ss << _T("+"); + + if (im != 1) + ss << im; + + ss << _T("i"); + } + } + break; + + case 'i': + case 'f': ss << std::setprecision(std::numeric_limits::digits10) << GetFloat(); break; + case 's': ss << _T("\"") << GetString() << _T("\""); break; + case 'b': ss << ((GetBool() == true) ? _T("true") : _T("false")); break; + case 'v': ss << _T("void"); break; + default: ss << _T("internal error: unknown value type."); break; + } + + return ss.str(); +} + +//--------------------------------------------------------------------------- +bool IValue::operator==(const IValue &a_Val) const +{ + char_type type1 = GetType(), + type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 'i': + case 'f': return GetFloat() == a_Val.GetFloat(); + case 'c': return GetComplex() == a_Val.GetComplex(); + case 's': return GetString() == a_Val.GetString(); + case 'b': return GetBool() == a_Val.GetBool(); + case 'v': return false; + case 'm': if (GetRows() != a_Val.GetRows() || GetCols() != a_Val.GetCols()) + { + return false; + } + else + { + for (int i = 0; i < GetRows(); ++i) + { + if (const_cast(this)->At(i) != const_cast(a_Val).At(i)) + return false; + } + + return true; + } + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type1 = GetType(); + err.Type2 = a_Val.GetType(); + throw ParserError(err); + } // switch this type + } + else + { + return false; + } +} + +//--------------------------------------------------------------------------- +bool IValue::operator!=(const IValue &a_Val) const +{ + char_type type1 = GetType(), + type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 's': return GetString() != a_Val.GetString(); + case 'i': + case 'f': return GetFloat() != a_Val.GetFloat(); + case 'c': return (GetFloat() != a_Val.GetFloat()) || (GetImag() != a_Val.GetImag()); + case 'b': return GetBool() != a_Val.GetBool(); + case 'v': return true; + case 'm': if (GetRows() != a_Val.GetRows() || GetCols() != a_Val.GetCols()) + { + return true; + } + else + { + for (int i = 0; i < GetRows(); ++i) + { + if (const_cast(this)->At(i) != const_cast(a_Val).At(i)) + return true; + } + + return false; + } + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type2 = GetType(); + err.Type1 = a_Val.GetType(); + throw ParserError(err); + } // switch this type + } + else + { + return true; + } +} + +//--------------------------------------------------------------------------- +bool IValue::operator<(const IValue &a_Val) const +{ + char_type type1 = GetType(); + char_type type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 's': return GetString() < a_Val.GetString(); + case 'i': + case 'f': + case 'c': return GetFloat() < a_Val.GetFloat(); + case 'b': return GetBool() < a_Val.GetBool(); + + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type1 = GetType(); + err.Type2 = a_Val.GetType(); + throw ParserError(err); + } // switch this type + } + else + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = (type1 != 'f' && type1 != 'i') ? 1 : 2; + err.Type1 = type2; + err.Type2 = type1; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +bool IValue::operator> (const IValue &a_Val) const +{ + char_type type1 = GetType(), + type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 's': return GetString() > a_Val.GetString(); + case 'i': + case 'f': + case 'c': return GetFloat() > a_Val.GetFloat(); + case 'b': return GetBool() > a_Val.GetBool(); + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type1 = GetType(); + err.Type2 = a_Val.GetType(); + throw ParserError(err); + + } // switch this type + } + else + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = (type1 != 'f' && type1 != 'i') ? 1 : 2; + err.Type1 = type2; + err.Type2 = type1; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +bool IValue::operator>=(const IValue &a_Val) const +{ + char_type type1 = GetType(), + type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 's': return GetString() >= a_Val.GetString(); + case 'i': + case 'f': + case 'c': return GetFloat() >= a_Val.GetFloat(); + case 'b': return GetBool() >= a_Val.GetBool(); + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type1 = GetType(); + err.Type2 = a_Val.GetType(); + throw ParserError(err); + + } // switch this type + } + else + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = (type1 != 'f' && type1 != 'i') ? 1 : 2; + err.Type1 = type2; + err.Type2 = type1; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +bool IValue::operator<=(const IValue &a_Val) const +{ + char_type type1 = GetType(), + type2 = a_Val.GetType(); + + if (type1 == type2 || (IsScalar() && a_Val.IsScalar())) + { + switch (GetType()) + { + case 's': return GetString() <= a_Val.GetString(); + case 'i': + case 'f': + case 'c': return GetFloat() <= a_Val.GetFloat(); + case 'b': return GetBool() <= a_Val.GetBool(); + default: + ErrorContext err; + err.Errc = ecINTERNAL_ERROR; + err.Pos = -1; + err.Type1 = GetType(); + err.Type2 = a_Val.GetType(); + throw ParserError(err); + + } // switch this type + } + else + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT_FUN; + err.Arg = (type1 != 'f' && type1 != 'i') ? 1 : 2; + err.Type1 = type2; + err.Type2 = type1; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +IValue& IValue::operator=(const IValue &ref) +{ + if (this == &ref) + return *this; + + switch (ref.GetType()) + { + case 'i': + case 'f': + case 'c': return *this = cmplx_type(ref.GetFloat(), ref.GetImag()); + case 's': return *this = ref.GetString(); + case 'm': return *this = ref.GetArray(); + case 'b': return *this = ref.GetBool(); + case 'v': + throw ParserError(_T("Assignment from void type is not possible")); + + default: + throw ParserError(_T("Internal error: unexpected data type identifier in IValue& operator=(const IValue &ref)")); + } +} + + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpIfThenElse.cpp b/src/third-party/headers/muparserx/mpIfThenElse.cpp new file mode 100644 index 0000000000..3d5a76fc09 --- /dev/null +++ b/src/third-party/headers/muparserx/mpIfThenElse.cpp @@ -0,0 +1,100 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpIfThenElse.h" + +MUP_NAMESPACE_START + + //--------------------------------------------------------------------------- + // + // If part of if-then-else clauses + // + //--------------------------------------------------------------------------- + + TokenIfThenElse::TokenIfThenElse(ECmdCode eCode) + :IToken(eCode, g_sCmdCode[ eCode ]) + ,IPrecedence() + ,m_nOffset() + {} + + //--------------------------------------------------------------------------- + IToken* TokenIfThenElse::Clone() const + { + return new TokenIfThenElse(*this); + } + + //--------------------------------------------------------------------------- + void TokenIfThenElse::SetOffset(int nOffset) + { + m_nOffset = nOffset; + } + + //--------------------------------------------------------------------------- + int TokenIfThenElse::GetOffset() const + { + return m_nOffset; + } + + //--------------------------------------------------------------------------- + string_type TokenIfThenElse::AsciiDump() const + { + stringstream_type ss; + + ss << GetIdent(); + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; offset=") << m_nOffset; + ss << _T("]"); + return ss.str(); + } + + //--------------------------------------------------------------------------- + int TokenIfThenElse::GetPri() const + { + return (int)prIF_THEN_ELSE; + } + + //--------------------------------------------------------------------------- + EOprtAsct TokenIfThenElse::GetAssociativity() const + { + return oaNONE; + } + + //--------------------------------------------------------------------------- + IPrecedence* TokenIfThenElse::AsIPrecedence() + { + return this; + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpOprtBinAssign.cpp b/src/third-party/headers/muparserx/mpOprtBinAssign.cpp new file mode 100644 index 0000000000..18fed101c9 --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtBinAssign.cpp @@ -0,0 +1,249 @@ +/** \file + \brief This file contains the implementation of binary assignment + operators used in muParser. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016, Ingo Berg
+                                       All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpOprtBinAssign.h" + + +MUP_NAMESPACE_START + + //--------------------------------------------------------------------- + // + // class OprtAssign + // + //--------------------------------------------------------------------- + + OprtAssign::OprtAssign() + :IOprtBin(_T("="), (int)prASSIGN, oaLEFT) + {} + + //--------------------------------------------------------------------- + const char_type* OprtAssign::GetDesc() const + { + return _T("'=' assignement operator"); + } + + //--------------------------------------------------------------------- + IToken* OprtAssign::Clone() const + { + return new OprtAssign(*this); + } + + //--------------------------------------------------------------------- + void OprtAssign::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + Variable *pVar = dynamic_cast(a_pArg[0].Get()); + + // assigment to non variable type + if (!pVar) + { + ErrorContext err; + err.Arg = 1; + err.Ident = _T("="); + err.Errc = ecASSIGNEMENT_TO_VALUE; + throw ParserError(err); + } + + *pVar = *a_pArg[1]; //pVar->SetFloat(a_pArg[1]->GetFloat()); + *ret = *pVar; + } + + //--------------------------------------------------------------------- + // + // class OprtAssignAdd + // + //--------------------------------------------------------------------- + + OprtAssignAdd::OprtAssignAdd() + :IOprtBin(_T("+="), (int)prASSIGN, oaLEFT) + {} + + //--------------------------------------------------------------------- + void OprtAssignAdd::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) + { + Variable *pVar = dynamic_cast(a_pArg[0].Get()); + + // assigment to non variable type + if (!pVar) + { + ErrorContext err; + err.Arg = 1; + err.Ident = _T("+="); + err.Errc = ecASSIGNEMENT_TO_VALUE; + throw ParserError(err); + } + + *pVar = cmplx_type(a_pArg[0]->GetFloat() + a_pArg[1]->GetFloat(), + a_pArg[0]->GetImag() + a_pArg[1]->GetImag()); + *ret = *pVar; + } + + //--------------------------------------------------------------------- + const char_type* OprtAssignAdd::GetDesc() const + { + return _T("assignement operator"); + } + + //--------------------------------------------------------------------- + IToken* OprtAssignAdd::Clone() const + { + return new OprtAssignAdd(*this); + } + + //--------------------------------------------------------------------- + // + // class OprtAssignAdd + // + //--------------------------------------------------------------------- + + OprtAssignSub::OprtAssignSub() + :IOprtBin(_T("-="), (int)prASSIGN, oaLEFT) + {} + + //--------------------------------------------------------------------- + void OprtAssignSub::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) + { + Variable *pVar = dynamic_cast(a_pArg[0].Get()); + if (!pVar) + { + ErrorContext err; + err.Arg = 1; + err.Ident = _T("-="); + err.Errc = ecASSIGNEMENT_TO_VALUE; + throw ParserError(err); + } + + *pVar = cmplx_type(a_pArg[0]->GetFloat() - a_pArg[1]->GetFloat(), + a_pArg[0]->GetImag() - a_pArg[1]->GetImag()); + *ret = *pVar; + } + + //--------------------------------------------------------------------- + const char_type* OprtAssignSub::GetDesc() const + { + return _T("assignement operator"); + } + + //--------------------------------------------------------------------- + IToken* OprtAssignSub::Clone() const + { + return new OprtAssignSub(*this); + } + + //--------------------------------------------------------------------- + // + // class OprtAssignAdd + // + //--------------------------------------------------------------------- + + OprtAssignMul::OprtAssignMul() + :IOprtBin(_T("*="), (int)prASSIGN, oaLEFT) + {} + + //--------------------------------------------------------------------- + void OprtAssignMul::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) + { + Variable *pVar = dynamic_cast(a_pArg[0].Get()); + if (!pVar) + { + ErrorContext err; + err.Arg = 1; + err.Ident = _T("*="); + err.Errc = ecASSIGNEMENT_TO_VALUE; + throw ParserError(err); + } + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[0]->GetImag(), + c = a_pArg[1]->GetFloat(), + d = a_pArg[1]->GetImag(); + *pVar = cmplx_type(a*c-b*d, a*d-b*c); + *ret = *pVar; + } + + //--------------------------------------------------------------------- + const char_type* OprtAssignMul::GetDesc() const + { + return _T("multiply and assign operator"); + } + + //--------------------------------------------------------------------- + IToken* OprtAssignMul::Clone() const + { + return new OprtAssignMul(*this); + } + + //--------------------------------------------------------------------- + // + // class OprtAssignDiv + // + //--------------------------------------------------------------------- + + OprtAssignDiv::OprtAssignDiv() : IOprtBin(_T("/="), (int)prASSIGN, oaLEFT) + {} + + //------------------------------------------------------------------------------ + void OprtAssignDiv::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) + { + Variable *pVar = dynamic_cast(a_pArg[0].Get()); + if (!pVar) + { + ErrorContext err; + err.Arg = 1; + err.Ident = _T("/="); + err.Errc = ecASSIGNEMENT_TO_VALUE; + throw ParserError(err); + } + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[0]->GetImag(), + c = a_pArg[1]->GetFloat(), + d = a_pArg[1]->GetImag(), + n = c*c + d*d; + *pVar = cmplx_type((a*c+b*d)/n, (b*c-a*d)/n); + *ret = *pVar; + } + + //------------------------------------------------------------------------------ + const char_type* OprtAssignDiv::GetDesc() const + { + return _T("multiply and divide operator"); + } + + //------------------------------------------------------------------------------ + IToken* OprtAssignDiv::Clone() const + { + return new OprtAssignDiv(*this); + } +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpOprtBinCommon.cpp b/src/third-party/headers/muparserx/mpOprtBinCommon.cpp new file mode 100644 index 0000000000..c1d6e225a2 --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtBinCommon.cpp @@ -0,0 +1,589 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ +#include "mpOprtBinCommon.h" +#include +#include + + +MUP_NAMESPACE_START + +//----------------------------------------------------------------------------------------------- +// +// class OprtStrAdd +// +//----------------------------------------------------------------------------------------------- + +OprtStrAdd::OprtStrAdd() +:IOprtBin(_T("//"), (int)prADD_SUB, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtStrAdd::Eval(ptr_val_type& ret, const ptr_val_type *arg, int argc) +{ + MUP_VERIFY(argc == 2); + string_type a = arg[0]->GetString(); + string_type b = arg[1]->GetString(); + *ret = a + b; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtStrAdd::GetDesc() const +{ + return _T("string concatenation"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtStrAdd::Clone() const +{ + return new OprtStrAdd(*this); +} + + +//----------------------------------------------------------------------------------------------- +// +// class OprtEQ +// +//----------------------------------------------------------------------------------------------- + +OprtEQ::OprtEQ() + :IOprtBin(_T("=="), (int)prRELATIONAL1, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtEQ::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] == *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtEQ::GetDesc() const +{ + return _T("equals operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtEQ::Clone() const +{ + return new OprtEQ(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtNEQ +// +//----------------------------------------------------------------------------------------------- + +OprtNEQ::OprtNEQ() + :IOprtBin(_T("!="), (int)prRELATIONAL1, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtNEQ::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] != *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtNEQ::GetDesc() const +{ + return _T("not equal operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtNEQ::Clone() const +{ + return new OprtNEQ(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtLT +// +//----------------------------------------------------------------------------------------------- + +OprtLT::OprtLT() + :IOprtBin(_T("<"), (int)prRELATIONAL2, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtLT::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] < *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtLT::GetDesc() const +{ + return _T("less than operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtLT::Clone() const +{ + return new OprtLT(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtGT +// +//----------------------------------------------------------------------------------------------- + +OprtGT::OprtGT() + :IOprtBin(_T(">"), (int)prRELATIONAL2, oaLEFT) {} + +//----------------------------------------------------------------------------------------------- +void OprtGT::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] > *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtGT::GetDesc() const +{ + return _T("greater than operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtGT::Clone() const +{ + return new OprtGT(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtLE +// +//----------------------------------------------------------------------------------------------- + +OprtLE::OprtLE() + :IOprtBin(_T("<="), (int)prRELATIONAL2, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtLE::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] <= *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtLE::GetDesc() const +{ + return _T("less or equal operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtLE::Clone() const +{ + return new OprtLE(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtGE +// +//----------------------------------------------------------------------------------------------- + +OprtGE::OprtGE() + :IOprtBin(_T(">="), (int)prRELATIONAL2, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtGE::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int) +{ + *ret = *a_pArg[0] >= *a_pArg[1]; +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtGE::GetDesc() const +{ + return _T("greater or equal operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtGE::Clone() const +{ + return new OprtGE(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtAnd +// +//----------------------------------------------------------------------------------------------- + +OprtAnd::OprtAnd() + :IOprtBin(_T("&"), (int)prBIT_AND, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtAnd::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + + if (!a_pArg[0]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (!a_pArg[1]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[1]->GetFloat(); + + if (a != (int_type)a) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, a_pArg[0]->GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (b != (int_type)b) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, a_pArg[1]->GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + *ret = (float_type)((int_type)a & (int_type)(b)); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtAnd::GetDesc() const +{ + return _T("bitwise and"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtAnd::Clone() const +{ + return new OprtAnd(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtOr +// +//----------------------------------------------------------------------------------------------- + +OprtOr::OprtOr() + :IOprtBin(_T("|"), (int)prBIT_OR, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtOr::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + + if (!a_pArg[0]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (!a_pArg[1]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[1]->GetFloat(); + + if (a != (int_type)a) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, a_pArg[0]->GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (b != (int_type)b) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, a_pArg[1]->GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + *ret = (float_type)((int_type)a | (int_type)(b)); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtOr::GetDesc() const +{ + return _T("bitwise or"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtOr::Clone() const +{ + return new OprtOr(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtLOr +// +//----------------------------------------------------------------------------------------------- + +OprtLOr::OprtLOr(const char_type *szIdent) + :IOprtBin(szIdent, (int)prLOGIC_OR, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtLOr::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + *ret = a_pArg[0]->GetBool() || a_pArg[1]->GetBool(); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtLOr::GetDesc() const +{ + return _T("logical or"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtLOr::Clone() const +{ + return new OprtLOr(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtLAnd +// +//----------------------------------------------------------------------------------------------- + +OprtLAnd::OprtLAnd(const char_type *szIdent) + :IOprtBin(szIdent, (int)prLOGIC_AND, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtLAnd::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + *ret = a_pArg[0]->GetBool() && a_pArg[1]->GetBool(); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtLAnd::GetDesc() const +{ + return _T("logical and"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtLAnd::Clone() const +{ + return new OprtLAnd(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtShl +// +//----------------------------------------------------------------------------------------------- + +OprtShl::OprtShl() + :IOprtBin(_T("<<"), (int)prSHIFT, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtShl::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + + if (!a_pArg[0]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (!a_pArg[1]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[1]->GetFloat(); + + if (a != (int_type)a) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), a_pArg[0]->GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (b != (int_type)b) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), a_pArg[1]->GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type result = a*std::pow(2, b); + int numDigits = std::numeric_limits::digits10; + + if (std::fabs(result) >= std::fabs(std::pow(10.0, numDigits))) + throw ParserError(ErrorContext(ecOVERFLOW, GetExprPos(), GetIdent())); + + if (result > 0) + { + *ret = std::floor(result); + } + else + { + *ret = std::ceil(result); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtShl::GetDesc() const +{ + return _T("shift left"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtShl::Clone() const +{ + return new OprtShl(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// class OprtShr +// +//----------------------------------------------------------------------------------------------- + +OprtShr::OprtShr() + :IOprtBin(_T(">>"), (int)prSHIFT, oaLEFT) +{} + +//----------------------------------------------------------- +void OprtShr::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + MUP_VERIFY(num == 2); + + if (!a_pArg[0]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (!a_pArg[1]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[1]->GetFloat(); + + if (a != (int_type)a) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), a_pArg[0]->GetIdent(), a_pArg[0]->GetType(), 'i', 1)); + + if (b != (int_type)b) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), a_pArg[1]->GetIdent(), a_pArg[1]->GetType(), 'i', 2)); + + float_type result = a*std::pow(2, -b); + int numDigits = std::numeric_limits::digits10; + + if (std::fabs(result) >= std::fabs(std::pow(10.0, numDigits))) + throw ParserError(ErrorContext(ecOVERFLOW, GetExprPos(), GetIdent())); + + if (result > 0) + *ret = std::floor(result); + else + *ret = std::ceil(result); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtShr::GetDesc() const +{ + return _T("shift right"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtShr::Clone() const +{ + return new OprtShr(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// Cast To Float +// +//----------------------------------------------------------------------------------------------- + +OprtCastToFloat::OprtCastToFloat() + :IOprtInfix(_T("(float)"), prINFIX) +{} + +//----------------------------------------------------------------------------------------------- +void OprtCastToFloat::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int /*a_iArgc*/) +{ + switch (a_pArg[0]->GetType()) + { + case 'i': + case 'f': + case 'b': + *ret = a_pArg[0]->GetFloat(); + break; + + default: + { + ErrorContext err; + err.Errc = ecINVALID_TYPECAST; + err.Type1 = a_pArg[0]->GetType(); + err.Type2 = 'f'; + throw ParserError(err); + } + } // switch value type +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtCastToFloat::GetDesc() const +{ + return _T("cast a value into a floating point number"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtCastToFloat::Clone() const +{ + return new OprtCastToFloat(*this); +} + +//----------------------------------------------------------------------------------------------- +// +// Cast To Int +// +//----------------------------------------------------------------------------------------------- + +OprtCastToInt::OprtCastToInt() + :IOprtInfix(_T("(int)"), prINFIX) +{} + +//----------------------------------------------------------------------------------------------- +void OprtCastToInt::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int /*a_iArgc*/) +{ + switch (a_pArg[0]->GetType()) + { + case 'f': + case 'i': + case 'b': + *ret = (float_type)((int_type)a_pArg[0]->GetFloat()); + break; + + default: + { + ErrorContext err; + err.Errc = ecINVALID_TYPECAST; + err.Type1 = a_pArg[0]->GetType(); + err.Type2 = 'i'; + throw ParserError(err); + } + } // switch value type +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtCastToInt::GetDesc() const +{ + return _T("cast a value into a floating point number"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtCastToInt::Clone() const +{ + return new OprtCastToInt(*this); +} + +} diff --git a/src/third-party/headers/muparserx/mpOprtCmplx.cpp b/src/third-party/headers/muparserx/mpOprtCmplx.cpp new file mode 100644 index 0000000000..dfc6da5a44 --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtCmplx.cpp @@ -0,0 +1,321 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + */ +#include "mpOprtCmplx.h" +#include +#include + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------------------------- +// +// class OprtSignCmplx +// +//------------------------------------------------------------------------------------------------- + +OprtSignCmplx::OprtSignCmplx() +:IOprtInfix(_T("-"), prINFIX) +{} + +//----------------------------------------------------------------------------------------------- +void OprtSignCmplx::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) +{ + MUP_VERIFY(a_iArgc == 1); + + if (a_pArg[0]->IsScalar()) + { + float_type re = a_pArg[0]->GetFloat(); + float_type im = a_pArg[0]->GetImag(); + + // Do not omit the test for zero! Multiplying 0 with -1 + // will yield -0 on IEEE754 compliant implementations! + // This would change the result of complex calculations: + // + // i.e. sqrt(-1 + (-0)i) != sqrt(-1 + 0i) + // -i != i + cmplx_type v((re == 0) ? 0 : -re, (im == 0) ? 0 : -im); + *ret = v; + } + else if (a_pArg[0]->GetType() == 'm') + { + Value v(a_pArg[0]->GetRows(), 0); + for (int i = 0; i < a_pArg[0]->GetRows(); ++i) + { + v.At(i) = a_pArg[0]->At(i).GetComplex() * (float_type)-1.0; + } + *ret = v; + } + else + { + ErrorContext err; + err.Errc = ecINVALID_TYPE; + err.Type1 = a_pArg[0]->GetType(); + err.Type2 = 's'; + throw ParserError(err); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtSignCmplx::GetDesc() const +{ + return _T("negative sign operator"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtSignCmplx::Clone() const +{ + return new OprtSignCmplx(*this); +} + +//------------------------------------------------------------------------------------------------- +// +// class OprtAddCmplx +// +//------------------------------------------------------------------------------------------------- + +OprtAddCmplx::OprtAddCmplx() +:IOprtBin(_T("+"), (int)prADD_SUB, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtAddCmplx::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int num) +{ + assert(num == 2); + + const IValue *arg1 = a_pArg[0].Get(); + const IValue *arg2 = a_pArg[1].Get(); + + if (arg1->IsNonComplexScalar() && arg2->IsNonComplexScalar()) + { + *ret = arg1->GetFloat() + arg2->GetFloat(); + } + else if (arg1->GetType() == 'm' && arg2->GetType() == 'm') + { + // Matrix + Matrix + *ret = arg1->GetArray() + arg2->GetArray(); + } + else + { + if (!arg1->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), arg1->GetType(), 'c', 1)); + + if (!arg2->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), arg2->GetType(), 'c', 2)); + + *ret = cmplx_type(arg1->GetFloat() + arg2->GetFloat(), + arg1->GetImag() + arg2->GetImag()); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtAddCmplx::GetDesc() const +{ + return _T("addition"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtAddCmplx::Clone() const +{ + return new OprtAddCmplx(*this); +} + +//------------------------------------------------------------------------------------------------- +// +// class OprtSubCmplx +// +//------------------------------------------------------------------------------------------------- + +OprtSubCmplx::OprtSubCmplx() +:IOprtBin(_T("-"), (int)prADD_SUB, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtSubCmplx::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + assert(num == 2); + + const IValue *arg1 = a_pArg[0].Get(); + const IValue *arg2 = a_pArg[1].Get(); + if (a_pArg[0]->IsNonComplexScalar() && a_pArg[1]->IsNonComplexScalar()) + { + *ret = arg1->GetFloat() - arg2->GetFloat(); + } + else if (a_pArg[0]->GetType() == 'm' && a_pArg[1]->GetType() == 'm') + { + // Matrix + Matrix + *ret = arg1->GetArray() - arg2->GetArray(); + } + else + { + if (!a_pArg[0]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[0]->GetType(), 'c', 1)); + + if (!a_pArg[1]->IsScalar()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), a_pArg[1]->GetType(), 'c', 2)); + + *ret = cmplx_type(a_pArg[0]->GetFloat() - a_pArg[1]->GetFloat(), + a_pArg[0]->GetImag() - a_pArg[1]->GetImag()); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtSubCmplx::GetDesc() const +{ + return _T("subtraction"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtSubCmplx::Clone() const +{ + return new OprtSubCmplx(*this); +} + +//------------------------------------------------------------------------------------------------- +// +// class OprtMulCmplx +// +//------------------------------------------------------------------------------------------------- + +OprtMulCmplx::OprtMulCmplx() +:IOprtBin(_T("*"), (int)prMUL_DIV, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtMulCmplx::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + assert(num == 2); + IValue *arg1 = a_pArg[0].Get(); + IValue *arg2 = a_pArg[1].Get(); + *ret = (*arg1) * (*arg2); +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtMulCmplx::GetDesc() const +{ + return _T("foo*bar - multiplication"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtMulCmplx::Clone() const +{ + return new OprtMulCmplx(*this); +} + +//------------------------------------------------------------------------------------------------- +// +// class OprtDivCmplx +// +//------------------------------------------------------------------------------------------------- + + +OprtDivCmplx::OprtDivCmplx() +:IOprtBin(_T("/"), (int)prMUL_DIV, oaLEFT) +{} + +//----------------------------------------------------------------------------------------------- +/** \brief Implements the Division operator. + \throw ParserError in case one of the arguments if + nonnumeric or an array. + + */ +void OprtDivCmplx::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) +{ + assert(num == 2); + + if (a_pArg[0]->IsNonComplexScalar() && a_pArg[1]->IsNonComplexScalar()) + { + *ret = a_pArg[0]->GetFloat() / a_pArg[1]->GetFloat(); + } + else + { + // multiplication of two imaginary numbers + float_type a = a_pArg[0]->GetFloat(), + b = a_pArg[0]->GetImag(), + c = a_pArg[1]->GetFloat(), + d = a_pArg[1]->GetImag(), + n = c*c + d*d; + *ret = cmplx_type((a*c + b*d) / n, (b*c - a*d) / n); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtDivCmplx::GetDesc() const +{ + return _T("division"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtDivCmplx::Clone() const +{ + return new OprtDivCmplx(*this); +} + +//------------------------------------------------------------------------------------------------- +// +// class OprtPowCmplx +// +//------------------------------------------------------------------------------------------------- + +OprtPowCmplx::OprtPowCmplx() +:IOprtBin(_T("^"), (int)prPOW, oaRIGHT) +{} + +//----------------------------------------------------------------------------------------------- +void OprtPowCmplx::Eval(ptr_val_type& ret, const ptr_val_type *arg, int argc) +{ + assert(argc == 2); + + if (arg[0]->IsComplex() || arg[1]->IsComplex() || (arg[0]->GetFloat() < 0 && !arg[1]->IsInteger())) + { + *ret = std::pow(arg[0]->GetComplex(), arg[1]->GetComplex());; + } + else + { + *ret = std::pow(arg[0]->GetFloat(), arg[1]->GetFloat()); + } +} + +//----------------------------------------------------------------------------------------------- +const char_type* OprtPowCmplx::GetDesc() const +{ + return _T("raise x to the power of y"); +} + +//----------------------------------------------------------------------------------------------- +IToken* OprtPowCmplx::Clone() const +{ + return new OprtPowCmplx(*this); +} + +} // namespace diff --git a/src/third-party/headers/muparserx/mpOprtIndex.cpp b/src/third-party/headers/muparserx/mpOprtIndex.cpp new file mode 100644 index 0000000000..56700636af --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtIndex.cpp @@ -0,0 +1,117 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpOprtIndex.h" +#include "mpVariable.h" + +MUP_NAMESPACE_START + + //----------------------------------------------------------------------------------------------- + // + // class OprtIndex + // + //----------------------------------------------------------------------------------------------- + + OprtIndex::OprtIndex() + :ICallback(cmIC, _T("Index operator"), -1) + {} + + //----------------------------------------------------------------------------------------------- + /** \brief Index operator implementation + \param ret A reference to the return value + \param a_pArg Pointer to an array with the indices as ptr_val_type + \param a_iArgc Number of indices (=dimension) actully used in the expression found. This must + be 1 or 2 since three dimensional data structures are not supported by muParserX. + */ + void OprtIndex::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + try + { + int rows = a_pArg[-1]->GetRows(); + int cols = a_pArg[-1]->GetCols(); + bool bArgIsVariable = a_pArg[-1]->IsVariable(); + + // If the index operator is applied to a variable the return value is also a variable + // pointing to a specific cell in the matrix. If the operator is applied to a value + // the return value is also a value. + switch (a_iArgc) + { + case 1: + if (cols == 1) + { + if (bArgIsVariable) + ret.Reset(new Variable(&(ret->At(*a_pArg[0], Value(0.0))))); + else + *ret = ret->At(*a_pArg[0], Value(0.0)); + } + else if (rows == 1) + { + if (bArgIsVariable) + ret.Reset(new Variable(&(ret->At(Value(0.0), *a_pArg[0])))); + else + *ret = ret->At(Value(0.0), *a_pArg[0]); + } + else + { + throw ParserError(ErrorContext(ecINDEX_DIMENSION, -1, GetIdent())); + } + break; + + case 2: + if (bArgIsVariable) + ret.Reset(new Variable(&(ret->At(*a_pArg[0], *a_pArg[1])))); + else + *ret = ret->At(*a_pArg[0], *a_pArg[1]); + break; + + default: + throw ParserError(ErrorContext(ecINDEX_DIMENSION, -1, GetIdent())); + } + } + catch(ParserError &exc) + { + exc.GetContext().Pos = GetExprPos(); + throw exc; + } + } + + //----------------------------------------------------------------------------------------------- + const char_type* OprtIndex::GetDesc() const + { + return _T("[,] - The index operator."); + } + + //----------------------------------------------------------------------------------------------- + IToken* OprtIndex::Clone() const + { + return new OprtIndex(*this); + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpOprtMatrix.cpp b/src/third-party/headers/muparserx/mpOprtMatrix.cpp new file mode 100644 index 0000000000..b06ed6f06c --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtMatrix.cpp @@ -0,0 +1,182 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpOprtMatrix.h" + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------------------------- +// +// class OprtTranspose +// +//------------------------------------------------------------------------------------------------- + + OprtTranspose::OprtTranspose() + :IOprtPostfix(_T("'")) + {} + + //------------------------------------------------------------------------------------------------- + void OprtTranspose::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int /*a_iArgc*/) + { + if (a_pArg[0]->IsMatrix()) + { + matrix_type matrix = a_pArg[0]->GetArray(); + matrix.Transpose(); + *ret = matrix; + } + else + *ret = *a_pArg[0]; + } + + //------------------------------------------------------------------------------------------------- + const char_type* OprtTranspose::GetDesc() const + { + return _T("foo' - An operator for transposing a matrix."); + } + + //------------------------------------------------------------------------------------------------- + IToken* OprtTranspose::Clone() const + { + return new OprtTranspose(*this); + } + + //----------------------------------------------------------------------------------------------- + // + // class OprtCreateArray + // + //----------------------------------------------------------------------------------------------- + + OprtCreateArray::OprtCreateArray() + :ICallback(cmCBC, _T("Array constructor"), -1) + {} + + //----------------------------------------------------------------------------------------------- + /** \brief Index operator implementation + \param ret A reference to the return value + \param a_pArg Pointer to an array with the indices as ptr_val_type + \param a_iArgc Number of indices (=dimension) actully used in the expression found. This must + be 1 or 2 since three dimensional data structures are not supported by muParserX. + */ + void OprtCreateArray::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + try + { + // The index is -1. + if (a_iArgc <= 0) + { + throw ParserError(ErrorContext(ecINVALID_PARAMETER, -1, GetIdent())); + } + + matrix_type m(a_iArgc, 1, 0.0); + for (int i = 0; i < a_iArgc; ++i) + { + if (a_pArg[i]->GetDim() != 0) + { + // Prevent people from using this constructor for matrix creation. + // This would not work as expected and i dont't want them + // to get used to awkward workarounds. It's just not working right now ok? + ErrorContext errc(ecINVALID_PARAMETER, -1, GetIdent()); + errc.Arg = i+1; + throw ParserError(errc); + } + + m.At(i) = *a_pArg[i]; + } + m.Transpose(); + + *ret = m; + } + catch (ParserError &exc) + { + exc.GetContext().Pos = GetExprPos(); + throw exc; + } + } + + //----------------------------------------------------------------------------------------------- + const char_type* OprtCreateArray::GetDesc() const + { + return _T("{,} - Array construction operator."); + } + + //----------------------------------------------------------------------------------------------- + IToken* OprtCreateArray::Clone() const + { + return new OprtCreateArray(*this); + } + +//----------------------------------------------------------- +// +// class OprtColon +// +//----------------------------------------------------------- + + OprtColon::OprtColon() + :IOprtBin(_T("~"), (int)prCOLON, oaLEFT) + {} + + //----------------------------------------------------------- + void OprtColon::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int num) + { + assert(num==2); + + const IValue *argMin = a_pArg[0].Get(); + const IValue *argMax = a_pArg[1].Get(); + + if (!argMin->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), argMin->GetType(), 'i', 1)); + + if (!argMax->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), argMax->GetType(), 'i', 1)); + + if (*argMax < *argMin) + throw ParserError(_T("Colon operator: Maximum value smaller than Minimum!")); + + int n = (int)(argMax->GetFloat() - argMin->GetFloat()) + 1; + matrix_type arr(n); + for (int i=0; iGetFloat() + i; + + *ret = arr; + } + + //----------------------------------------------------------- + const char_type* OprtColon::GetDesc() const + { + return _T(": - Colon operator"); + } + + //----------------------------------------------------------- + IToken* OprtColon::Clone() const + { + return new OprtColon(*this); + } +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpOprtNonCmplx.cpp b/src/third-party/headers/muparserx/mpOprtNonCmplx.cpp new file mode 100644 index 0000000000..d58ef632c3 --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtNonCmplx.cpp @@ -0,0 +1,423 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016 Ingo Berg + All rights reserved. + + muParserX - A C++ math parser library with array and string support + Copyright (c) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpOprtNonCmplx.h" + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + // + // Sign operator + // + //------------------------------------------------------------------------------ + + OprtSign::OprtSign() + :IOprtInfix( _T("-"), prINFIX) + {} + + //------------------------------------------------------------------------------ + void OprtSign::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + MUP_VERIFY(a_iArgc == 1); + + if (a_pArg[0]->IsScalar()) + { + *ret = -a_pArg[0]->GetFloat(); + } + else if (a_pArg[0]->GetType()=='m') + { + Value v(a_pArg[0]->GetRows(), 0); + for (int i=0; iGetRows(); ++i) + { + v.At(i) = -a_pArg[0]->At(i).GetFloat(); + } + *ret = v; + } + else + { + ErrorContext err; + err.Errc = ecINVALID_TYPE; + err.Type1 = a_pArg[0]->GetType(); + err.Type2 = 's'; + throw ParserError(err); + } + } + + //------------------------------------------------------------------------------ + const char_type* OprtSign::GetDesc() const + { + return _T("-x - negative sign operator"); + } + + //------------------------------------------------------------------------------ + IToken* OprtSign::Clone() const + { + return new OprtSign(*this); + } + + //------------------------------------------------------------------------------ + // + // Sign operator + // + //------------------------------------------------------------------------------ + + OprtSignPos::OprtSignPos() + :IOprtInfix( _T("+"), prINFIX) + {} + + //------------------------------------------------------------------------------ + void OprtSignPos::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int a_iArgc) + { + MUP_VERIFY(a_iArgc == 1); + + if (a_pArg[0]->IsScalar()) + { + *ret = a_pArg[0]->GetFloat(); + } + else if (a_pArg[0]->GetType()=='m') + { + Value v(a_pArg[0]->GetRows(), 0); + for (int i=0; iGetRows(); ++i) + { + v.At(i) = a_pArg[0]->At(i).GetFloat(); + } + *ret = v; + } + else + { + ErrorContext err; + err.Errc = ecINVALID_TYPE; + err.Type1 = a_pArg[0]->GetType(); + err.Type2 = 's'; + throw ParserError(err); + } + } + + //------------------------------------------------------------------------------ + const char_type* OprtSignPos::GetDesc() const + { + return _T("+x - positive sign operator"); + } + + //------------------------------------------------------------------------------ + IToken* OprtSignPos::Clone() const + { + return new OprtSignPos(*this); + } + +//----------------------------------------------------------- +// +// class OprtAdd +// +//----------------------------------------------------------- + + OprtAdd::OprtAdd() + :IOprtBin(_T("+"), (int)prADD_SUB, oaLEFT) + {} + + //----------------------------------------------------------- + void OprtAdd::Eval(ptr_val_type& ret, const ptr_val_type *a_pArg, int num) + { + assert(num==2); + + const IValue *arg1 = a_pArg[0].Get(); + const IValue *arg2 = a_pArg[1].Get(); + if (arg1->GetType()=='m' && arg2->GetType()=='m') + { + // Vector + Vector + const matrix_type &a1 = arg1->GetArray(), + &a2 = arg2->GetArray(); + if (a1.GetRows()!=a2.GetRows()) + throw ParserError(ErrorContext(ecARRAY_SIZE_MISMATCH, -1, GetIdent(), 'm', 'm', 2)); + + matrix_type rv(a1.GetRows()); + for (int i=0; iIsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), arg1->GetType(), 'f', 1)); + + if (!arg2->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), arg2->GetType(), 'f', 2)); + + *ret = arg1->GetFloat() + arg2->GetFloat(); + } + } + + //----------------------------------------------------------- + const char_type* OprtAdd::GetDesc() const + { + return _T("x+y - Addition for noncomplex values"); + } + + //----------------------------------------------------------- + IToken* OprtAdd::Clone() const + { + return new OprtAdd(*this); + } + +//----------------------------------------------------------- +// +// class OprtSub +// +//----------------------------------------------------------- + + OprtSub::OprtSub() + :IOprtBin(_T("-"), (int)prADD_SUB, oaLEFT) + {} + + //----------------------------------------------------------- + void OprtSub::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) + { + assert(num==2); + + if (a_pArg[0]->GetType()=='m' && a_pArg[1]->GetType()=='m') + { + const matrix_type &a1 = a_pArg[0]->GetArray(), + &a2 = a_pArg[1]->GetArray(); + if (a1.GetRows()!=a2.GetRows()) + throw ParserError(ErrorContext(ecARRAY_SIZE_MISMATCH, -1, GetIdent(), 'm', 'm', 2)); + + matrix_type rv(a1.GetRows()); + for (int i=0; iIsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[0]->GetType(), 'f', 1)); + + if (!a_pArg[1]->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[1]->GetType(), 'f', 2)); + + *ret = a_pArg[0]->GetFloat() - a_pArg[1]->GetFloat(); + } + } + + //----------------------------------------------------------- + const char_type* OprtSub::GetDesc() const + { + return _T("subtraction"); + } + + //----------------------------------------------------------- + IToken* OprtSub::Clone() const + { + return new OprtSub(*this); + } + +//----------------------------------------------------------- +// +// class OprtMul +// +//----------------------------------------------------------- + + OprtMul::OprtMul() + :IOprtBin(_T("*"), (int)prMUL_DIV, oaLEFT) + {} + + //----------------------------------------------------------- + void OprtMul::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) + { + assert(num==2); + IValue *arg1 = a_pArg[0].Get(); + IValue *arg2 = a_pArg[1].Get(); + if (arg1->GetType()=='m' && arg2->GetType()=='m') + { + // Scalar multiplication + matrix_type a1 = arg1->GetArray(); + matrix_type a2 = arg2->GetArray(); + + if (a1.GetRows()!=a2.GetRows()) + throw ParserError(ErrorContext(ecARRAY_SIZE_MISMATCH, -1, GetIdent(), 'm', 'm', 2)); + + float_type val(0); + for (int i=0; iGetType()=='m' && arg2->IsNonComplexScalar()) + { + // Skalar * Vector + matrix_type out(a_pArg[0]->GetArray()); + for (int i=0; iGetFloat(); + + *ret = out; + } + else if (arg2->GetType()=='m' && arg1->IsNonComplexScalar()) + { + // Vector * Skalar + matrix_type out(arg2->GetArray()); + for (int i=0; iGetFloat(); + + *ret = out; + } + else + { + if (!arg1->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), arg1->GetType(), 'f', 1)); + + if (!arg2->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), arg2->GetType(), 'f', 2)); + + *ret = arg1->GetFloat() * arg2->GetFloat(); + } + } + + //----------------------------------------------------------- + const char_type* OprtMul::GetDesc() const + { + return _T("multiplication"); + } + + //----------------------------------------------------------- + IToken* OprtMul::Clone() const + { + return new OprtMul(*this); + } + +//----------------------------------------------------------- +// +// class OprtDiv +// +//----------------------------------------------------------- + + + OprtDiv::OprtDiv() + :IOprtBin(_T("/"), (int)prMUL_DIV, oaLEFT) + {} + + //----------------------------------------------------------- + /** \brief Implements the Division operator. + \throw ParserError in case one of the arguments if + nonnumeric or an array. + + */ + void OprtDiv::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int num) + { + assert(num==2); + + if (!a_pArg[0]->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[0]->GetType(), 'f', 1)); + + if (!a_pArg[1]->IsNonComplexScalar()) + throw ParserError( ErrorContext(ecTYPE_CONFLICT_FUN, -1, GetIdent(), a_pArg[1]->GetType(), 'f', 2)); + + *ret = a_pArg[0]->GetFloat() / a_pArg[1]->GetFloat(); + } + + //----------------------------------------------------------- + const char_type* OprtDiv::GetDesc() const + { + return _T("division"); + } + + //----------------------------------------------------------- + IToken* OprtDiv::Clone() const + { + return new OprtDiv(*this); + } + +//----------------------------------------------------------- +// +// class OprtPow +// +//----------------------------------------------------------- + + OprtPow::OprtPow() + :IOprtBin(_T("^"), (int)prPOW, oaRIGHT) + {} + + //----------------------------------------------------------- + void OprtPow::Eval(ptr_val_type& ret, const ptr_val_type *arg, int argc) + { + assert(argc==2); + float_type a = arg[0]->GetFloat(); + float_type b = arg[1]->GetFloat(); + + int ib = (int)b; + if (b-ib==0) + { + switch (ib) + { + case 1: *ret = a; return; + case 2: *ret = a*a; return; + case 3: *ret = a*a*a; return; + case 4: *ret = a*a*a*a; return; + case 5: *ret = a*a*a*a*a; return; + default: *ret = std::pow(a, ib); return; + } + } + else + *ret = std::pow(a, b); + } + + //----------------------------------------------------------- + const char_type* OprtPow::GetDesc() const + { + return _T("x^y - Raises x to the power of y."); + } + + //----------------------------------------------------------- + IToken* OprtPow::Clone() const + { + return new OprtPow(*this); + } +} diff --git a/src/third-party/headers/muparserx/mpOprtPostfixCommon.cpp b/src/third-party/headers/muparserx/mpOprtPostfixCommon.cpp new file mode 100755 index 0000000000..f8ba01e895 --- /dev/null +++ b/src/third-party/headers/muparserx/mpOprtPostfixCommon.cpp @@ -0,0 +1,112 @@ +#include +#include "mpOprtPostfixCommon.h" + +MUP_NAMESPACE_START + +//----------------------------------------------------------- +// +// class OprtFact +// +//----------------------------------------------------------- + + OprtFact::OprtFact() + :IOprtPostfix(_T("!")) + {} + + //----------------------------------------------------------- + void OprtFact::Eval(ptr_val_type& ret, const ptr_val_type *arg, int) + { + if (!arg[0]->IsInteger()) + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), arg[0]->GetType(), 'i', 1)); + + int_type input = arg[0]->GetInteger(); + float_type input_long = float_type(input); + + if (input < 0) { + throw ParserError(ErrorContext(ecDOMAIN_ERROR, GetExprPos(), + GetIdent())); + } + + float_type result = 1; + for (float_type i = 1.0; i <= input_long; i += 1.0) + { + result *= i; + + // Only throw exceptions if IEEE 754 is not supported. The + // Prefered way of dealing with overflows is relying on: + // + // http://en.wikipedia.org/wiki/IEEE_754-1985 + // + // If the compiler does not support IEEE 754, chances are + // you are running on a pretty fucked up system. + // + #ifdef _MSC_VER + #pragma warning(push) + #pragma warning(disable:4127) + #endif /* _MSC_VER */ + if ( !std::numeric_limits::is_iec559 && + (result>std::numeric_limits::max() || result < 1.0) ) + #ifdef _MSC_VER + #pragma warning(pop) + #endif /* _MSC_VER */ + { + throw ParserError(ErrorContext(ecOVERFLOW, GetExprPos(), GetIdent())); + } + // + } + + *ret = result; + } + + //----------------------------------------------------------- + const char_type* OprtFact::GetDesc() const + { + return _T("x! - Returns factorial of a non-negative integer."); + } + + //----------------------------------------------------------- + IToken* OprtFact::Clone() const + { + return new OprtFact(*this); + } + + //----------------------------------------------------------- + // + // class OprtPercentage + // + //----------------------------------------------------------- + + OprtPercentage::OprtPercentage() + :IOprtPostfix(_T("%")) + {} + + //----------------------------------------------------------- + void OprtPercentage::Eval(ptr_val_type& ret, const ptr_val_type *arg, int) + { + + switch (arg[0]->GetType()) { + case 'i': + case 'f': { + float_type input = arg[0]->GetFloat(); + *ret = input / 100.0; + break; + } + default: + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, GetExprPos(), GetIdent(), arg[0]->GetType(), 'f', 1)); + break; + } + } + + //----------------------------------------------------------- + const char_type* OprtPercentage::GetDesc() const + { + return _T("x% - Returns percentage of integer/float."); + } + + //----------------------------------------------------------- + IToken* OprtPercentage::Clone() const + { + return new OprtPercentage(*this); + } + +} diff --git a/src/third-party/headers/muparserx/mpPackageCmplx.cpp b/src/third-party/headers/muparserx/mpPackageCmplx.cpp new file mode 100644 index 0000000000..29435c48f1 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageCmplx.cpp @@ -0,0 +1,102 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageCmplx.h" + +#include "mpParserBase.h" +#include "mpFuncCmplx.h" +#include "mpOprtCmplx.h" +#include "mpOprtBinCommon.h" + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +std::unique_ptr PackageCmplx::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageCmplx::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageCmplx); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageCmplx::AddToParser(ParserXBase *pParser) +{ + // Constants + pParser->DefineConst( _T("i"), cmplx_type(0.0, 1.0) ); + + // Complex valued functions + pParser->DefineFun(new FunCmplxReal()); + pParser->DefineFun(new FunCmplxImag()); + pParser->DefineFun(new FunCmplxConj()); + pParser->DefineFun(new FunCmplxArg()); + pParser->DefineFun(new FunCmplxNorm()); + pParser->DefineFun(new FunCmplxSin()); + pParser->DefineFun(new FunCmplxCos()); + pParser->DefineFun(new FunCmplxTan()); + pParser->DefineFun(new FunCmplxSinH()); + pParser->DefineFun(new FunCmplxCosH()); + pParser->DefineFun(new FunCmplxTanH()); + pParser->DefineFun(new FunCmplxSqrt()); + pParser->DefineFun(new FunCmplxExp()); + pParser->DefineFun(new FunCmplxLn()); + pParser->DefineFun(new FunCmplxLog()); + pParser->DefineFun(new FunCmplxLog2()); + pParser->DefineFun(new FunCmplxLog10()); + pParser->DefineFun(new FunCmplxAbs()); + pParser->DefineFun(new FunCmplxPow()); + + // Complex valued operators + pParser->DefineOprt(new OprtAddCmplx()); + pParser->DefineOprt(new OprtSubCmplx()); + pParser->DefineOprt(new OprtMulCmplx()); + pParser->DefineOprt(new OprtDivCmplx()); + pParser->DefineOprt(new OprtPowCmplx()); + pParser->DefineInfixOprt(new OprtSignCmplx()); +} + +//------------------------------------------------------------------------------ +string_type PackageCmplx::GetDesc() const +{ + return _T(""); +} + +//------------------------------------------------------------------------------ +string_type PackageCmplx::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpPackageCommon.cpp b/src/third-party/headers/muparserx/mpPackageCommon.cpp new file mode 100644 index 0000000000..30fec3c1c0 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageCommon.cpp @@ -0,0 +1,141 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageCommon.h" + +#include "mpParserBase.h" +#include "mpFuncNonCmplx.h" +#include "mpFuncCommon.h" +#include "mpOprtBinCommon.h" +#include "mpOprtBinAssign.h" +#include "mpOprtPostfixCommon.h" +#include "mpValReader.h" + +/** \brief Pi (what else?). */ +#define MUP_CONST_PI 3.141592653589793238462643 +//#define MUP_CONST_PI 3.14159265358979323846264338327950288419716939937510L + +/** \brief The eulerian number. */ +#define MUP_CONST_E 2.718281828459045235360287 + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +std::unique_ptr PackageCommon::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageCommon::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageCommon); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageCommon::AddToParser(ParserXBase *pParser) +{ + // Readers that need fancy decorations on their values must + // be added first (i.e. hex -> "0x...") Otherwise the + // zero in 0x will be read as a value of zero! + pParser->AddValueReader(new HexValReader); + pParser->AddValueReader(new BinValReader); + pParser->AddValueReader(new DblValReader); + pParser->AddValueReader(new BoolValReader); + + // Constants + pParser->DefineConst( _T("pi"), (float_type)MUP_CONST_PI ); + pParser->DefineConst( _T("e"), (float_type)MUP_CONST_E ); + + // Vector + pParser->DefineFun(new FunSizeOf()); + + // Generic functions + pParser->DefineFun(new FunMax()); + pParser->DefineFun(new FunMin()); + pParser->DefineFun(new FunSum()); + + // misc + pParser->DefineFun(new FunParserID); + + // integer package + pParser->DefineOprt(new OprtLAnd); + pParser->DefineOprt(new OprtLOr); + pParser->DefineOprt(new OprtAnd); + pParser->DefineOprt(new OprtOr); + pParser->DefineOprt(new OprtShr); + pParser->DefineOprt(new OprtShl); + + // booloean package + pParser->DefineOprt(new OprtLE); + pParser->DefineOprt(new OprtGE); + pParser->DefineOprt(new OprtLT); + pParser->DefineOprt(new OprtGT); + pParser->DefineOprt(new OprtEQ); + pParser->DefineOprt(new OprtNEQ); + pParser->DefineOprt(new OprtLAnd(_T("and"))); // add logic and with a different identifier + pParser->DefineOprt(new OprtLOr(_T("or"))); // add logic and with a different identifier +// pParser->DefineOprt(new OprtBXor); + + // assignement operators + pParser->DefineOprt(new OprtAssign); + pParser->DefineOprt(new OprtAssignAdd); + pParser->DefineOprt(new OprtAssignSub); + pParser->DefineOprt(new OprtAssignMul); + pParser->DefineOprt(new OprtAssignDiv); + + // infix operators + pParser->DefineInfixOprt(new OprtCastToFloat); + pParser->DefineInfixOprt(new OprtCastToInt); + + // postfix operators + pParser->DefinePostfixOprt(new OprtFact); +// commented: "%" is a reserved sign for either the +// modulo operator or comment lines. +// pParser->DefinePostfixOprt(new OprtPercentage); +// +} + +//------------------------------------------------------------------------------ +string_type PackageCommon::GetDesc() const +{ + return _T(""); +} + +//------------------------------------------------------------------------------ +string_type PackageCommon::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpPackageMatrix.cpp b/src/third-party/headers/muparserx/mpPackageMatrix.cpp new file mode 100644 index 0000000000..26dc20b949 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageMatrix.cpp @@ -0,0 +1,82 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageMatrix.h" + +#include "mpParserBase.h" +#include "mpFuncMatrix.h" +#include "mpOprtMatrix.h" + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +std::unique_ptr PackageMatrix::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageMatrix::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageMatrix); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageMatrix::AddToParser(ParserXBase *pParser) +{ + // Matrix functions + pParser->DefineFun(new FunMatrixOnes()); + pParser->DefineFun(new FunMatrixZeros()); + pParser->DefineFun(new FunMatrixEye()); + pParser->DefineFun(new FunMatrixSize()); + + // Matrix Operators + pParser->DefinePostfixOprt(new OprtTranspose()); + + // Colon operator +//pParser->DefineOprt(new OprtColon()); +//pParser->DefineAggregator(new AggColon()); +} + +//------------------------------------------------------------------------------ +string_type PackageMatrix::GetDesc() const +{ + return _T("Operators and functions for matrix operations"); +} + +//------------------------------------------------------------------------------ +string_type PackageMatrix::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpPackageNonCmplx.cpp b/src/third-party/headers/muparserx/mpPackageNonCmplx.cpp new file mode 100644 index 0000000000..fca5624429 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageNonCmplx.cpp @@ -0,0 +1,108 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageNonCmplx.h" + +#include "mpParserBase.h" +#include "mpFuncNonCmplx.h" +#include "mpOprtNonCmplx.h" +#include "mpOprtBinCommon.h" + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +std::unique_ptr PackageNonCmplx::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageNonCmplx::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageNonCmplx); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageNonCmplx::AddToParser(ParserXBase *pParser) +{ + pParser->DefineFun(new FunSin()); + pParser->DefineFun(new FunCos()); + pParser->DefineFun(new FunTan()); + pParser->DefineFun(new FunSinH()); + pParser->DefineFun(new FunCosH()); + pParser->DefineFun(new FunTanH()); + pParser->DefineFun(new FunASin()); + pParser->DefineFun(new FunACos()); + pParser->DefineFun(new FunATan()); + pParser->DefineFun(new FunASinH()); + pParser->DefineFun(new FunACosH()); + pParser->DefineFun(new FunATanH()); + pParser->DefineFun(new FunLog()); + pParser->DefineFun(new FunLog10()); + pParser->DefineFun(new FunLog2()); + pParser->DefineFun(new FunLn()); + pParser->DefineFun(new FunExp()); + pParser->DefineFun(new FunSqrt()); + pParser->DefineFun(new FunCbrt()); + pParser->DefineFun(new FunAbs()); + + // binary functions + pParser->DefineFun(new FunPow()); + pParser->DefineFun(new FunHypot()); + pParser->DefineFun(new FunAtan2()); + pParser->DefineFun(new FunFmod()); + pParser->DefineFun(new FunRemainder()); + + // Operator callbacks + pParser->DefineInfixOprt(new OprtSign()); + pParser->DefineInfixOprt(new OprtSignPos()); + pParser->DefineOprt(new OprtAdd()); + pParser->DefineOprt(new OprtSub()); + pParser->DefineOprt(new OprtMul()); + pParser->DefineOprt(new OprtDiv()); + pParser->DefineOprt(new OprtPow); +} + +//------------------------------------------------------------------------------ +string_type PackageNonCmplx::GetDesc() const +{ + return _T(""); +} + +//------------------------------------------------------------------------------ +string_type PackageNonCmplx::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpPackageStr.cpp b/src/third-party/headers/muparserx/mpPackageStr.cpp new file mode 100644 index 0000000000..2fc00a0ec7 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageStr.cpp @@ -0,0 +1,81 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageStr.h" + +#include "mpParserBase.h" +#include "mpFuncStr.h" +#include "mpOprtBinCommon.h" +#include "mpValReader.h" + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +std::unique_ptr PackageStr::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageStr::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageStr); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageStr::AddToParser(ParserXBase *pParser) +{ + pParser->AddValueReader(new StrValReader()); + + // Functions + pParser->DefineFun(new FunStrLen()); + pParser->DefineFun(new FunStrToDbl()); + pParser->DefineFun(new FunStrToUpper()); + pParser->DefineFun(new FunStrToLower()); + + // Operators + pParser->DefineOprt(new OprtStrAdd); +} + +//------------------------------------------------------------------------------ +string_type PackageStr::GetDesc() const +{ + return _T("A package for string operations."); +} + +//------------------------------------------------------------------------------ +string_type PackageStr::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpPackageUnit.cpp b/src/third-party/headers/muparserx/mpPackageUnit.cpp new file mode 100644 index 0000000000..7420e75e30 --- /dev/null +++ b/src/third-party/headers/muparserx/mpPackageUnit.cpp @@ -0,0 +1,119 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpPackageUnit.h" + +#include "mpParserBase.h" + + +MUP_NAMESPACE_START + +/** \brief This is a macro for defining scaling postfix operators. + + These operators can be used for unit conversions. +*/ +#define MUP_POSTFIX_IMLP(CLASS, IDENT, MUL, DESC) \ + CLASS::CLASS(IPackage*) \ + :IOprtPostfix(_T(IDENT)) \ + {} \ + \ + void CLASS::Eval(ptr_val_type &ret, const ptr_val_type *a_pArg, int) \ + { \ + if (!a_pArg[0]->IsScalar()) \ + { \ + ErrorContext err(ecTYPE_CONFLICT, \ + GetExprPos(), \ + a_pArg[0]->ToString(), \ + a_pArg[0]->GetType(), \ + 'c', \ + 1); \ + throw ParserError(err); \ + } \ + \ + *ret = a_pArg[0]->GetComplex() * MUL; \ + } \ + \ + const char_type* CLASS::GetDesc() const \ + { \ + return _T(DESC); \ + } \ + \ + IToken* CLASS::Clone() const \ + { \ + return new CLASS(*this); \ + } + + MUP_POSTFIX_IMLP(OprtNano, "n", (float_type)1e-9, "n - unit multiplicator 1e-9") + MUP_POSTFIX_IMLP(OprtMicro, "u", (float_type)1e-6, "u - unit multiplicator 1e-6") + MUP_POSTFIX_IMLP(OprtMilli, "m", (float_type)1e-3, "m - unit multiplicator 1e-3") + MUP_POSTFIX_IMLP(OprtKilo, "k", (float_type)1e3, "k - unit multiplicator 1e3") + MUP_POSTFIX_IMLP(OprtMega, "M", (float_type)1e6, "M - unit multiplicator 1e6") + MUP_POSTFIX_IMLP(OprtGiga, "G", (float_type)1e9, "G - unit multiplicator 1e9") + +#undef MUP_POSTFIX_IMLP + +//------------------------------------------------------------------------------ +std::unique_ptr PackageUnit::s_pInstance; + +//------------------------------------------------------------------------------ +IPackage* PackageUnit::Instance() +{ + if (s_pInstance.get()==nullptr) + { + s_pInstance.reset(new PackageUnit); + } + + return s_pInstance.get(); +} + +//------------------------------------------------------------------------------ +void PackageUnit::AddToParser(ParserXBase *pParser) +{ + pParser->DefinePostfixOprt(new OprtNano(this)); + pParser->DefinePostfixOprt(new OprtMicro(this)); + pParser->DefinePostfixOprt(new OprtMilli(this)); + pParser->DefinePostfixOprt(new OprtKilo(this)); + pParser->DefinePostfixOprt(new OprtMega(this)); + pParser->DefinePostfixOprt(new OprtGiga(this)); +} + +//------------------------------------------------------------------------------ +string_type PackageUnit::GetDesc() const +{ + return _T("Postfix operators for basic unit conversions."); +} + +//------------------------------------------------------------------------------ +string_type PackageUnit::GetPrefix() const +{ + return _T(""); +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpParser.cpp b/src/third-party/headers/muparserx/mpParser.cpp new file mode 100644 index 0000000000..59ea64d8ba --- /dev/null +++ b/src/third-party/headers/muparserx/mpParser.cpp @@ -0,0 +1,91 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#include "mpParser.h" + +//--- Standard includes ---------------------------------------------------- +#include +#include +#include + +//--- Parser framework ----------------------------------------------------- +#include "mpPackageUnit.h" +#include "mpPackageStr.h" +#include "mpPackageCmplx.h" +#include "mpPackageNonCmplx.h" +#include "mpPackageCommon.h" +#include "mpPackageMatrix.h" + +using namespace std; + + +/** \brief Namespace for mathematical applications. */ +MUP_NAMESPACE_START + + //--------------------------------------------------------------------------- + /** \brief Default constructor. + + Call ParserXBase class constructor and initiate function, operator + and constant initialization. + */ + ParserX::ParserX(unsigned ePackages) + :ParserXBase() + { + DefineNameChars(_T("0123456789_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")); + DefineOprtChars(_T("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-*^/?<>=#!$%&|~'_µ{}")); + DefineInfixOprtChars(_T("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ()/+-*^?<>=#!$%&|~'_")); + + if (ePackages & pckUNIT) + AddPackage(PackageUnit::Instance()); + + if (ePackages & pckSTRING) + AddPackage(PackageStr::Instance()); + + if (ePackages & pckCOMPLEX) + AddPackage(PackageCmplx::Instance()); + + if (ePackages & pckNON_COMPLEX) + AddPackage(PackageNonCmplx::Instance()); + + if (ePackages & pckCOMMON) + AddPackage(PackageCommon::Instance()); + + if (ePackages & pckMATRIX) + AddPackage(PackageMatrix::Instance()); + } + + //------------------------------------------------------------------------------ + void ParserX::ResetErrorMessageProvider(ParserMessageProviderBase *pProvider) + { + ParserErrorMsg::Reset(pProvider); + } + +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpParserBase.cpp b/src/third-party/headers/muparserx/mpParserBase.cpp new file mode 100644 index 0000000000..cddb65103a --- /dev/null +++ b/src/third-party/headers/muparserx/mpParserBase.cpp @@ -0,0 +1,1301 @@ +/** \file + \brief Implementation of the muParserX engine. + +
+			   __________                                 ____  ___
+	 _____  __ _\______   \_____ _______  ______ __________\   \/  /
+	/     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+	|  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+	|__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+		  \/                     \/           \/     \/           \_/
+	Copyright (C) 2016 Ingo Berg
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without
+	modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice,
+	this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice,
+	this list of conditions and the following disclaimer in the documentation
+	and/or other materials provided with the distribution.
+
+	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+	IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+	PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+	WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+	POSSIBILITY OF SUCH DAMAGE.
+	
+ */ +#include "mpParserBase.h" + +#include +#include +#include +#include + +#include "utGeneric.h" +#include "mpDefines.h" +#include "mpIfThenElse.h" +#include "mpScriptTokens.h" + +using namespace std; + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +const char_type *g_sCmdCode[] = { + _T("BRCK. OPEN "), + _T("BRCK. CLOSE "), + _T("IDX OPEN "), + _T("IDX CLOSE "), + _T("CURLY BRCK. OPEN "), + _T("CURLY BRCK. CLOSE"), + _T("ARG_SEP "), + _T("IF "), + _T("ELSE "), + _T("ENDIF "), + _T("JMP "), + _T("VAL "), + _T("FUNC "), + _T("OPRT_BIN "), + _T("OPRT_IFX "), + _T("OPRT_PFX "), + _T("END "), + _T("SCR_ENDL "), + _T("SCR_CMT "), + _T("SCR_WHILE "), + _T("SCR_GOTO "), + _T("SCR_LABEL "), + _T("SCR_FOR "), + _T("SCR_IF "), + _T("SCR_ELSE "), + _T("SCR_ELIF "), + _T("SCR_ENDIF "), + _T("SCR_FUNC "), + _T("UNKNOWN "), + nullptr }; + +//------------------------------------------------------------------------------ +bool ParserXBase::s_bDumpStack = false; +bool ParserXBase::s_bDumpRPN = false; + +//------------------------------------------------------------------------------ +/** \brief Identifiers for built in binary operators. + + When defining custom binary operators with AddOprt(...) make sure not to choose + names conflicting with these definitions. + */ +const char_type* ParserXBase::c_DefaultOprt[] = { + _T("("), + _T(")"), + _T("["), + _T("]"), + _T("{"), + _T("}"), + _T(","), + _T("?"), + _T(":"), + 0 }; + +//------------------------------------------------------------------------------ +/** \brief Default constructor. */ +ParserXBase::ParserXBase() + :m_FunDef() + , m_PostOprtDef() + , m_InfixOprtDef() + , m_OprtDef() + , m_valDef() + , m_varDef() + , m_pParserEngine(&ParserXBase::ParseFromString) + , m_pTokenReader() + , m_valDynVarShadow() + , m_sNameChars() + , m_sOprtChars() + , m_sInfixOprtChars() + , m_bIsQueryingExprVar(false) + , m_bAutoCreateVar(false) + , m_rpn() + , m_vStackBuffer() +{ + InitTokenReader(); +} + +//--------------------------------------------------------------------------- +/** \brief Copy constructor. + \param a_Parser Reference to the other parser object + + Implemented by calling Assign(a_Parser) + */ +ParserXBase::ParserXBase(const ParserXBase &a_Parser) + :m_FunDef() + , m_PostOprtDef() + , m_InfixOprtDef() + , m_OprtDef() + , m_valDef() + , m_varDef() + , m_pParserEngine(&ParserXBase::ParseFromString) + , m_pTokenReader() + , m_valDynVarShadow() + , m_sNameChars() + , m_sOprtChars() + , m_sInfixOprtChars() + , m_bAutoCreateVar() + , m_rpn() + , m_vStackBuffer() +{ + m_pTokenReader.reset(new TokenReader(this)); + Assign(a_Parser); +} + +//--------------------------------------------------------------------------- +/** \brief Destructor. + \throw nothrow + */ +ParserXBase::~ParserXBase() +{ + // It is important to release the stack buffer before + // releasing the value cache. Since it may contain + // Values referencing the cache. + m_vStackBuffer.clear(); + m_cache.ReleaseAll(); +} + +//--------------------------------------------------------------------------- +/** \brief Assignement operator. + \param a_Parser Object to copy to this. + \return *this + \throw nothrow + + Implemented by calling Assign(a_Parser). Self assignement is suppressed. + */ +ParserXBase& ParserXBase::operator=(const ParserXBase &a_Parser) +{ + Assign(a_Parser); + return *this; +} + +//--------------------------------------------------------------------------- +/** \brief Copy state of a parser object to this. + \param a_Parser the source object. + + Clears Variables and Functions of this parser. + Copies the states of all internal variables. + Resets parse function to string parse mode. + */ +void ParserXBase::Assign(const ParserXBase &ref) +{ + if (&ref == this) + return; + + // Don't copy bytecode instead cause the parser to create new bytecode + // by resetting the parse function. + ReInit(); + + m_pTokenReader.reset(ref.m_pTokenReader->Clone(this)); + + m_OprtDef = ref.m_OprtDef; + m_FunDef = ref.m_FunDef; + m_PostOprtDef = ref.m_PostOprtDef; + m_InfixOprtDef = ref.m_InfixOprtDef; + m_valDef = ref.m_valDef; + m_valDynVarShadow = ref.m_valDynVarShadow; + m_varDef = ref.m_varDef; // Copy user defined variables + + // Copy charsets + m_sNameChars = ref.m_sNameChars; + m_sOprtChars = ref.m_sOprtChars; + m_sInfixOprtChars = ref.m_sInfixOprtChars; + + m_bAutoCreateVar = ref.m_bAutoCreateVar; + + // Things that should not be copied: + // - m_vStackBuffer + // - m_cache + // - m_rpn +} + +//--------------------------------------------------------------------------- +/** \brief Evaluate the expression. + \pre A formula must be set. + \pre Variables must have been set (if needed) + \sa SetExpr + \return The evaluation result + \throw ParseException if no Formula is set or in case of any other error related to the formula. + + A note on const correctness: + I consider it important that Calc is a const function. + Due to caching operations Calc changes only the state of internal variables with one exception + m_UsedVar this is reset during string parsing and accessible from the outside. Instead of making + Calc non const GetExprVar is non const because it explicitely calls Eval() forcing this update. + */ +const IValue& ParserXBase::Eval() const +{ + return (this->*m_pParserEngine)(); +} + +//--------------------------------------------------------------------------- +/** \brief Return the strings of all Operator identifiers. + \return Returns a pointer to the c_DefaultOprt array of const char *. + \throw nothrow + + GetOprt is a const function returning a pinter to an array of const char pointers. + */ +const char_type** ParserXBase::GetOprtDef() const +{ + return (const char_type **)(&c_DefaultOprt[0]); +} + +//--------------------------------------------------------------------------- +/** \brief Define the set of valid characters to be used in names of + functions, variables, constants. + */ +void ParserXBase::DefineNameChars(const char_type *a_szCharset) +{ + m_sNameChars = a_szCharset; +} + +//--------------------------------------------------------------------------- +/** \brief Define the set of valid characters to be used in names of + binary operators and postfix operators. + \param a_szCharset A string containing all characters that can be used + in operator identifiers. + */ +void ParserXBase::DefineOprtChars(const char_type *a_szCharset) +{ + m_sOprtChars = a_szCharset; +} + +//--------------------------------------------------------------------------- +/** \brief Define the set of valid characters to be used in names of + infix operators. + \param a_szCharset A string containing all characters that can be used + in infix operator identifiers. + */ +void ParserXBase::DefineInfixOprtChars(const char_type *a_szCharset) +{ + m_sInfixOprtChars = a_szCharset; +} + +//--------------------------------------------------------------------------- +/** \brief Virtual function that defines the characters allowed in name identifiers. + \sa #ValidOprtChars, #ValidPrefixOprtChars + */ +const char_type* ParserXBase::ValidNameChars() const +{ + MUP_VERIFY(m_sNameChars.size()); + return m_sNameChars.c_str(); +} + +//--------------------------------------------------------------------------- +/** \brief Virtual function that defines the characters allowed in operator definitions. + \sa #ValidNameChars, #ValidPrefixOprtChars + */ +const char_type* ParserXBase::ValidOprtChars() const +{ + MUP_VERIFY(m_sOprtChars.size()); + return m_sOprtChars.c_str(); +} + +//--------------------------------------------------------------------------- +/** \brief Virtual function that defines the characters allowed in infix operator definitions. + \sa #ValidNameChars, #ValidOprtChars + */ +const char_type* ParserXBase::ValidInfixOprtChars() const +{ + MUP_VERIFY(m_sInfixOprtChars.size()); + return m_sInfixOprtChars.c_str(); +} + +//--------------------------------------------------------------------------- +/** \brief Initialize the token reader. + \post m_pTokenReader.Get()!=0 + \throw nothrow + + Create new token reader object and submit pointers to function, operator, + constant and variable definitions. + */ +void ParserXBase::InitTokenReader() +{ + m_pTokenReader.reset(new TokenReader(this)); +} + +//--------------------------------------------------------------------------- +/** \brief Reset parser to string parsing mode and clear internal buffers. + \throw nothrow + + Resets the token reader. + */ +void ParserXBase::ReInit() const +{ + m_pParserEngine = &ParserXBase::ParseFromString; + m_pTokenReader->ReInit(); + m_rpn.Reset(); + m_vStackBuffer.clear(); + m_nPos = 0; +} + +//--------------------------------------------------------------------------- +/** \brief Adds a new package to the parser. + + The parser becomes the owner of the package pointer and is responsible for + its deletion. + */ +void ParserXBase::AddPackage(IPackage *p) +{ + p->AddToParser(this); +} + +//--------------------------------------------------------------------------- +/** \brief Add a value reader object to muParserX. + \param a_pReader Pointer to the value reader object. + */ +void ParserXBase::AddValueReader(IValueReader *a_pReader) +{ + m_pTokenReader->AddValueReader(a_pReader); +} + +//--------------------------------------------------------------------------- +/** \brief Check if a given name contains invalid characters. + \param a_strName The name to check + \param a_szCharSet The characterset + \throw ParserException if the name contains invalid charakters. + */ +void ParserXBase::CheckName(const string_type &a_strName, + const string_type &a_szCharSet) const +{ + if (!a_strName.length() || + (a_strName.find_first_not_of(a_szCharSet) != string_type::npos) || + (a_strName[0] >= (char_type)'0' && a_strName[0] <= (char_type)'9')) + { + Error(ecINVALID_NAME); + } +} + +//--------------------------------------------------------------------------- +/** \brief Set the mathematical expression. + \param a_sExpr String with the expression + \throw ParserException in case of syntax errors. + + Triggers first time calculation thus the creation of the bytecode and + scanning of used variables. + */ +void ParserXBase::SetExpr(const string_type &a_sExpr) +{ + m_pTokenReader->SetExpr(a_sExpr); + ReInit(); +} + +//--------------------------------------------------------------------------- +/** \brief Add a user defined variable. + \param a_sName The variable name + \param a_Var The variable to be added to muParserX + */ +void ParserXBase::DefineVar(const string_type &ident, const Variable &var) +{ + CheckName(ident, ValidNameChars()); + + CheckForEntityExistence(ident, ecVARIABLE_DEFINED); + + m_varDef[ident] = ptr_tok_type(var.Clone()); +} + +void ParserXBase::CheckForEntityExistence(const string_type &ident, EErrorCodes error_code) +{ + if (IsVarDefined(ident) || + IsConstDefined(ident) || + IsFunDefined(ident) || + IsOprtDefined(ident) || + IsPostfixOprtDefined(ident) || + IsInfixOprtDefined(ident)) + throw ParserError(ErrorContext(error_code, 0, ident)); +} + +//--------------------------------------------------------------------------- +/** \brief Define a parser Constant. + \param a_sName The name of the constant + \param a_Val Const reference to the constants value + + Parser constants are handed over by const reference as opposed to variables + which are handed over by reference. Consequently the parser can not change + their value. + */ +void ParserXBase::DefineConst(const string_type &ident, const Value &val) +{ + CheckName(ident, ValidNameChars()); + + CheckForEntityExistence(ident, ecCONSTANT_DEFINED); + + m_valDef[ident] = ptr_tok_type(val.Clone()); +} + +//--------------------------------------------------------------------------- +/** \brief Add a callback object to the parser. + \param a_pFunc Pointer to the intance of a parser callback object + representing the function. + \sa GetFunDef, functions + + The parser takes ownership over the callback object. + */ +void ParserXBase::DefineFun(const ptr_cal_type &fun) +{ + if (IsFunDefined(fun->GetIdent())) + throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, fun->GetIdent())); + + fun->SetParent(this); + m_FunDef[fun->GetIdent()] = ptr_tok_type(fun->Clone()); +} + +//--------------------------------------------------------------------------- +/** \brief Define a binary operator. + \param a_pCallback Pointer to the callback object + */ +void ParserXBase::DefineOprt(const TokenPtr &oprt) +{ + if (IsOprtDefined(oprt->GetIdent())) + throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, oprt->GetIdent())); + + oprt->SetParent(this); + m_OprtDef[oprt->GetIdent()] = ptr_tok_type(oprt->Clone()); +} + +//--------------------------------------------------------------------------- +/** \brief Add a user defined operator. + \post Will reset the Parser to string parsing mode. + \param a_pOprt Pointer to a unary postfix operator object. The parser will + become the new owner of this object hence will destroy it. + */ +void ParserXBase::DefinePostfixOprt(const TokenPtr &oprt) +{ + if (IsPostfixOprtDefined(oprt->GetIdent())) + throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, oprt->GetIdent())); + + // Operator is not added yet, add it. + oprt->SetParent(this); + m_PostOprtDef[oprt->GetIdent()] = ptr_tok_type(oprt->Clone()); +} + +//--------------------------------------------------------------------------- +/** \brief Add a user defined operator. + \param a_pOprt Pointer to a unary postfix operator object. The parser will + become the new owner of this object hence will destroy it. +*/ +void ParserXBase::DefineInfixOprt(const TokenPtr &oprt) +{ + if (IsInfixOprtDefined(oprt->GetIdent())) + throw ParserError(ErrorContext(ecFUNOPRT_DEFINED, 0, oprt->GetIdent())); + + // Function is not added yet, add it. + oprt->SetParent(this); + m_InfixOprtDef[oprt->GetIdent()] = ptr_tok_type(oprt->Clone()); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemoveVar(const string_type &ident) +{ + m_varDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemoveConst(const string_type &ident) +{ + m_valDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemoveFun(const string_type &ident) +{ + m_FunDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemoveOprt(const string_type &ident) +{ + m_OprtDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemovePostfixOprt(const string_type &ident) +{ + m_PostOprtDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::RemoveInfixOprt(const string_type &ident) +{ + m_InfixOprtDef.erase(ident); + ReInit(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsVarDefined(const string_type &ident) const +{ + return m_varDef.find(ident) != m_varDef.end(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsConstDefined(const string_type &ident) const +{ + return m_valDef.find(ident) != m_valDef.end(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsFunDefined(const string_type &ident) const +{ + return m_FunDef.find(ident) != m_FunDef.end(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsOprtDefined(const string_type &ident) const +{ + return m_OprtDef.find(ident) != m_OprtDef.end(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsPostfixOprtDefined(const string_type &ident) const +{ + return m_PostOprtDef.find(ident) != m_PostOprtDef.end(); +} + +//--------------------------------------------------------------------------- +bool ParserXBase::IsInfixOprtDefined(const string_type &ident) const +{ + return m_InfixOprtDef.find(ident) != m_InfixOprtDef.end(); +} + +//--------------------------------------------------------------------------- +/** \brief Return a map containing the used variables only. */ +const var_maptype& ParserXBase::GetExprVar() const +{ + utils::scoped_setter guard(m_bIsQueryingExprVar, true); + + // Create RPN, but do not compute the result or switch to RPN + // parsing mode. The expression may contain yet to be defined variables. + CreateRPN(); + return m_pTokenReader->GetUsedVar(); +} + +//--------------------------------------------------------------------------- +/** \brief Return a map containing the used variables only. */ +const var_maptype& ParserXBase::GetVar() const +{ + return m_varDef; +} + +//--------------------------------------------------------------------------- +/** \brief Return a map containing all parser constants. */ +const val_maptype& ParserXBase::GetConst() const +{ + return m_valDef; +} + +//--------------------------------------------------------------------------- +/** \brief Return prototypes of all parser functions. + \return #m_FunDef + \sa FunProt, functions + \throw nothrow + + The return type is a map of the public type #funmap_type containing the prototype + definitions for all numerical parser functions. String functions are not part of + this map. The Prototype definition is encapsulated in objects of the class FunProt + one per parser function each associated with function names via a map construct. + */ +const fun_maptype& ParserXBase::GetFunDef() const +{ + return m_FunDef; +} + +//--------------------------------------------------------------------------- +/** \brief Retrieve the mathematical expression. */ +const string_type& ParserXBase::GetExpr() const +{ + return m_pTokenReader->GetExpr(); +} + +//--------------------------------------------------------------------------- +/** \brief Get the version number of muParserX. + \return A string containing the version number of muParserX. + */ +string_type ParserXBase::GetVersion() +{ + return MUP_PARSER_VERSION; +} + +//--------------------------------------------------------------------------- +void ParserXBase::ApplyRemainingOprt(Stack &stOpt) const + +{ + while (stOpt.size() && + stOpt.top()->GetCode() != cmBO && + stOpt.top()->GetCode() != cmIO && + stOpt.top()->GetCode() != cmCBO && + stOpt.top()->GetCode() != cmIF) + { + ptr_tok_type &op = stOpt.top(); + switch (op->GetCode()) + { + case cmOPRT_INFIX: + case cmOPRT_BIN: ApplyFunc(stOpt, 2); break; + case cmELSE: ApplyIfElse(stOpt); break; + default: Error(ecINTERNAL_ERROR); + } // switch operator token type + } // While operator stack not empty +} + +//--------------------------------------------------------------------------- +/** \brief Simulates the call of a parser function with its corresponding arguments. + \param a_stOpt The operator stack + \param a_stVal The value stack + \param a_iArgCount The number of function arguments + */ +void ParserXBase::ApplyFunc(Stack &a_stOpt, + int a_iArgCount) const +{ + if (a_stOpt.empty()) + return; + + ptr_tok_type tok = a_stOpt.pop(); + ICallback *pFun = tok->AsICallback(); + + int iArgCount = (pFun->GetArgc() >= 0) ? pFun->GetArgc() : a_iArgCount; + pFun->SetNumArgsPresent(iArgCount); + + m_nPos -= (iArgCount - 1); + m_rpn.Add(tok); +} + +//--------------------------------------------------------------------------- +/** \brief Simulates the effect of the execution of an if-then-else block. +*/ +void ParserXBase::ApplyIfElse(Stack &a_stOpt) const +{ + while (a_stOpt.size() && a_stOpt.top()->GetCode() == cmELSE) + { + MUP_VERIFY(a_stOpt.size() > 0); + MUP_VERIFY(m_nPos >= 3); + MUP_VERIFY(a_stOpt.top()->GetCode() == cmELSE); + + ptr_tok_type opElse = a_stOpt.pop(); + ptr_tok_type opIf = a_stOpt.pop(); + MUP_VERIFY(opElse->GetCode() == cmELSE) + MUP_VERIFY(opIf->GetCode() == cmIF) + + // If then else hat 3 argumente und erzeugt einen rückgabewert (3-1=2) + m_nPos -= 2; + m_rpn.Add(ptr_tok_type(new TokenIfThenElse(cmENDIF))); + } +} + +//--------------------------------------------------------------------------- +void ParserXBase::DumpRPN() const +{ + m_rpn.AsciiDump(); +} + +//--------------------------------------------------------------------------- +void ParserXBase::CreateRPN() const +{ + if (!m_pTokenReader->GetExpr().length()) + Error(ecUNEXPECTED_EOF, 0); + + // The Stacks take the ownership over the tokens + Stack stOpt; + Stack stArgCount; + Stack stIdxCount; + ptr_tok_type pTok, pTokPrev; + Value val; + + ReInit(); + + for (;;) + { + pTokPrev = pTok; + pTok = m_pTokenReader->ReadNextToken(); + +#if defined(MUP_DUMP_TOKENS) + console() << pTok->AsciiDump() << endl; +#endif + + ECmdCode eCmd = pTok->GetCode(); + switch (eCmd) + { + case cmVAL: + m_nPos++; + m_rpn.Add(pTok); + break; + + case cmCBC: + case cmIC: + { + ECmdCode eStarter = (ECmdCode)(eCmd - 1); + MUP_VERIFY(eStarter == cmCBO || eStarter == cmIO); + + // The argument count for parameterless functions is zero + // by default an opening bracket sets parameter count to 1 + // in preparation of arguments to come. If the last token + // was an opening bracket we know better... + if (pTokPrev.Get() != nullptr && pTokPrev->GetCode() == eStarter) + --stArgCount.top(); + + ApplyRemainingOprt(stOpt); + + // if opt is "]" and opta is "[" the bracket content has been evaluated. + // Now check whether there is an index operator on the stack. + if (stOpt.size() && stOpt.top()->GetCode() == eStarter) + { + // + // Find out how many dimensions were used in the index operator. + // + int iArgc = stArgCount.pop(); + stOpt.pop(); // Take opening bracket from stack + + ICallback *pOprtIndex = pTok->AsICallback(); + MUP_VERIFY(pOprtIndex != nullptr); + + pOprtIndex->SetNumArgsPresent(iArgc); + m_rpn.Add(pOprtIndex); + + // If this is an index operator there must be something else in the register (the variable to index) + MUP_VERIFY(eCmd != cmIC || m_nPos >= (int)iArgc + 1); + + // Reduce the index into the value registers accordingly + m_nPos -= iArgc; + + if (eCmd == cmCBC) + { + ++m_nPos; + } + } // if opening index bracket is on top of operator stack + } + break; + + case cmBC: + { + // The argument count for parameterless functions is zero + // by default an opening bracket sets parameter count to 1 + // in preparation of arguments to come. If the last token + // was an opening bracket we know better... + if (pTokPrev.Get() != nullptr && pTokPrev->GetCode() == cmBO) + --stArgCount.top(); + + ApplyRemainingOprt(stOpt); + + // if opt is ")" and opta is "(" the bracket content has been evaluated. + // Now its time to check if there is either a function or a sign pending. + // - Neither the opening nor the closing bracket will be pushed back to + // the operator stack + // - Check if a function is standing in front of the opening bracket, + // if so evaluate it afterwards to apply an infix operator. + if (stOpt.size() && stOpt.top()->GetCode() == cmBO) + { + // + // Here is the stuff to evaluate a function token + // + int iArgc = stArgCount.pop(); + + stOpt.pop(); // Take opening bracket from stack + if (stOpt.empty()) + break; + + if ((stOpt.top()->GetCode() != cmFUNC) && (stOpt.top()->GetCode() != cmOPRT_INFIX)) + break; + + ICallback *pFun = stOpt.top()->AsICallback(); + + if (pFun->GetArgc() != -1 && iArgc > pFun->GetArgc()) + Error(ecTOO_MANY_PARAMS, pTok->GetExprPos(), pFun); + + if (iArgc < pFun->GetArgc()) + Error(ecTOO_FEW_PARAMS, pTok->GetExprPos(), pFun); + + // Apply function, if present + if (stOpt.size() && + stOpt.top()->GetCode() != cmOPRT_INFIX && + stOpt.top()->GetCode() != cmOPRT_BIN) + { + ApplyFunc(stOpt, iArgc); + } + } + } + break; + + case cmELSE: + ApplyRemainingOprt(stOpt); + m_rpn.Add(pTok); + stOpt.push(pTok); + break; + + case cmSCRIPT_NEWLINE: + ApplyRemainingOprt(stOpt); + m_rpn.AddNewline(pTok, m_nPos); + stOpt.clear(); + m_nPos = 0; + break; + + case cmARG_SEP: + if (stArgCount.empty()) + Error(ecUNEXPECTED_COMMA, m_pTokenReader->GetPos() - 1); + + ++stArgCount.top(); + + ApplyRemainingOprt(stOpt); + break; + + case cmEOE: + ApplyRemainingOprt(stOpt); + m_rpn.Finalize(); + break; + + case cmIF: + case cmOPRT_BIN: + { + while (stOpt.size() && + stOpt.top()->GetCode() != cmBO && + stOpt.top()->GetCode() != cmIO && + stOpt.top()->GetCode() != cmCBO && + stOpt.top()->GetCode() != cmELSE && + stOpt.top()->GetCode() != cmIF) + { + IToken *pOprt1 = stOpt.top().Get(); + IToken *pOprt2 = pTok.Get(); + MUP_VERIFY(pOprt1 != nullptr && pOprt2 != nullptr); + MUP_VERIFY(pOprt1->AsIPrecedence() && pOprt2->AsIPrecedence()); + + int nPrec1 = pOprt1->AsIPrecedence()->GetPri(), + nPrec2 = pOprt2->AsIPrecedence()->GetPri(); + + if (pOprt1->GetCode() == pOprt2->GetCode()) + { + // Deal with operator associativity + EOprtAsct eOprtAsct = pOprt1->AsIPrecedence()->GetAssociativity(); + if ((eOprtAsct == oaRIGHT && (nPrec1 <= nPrec2)) || + (eOprtAsct == oaLEFT && (nPrec1 < nPrec2))) + { + break; + } + } + else if (nPrec1 < nPrec2) + { + break; + } + + // apply the operator now + // (binary operators are identic to functions with two arguments) + ApplyFunc(stOpt, 2); + } // while ( ... ) + + if (pTok->GetCode() == cmIF) + m_rpn.Add(pTok); + + stOpt.push(pTok); + } + break; + + // + // Postfix Operators + // + case cmOPRT_POSTFIX: + MUP_VERIFY(m_nPos); + m_rpn.Add(pTok); + break; + + case cmCBO: + case cmIO: + case cmBO: + stOpt.push(pTok); + stArgCount.push(1); + break; + + // + // Functions + // + case cmOPRT_INFIX: + case cmFUNC: + { + ICallback *pFunc = pTok->AsICallback(); + MUP_VERIFY(pFunc != nullptr); + stOpt.push(pTok); + } + break; + + default: + Error(ecINTERNAL_ERROR); + } // switch Code + + if (ParserXBase::s_bDumpStack) + { + StackDump(stOpt); + } + + if (pTok->GetCode() == cmEOE) + break; + } // for (all tokens) + + if (ParserXBase::s_bDumpRPN) + { + m_rpn.AsciiDump(); + } + + if (m_nPos > 1) + { + Error(ecUNEXPECTED_COMMA, -1); + } +} + +//--------------------------------------------------------------------------- +/** \brief One of the two main parse functions. + \sa ParseCmdCode(), ParseValue() + + Parse expression from input string. Perform syntax checking and create bytecode. + After parsing the string and creating the bytecode the function pointer + #m_pParseFormula will be changed to the second parse routine the uses bytecode instead of string parsing. + */ +const IValue& ParserXBase::ParseFromString() const +{ + CreateRPN(); + + // Umsachalten auf RPN + m_vStackBuffer.assign(m_rpn.GetRequiredStackSize(), ptr_val_type()); + for (std::size_t i = 0; i < m_vStackBuffer.size(); ++i) + { + Value *pValue = new Value; + pValue->BindToCache(&m_cache); + m_vStackBuffer[i].Reset(pValue); + } + + m_pParserEngine = &ParserXBase::ParseFromRPN; + + return (this->*m_pParserEngine)(); +} + +//--------------------------------------------------------------------------- +const IValue& ParserXBase::ParseFromRPN() const +{ + ptr_val_type *pStack = &m_vStackBuffer[0]; + if (m_rpn.GetSize() == 0) + { + // Passiert bei leeren strings oder solchen, die nur Leerzeichen enthalten + ErrorContext err; + err.Expr = m_pTokenReader->GetExpr(); + err.Errc = ecUNEXPECTED_EOF; + err.Pos = 0; + throw ParserError(err); + } + + const ptr_tok_type *pRPN = &(m_rpn.GetData()[0]); + + int sidx = -1; + std::size_t lenRPN = m_rpn.GetSize(); + for (std::size_t i = 0; i < lenRPN; ++i) + { + IToken *pTok = pRPN[i].Get(); + ECmdCode eCode = pTok->GetCode(); + + switch (eCode) + { + case cmSCRIPT_NEWLINE: + sidx = -1; + continue; + + case cmVAL: + { + IValue *pVal = static_cast(pTok); + + sidx++; + MUP_VERIFY(sidx < (int)m_vStackBuffer.size()); + if (pVal->IsVariable()) + { + pStack[sidx].Reset(pVal); + } + else + { + ptr_val_type &val = pStack[sidx]; + if (val->IsVariable()) + val.Reset(m_cache.CreateFromCache()); + + *val = *(static_cast(pTok)); + } + } + continue; + /* + // Deal with: + // - Index operator: [,,,] + // - Array constrution operator: {,,,} + case cmCBC: + { + ICallback *pFun = static_cast(pTok); + int nArgs = pFun->GetArgsPresent(); + sidx -= nArgs - 1; + MUP_VERIFY(sidx >= 0); + + ptr_val_type &val = pStack[sidx]; // Pointer to the variable or value beeing indexed + if (val->IsVariable()) + { + ptr_val_type buf(m_cache.CreateFromCache()); + pFun->Eval(buf, &val, nArgs); + val = buf; + } + else + { + pFun->Eval(val, &val, nArgs); + } + } + continue; + */ + case cmIC: + { + ICallback *pIdxOprt = static_cast(pTok); + int nArgs = pIdxOprt->GetArgsPresent(); + sidx -= nArgs - 1; + MUP_VERIFY(sidx >= 0); + + ptr_val_type &idx = pStack[sidx]; // Pointer to the first index + ptr_val_type &val = pStack[--sidx]; // Pointer to the variable or value beeing indexed + pIdxOprt->Eval(val, &idx, nArgs); + } + continue; + + case cmCBC: + case cmOPRT_POSTFIX: + case cmFUNC: + case cmOPRT_BIN: + case cmOPRT_INFIX: + { + ICallback *pFun = static_cast(pTok); + int nArgs = pFun->GetArgsPresent(); + sidx -= nArgs - 1; + MUP_VERIFY(sidx >= 0); + + ptr_val_type &val = pStack[sidx]; + try + { + if (val->IsVariable()) + { + ptr_val_type buf(m_cache.CreateFromCache()); + pFun->Eval(buf, &val, nArgs); + val = buf; + } + else + { + pFun->Eval(val, &val, nArgs); + } + } + catch (ParserError &exc) + { + // Not too happy about that: + // Multiarg functions may throw specific error codes when evaluating. + // These codes would be converted to ecEVAL here. I omit the conversion + // for certain handpicked errors. (The reason this catch block exists is + // that not all exceptions contain proper metadata when thrown out of + // a function.) + if (exc.GetCode() == ecTOO_FEW_PARAMS || + exc.GetCode() == ecDOMAIN_ERROR || + exc.GetCode() == ecOVERFLOW || + exc.GetCode() == ecINVALID_NUMBER_OF_PARAMETERS || + exc.GetCode() == ecASSIGNEMENT_TO_VALUE) + { + exc.GetContext().Pos = pFun->GetExprPos(); + throw; + } + // + else + { + ErrorContext err; + err.Expr = m_pTokenReader->GetExpr(); + err.Ident = pFun->GetIdent(); + err.Errc = ecEVAL; + err.Pos = pFun->GetExprPos(); + err.Hint = exc.GetMsg(); + throw ParserError(err); + } + } + catch (MatrixError & /*exc*/) + { + ErrorContext err; + err.Expr = m_pTokenReader->GetExpr(); + err.Ident = pFun->GetIdent(); + err.Errc = ecMATRIX_DIMENSION_MISMATCH; + err.Pos = pFun->GetExprPos(); + throw ParserError(err); + } + } + continue; + + case cmIF: + MUP_VERIFY(sidx >= 0); + if (pStack[sidx--]->GetBool() == false) + i += static_cast(pTok)->GetOffset(); + continue; + + case cmELSE: + case cmJMP: + i += static_cast(pTok)->GetOffset(); + continue; + + case cmENDIF: + continue; + + default: + Error(ecINTERNAL_ERROR); + } // switch token + } // for all RPN tokens + + return *pStack[0]; +} + +//--------------------------------------------------------------------------- +void ParserXBase::Error(EErrorCodes a_iErrc, int a_iPos, const IToken *a_pTok) const +{ + ErrorContext err; + err.Errc = a_iErrc; + err.Pos = a_iPos; + err.Expr = m_pTokenReader->GetExpr(); + err.Ident = (a_pTok) ? a_pTok->GetIdent() : _T(""); + throw ParserError(err); +} + +//------------------------------------------------------------------------------ +/** \brief Clear all user defined variables. + \throw nothrow + + Resets the parser to string parsing mode by calling #ReInit. + */ +void ParserXBase::ClearVar() +{ + m_varDef.clear(); + m_valDynVarShadow.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear the expression. + \throw nothrow + + Clear the expression and existing bytecode. + */ +void ParserXBase::ClearExpr() +{ + m_pTokenReader->SetExpr(_T("")); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear all function definitions. + \throw nothrow + */ +void ParserXBase::ClearFun() +{ + m_FunDef.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear all user defined constants. + \throw nothrow + + Both numeric and string constants will be removed from the internal storage. + */ +void ParserXBase::ClearConst() +{ + m_valDef.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear all user defined postfix operators. + \throw nothrow + */ +void ParserXBase::ClearPostfixOprt() +{ + m_PostOprtDef.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear all user defined binary operators. + \throw nothrow + */ +void ParserXBase::ClearOprt() +{ + m_OprtDef.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +/** \brief Clear the user defined Prefix operators. + \throw nothrow + */ +void ParserXBase::ClearInfixOprt() +{ + m_InfixOprtDef.clear(); + ReInit(); +} + +//------------------------------------------------------------------------------ +void ParserXBase::EnableAutoCreateVar(bool bStat) +{ + m_bAutoCreateVar = bStat; +} + +//------------------------------------------------------------------------------ +void ParserXBase::EnableOptimizer(bool bStat) +{ + m_rpn.EnableOptimizer(bStat); +} + +//--------------------------------------------------------------------------- +/** \brief Enable the dumping of bytecode amd stack content on the console. + \param bDumpCmd Flag to enable dumping of the current bytecode to the console. + \param bDumpStack Flag to enable dumping of the stack content is written to the console. + + This function is for debug purposes only! + */ +void ParserXBase::EnableDebugDump(bool bDumpRPN, bool bDumpStack) +{ + ParserXBase::s_bDumpRPN = bDumpRPN; + ParserXBase::s_bDumpStack = bDumpStack; +} + +//------------------------------------------------------------------------------ +bool ParserXBase::IsAutoCreateVarEnabled() const +{ + return m_bAutoCreateVar; +} + +//------------------------------------------------------------------------------ +/** \brief Dump stack content. + + This function is used for debugging only. + */ +void ParserXBase::StackDump(const Stack &a_stOprt) const +{ + using std::cout; + Stack stOprt(a_stOprt); + + string_type sInfo = _T("StackDump> "); + console() << sInfo; + + if (stOprt.empty()) + console() << _T("\n") << sInfo << _T("Operator stack is empty.\n"); + else + console() << _T("\n") << sInfo << _T("Operator stack:\n"); + + while (!stOprt.empty()) + { + ptr_tok_type tok = stOprt.pop(); + console() << sInfo << _T(" ") << g_sCmdCode[tok->GetCode()] << _T(" \"") << tok->GetIdent() << _T("\" \n"); + } + + console() << endl; +} +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpParserMessageProvider.cpp b/src/third-party/headers/muparserx/mpParserMessageProvider.cpp new file mode 100644 index 0000000000..dbd442743a --- /dev/null +++ b/src/third-party/headers/muparserx/mpParserMessageProvider.cpp @@ -0,0 +1,181 @@ +#include "mpParserMessageProvider.h" +#include +#include "mpError.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------------------------- + // + // class ParserMessageProviderBase - Base class for message providers + // + //------------------------------------------------------------------------------------------------- + + ParserMessageProviderBase::ParserMessageProviderBase() + :m_vErrMsg(0) + {} + + //----------------------------------------------------------------------------------------------- + ParserMessageProviderBase::~ParserMessageProviderBase() + {} + + //----------------------------------------------------------------------------------------------- + void ParserMessageProviderBase::Init() + { + InitErrorMessages(); + for (int i=0; i\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include + +#include "mpRPN.h" +#include "mpIToken.h" +#include "mpICallback.h" +#include "mpError.h" +#include "mpStack.h" +#include "mpIfThenElse.h" +#include "mpScriptTokens.h" + +MUP_NAMESPACE_START + +//--------------------------------------------------------------------------- +RPN::RPN() + :m_vRPN() + , m_nStackPos(-1) + , m_nLine(0) + , m_nMaxStackPos(0) + , m_bEnableOptimizer(false) +{} + +//--------------------------------------------------------------------------- +RPN::~RPN() +{} + +//--------------------------------------------------------------------------- +void RPN::Add(ptr_tok_type tok) +{ + m_vRPN.push_back(tok); + if (tok->AsIValue() != nullptr) + { + m_nStackPos++; + } + else if (tok->AsICallback()) + { + ICallback *pFun = tok->AsICallback(); + MUP_VERIFY(pFun != nullptr); + m_nStackPos -= pFun->GetArgsPresent() - 1; + } + + MUP_VERIFY(m_nStackPos >= 0); + m_nMaxStackPos = std::max(m_nStackPos, m_nMaxStackPos); +} + +//--------------------------------------------------------------------------- +void RPN::AddNewline(ptr_tok_type tok, int n) +{ + static_cast(tok.Get())->SetStackOffset(n); + m_vRPN.push_back(tok); + m_nStackPos -= n; + m_nLine++; +} + +//--------------------------------------------------------------------------- +void RPN::Pop(int num) +{ + if (m_vRPN.size() == 0) + return; + + for (int i = 0; i < num; ++i) + { + ptr_tok_type tok = m_vRPN.back(); + + if (tok->AsIValue() != 0) + m_nStackPos--; + + m_vRPN.pop_back(); + } +} + +//--------------------------------------------------------------------------- +void RPN::Reset() +{ + m_vRPN.clear(); + m_nStackPos = -1; + m_nMaxStackPos = 0; + m_nLine = 0; +} + +//--------------------------------------------------------------------------- +/** \brief + + At the moment this will only ass the jump distances to the if-else clauses + found in the expression. +*/ +void RPN::Finalize() +{ + // Determine the if-then-else jump offsets + Stack stIf, stElse; + int idx; + for (int i = 0; i < static_cast(m_vRPN.size()); ++i) + { + switch (m_vRPN[i]->GetCode()) + { + case cmIF: + stIf.push(i); + break; + + case cmELSE: + stElse.push(i); + idx = stIf.pop(); + static_cast(m_vRPN[idx].Get())->SetOffset(i - idx); + break; + + case cmENDIF: + idx = stElse.pop(); + static_cast(m_vRPN[idx].Get())->SetOffset(i - idx); + break; + + default: + continue; + } + } +} + +//--------------------------------------------------------------------------- +void RPN::EnableOptimizer(bool bStat) +{ + m_bEnableOptimizer = bStat; +} + +//--------------------------------------------------------------------------- +std::size_t RPN::GetSize() const +{ + return m_vRPN.size(); +} + +//--------------------------------------------------------------------------- +const token_vec_type& RPN::GetData() const +{ + return m_vRPN; +} + +//--------------------------------------------------------------------------- +int RPN::GetRequiredStackSize() const +{ + return m_nMaxStackPos + 1; +} + +//--------------------------------------------------------------------------- +void RPN::AsciiDump() const +{ + console() << "Number of tokens: " << m_vRPN.size() << "\n"; + console() << "MaxStackPos: " << m_nMaxStackPos << "\n"; + for (std::size_t i = 0; i < m_vRPN.size(); ++i) + { + ptr_tok_type pTok = m_vRPN[i]; + console() << std::setw(2) << i << " : " + << std::setw(2) << pTok->GetExprPos() << " : " + << pTok->AsciiDump() << std::endl; + } +} + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpScriptTokens.cpp b/src/third-party/headers/muparserx/mpScriptTokens.cpp new file mode 100644 index 0000000000..d044032614 --- /dev/null +++ b/src/third-party/headers/muparserx/mpScriptTokens.cpp @@ -0,0 +1,74 @@ +/* + __________ ____ ___ + _____ __ _\______ \_____ _______ ______ __________\ \/ / + / \| | \ ___/\__ \\_ __ \/ ___// __ \_ __ \ / + | Y Y \ | / | / __ \| | \/\___ \\ ___/| | \/ \ + |__|_| /____/|____| (____ /__| /____ >\___ >__| /___/\ \ + \/ \/ \/ \/ \_/ + Copyright (C) 2016, Ingo Berg + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. +*/ +#include "mpScriptTokens.h" +#include "mpTypes.h" + + +MUP_NAMESPACE_START + + //--------------------------------------------------------------------------- + TokenNewline::TokenNewline() + :IToken(cmSCRIPT_NEWLINE) + ,m_nOffset(0) + {} + + //--------------------------------------------------------------------------- + IToken* TokenNewline::Clone() const + { + return new TokenNewline(*this); + } + + //--------------------------------------------------------------------------- + void TokenNewline::SetStackOffset(int nOffset) + { + m_nOffset = nOffset; + } + + //--------------------------------------------------------------------------- + int TokenNewline::GetStackOffset() const + { + return m_nOffset; + } + + //--------------------------------------------------------------------------- + string_type TokenNewline::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; offset=") << m_nOffset; + ss << _T("]"); + return ss.str(); + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpTest.cpp b/src/third-party/headers/muparserx/mpTest.cpp new file mode 100644 index 0000000000..7055c592d5 --- /dev/null +++ b/src/third-party/headers/muparserx/mpTest.cpp @@ -0,0 +1,1809 @@ +/** \file + \brief Implementation of the unit test for muParserX. + +
+				  __________                                 ____  ___
+	  _____  __  _\______   \_____ _______  ______ __________\   \/  /
+	 /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+	|  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+	|__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+		  \/                     \/           \/     \/           \_/
+	Copyright (C) 2016 Ingo Berg
+	All rights reserved.
+
+	muParserX - A C++ math parser library with array and string support
+	Copyright (c) 2016, Ingo Berg
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without
+	modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice,
+	this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice,
+	this list of conditions and the following disclaimer in the documentation
+	and/or other materials provided with the distribution.
+
+	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+	IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+	PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+	WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+	POSSIBILITY OF SUCH DAMAGE.
+	
+ */ +#include "mpTest.h" +#include "mpValue.h" + +#include +#include +#include +#include +#include +#include + +#define MUP_CONST_PI 3.141592653589793238462643 +#define MUP_CONST_E 2.718281828459045235360287 + +using namespace std; + +MUP_NAMESPACE_START + +//----------------------------------------------------------------------------------------------- +// +// class OprtStrAdd +// +//----------------------------------------------------------------------------------------------- + +class DbgSillyAdd : public IOprtBin +{ +public: + + DbgSillyAdd() + :IOprtBin(_T("++"), (int)prADD_SUB, oaLEFT) + {} + + //----------------------------------------------------------------------------------------------- + void Eval(ptr_val_type& ret, const ptr_val_type *arg, int argc) + { + assert(argc == 2); + float_type a = arg[0]->GetFloat(); + float_type b = arg[1]->GetFloat(); + *ret = a + b; + } + + //----------------------------------------------------------------------------------------------- + const char_type* GetDesc() const + { + return _T("internally used operator without special meaning for unit testing"); + } + + //----------------------------------------------------------------------------------------------- + IToken* Clone() const + { + return new DbgSillyAdd(*this); + } +}; + +//------------------------------------------------------------------------------ +class FunTest0 : public ICallback +{ +public: + FunTest0() : ICallback(cmFUNC, _T("test0"), 0) + {} + + virtual void Eval(ptr_val_type &ret, const ptr_val_type * /*a_pArg*/, int /*a_iArgc*/) + { + *ret = 0.0; + } + + virtual const char_type* GetDesc() const + { + return _T(""); + } + + virtual IToken* Clone() const + { + return new FunTest0(*this); + } +}; // class FunTest0 + +//--------------------------------------------------------------------------- +int ParserTester::c_iCount = 0; + +//--------------------------------------------------------------------------- +ParserTester::ParserTester() + :m_vTestFun() + , m_stream(&console()) +{ + AddTest(&ParserTester::TestParserValue); + AddTest(&ParserTester::TestUndefVar); + AddTest(&ParserTester::TestErrorCodes); + AddTest(&ParserTester::TestEqn); + AddTest(&ParserTester::TestIfElse); + AddTest(&ParserTester::TestStringFun); + AddTest(&ParserTester::TestMatrix); + AddTest(&ParserTester::TestComplex); + AddTest(&ParserTester::TestVector); + AddTest(&ParserTester::TestBinOp); + AddTest(&ParserTester::TestPostfix); + AddTest(&ParserTester::TestInfix); + AddTest(&ParserTester::TestMultiArg); + AddTest(&ParserTester::TestScript); + AddTest(&ParserTester::TestValReader); + AddTest(&ParserTester::TestIssueReports); + + ParserTester::c_iCount = 0; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestIssueReports() +{ + int iNumErr = 0; + *m_stream << _T("testing github issue reports..."); + + // Github: Issue 55 + iNumErr += ThrowTest(_T("{0,{0}}*{0,{0}}*{,{0}}*{0,{0}0,{0}}*{0,{0}}*{,{0}}*{0}*{000}"), ecUNEXPECTED_COMMA); + + // Github: Issue 56 + iNumErr += ThrowTest(_T("0M[,1][0/1M[0M]M]"), ecUNEXPECTED_COMMA); + + // Github Issue 57: + iNumErr += ThrowTest(_T("{?{{{{:44"), ecUNEXPECTED_CONDITIONAL); + + // Github Issue 60 + iNumErr += ThrowTest(_T("0<01?1=:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1<:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1>:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1-:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1-:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1-:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1-:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1-:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1+:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1*:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1/:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1&:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1<<:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("0<01?1>>:1"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("{ ? 0 : 7m}-{7, -00007m}-{7M}"), ecUNEXPECTED_CONDITIONAL); + iNumErr += ThrowTest(_T("{ { { ? 2 }, 7:2 }*7m }"), ecUNEXPECTED_CONDITIONAL); + + // Not too happy about the undefined code, but better than a crash of an assertion at runtime + iNumErr += ThrowTest(_T("{0<0?0,0:0<0}"), ecUNDEFINED); + + // Github Issue 63 + iNumErr += ThrowTest(_T("0<0-0--eye()"), ecINVALID_NUMBER_OF_PARAMETERS); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestUndefVar() +{ + int iNumErr = 0; + *m_stream << _T("testing implicit definition of undefined variables..."); + + // Test 1: No variables defined, test detection of undefined variables + { + ParserX p; + p.SetExpr(_T("a+b+c+d")); + const mup::var_maptype &expr_var = p.GetExprVar(); + const mup::var_maptype &var = p.GetVar(); + + // The expression contains 4 undefined variables + if (expr_var.size() != 4) + iNumErr++; + + // There are no variables defined + if (var.size() != 0) + iNumErr++; + } + + // Test 2: Variables were defined explicitely, test detection of variables + { + ParserX p; + + // Now define the variables and perform the check again + Value vVarVal[] = { 1.0, 2.0, 3.0, 4.0 }; + p.DefineVar(_T("a"), Variable(&vVarVal[0])); + p.DefineVar(_T("b"), Variable(&vVarVal[1])); + p.DefineVar(_T("c"), Variable(&vVarVal[2])); + p.DefineVar(_T("d"), Variable(&vVarVal[3])); + + p.SetExpr(_T("a+b+c+d")); + const mup::var_maptype &expr_var = p.GetExprVar(); + const mup::var_maptype &var = p.GetVar(); + + // The expression contains 4 undefined variables + if (expr_var.size() != 4) + iNumErr++; + + // There are no variables defined + if (var.size() != 4) + iNumErr++; + } + + // Test 3: Variables were defined implicitels, test detection of undefined variables + { + ParserX p; + + // Now define the variables and perform the check again + p.EnableAutoCreateVar(true); + + p.SetExpr(_T("a+b+c+d")); + const mup::var_maptype &expr_var = p.GetExprVar(); + const mup::var_maptype &var = p.GetVar(); + + // The expression contains 4 undefined variables + if (expr_var.size() != 4) + iNumErr++; + + // There are no variables defined + if (var.size() != 4) + iNumErr++; + } + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestMatrix() +{ + int iNumErr = 0; + *m_stream << _T("testing matrix calculations..."); + + Value unity(3, 3, 0); + unity.At(0, 0) = 1.0; + unity.At(1, 1) = 1.0; + unity.At(2, 2) = 1.0; + + Value va(3, 0); + va.At(0) = 1.0; + va.At(1) = 2.0; + va.At(2) = 3.0; + + //Value m2(3, 3, 0); + //m2.At(0, 0) = 1; m2.At(0, 1) = 2; m2.At(0, 2) = 3; + //m2.At(1, 0) = 4; m2.At(1, 1) = 5; m2.At(1, 2) = 6; + //m2.At(2, 0) = 7; m2.At(2, 1) = 8; m2.At(2, 2) = 9; + + Value m1_plus_m2(3, 3, 0); + m1_plus_m2.At(0, 0) = 2.0; m1_plus_m2.At(0, 1) = 2.0; m1_plus_m2.At(0, 2) = 3.0; + m1_plus_m2.At(1, 0) = 4.0; m1_plus_m2.At(1, 1) = 6.0; m1_plus_m2.At(1, 2) = 6.0; + m1_plus_m2.At(2, 0) = 7.0; m1_plus_m2.At(2, 1) = 8.0; m1_plus_m2.At(2, 2) = 10.0; + + Value m2_minus_m1(3, 3, 0); + m2_minus_m1.At(0, 0) = 0.0; m2_minus_m1.At(0, 1) = 2.0; m2_minus_m1.At(0, 2) = 3.0; + m2_minus_m1.At(1, 0) = 4.0; m2_minus_m1.At(1, 1) = 4.0; m2_minus_m1.At(1, 2) = 6.0; + m2_minus_m1.At(2, 0) = 7.0; m2_minus_m1.At(2, 1) = 8.0; m2_minus_m1.At(2, 2) = 8.0; + + Value m2_times_10(3, 3, 0); + m2_times_10.At(0, 0) = 10.0; m2_times_10.At(0, 1) = 20.0; m2_times_10.At(0, 2) = 30.0; + m2_times_10.At(1, 0) = 40.0; m2_times_10.At(1, 1) = 50.0; m2_times_10.At(1, 2) = 60.0; + m2_times_10.At(2, 0) = 70.0; m2_times_10.At(2, 1) = 80.0; m2_times_10.At(2, 2) = 90.0; + + Value va_times_vb_transp(3, 3, 0); + va_times_vb_transp.At(0, 0) = 4.0; va_times_vb_transp.At(0, 1) = 3.0; va_times_vb_transp.At(0, 2) = 2.0; + va_times_vb_transp.At(1, 0) = 8.0; va_times_vb_transp.At(1, 1) = 6.0; va_times_vb_transp.At(1, 2) = 4.0; + va_times_vb_transp.At(2, 0) = 12.0; va_times_vb_transp.At(2, 1) = 9.0; va_times_vb_transp.At(2, 2) = 6.0; + + Value size_3x6(1, 2, 0); + size_3x6.At(0, 0) = 3.0; + size_3x6.At(0, 1) = 6.0; + + Value size_3x3(1, 2, 0); + size_3x3.At(0, 0) = 3.0; + size_3x3.At(0, 1) = 3.0; + + Value size_3x1(1, 2, 0); + size_3x1.At(0, 0) = 3.0; + size_3x1.At(0, 1) = 1.0; + + Value size_1x3(1, 2, 0); + size_1x3.At(0, 0) = 1.0; + size_1x3.At(0, 1) = 3.0; + + // Check matrix dimension mismatch error + iNumErr += ThrowTest(_T("\"hallo\"+m1"), ecEVAL); + iNumErr += ThrowTest(_T("m1+\"hallo\""), ecEVAL); + iNumErr += ThrowTest(_T("va+m1"), ecMATRIX_DIMENSION_MISMATCH); + iNumErr += ThrowTest(_T("m1+va"), ecMATRIX_DIMENSION_MISMATCH); + iNumErr += ThrowTest(_T("va-m1"), ecMATRIX_DIMENSION_MISMATCH); + iNumErr += ThrowTest(_T("m1-va"), ecMATRIX_DIMENSION_MISMATCH); + iNumErr += ThrowTest(_T("va*m1"), ecMATRIX_DIMENSION_MISMATCH); + iNumErr += ThrowTest(_T("va+eye(2)"), ecMATRIX_DIMENSION_MISMATCH); + + // Issue 63: + iNumErr += ThrowTest(_T("0-0-eye()"), ecINVALID_NUMBER_OF_PARAMETERS); + + iNumErr += ThrowTest(_T("m1[1]"), ecINDEX_DIMENSION); + iNumErr += ThrowTest(_T("m1[1,2,3]"), ecINDEX_DIMENSION); + iNumErr += ThrowTest(_T("va[1,2]"), ecINDEX_OUT_OF_BOUNDS); // va has 1 column, 3 rows -> the coulumn index is referencing the third column + iNumErr += ThrowTest(_T("a+m1"), ecEVAL); + iNumErr += ThrowTest(_T("m1+a"), ecEVAL); + iNumErr += ThrowTest(_T("a-m1"), ecEVAL); + iNumErr += ThrowTest(_T("m1-a"), ecEVAL); + iNumErr += ThrowTest(_T("va[,1]"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("va[{1]"), ecMISSING_CURLY_BRACKET); + iNumErr += ThrowTest(_T("{,1}"), ecUNEXPECTED_COMMA); + + // sample expressions + iNumErr += EqnTest(_T("m1"), unity, true); + iNumErr += EqnTest(_T("m1*m1"), unity, true); + iNumErr += EqnTest(_T("m1+m2"), m1_plus_m2, true); + iNumErr += EqnTest(_T("m2-m1"), m2_minus_m1, true); + iNumErr += EqnTest(_T("10*m2"), m2_times_10, true); + iNumErr += EqnTest(_T("m2*10"), m2_times_10, true); + iNumErr += EqnTest(_T("5*m2*b"), m2_times_10, true); + iNumErr += EqnTest(_T("b*m2*5"), m2_times_10, true); + iNumErr += EqnTest(_T("m1*va"), va, true); + + // ones + Value ones_3(3, 1.0); + Value ones_3x3(3, 3, 1.0); + iNumErr += ThrowTest(_T("ones(1,2,3)"), ecINVALID_NUMBER_OF_PARAMETERS); + iNumErr += ThrowTest(_T("ones()"), ecINVALID_NUMBER_OF_PARAMETERS); + iNumErr += EqnTest(_T("ones(1,1)"), 1.0, true); + iNumErr += EqnTest(_T("ones(1)"), 1.0, true); + iNumErr += EqnTest(_T("ones(3,3)"), ones_3x3, true); + iNumErr += EqnTest(_T("ones(3,1)"), ones_3, true); + iNumErr += EqnTest(_T("ones(3)"), ones_3, true); + + iNumErr += EqnTest(_T("size(ones(3,3))"), size_3x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(ones(1,3))"), size_1x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(ones(3,1))"), size_3x1, true); // check return value dimension + iNumErr += EqnTest(_T("size(ones(3))"), size_3x3, true); // check return value dimension + + // zeros + iNumErr += ThrowTest(_T("zeros()"), ecINVALID_NUMBER_OF_PARAMETERS); + iNumErr += EqnTest(_T("size(zeros(3,3))"), size_3x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(zeros(1,3))"), size_1x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(zeros(3,1))"), size_3x1, true); // check return value dimension + iNumErr += EqnTest(_T("size(zeros(3))"), size_3x3, true); // check return value dimension + + // eye + iNumErr += ThrowTest(_T("eye()"), ecINVALID_NUMBER_OF_PARAMETERS); + iNumErr += EqnTest(_T("size(eye(3,3))"), size_3x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(eye(1,3))"), size_1x3, true); // check return value dimension + iNumErr += EqnTest(_T("size(eye(3,1))"), size_3x1, true); // check return value dimension + iNumErr += EqnTest(_T("size(eye(3))"), size_3x3, true); // check return value dimension + + iNumErr += EqnTest(_T("size(eye(3,6))"), size_3x6, true); // check return value dimension + + // transposition + iNumErr += EqnTest(_T("va'*vb"), 16.0, true); + iNumErr += EqnTest(_T("2*va'*vb"), 32.0, true); + iNumErr += EqnTest(_T("va*vb'"), va_times_vb_transp, true); + + // index operator + // erster index: Zeilenindex, zweiter index: Spaltenindex + iNumErr += EqnTest(_T("va[0]"), 1.0, true); + iNumErr += EqnTest(_T("va[1]"), 2.0, true); + iNumErr += EqnTest(_T("va[2]"), 3.0, true); + // Use two dimensional index operator on a vector + iNumErr += EqnTest(_T("va[0,0]"), 1.0, true); + iNumErr += EqnTest(_T("va[1,0]"), 2.0, true); + iNumErr += EqnTest(_T("va[2,0]"), 3.0, true); + + // Now test the same with a transposed vector: + iNumErr += EqnTest(_T("va'[0]"), 1.0, true); + iNumErr += EqnTest(_T("va'[1]"), 2.0, true); + iNumErr += EqnTest(_T("va'[2]"), 3.0, true); + // Use two dimensional index operator on a vector + iNumErr += EqnTest(_T("va'[0,0]"), 1.0, true); + iNumErr += EqnTest(_T("va'[0,1]"), 2.0, true); + iNumErr += EqnTest(_T("va'[0,2]"), 3.0, true); + iNumErr += EqnTest(_T("(va')[0,2]"), 3.0, true); // <- Index operator after closing bracket is ok + + // vector creation + iNumErr += EqnTest(_T("{1,2,3}'"), va, true); + iNumErr += EqnTest(_T("{a,2,3}'"), va, true); // that was an actual bug: variable a was overwritten + + // assignment to element: + iNumErr += ThrowTest(_T("va'[0]=123"), ecASSIGNEMENT_TO_VALUE); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestComplex() +{ + int iNumErr = 0; + *m_stream << _T("testing complex calculations..."); + + // complex numbers + // ca=1+i, cb=2+3i, cc=3+4i + iNumErr += EqnTest(_T("ca==1+i"), true, true); + iNumErr += EqnTest(_T("ca==ca"), true, true); + iNumErr += EqnTest(_T("ca!=1+i"), false, true); + iNumErr += EqnTest(_T("ca!=ca"), false, true); + iNumErr += EqnTest(_T("ca!=cb"), true, true); + iNumErr += EqnTest(_T("ca!=va"), true, true); + iNumErr += EqnTest(_T("ca==va"), false, true); + + // When comparing complex number Matlab/Octave compare only the real part + // I'll do the same... + iNumErr += EqnTest(_T("ca<10+i"), true, true); + iNumErr += EqnTest(_T("ca>10+i"), false, true); + iNumErr += EqnTest(_T("ca<=10+i"), true, true); + iNumErr += EqnTest(_T("ca>=10+i"), false, true); + iNumErr += EqnTest(_T("ca<=1"), true, true); + iNumErr += EqnTest(_T("ca>=1"), true, true); + + // complex numbers + iNumErr += EqnTest(_T("i*i"), -1.0, true, 0); + iNumErr += EqnTest(_T("1i"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("norm(3+4i)"), 25.0, true, 0); + iNumErr += EqnTest(_T("norm(4i+3)"), 25.0, true, 0); + iNumErr += EqnTest(_T("norm(3i+4)"), 25.0, true, 0); + iNumErr += EqnTest(_T("real(4.1i+3.1)"), (float_type)3.1, true, 0); + iNumErr += EqnTest(_T("imag(3.1i+4.1)"), (float_type)3.1, true, 0); + iNumErr += EqnTest(_T("real(3.1)"), (float_type)3.1, true, 0); + iNumErr += EqnTest(_T("imag(2.1i)"), (float_type)2.1, true, 0); + iNumErr += EqnTest(_T("-(4i+5)"), cmplx_type(-5, -4), true, 0); + iNumErr += EqnTest(_T("sqrt(-1)"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("(-1)^0.5"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("(-3)^(4/3)"), std::pow(cmplx_type(-3, 0), + cmplx_type(4.0 / 3, 0)), true, 0); + + // Issue 41: Complex pow of small numbers zeros out the imaginary part + // https://code.google.com/p/muparserx/issues/detail?id=41 + iNumErr += EqnTest(_T("(1e-15 + 1e-15*i) ^ 2"), std::pow(cmplx_type(1e-15, 1e-15), 2), true, 0); + + iNumErr += EqnTest(_T("sqrt(i*i)"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("sqrt(f)"), cmplx_type(0, 1), true, 1); + iNumErr += EqnTest(_T("sqrt(2-3)"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("sqrt(a-b)"), cmplx_type(0, 1), true, 2); + iNumErr += EqnTest(_T("sqrt((2-3))"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("sqrt((a-b))"), cmplx_type(0, 1), true, 2); + iNumErr += EqnTest(_T("sqrt(-(1))"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("sqrt((-1))"), cmplx_type(0, 1), true, 0); + iNumErr += EqnTest(_T("sqrt(-(-1))"), cmplx_type(1, 0), true, 0); + iNumErr += EqnTest(_T("sqrt(1)"), cmplx_type(1, 0), true, 0); + iNumErr += EqnTest(_T("a=1+2i"), cmplx_type(1, 2), true, 1); + iNumErr += EqnTest(_T("-(1+2i)"), cmplx_type(-1, -2), true, 0); + iNumErr += EqnTest(_T("-(-1-2i)"), cmplx_type(1, 2), true, 0); + iNumErr += EqnTest(_T("a*i"), cmplx_type(0, 1), true, 1); + iNumErr += EqnTest(_T("-(a+b*i)"), cmplx_type(-1, -2), true, 2); + iNumErr += EqnTest(_T("-(-a-b*i)"), cmplx_type(1, 2), true, 2); + iNumErr += EqnTest(_T("(2+4i)*(8-6i)"), cmplx_type(40, 20), true, 0); + + // Issue 17: Wrong result on complex power. + iNumErr += EqnTest(_T("(-0.27 + 0.66*i)^2"), cmplx_type(-0.3627, -0.3564), true, 0); + iNumErr += EqnTest(_T("(-1+5i)^2"), cmplx_type(-24, -10), true, 0); + + iNumErr += EqnTest(_T("c=(a=1+2i)"), cmplx_type(1, 2), true, 2); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestParserValue() +{ + int iNumErr = 0; + *m_stream << _T("testing parser value types..."); + + // Define values and variables for each type + Value bVal = true; + Value fVal = (float_type)3.14; + Value sVal = string_type(_T("hello world")); + Value sVal1 = _T("hello world"); // Test assignment from const char* to string + Value cVal = cmplx_type(1, 1); + Value aVal(2, 0); + aVal.At(0) = (float_type)2.0; + aVal.At(1) = (float_type)3.0; + + // Create a 3x3 matrix + Value matrix(3, 0); + matrix.At(0) = Value(3, 0); + matrix.At(1) = Value(3, 0); + matrix.At(2) = Value(3, 0); + + Variable bVar(&bVal), + fVar(&fVal), + sVar(&sVal), + sVar1(&sVal1), + cVar(&cVal), + aVar(&aVal); + + // Check the value types + try + { + // Test if matrix values do work + if (!matrix.IsMatrix() || matrix.GetRows() != 3) + iNumErr++; + + std::size_t sz = matrix.GetRows(); + for (std::size_t i = 0; i < sz; ++i) + { + std::size_t dim_row = matrix.At(static_cast(i)).GetRows(); + if (dim_row != 3) + { + iNumErr++; + console() << _T("\n Array dimension mismatch in matrix row ") << i + << _T(" (expected=3; dim=") << dim_row << _T(")"); + } + } + + // test type checking of values + if (!fVal.IsScalar() || fVal.IsMatrix() || fVal.GetType() != 'f') iNumErr++; + if (!cVal.IsScalar() || cVal.IsMatrix() || cVal.GetType() != 'c') iNumErr++; + if (aVal.IsScalar() || !aVal.IsMatrix() || aVal.GetType() != 'm') iNumErr++; + if (sVal.IsScalar() || sVal.IsMatrix() || sVal.GetType() != 's') iNumErr++; + if (sVal1.IsScalar() || sVal1.IsMatrix() || sVal1.GetType() != 's') iNumErr++; + if (bVal.IsScalar() || bVal.IsMatrix() || bVal.GetType() != 'b') iNumErr++; + + // test type checking of variables + if (!fVar.IsScalar() || fVar.IsMatrix() || fVar.GetType() != 'f') iNumErr++; + if (!cVar.IsScalar() || cVar.IsMatrix() || cVar.GetType() != 'c') iNumErr++; + if (aVar.IsScalar() || !aVar.IsMatrix() || aVar.GetType() != 'm') iNumErr++; + if (sVar.IsScalar() || sVar.IsMatrix() || sVar.GetType() != 's') iNumErr++; + if (sVar1.IsScalar() || sVar1.IsMatrix() || sVar1.GetType() != 's') iNumErr++; + if (bVar.IsScalar() || bVar.IsMatrix() || bVar.GetType() != 'b') iNumErr++; + + // Issue 33: https://code.google.com/p/muparserx/issues/detail?id=33 + // Remark: Type information was not properly set when invoking +=, -= operators + { + Value x = 1.0; + Value y = cmplx_type(0, 1); + x += y; + if (x.GetImag() != 1 || x.GetFloat() != 1 || x.GetType() != 'c') + { + *m_stream << _T("\nValue::operator+=(...) failed."); + iNumErr++; + } + + x = 1.0; + y = cmplx_type(0, 1); + x -= y; + if (x.GetImag() != -1 || x.GetFloat() != 1 || x.GetType() != 'c') + { + *m_stream << _T("\nValue::operator-=(...) failed."); + iNumErr++; + } + } + } + catch (...) + { + iNumErr++; + } + + bool bError; + +#define VALUE_THROWCHECK(VAR, FAIL, MEMBER) \ + bError = (FAIL); \ + try \ + { \ + VAR.MEMBER(); \ + } \ + catch (...) \ + { \ + bError ^= true; \ + } \ + iNumErr += (bError) ? 1 : 0; \ + c_iCount++; + + // Check if the getter functions really throw an exception + // when used with an incorrect value type + // Case 1: test float values + VALUE_THROWCHECK(fVal, false, GetFloat) + VALUE_THROWCHECK(fVal, false, GetImag) + VALUE_THROWCHECK(fVal, true, GetBool) + VALUE_THROWCHECK(fVal, true, GetString) + VALUE_THROWCHECK(fVal, true, GetArray) + // for variables + VALUE_THROWCHECK(fVar, false, GetFloat) + VALUE_THROWCHECK(fVar, false, GetImag) + VALUE_THROWCHECK(fVar, true, GetBool) + VALUE_THROWCHECK(fVar, true, GetString) + VALUE_THROWCHECK(fVar, true, GetArray) + + // Case 2: test bool values + VALUE_THROWCHECK(bVal, false, GetFloat) + VALUE_THROWCHECK(bVal, true, GetImag) + VALUE_THROWCHECK(bVal, false, GetBool) + VALUE_THROWCHECK(bVal, true, GetString) + VALUE_THROWCHECK(bVal, true, GetArray) + // for variables + VALUE_THROWCHECK(bVar, false, GetFloat) + VALUE_THROWCHECK(bVar, true, GetImag) + VALUE_THROWCHECK(bVar, false, GetBool) + VALUE_THROWCHECK(bVar, true, GetString) + VALUE_THROWCHECK(bVar, true, GetArray) + + // Case 3: test string values + // VALUE_THROWCHECK(sVal, true, GetFloat) + VALUE_THROWCHECK(sVal, true, GetImag) + VALUE_THROWCHECK(sVal, true, GetBool) + VALUE_THROWCHECK(sVal, false, GetString) + VALUE_THROWCHECK(sVal, true, GetArray) + // for variables + // VALUE_THROWCHECK(sVar, true, GetFloat) + VALUE_THROWCHECK(sVar, true, GetImag) + VALUE_THROWCHECK(sVar, true, GetBool) + VALUE_THROWCHECK(sVar, false, GetString) + VALUE_THROWCHECK(sVar, true, GetArray) + + // Case 4: test array values + // VALUE_THROWCHECK(aVal, true, GetFloat) + VALUE_THROWCHECK(aVal, true, GetImag) + VALUE_THROWCHECK(aVal, true, GetBool) + VALUE_THROWCHECK(aVal, true, GetString) + VALUE_THROWCHECK(aVal, false, GetArray) + // for variables + // VALUE_THROWCHECK(aVar, true, GetFloat) + VALUE_THROWCHECK(aVar, true, GetImag) + VALUE_THROWCHECK(aVar, true, GetBool) + VALUE_THROWCHECK(aVar, true, GetString) + VALUE_THROWCHECK(aVar, false, GetArray) + + // Case 5: test complex values + // VALUE_THROWCHECK(cVal, false, GetFloat) + VALUE_THROWCHECK(cVal, false, GetImag) + VALUE_THROWCHECK(cVal, true, GetBool) + VALUE_THROWCHECK(cVal, true, GetString) + VALUE_THROWCHECK(cVal, true, GetArray) + // for variables + // VALUE_THROWCHECK(cVar, false, GetFloat) + VALUE_THROWCHECK(cVar, false, GetImag) + VALUE_THROWCHECK(cVar, true, GetBool) + VALUE_THROWCHECK(cVar, true, GetString) + VALUE_THROWCHECK(cVar, true, GetArray) +#undef VALUE_THROWCHECK + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestErrorCodes() +{ + int iNumErr = 0; + *m_stream << _T("testing error codes..."); + + iNumErr += ThrowTest(_T("a,b"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("(a,b)"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("((a,b))"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("2*1,2"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("sin(1,2)"), ecTOO_MANY_PARAMS); + + // Invalid expression + // Issue 20: http://code.google.com/p/muparserx/issues/detail?id=20 + iNumErr += ThrowTest(_T(" "), ecUNEXPECTED_EOF); + + iNumErr += ThrowTest(_T("sin(nonexistent_var)"), ecUNASSIGNABLE_TOKEN, 4, _T("nonexistent_var")); + + // Invalid function argument types + iNumErr += ThrowTest(_T("sin(\"test\")"), ecEVAL, 0); + iNumErr += ThrowTest(_T("max(1, \"test\")"), ecEVAL, 0); + iNumErr += ThrowTest(_T("max(1,sin(8), \"t\")"), ecEVAL, 0); + iNumErr += ThrowTest(_T("str2dbl(sin(3.14))"), ecEVAL, 0); + + // Invalid unary operator argument types + iNumErr += ThrowTest(_T("\"test\"n"), ecEVAL, 6); // (nano can only be applied to floats) + iNumErr += ThrowTest(_T("(1+3i)/(8*9i)+\"hallo\""), ecEVAL); + iNumErr += ThrowTest(_T("(1+3i)/(8*9i)-\"hallo\""), ecEVAL); + iNumErr += ThrowTest(_T("(1+3i)/(8*9i)*\"hallo\""), ecEVAL); + iNumErr += ThrowTest(_T("(1+3i)/(8*9i)/\"hallo\""), ecEVAL); + iNumErr += ThrowTest(_T("10+va"), ecEVAL, 2); + + // Type conflicts in binary operators + iNumErr += ThrowTest(_T("\"test\" // 8"), ecEVAL, 7); + iNumErr += ThrowTest(_T("8//\"test\""), ecEVAL, 1); + iNumErr += ThrowTest(_T("5//8"), ecEVAL, 1); + iNumErr += ThrowTest(_T("\"t\"//sin(8)"), ecEVAL, 3); + iNumErr += ThrowTest(_T("sin(8)//\"t\""), ecEVAL, 6); + + // Unexpected end of expression + iNumErr += ThrowTest(_T("3+"), ecUNEXPECTED_EOF); + iNumErr += ThrowTest(_T("8*"), ecUNEXPECTED_EOF); + iNumErr += ThrowTest(_T("3+("), ecUNEXPECTED_EOF); + iNumErr += ThrowTest(_T("3+sin"), ecUNEXPECTED_EOF); + iNumErr += ThrowTest(_T("(2+"), ecUNEXPECTED_EOF); + + iNumErr += ThrowTest(_T("3+)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("3)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("(3))"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("()"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("(2+)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("sin(cos)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("sin(())"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("sin()"), ecTOO_FEW_PARAMS); + iNumErr += ThrowTest(_T("sin)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("pi)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("a)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("2(-m)"), ecUNEXPECTED_PARENS); + iNumErr += ThrowTest(_T("2(m)"), ecUNEXPECTED_PARENS); + + iNumErr += ThrowTest(_T("(1+2"), ecMISSING_PARENS); + iNumErr += ThrowTest(_T("((3)"), ecMISSING_PARENS); + + // The behaviour in the next function depends on whether + // implicit variable creation is allowed or not. (momentarily its active) + iNumErr += ThrowTest(_T("5z)"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("sin(3)xyz"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("5t6"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("5 t 6"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("ksdfj"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("-m"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("m4"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("sin(m)"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("m m"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("m(8)"), ecUNASSIGNABLE_TOKEN); + iNumErr += ThrowTest(_T("4 + m"), ecUNASSIGNABLE_TOKEN); + + // unexpected operator + iNumErr += ThrowTest(_T("5+*3)"), ecUNEXPECTED_OPERATOR); + + // unexpected comma (used without a function) + iNumErr += ThrowTest(_T(",3"), ecUNEXPECTED_COMMA); + iNumErr += ThrowTest(_T("sin(,sin(8))"), ecUNEXPECTED_COMMA); + + // unexpected variable + iNumErr += ThrowTest(_T("a _xxx_ b"), ecUNASSIGNABLE_TOKEN, 2); // if a variable factory is installed ecUNEXPECTED_VAR + + iNumErr += ThrowTest(_T("sin(3)cos(3)"), ecUNEXPECTED_FUN); + iNumErr += ThrowTest(_T("sin(3)3"), ecUNEXPECTED_VAL); + iNumErr += ThrowTest(_T("sin(3)+"), ecUNEXPECTED_EOF); + + // value recognition + iNumErr += ThrowTest(_T("0x"), ecUNASSIGNABLE_TOKEN); // incomplete hex value + iNumErr += ThrowTest(_T("1+0x"), ecUNASSIGNABLE_TOKEN); // incomplete hex value + iNumErr += ThrowTest(_T("a+0x"), ecUNASSIGNABLE_TOKEN); // incomplete hex value + + // index operator + iNumErr += ThrowTest(_T("3n[1]"), ecINDEX_OUT_OF_BOUNDS); // Indexing a scalar is ok, but this index is out of bounds (0 would be ok) + iNumErr += ThrowTest(_T("min(3,]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("sin(]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("va[]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("3+]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("sin[a)"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("1+[8]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("1[8]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("[1]"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("]1"), ecUNEXPECTED_SQR_BRACKET); + iNumErr += ThrowTest(_T("va[[3]]"), ecUNEXPECTED_SQR_BRACKET); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestStringFun() +{ + int iNumErr = 0; + *m_stream << _T("testing string functions..."); + + // escape sequences + iNumErr += EqnTest(_T("\"\\\"quoted_string\\\"\""), _T("\"quoted_string\""), true); // "\"quoted_string\"" -> "quoted_string" + iNumErr += EqnTest(_T("\"\\\"\\\"\""), _T("\"\""), true); // "\"\"" -> "" + iNumErr += EqnTest(_T("\"\\\\\""), _T("\\"), true); // "\\" -> \ (single backslash) + + // String functions + iNumErr += EqnTest(_T("strlen(\"12345\")"), 5.0, true); + iNumErr += EqnTest(_T("strlen(toupper(\"abcde\"))"), 5.0, true); + iNumErr += EqnTest(_T("sin(0)+(float)strlen(\"12345\")"), (float_type)5.0, true); + iNumErr += EqnTest(_T("10*(float)strlen(toupper(\"12345\"))"), (float_type)50.0, true); + iNumErr += EqnTest(_T("\"hello \"//\"world\""), string_type(_T("hello world")), true); + iNumErr += EqnTest(_T("toupper(\"hello \")//\"world\""), string_type(_T("HELLO world")), true); + iNumErr += EqnTest(_T("\"hello \"//toupper(\"world\")//\" !!!\""), string_type(_T("hello WORLD !!!")), true); + + Assessment(iNumErr); + + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestPostfix() +{ + int iNumErr = 0; + *m_stream << _T("testing postfix operators..."); + + // application + iNumErr += EqnTest(_T("1n"), (float_type)1e-9, true); + iNumErr += EqnTest(_T("8n"), (float_type)8e-9, true); + iNumErr += EqnTest(_T("8n"), (float_type)123.0, false); + iNumErr += EqnTest(_T("3m+5"), (float_type)5.003, true); + iNumErr += EqnTest(_T("1000m"), (float_type)1.0, true); + iNumErr += EqnTest(_T("1000 m"), (float_type)1.0, true); + iNumErr += EqnTest(_T("(a)m"), (float_type)1e-3, true); + iNumErr += EqnTest(_T("-(a)m"), (float_type)-1e-3, true); + iNumErr += EqnTest(_T("-2m"), (float_type)-2e-3, true); + iNumErr += EqnTest(_T("a++b"), 3.0, true); + iNumErr += EqnTest(_T("a ++ b"), 3.0, true); + iNumErr += EqnTest(_T("1++2"), 3.0, true); + iNumErr += EqnTest(_T("1 ++ 2"), 3.0, true); + iNumErr += EqnTest(_T("2+(a*1000)m"), (float_type)3.0, true); + // some incorrect results + iNumErr += EqnTest(_T("1000m"), (float_type)0.1, false); + iNumErr += EqnTest(_T("(a)m"), (float_type)2.0, false); + // factorial operator + iNumErr += EqnTest(_T("5!"), 120.0, true); + iNumErr += EqnTest(_T("-5!"), -120.0, true); + iNumErr += ThrowTest(_T("(-5)!"), ecDOMAIN_ERROR); + + // Special tests for systems not supporting IEEE 754 + if (!std::numeric_limits::is_iec559) + { + iNumErr += ThrowTest(_T("123456!"), ecOVERFLOW); + } + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestInfix() +{ + int iNumErr = 0; + *m_stream << _T("testing infix operators..."); + + float_type a = 1; + float_type b = 2; + + iNumErr += EqnTest(_T("-1"), (float_type)-1.0, true); + iNumErr += EqnTest(_T("-(-1)"), (float_type)1.0, true); + iNumErr += EqnTest(_T("-(-1)*2"), (float_type)2.0, true); + iNumErr += EqnTest(_T("-(-2)*sqrt(4)"), (float_type)4.0, true); + iNumErr += EqnTest(_T("-a"), -a, true); + iNumErr += EqnTest(_T("-(a)"), -(a), true); + iNumErr += EqnTest(_T("-(-a)"), -(-a), true); + iNumErr += EqnTest(_T("-(-a)*2"), -(-a) * 2, true); + iNumErr += EqnTest(_T("-(8)"), (float_type)-8.0, true); + iNumErr += EqnTest(_T("-8"), (float_type)-8.0, true); + iNumErr += EqnTest(_T("-(2+1)"), (float_type)-3.0, true); + //iNumErr += EqnTest("-(f1of1(1+2*3)+1*2)", -9.0, true); + //iNumErr += EqnTest("-(-f1of1(1+2*3)+1*2)", 5.0, true); + iNumErr += EqnTest(_T("-sin(8)"), (float_type)-0.989358, true); + iNumErr += EqnTest(_T("-sin(8)"), (float_type)0.989358, false); + iNumErr += EqnTest(_T("3-(-a)"), (float_type)4.0, true); + iNumErr += EqnTest(_T("3--a"), (float_type)4.0, true); + iNumErr += EqnTest(_T("2++4"), (float_type)6.0, true); + iNumErr += EqnTest(_T("--1"), (float_type)1.0, true); + + // sign precedence + // Issue 14: https://code.google.com/p/muparserx/issues/detail?id=14 + iNumErr += EqnTest(_T("-3^2"), -9.0, true); + iNumErr += EqnTest(_T("-b^2^3-b^8"), -std::pow(b, std::pow(2.0, 3.0)) - std::pow(b, 8), true); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestMultiArg() +{ + int iNumErr = 0; + *m_stream << _T("testing multiarg functions..."); + + // Multiarg functions being called without any parameters + iNumErr += ThrowTest(_T("min()"), ecTOO_FEW_PARAMS); + iNumErr += ThrowTest(_T("max()"), ecTOO_FEW_PARAMS); + iNumErr += ThrowTest(_T("sum()"), ecTOO_FEW_PARAMS); + + // application + iNumErr += EqnTest(_T("max(1,8,9,(int)6)"), (float_type)9.0, true); + iNumErr += EqnTest(_T("max((int)6, 1+2, 4, -9)"), (float_type)6.0, true); + iNumErr += EqnTest(_T("min((int)6, 1+2, 4, -9)"), (float_type)-9.0, true); + + // + iNumErr += EqnTest(_T("a=test0()"), (float_type)0, true); + iNumErr += EqnTest(_T("b=a+test0()"), (float_type)1, true); + + // added as response to this bugreport: + // http://code.google.com/p/muparserx/issues/detail?id=1 + // cause of the error: Function tokens were not cloned in the tokenreader when beeing found. + // a pointer to the one and only function onject was returned instead + // consequently the argument counter was overwritten by the second function call + // causing an assertion later on. + iNumErr += EqnTest(_T("sum(1,2)/sum(3,4)"), (float_type)0.428571, true); + iNumErr += EqnTest(_T("3/sum(3,4,5)"), (float_type)0.25, true); + iNumErr += EqnTest(_T("sum(3)/sum(3,4,5)"), (float_type)0.25, true); + iNumErr += EqnTest(_T("sum(3)+sum(3,4,5)"), (float_type)15, true); + iNumErr += EqnTest(_T("sum(1,2)/sum(3,4,5)"), (float_type)0.25, true); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestVector() +{ + int iNumErr = 0; + *m_stream << _T("testing vector operations..."); + + // Vector operations + iNumErr += ThrowTest(_T("10+2*va"), ecEVAL); // fail: number + vector + iNumErr += ThrowTest(_T("10+va*2"), ecEVAL); // fail: number + vector + iNumErr += ThrowTest(_T("va+vc"), ecMATRIX_DIMENSION_MISMATCH); // fail: vectors of different size + iNumErr += ThrowTest(_T("va-vc"), ecMATRIX_DIMENSION_MISMATCH); // fail: vectors of different size + iNumErr += ThrowTest(_T("va*vc"), ecMATRIX_DIMENSION_MISMATCH); // fail: vectors of different size + iNumErr += ThrowTest(_T("va*vb"), ecMATRIX_DIMENSION_MISMATCH); // fail: matrix dimension mismatch + iNumErr += ThrowTest(_T("va*va"), ecMATRIX_DIMENSION_MISMATCH); // fail: matrix dimension mismatch + iNumErr += ThrowTest(_T("(va*vb)*b"), ecMATRIX_DIMENSION_MISMATCH); // fail: matrix dimension mismatch + iNumErr += ThrowTest(_T("va[1.23]"), ecTYPE_CONFLICT_IDX, 7); // fail: float value used as index + iNumErr += ThrowTest(_T("va[sin(8)]"), ecTYPE_CONFLICT_IDX, 9); // fail: float value used as index + iNumErr += ThrowTest(_T("va[-1]"), ecINDEX_OUT_OF_BOUNDS); // fail: negative value used as an index + iNumErr += ThrowTest(_T("va[c]"), ecINDEX_OUT_OF_BOUNDS); + iNumErr += ThrowTest(_T("va[(3)]"), ecINDEX_OUT_OF_BOUNDS); + iNumErr += ThrowTest(_T("a[1]"), ecINDEX_OUT_OF_BOUNDS); // indexing a scalar is ok, but this index is out of bounds (0 would be ok...) + iNumErr += ThrowTest(_T("va[1"), ecMISSING_SQR_BRACKET); + iNumErr += ThrowTest(_T("va[1]]"), ecUNEXPECTED_SQR_BRACKET); + + //iNumErr += ThrowTest(_T("va==9"), ecEVAL); + //iNumErr += ThrowTest(_T("va==a"), ecEVAL); + //iNumErr += ThrowTest(_T("a==va"), ecEVAL); + //iNumErr += ThrowTest(_T("9==va"), ecEVAL); + + Value v(3, 0); + v.At(0) = (float_type)5.0; + v.At(1) = (float_type)5.0; + v.At(2) = (float_type)5.0; + iNumErr += EqnTest(_T("va+vb"), v, true); + + v.At(0) = (float_type)5.0; + v.At(1) = (float_type)5.0; + v.At(2) = (float_type)6.0; + iNumErr += EqnTest(_T("va+vb"), v, false); + + v.At(0) = (float_type)-1.0; + v.At(1) = (float_type)-2.0; + v.At(2) = (float_type)-3.0; + iNumErr += EqnTest(_T("-va"), v, true); + + iNumErr += EqnTest(_T("sizeof(va+vb)"), 3.0, true); + iNumErr += EqnTest(_T("sizeof(va-vb)"), 3.0, true); + + iNumErr += EqnTest(_T("va==vb"), false, true); + iNumErr += EqnTest(_T("va!=vb"), true, true); + //iNumErr += EqnTest(_T("vavb"), true, true); + //iNumErr += EqnTest(_T("va<=vb"), false, true); + //iNumErr += EqnTest(_T("va>=vb"), true, true); + + iNumErr += EqnTest(_T("vb[va[0]]"), 3.0, true); + iNumErr += EqnTest(_T("m1[0,0]+m1[1,1]+m1[2,2]"), 3.0, true); + iNumErr += EqnTest(_T("vb[m1[0,0]]"), 3.0, true); + + iNumErr += EqnTest(_T("m1[0,0]=2"), 2.0, true); + iNumErr += EqnTest(_T("m1[1,1]=2"), 2.0, true); + iNumErr += EqnTest(_T("m1[2,2]=2"), 2.0, true); + iNumErr += EqnTest(_T("va[0]=12.3"), (float_type)12.3, true); + iNumErr += EqnTest(_T("va[1]=12.3"), (float_type)12.3, true); + iNumErr += EqnTest(_T("va[2]=12.3"), (float_type)12.3, true); + + iNumErr += EqnTest(_T("va[0]"), 1.0, true); + iNumErr += EqnTest(_T("va[1]"), 2.0, true); + iNumErr += EqnTest(_T("va[2]"), 3.0, true); + iNumErr += EqnTest(_T("(va[2])"), 3.0, true); + iNumErr += EqnTest(_T("va[a]"), 2.0, true); + iNumErr += EqnTest(_T("(va[a])"), 2.0, true); + iNumErr += EqnTest(_T("va[b]"), 3.0, true); + iNumErr += EqnTest(_T("va[(2)]"), 3.0, true); + iNumErr += EqnTest(_T("va[-(-2)]"), 3.0, true); + iNumErr += EqnTest(_T("(va[(2)])"), 3.0, true); + iNumErr += EqnTest(_T("(va[-(-2)])"), 3.0, true); + iNumErr += EqnTest(_T("va[1+1]"), 3.0, true); + iNumErr += EqnTest(_T("va[(int)sin(8)+1]"), 2.0, true); + + iNumErr += EqnTest(_T("va[2]+4"), 7.0, true); + iNumErr += EqnTest(_T("4+va[2]"), 7.0, true); + iNumErr += EqnTest(_T("va[2]*4"), 12.0, true); + iNumErr += EqnTest(_T("4*va[2]"), 12.0, true); + iNumErr += EqnTest(_T("va[2]+a"), 4.0, true); + iNumErr += EqnTest(_T("a+va[2]"), 4.0, true); + iNumErr += EqnTest(_T("va[2]*b"), 6.0, true); + iNumErr += EqnTest(_T("b*va[2]"), 6.0, true); + + // Issue 68 (and related issues): + iNumErr += EqnTest(_T("(abs(-3)+2)>=min(6,5)"), true, true); + iNumErr += EqnTest(_T("(abs(-3))>abs(2)"), true, true); + iNumErr += EqnTest(_T("min(1,2,-3)>-4"), true, true); + iNumErr += EqnTest(_T("(abs(-3))>-2"), true, true); + iNumErr += EqnTest(_T("abs(-3)>abs(2)"), true, true); + + // Issue 42: + // https://code.google.com/p/muparserx/issues/detail?id=42 + v.At(0) = (float_type)1.0; + v.At(1) = (float_type)0.0; + v.At(2) = (float_type)0.0; + iNumErr += EqnTest(_T("{1,0,0}'"), v, true); + iNumErr += EqnTest(_T("{(1),0,0}'"), v, true); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestBinOp() +{ + int iNumErr = 0; + *m_stream << _T("testing binary operators..."); + float_type a = 1; + + // standard aperators + iNumErr += EqnTest(_T("1+7"), (float_type)8.0, true); + iNumErr += EqnTest(_T("10-1"), (float_type)9.0, true); + iNumErr += EqnTest(_T("3*4"), (float_type)12.0, true); + iNumErr += EqnTest(_T("10/2"), (float_type)5.0, true); + // operator associativity + iNumErr += EqnTest(_T("2^2^3"), (float_type)256.0, true); + iNumErr += EqnTest(_T("3+4*2/(1-5)^2^3"), (float_type)3.0001220703125, true); + iNumErr += EqnTest(_T("1/2/3"), (float_type)1.0 / (float_type)6.0, true); + + // operator precedencs + iNumErr += EqnTest(_T("1+2-3*4/5^6"), (float_type)2.99923, true); + iNumErr += EqnTest(_T("a+b-c*4/5^6"), (float_type)2.99923, true); + iNumErr += EqnTest(_T("1^2/3*4-5+6"), (float_type)2.3333, true); + iNumErr += EqnTest(_T("a^b/c*4-5+6"), (float_type)2.3333, true); + iNumErr += EqnTest(_T("1+2*3"), (float_type)7.0, true); + iNumErr += EqnTest(_T("a+b*c"), (float_type)7.0, true); + iNumErr += EqnTest(_T("(1+2)*3"), (float_type)9.0, true); + iNumErr += EqnTest(_T("(a+b)*c"), (float_type)9.0, true); + iNumErr += EqnTest(_T("(1+2)*(-3)"), (float_type)-9.0, true); + iNumErr += EqnTest(_T("(a+b)*(-c)"), (float_type)-9.0, true); + iNumErr += EqnTest(_T("2/4"), (float_type)0.5, true); + iNumErr += EqnTest(_T("4&4"), 4.0, true); + iNumErr += EqnTest(_T("2+2&(a+b+c)"), 4.0, true); + iNumErr += EqnTest(_T("3&3"), 3.0, true); + iNumErr += EqnTest(_T("c&3"), 3.0, true); + iNumErr += EqnTest(_T("(c)&3"), 3.0, true); + iNumErr += EqnTest(_T("(a+b)&3"), 3.0, true); + iNumErr += EqnTest(_T("(a+b+c)&6"), 6.0, true); + iNumErr += EqnTest(_T("(1+2+3)&6"), 6.0, true); + iNumErr += EqnTest(_T("3&c"), 3.0, true); + iNumErr += EqnTest(_T("(a<<1)+2"), 4.0, true); + iNumErr += EqnTest(_T("(a<<2)+2"), 6.0, true); + iNumErr += EqnTest(_T("(a<<3)+2"), 10.0, true); + iNumErr += EqnTest(_T("(a<<4)+2"), 18.0, true); + iNumErr += EqnTest(_T("(a<<5)+2"), 34.0, true); + iNumErr += EqnTest(_T("1<<31"), (float_type)2147483648, true); + iNumErr += EqnTest(_T("-1<<31"), (float_type)-2147483648.0, true); + iNumErr += EqnTest(_T("1<<45"), (float_type)35184372088832.0, true); + iNumErr += EqnTest(_T("-1<<45"), (float_type)-35184372088832.0, true); + iNumErr += EqnTest(_T("8<<-2"), 2.0, true); + iNumErr += EqnTest(_T("8<<-4"), 0.0, true); + // Issue 25: http://code.google.com/p/muparserx/issues/detail?id=25 + iNumErr += ThrowTest(_T("55<<2222222"), ecOVERFLOW); + // Issue 16: http://code.google.com/p/muparserx/issues/detail?id=16 + iNumErr += EqnTest(_T("true == true && false"), true == true && false, true); + iNumErr += EqnTest(_T("false == true && false"), false == true && false, true); + iNumErr += EqnTest(_T("a==1.0 && a==1.0"), a == 1.0 && a == 1.0, true); + + // bool operators for comparing values + iNumErr += EqnTest(_T("aa"), true, true); + iNumErr += EqnTest(_T("a>a"), false, true); + iNumErr += EqnTest(_T("aa"), false, true); + iNumErr += EqnTest(_T("a<=a"), true, true); + iNumErr += EqnTest(_T("a<=b"), true, true); + iNumErr += EqnTest(_T("b<=a"), false, true); + iNumErr += EqnTest(_T("a>=a"), true, true); + iNumErr += EqnTest(_T("b>=a"), true, true); + iNumErr += EqnTest(_T("a>=b"), false, true); + // The following equations were raising type conflict errors once + // since the result of sqrt(1) is 1 which is an integer as fas as muParserX + // is concerned: + iNumErr += EqnTest(_T("sqrt(a)sin(8)"), true, true); + iNumErr += EqnTest(_T("sqrt(a)>=sin(8)"), true, true); + iNumErr += EqnTest(_T("sqrt(a)==sin(8)"), false, true); + iNumErr += EqnTest(_T("sqrt(a)!=sin(8)"), true, true); + iNumErr += EqnTest(_T("sqrt(a)+1.01"), (float_type)2.01, true); + iNumErr += EqnTest(_T("sqrt(a)-1.01"), (float_type)-0.01, true); + + // interaction with sign operator + iNumErr += EqnTest(_T("3-(-a)"), 4.0, true); + iNumErr += EqnTest(_T("3--a"), 4.0, true); + + // Problems with small bogus real/imag values introduced due to limited floating point accuracy + iNumErr += EqnTest(_T("(-2)^3"), -8.0, true); // may introduce incorrect imaginary value (When computed with the log/exp formula: -8 + 2.93e-15i) + iNumErr += EqnTest(_T("imag((-2)^3)==0"), true, true); // may introduce incorrect imaginary value (When computed with the log/exp formula: -8 + 2.93e-15i) + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestIfElse() +{ + int iNumErr = 0; + *m_stream << _T("testing if-else conditional..."); + + float_type a = 1; + + // Test error detection + iNumErr += ThrowTest(_T(": 2"), ecMISPLACED_COLON); + iNumErr += ThrowTest(_T("? 1 : 2"), ecUNEXPECTED_CONDITIONAL); + iNumErr += ThrowTest(_T("(ab) ? true : false) ? 1 : 2"), 2.0, true); + iNumErr += EqnTest(_T("((a>b) ? true : false) ? 1 : sum((a>b) ? 1 : 2)"), 2.0, true); + iNumErr += EqnTest(_T("((a>b) ? false : true) ? 1 : sum((a>b) ? 1 : 2)"), 1.0, true); + iNumErr += EqnTest(_T("(true) ? 10 : 11"), 10.0, true); + iNumErr += EqnTest(_T("(true) ? a+b : c+d"), 3.0, true); + iNumErr += EqnTest(_T("(true) ? false : true"), false, true); + iNumErr += EqnTest(_T("(false) ? 10 : 11"), 11.0, true); + iNumErr += EqnTest(_T("(false) ? a+b : c+d"), 1.0, true); + iNumErr += EqnTest(_T("(false) ? false : true"), true, true); + iNumErr += EqnTest(_T("(ab) ? 10 : 11"), 11.0, true); + iNumErr += EqnTest(_T("(ab) ? c : d"), -2.0, true); + iNumErr += EqnTest(_T("(a>b) ? true : false"), false, true); + + // With multiarg functions + iNumErr += EqnTest(_T("sum((a>b) ? 1 : 2)"), 2.0, true); + iNumErr += EqnTest(_T("sum((a>b) ? 1 : 2, 100)"), 102.0, true); + iNumErr += EqnTest(_T("sum((true) ? 1 : 2)"), 1.0, true); + iNumErr += EqnTest(_T("sum((true) ? 1 : 2, 100)"), 101.0, true); + iNumErr += EqnTest(_T("sum(3, (a>b) ? 3 : 10)"), 13.0, true); + iNumErr += EqnTest(_T("sum(3, (ab) ? 3 : 10)*10"), 130.0, true); + iNumErr += EqnTest(_T("sum(3, (ab) ? 3 : 10)"), 130.0, true); + iNumErr += EqnTest(_T("10*sum(3, (ab) ? sum(3, (ab) ? sum(3, (ab) ? sum(3, (ab)&&(a2)&&(1<2) ? 128 : 255"), 255.0, true); + iNumErr += EqnTest(_T("((1<2)&&(1<2)) ? 128 : 255"), 128.0, true); + iNumErr += EqnTest(_T("((1>2)&&(1<2)) ? 128 : 255"), 255.0, true); + iNumErr += EqnTest(_T("((ab)&&(ac) ? 1 : 2) : 3"), 2., true); + iNumErr += EqnTest(_T("(a>b) ? ((bb) ? ((b>c) ? 1 : 2) : 3"), 3., true); + + // nested conditionals without brackets + iNumErr += EqnTest(_T("(ac) ? 1 : 2 : 3"), 2., true); + iNumErr += EqnTest(_T("(a>b) ? (bb) ? (b>c) ? 1 : 2 : 3"), 3., true); + + // Neue Tests + iNumErr += EqnTest(_T("(ab)&&(a2)&&(1<2) ? 128 : 255"), 255., true); + iNumErr += EqnTest(_T("((1<2)&&(1<2)) ? 128 : 255"), 128., true); + iNumErr += EqnTest(_T("((1>2)&&(1<2)) ? 128 : 255"), 255., true); + iNumErr += EqnTest(_T("((ab)&&(a0 ? 1>2 ? 128 : 255 : 1>0 ? 32 : 64"), 255., true); + iNumErr += EqnTest(_T("1>0 ? 1>2 ? 128 : 255 :(1>0 ? 32 : 64)"), 255., true); + iNumErr += EqnTest(_T("1>0 ? 1>0 ? 128 : 255 : 1>2 ? 32 : 64"), 128., true); + iNumErr += EqnTest(_T("1>0 ? 1>0 ? 128 : 255 :(1>2 ? 32 : 64)"), 128., true); + iNumErr += EqnTest(_T("1>2 ? 1>2 ? 128 : 255 : 1>0 ? 32 : 64"), 32., true); + iNumErr += EqnTest(_T("1>2 ? 1>0 ? 128 : 255 : 1>2 ? 32 : 64"), 64., true); + iNumErr += EqnTest(_T("1>0 ? 50 : 1>0 ? 128 : 255"), 50., true); + iNumErr += EqnTest(_T("1>0 ? 50 : (1>0 ? 128 : 255)"), 50., true); + iNumErr += EqnTest(_T("1>0 ? 1>0 ? 128 : 255 : 50"), 128., true); + iNumErr += EqnTest(_T("1>2 ? 1>2 ? 128 : 255 : 1>0 ? 32 : 1>2 ? 64 : 16"), 32., true); + iNumErr += EqnTest(_T("1>2 ? 1>2 ? 128 : 255 : 1>0 ? 32 :(1>2 ? 64 : 16)"), 32., true); + iNumErr += EqnTest(_T("1>0 ? 1>2 ? 128 : 255 : 1>0 ? 32 :1>2 ? 64 : 16"), 255., true); + iNumErr += EqnTest(_T("1>0 ? 1>2 ? 128 : 255 : (1>0 ? 32 :1>2 ? 64 : 16)"), 255., true); + iNumErr += EqnTest(_T("true ? false ? 128 : 255 : true ? 32 : 64"), 255., true); + + // assignment operators + iNumErr += EqnTest(_T("a= false ? 128 : 255"), 255., true); + iNumErr += EqnTest(_T("a=((a>b)&&(a + + // long formula (Reference: Matlab) + iNumErr += EqnTest( + "(atan(sin((((((((((((((((pi/cos((a/((((0.53-b)-pi)*e)/b))))+2.51)+a)-0.54)/0.98)+b)*b)+e)/a)+b)+a)+b)+pi)/e" + ")+a)))*2.77)", -2.16995656, true); + */ + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestScript() +{ + int iNumErr = 0; + *m_stream << _T("testing script features..."); + + // Test error detection + iNumErr += ThrowTest(_T("sin(\n"), ecUNEXPECTED_NEWLINE); + iNumErr += ThrowTest(_T("1+\n"), ecUNEXPECTED_NEWLINE); + iNumErr += ThrowTest(_T("a*\n"), ecUNEXPECTED_NEWLINE); + iNumErr += ThrowTest(_T("va[\n"), ecUNEXPECTED_NEWLINE); + iNumErr += ThrowTest(_T("(true) ? \n"), ecUNEXPECTED_NEWLINE); + iNumErr += ThrowTest(_T("(true) ? 10:\n"), ecUNEXPECTED_NEWLINE); + + // Expressions spanning multiple lines + iNumErr += EqnTest(_T("a=1\n") + _T("b=2\n") + _T("c=3\n") + _T("a+b+c"), 6., true); + + // Ending an expression with a newline + iNumErr += EqnTest(_T("3\n"), 3., true); + iNumErr += EqnTest(_T("1+2\n"), 3., true); + iNumErr += EqnTest(_T("\n1+2\n"), 3., true); + iNumErr += EqnTest(_T("\n1+2\n\na+b"), 3., true); + + // Testing comments + /* 20130107 Not yet... + iNumErr += EqnTest(_T("a=10 % this is a comment\n") + _T("b=23 % this is another comment\n") + _T("a+b"), 33, true); + */ + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +int ParserTester::TestValReader() +{ + int iNumErr = 0; + *m_stream << _T("testing value reader..."); + + // Hex value reader + iNumErr += EqnTest(_T("0x1"), 1., true); + iNumErr += EqnTest(_T("0x1+0x2"), 3., true); + iNumErr += EqnTest(_T("0xff"), 255., true); + + // Reading of binary values + iNumErr += EqnTest(_T("0b1"), 1., true); + iNumErr += EqnTest(_T("0b01"), 1., true); + iNumErr += EqnTest(_T("0b11"), 3., true); + iNumErr += EqnTest(_T("0b011"), 3., true); + iNumErr += EqnTest(_T("0b11111111"), 255., true); + iNumErr += EqnTest(_T("b*0b011"), 6.0, true); + iNumErr += EqnTest(_T("0b1111111111111111111111111111111"), 2147483647., true); + iNumErr += EqnTest(_T("0b10000000000000000000000000000000"), -2147483647. - 1, true); + iNumErr += EqnTest(_T("0b11111111111111111111111111111111"), -1., true); + iNumErr += ThrowTest(_T("0b100000000000000000000000000000000"), ecUNDEFINED); + + // string value reader + iNumErr += EqnTest(_T("\"hallo\""), _T("hallo"), true); + + // boolean value reader + iNumErr += EqnTest(_T("true"), true, true); + iNumErr += EqnTest(_T("false"), false, true); + + // boolean value reader + iNumErr += EqnTest(_T("true"), true, true); + iNumErr += EqnTest(_T("false"), false, true); + + // mixed + iNumErr += EqnTest(_T("0b011+0xef"), 242., true); + + Assessment(iNumErr); + return iNumErr; +} + +//--------------------------------------------------------------------------- +void ParserTester::AddTest(testfun_type a_pFun) +{ + m_vTestFun.push_back(a_pFun); +} + +//--------------------------------------------------------------------------- +void ParserTester::Run() +{ + int iStat = 0; + try + { + for (int i = 0; i < (int)m_vTestFun.size(); ++i) + iStat += (this->*m_vTestFun[i])(); + } + catch (ParserError &e) + { + *m_stream << e.GetMsg() << endl; + *m_stream << e.GetToken() << endl; + Abort(); + } + catch (std::exception &e) + { + *m_stream << e.what() << endl; + Abort(); + } + catch (...) + { + *m_stream << _T("Internal error"); + Abort(); + } + + if (iStat == 0) + { + *m_stream << _T("Test passed (") << ParserTester::c_iCount << _T(" expressions)") << endl; + } + else + { + *m_stream << _T("Test failed with ") << iStat + << _T(" errors (") << ParserTester::c_iCount + << _T(" expressions)") << endl; + } + ParserTester::c_iCount = 0; + +#ifdef MUP_LEAKAGE_REPORT + // All tokens must have been destroyed by now, verify this + IToken::LeakageReport(); +#endif +} + +//--------------------------------------------------------------------------- +int ParserTester::ThrowTest(const string_type &a_sExpr, int a_nErrc, int a_nPos, string_type a_sIdent) +{ + ParserTester::c_iCount++; + + try + { + ParserX p; + + // Add variables + Value vVarVal[] = { 1., 2., 3., -2. }; + p.DefineVar(_T("a"), Variable(&vVarVal[0])); + p.DefineVar(_T("b"), Variable(&vVarVal[1])); + p.DefineVar(_T("c"), Variable(&vVarVal[2])); + p.DefineVar(_T("d"), Variable(&vVarVal[3])); + + // array variables + Value aVal1(3, 0); + aVal1.At(0) = (float_type)1.0; + aVal1.At(1) = (float_type)2.0; + aVal1.At(2) = (float_type)3.0; + + Value aVal2(3, 0); + aVal2.At(0) = (float_type)4.0; + aVal2.At(1) = (float_type)3.0; + aVal2.At(2) = (float_type)2.0; + + Value aVal3(4, 0); + aVal3.At(0) = (float_type)4.0; + aVal3.At(1) = (float_type)3.0; + aVal3.At(2) = (float_type)2.0; + aVal3.At(3) = (float_type)5.0; + + Value aVal4(4, 0); + aVal4.At(0) = (float_type)4.0; + aVal4.At(1) = false; + aVal4.At(2) = _T("hallo"); + + // Matrix variables + Value m1(3, 3, 0); + m1.At(0, 0) = 1.; + m1.At(1, 1) = 1.; + m1.At(2, 2) = 1.; + + Value m2(3, 3, 0); + m2.At(0, 0) = 1.; m2.At(0, 1) = 2.; m2.At(0, 2) = 3.; + m2.At(1, 0) = 4.; m2.At(1, 1) = 5.; m2.At(1, 2) = 6.; + m2.At(2, 0) = 7.; m2.At(2, 1) = 8.; m2.At(2, 2) = 9.; + + p.DefineVar(_T("m1"), Variable(&m1)); + p.DefineVar(_T("m2"), Variable(&m2)); + p.DefineVar(_T("va"), Variable(&aVal1)); + p.DefineVar(_T("vb"), Variable(&aVal2)); + p.DefineVar(_T("vc"), Variable(&aVal3)); + p.DefineVar(_T("vd"), Variable(&aVal4)); + + p.SetExpr(a_sExpr); + Value fRes = p.Eval(); + } + catch (ParserError &e) + { + // output the formula in case of an failed test + if (a_nErrc != e.GetCode()) + { + *m_stream << _T("\n ") + << _T("Expression: \"") << a_sExpr + << _T("\" Code:") << e.GetCode() + << _T(" Expected:") << a_nErrc; + } + + // Check whether the error is reported at the correct expression position + if (a_nPos != -1 && a_nPos != e.GetPos()) + { + *m_stream << _T("\n ") + << _T("Invalid error position: \"") << a_sExpr + << _T("\" Pos:") << e.GetPos() + << _T(" Expected:") << a_nPos; + } + + if (a_sIdent.length() && a_sIdent != e.GetContext().Ident) + { + *m_stream << _T("\n ") + << _T("Invalid identifier: \"") << a_sExpr + << _T("\" Ident:") << e.GetContext().Ident + << _T(" Expected:") << a_sIdent; + } + + return (a_nErrc == e.GetCode() && (a_nPos == -1 || a_nPos == e.GetPos())) ? 0 : 1; + } + + *m_stream << _T("\n ") + << _T("Expression failed: \"") + << a_sExpr + << _T("\" (no exception raised)."); + + return 1; +} + +//--------------------------------------------------------------------------- +int ParserTester::EqnTest(const string_type &a_str, Value a_val, bool a_fPass, int nExprVar) +{ + ParserTester::c_iCount++; + int iRet(1); + Value fVal[5]; + + try + { + // p1 is a pointer since I'm going to delete it in order to test if + // parsers after copy construction still refer to members of the deleted object. + // !! If this is the case this function will crash !! + std::unique_ptr p1(new ParserX()); + + // Add variables + Value vVarVal[] = { 1., 2., 3., -2., -1. }; + + // m1 ist die Einheitsmatrix + Value m1(3, 3, 0); + m1.At(0, 0) = 1.; + m1.At(1, 1) = 1.; + m1.At(2, 2) = 1.; + + // m2 ist die Einheitsmatrix + Value m2(3, 3, 0); + m2.At(0, 0) = 1.; m2.At(0, 1) = 2.; m2.At(0, 2) = 3.; + m2.At(1, 0) = 4.; m2.At(1, 1) = 5.; m2.At(1, 2) = 6.; + m2.At(2, 0) = 7.; m2.At(2, 1) = 8.; m2.At(2, 2) = 9.; + + p1->DefineOprt(new DbgSillyAdd); + p1->DefineFun(new FunTest0); + + p1->DefineVar(_T("a"), Variable(&vVarVal[0])); + p1->DefineVar(_T("b"), Variable(&vVarVal[1])); + p1->DefineVar(_T("c"), Variable(&vVarVal[2])); + p1->DefineVar(_T("d"), Variable(&vVarVal[3])); + p1->DefineVar(_T("f"), Variable(&vVarVal[4])); + p1->DefineVar(_T("m1"), Variable(&m1)); + p1->DefineVar(_T("m2"), Variable(&m2)); + + // Add constants + p1->DefineConst(_T("const"), 1.); + p1->DefineConst(_T("const1"), 2.); + p1->DefineConst(_T("const2"), 3.); + + // some vector variables + Value aVal1(3, 0); + aVal1.At(0) = (float_type)1.0; + aVal1.At(1) = (float_type)2.0; + aVal1.At(2) = (float_type)3.0; + + Value aVal2(3, 0); + aVal2.At(0) = (float_type)4.0; + aVal2.At(1) = (float_type)3.0; + aVal2.At(2) = (float_type)2.0; + p1->DefineVar(_T("va"), Variable(&aVal1)); + p1->DefineVar(_T("vb"), Variable(&aVal2)); + + // complex variables + Value cVal[3]; + cVal[0] = mup::cmplx_type(1, 1); + cVal[1] = mup::cmplx_type(2, 3); + cVal[2] = mup::cmplx_type(3, 4); + p1->DefineVar(_T("ca"), Variable(&cVal[0])); + p1->DefineVar(_T("cb"), Variable(&cVal[1])); + p1->DefineVar(_T("cc"), Variable(&cVal[2])); + + p1->SetExpr(a_str); + + fVal[0] = p1->Eval(); + + // Test copy and assignement operators + std::vector vParser; + vParser.push_back(*p1); // Push p1 into the vector + ParserX p2 = vParser[0]; // take parser from vector + + // destroy the originals from p2 + vParser.clear(); // delete the vector + p1.reset(0); // delete the original + + fVal[1] = p2.Eval(); // If copy constructions does not work + // we may see a crash here + + // Test assignement operator + // additionally disable Optimizer this time + ParserX p3; + p3 = p2; + fVal[2] = p3.Eval(); // If assignment does not work + // we may see a crash here + + // Calculating a second time will parse from rpn rather than from + // string. The result must be the same... + fVal[3] = p3.Eval(); + + // Calculate yet another time. There is the possibility of + // changing variables as a side effect of expression + // evaluation. So there are really bugs that could make this fail... + fVal[4] = p3.Eval(); + + // Check i number of used variables is correct + if (nExprVar != -1) + { + std::size_t n2 = p2.GetExprVar().size(); + std::size_t n3 = p3.GetExprVar().size(); + + if (n2 + n3 != 2 * n2 || int(n2) != nExprVar) + { + *m_stream << _T(" Number of expression variables is incorrect. (expected: ") + << nExprVar << _T("; detected: ") << n2 << _T(")"); + } + } + + // Check the three results + // 1.) computed results must have identic type + char_type cType = fVal[0].GetType(); + bool bStat = cType == fVal[1].GetType() && + cType == fVal[2].GetType() && + cType == fVal[3].GetType() && + cType == fVal[4].GetType(); + if (!bStat) + { + *m_stream << _T("\n ") << a_str << _T(" : inconsistent result type (") + << fVal[0].GetType() << _T(", ") + << fVal[1].GetType() << _T(", ") + << fVal[2].GetType() << _T(", ") + << fVal[3].GetType() << _T(", ") + << fVal[4].GetType() << _T(")"); + return 1; + } + + if ((cType == 'c' || a_val.GetType() == 'c') && cType != a_val.GetType()) + { + *m_stream << _T("\n ") << a_str << _T(" : Complex value sliced!"); + return 1; + } + + // Compare the results + switch (cType) + { + case 'i': + case 'b': + case 's': bStat = (a_val == fVal[0] && + a_val == fVal[1] && + a_val == fVal[2] && + a_val == fVal[3] && + a_val == fVal[4]); + break; + + // We need more attention for comaring float values due to floating point + // inaccuracies. + case 'f': + { + bStat = true; + int num = sizeof(fVal) / sizeof(Value); + for (int i = 0; i < num; ++i) + bStat &= (fabs(a_val.GetFloat() - fVal[i].GetFloat()) <= fabs(fVal[i].GetFloat()*0.0001)); + } + break; + + case 'c': + { + bStat = true; + int num = sizeof(fVal) / sizeof(Value); + for (int i = 0; i < num; ++i) + { + bStat &= (fabs(a_val.GetFloat() - fVal[i].GetFloat()) <= std::max((float_type)1e-15, fabs(fVal[i].GetFloat() * (float_type)0.0000001))); + bStat &= (fabs(a_val.GetImag() - fVal[i].GetImag()) <= std::max((float_type)1e-15, fabs(fVal[i].GetImag() * (float_type)0.0000001))); + } + } + break; + + case 'm': + { + bStat = true; + int num = sizeof(fVal) / sizeof(Value); + + for (int i = 0; i < num; ++i) + { + struct CheckArray + { + CheckArray() + {} + + bool Check(IValue &v1, IValue &v2) + { + if (v1.GetType() != v2.GetType()) + return false; + + if (v1.GetRows() != v2.GetRows()) + return false; + + if (v1.IsMatrix()) + { + for (int i = 0; i < v1.GetRows(); ++i) + { + for (int j = 0; j < v1.GetCols(); ++j) + { + if (!Check(v1.At(i, j), v2.At(i, j))) + return false; + } + } + + return true; + } + else + { + return (fabs(v1.GetFloat() - v2.GetFloat()) <= std::max((float_type)1e-15, fabs(v1.GetFloat() * (float_type)0.0000001))); + } + } + } checker; + + bStat = checker.Check(a_val, fVal[i]); + if (!bStat) + break; + } + } + break; + + default: + throw std::runtime_error("Parser return value has an unexpected typecode."); + } + + iRet = (bStat == a_fPass) ? 0 : 1; + } + catch (ParserError &e) + { + *m_stream << _T("\n ") << a_str << _T(" : ") << e.GetMsg(); + return 1; + } + catch (std::exception &e) + { + *m_stream << _T("\n ") << a_str << _T(" : ") << e.what() << _T("\n"); + return 1; + } + catch (...) + { + *m_stream << _T("\n \"") << a_str << _T("\" : ") << _T("Unexpected Eception"); + return 1; + } + + if (iRet) + { + *m_stream << _T("\n ") << a_str << _T(" : ") << _T("(at least one incorrect result ") + << fVal[0] << _T(", ") + << fVal[1] << _T(", ") + << fVal[2] << _T(", ") + << fVal[3] << _T(", ") + << fVal[4] << _T("; expected=") << a_val << _T(")"); + } + + return iRet; +} + +//--------------------------------------------------------------------------- +/** \brief Internal error in test class Test is going to be aborted. */ +void ParserTester::Abort() const +{ + *m_stream << _T("\nTest failed (internal error in test class)") << endl; + while (!getchar()); + exit(-1); +} + +//--------------------------------------------------------------------------- +void ParserTester::Assessment(int a_iNumErr) const +{ + if (a_iNumErr == 0) + *m_stream << _T("passed") << endl; + else + *m_stream << _T("\n failed with ") << a_iNumErr << _T(" errors") << endl; +} +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpTokenReader.cpp b/src/third-party/headers/muparserx/mpTokenReader.cpp new file mode 100644 index 0000000000..87b698644d --- /dev/null +++ b/src/third-party/headers/muparserx/mpTokenReader.cpp @@ -0,0 +1,1013 @@ +/** \file + \brief Implementation of the token reader used to break the expression string up + into tokens. + +
+				__________                                 ____  ___
+	 _____  __ _\______   \_____ _______  ______ __________\   \/  /
+	/     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+	|  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+	|__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+		  \/                     \/           \/     \/           \_/
+	Copyright (C) 2016, Ingo Berg
+	All rights reserved.
+
+	Redistribution and use in source and binary forms, with or without
+	modification, are permitted provided that the following conditions are met:
+
+	* Redistributions of source code must retain the above copyright notice,
+	this list of conditions and the following disclaimer.
+	* Redistributions in binary form must reproduce the above copyright notice,
+	this list of conditions and the following disclaimer in the documentation
+	and/or other materials provided with the distribution.
+
+	THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+	ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+	IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+	INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+	NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+	PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+	WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+	ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+	POSSIBILITY OF SUCH DAMAGE.
+	
+ */ + +#include "mpTokenReader.h" + +#include + +#include "mpParserBase.h" +#include "mpIValReader.h" +#include "mpIfThenElse.h" +#include "mpScriptTokens.h" +#include "mpOprtIndex.h" +#include "mpOprtMatrix.h" + +MUP_NAMESPACE_START + +//--------------------------------------------------------------------------- +/** \brief Copy constructor. + \sa Assign + \throw nothrow + */ + TokenReader::TokenReader(const TokenReader &a_Reader) +{ + Assign(a_Reader); +} + +//--------------------------------------------------------------------------- +/** \brief Assignement operator. + \param a_Reader Object to copy to this token reader. + \throw nothrow + + Self assignement will be suppressed otherwise #Assign is called. + */ +TokenReader& TokenReader::operator=(const TokenReader &a_Reader) +{ + if (&a_Reader != this) + Assign(a_Reader); + + return *this; +} + +//--------------------------------------------------------------------------- +/** \brief Assign state of a token reader to this token reader. + \param a_Reader Object from which the state should be copied. + \throw nothrow + */ +void TokenReader::Assign(const TokenReader &obj) +{ + m_pParser = obj.m_pParser; + m_sExpr = obj.m_sExpr; + m_nPos = obj.m_nPos; + m_nNumBra = obj.m_nNumBra; + m_nNumIndex = obj.m_nNumIndex; + m_nNumCurly = obj.m_nNumCurly; + m_nNumIfElse = obj.m_nNumIfElse; + m_nSynFlags = obj.m_nSynFlags; + m_UsedVar = obj.m_UsedVar; + m_pVarDef = obj.m_pVarDef; + m_pPostOprtDef = obj.m_pPostOprtDef; + m_pInfixOprtDef = obj.m_pInfixOprtDef; + m_pOprtDef = obj.m_pOprtDef; + m_pFunDef = obj.m_pFunDef; + m_pConstDef = obj.m_pConstDef; + m_pDynVarShadowValues = obj.m_pDynVarShadowValues; + m_vTokens = obj.m_vTokens; + + // Reader klassen klonen + DeleteValReader(); + std::size_t i, iSize = obj.m_vValueReader.size(); + for (i = 0; i < iSize; ++i) + { + m_vValueReader.push_back(obj.m_vValueReader[i]->Clone(this)); + } +} + +//--------------------------------------------------------------------------- +/** \brief Constructor. + + Create a Token reader and bind it to a parser object. + + \pre [assert] a_pParser may not be nullptr + \post #m_pParser==a_pParser + \param a_pParent Parent parser object of the token reader. + */ +TokenReader::TokenReader(ParserXBase *a_pParent) + :m_pParser(a_pParent) + , m_sExpr() + , m_nPos(0) + , m_nNumBra(0) + , m_nNumIndex(0) + , m_nNumCurly(0) + , m_nNumIfElse(0) + , m_nSynFlags(0) + , m_vTokens() + , m_eLastTokCode(cmUNKNOWN) + , m_pFunDef(nullptr) + , m_pOprtDef(nullptr) + , m_pInfixOprtDef(nullptr) + , m_pPostOprtDef(nullptr) + , m_pConstDef(nullptr) + , m_pDynVarShadowValues(nullptr) + , m_pVarDef(nullptr) + , m_vValueReader() + , m_UsedVar() + , m_fZero(0) +{ + assert(m_pParser); + SetParent(m_pParser); +} + +//--------------------------------------------------------------------------- +/** \brief Destructor (trivial). + + \throw nothrow + */ +TokenReader::~TokenReader() +{ + DeleteValReader(); +} + +//--------------------------------------------------------------------------- +void TokenReader::DeleteValReader() +{ + int iSize = (int)m_vValueReader.size(); + for (int i = 0; i < iSize; ++i) + delete m_vValueReader[i]; + + m_vValueReader.clear(); +} + +//--------------------------------------------------------------------------- +/** \brief Create instance of a ParserTokenReader identical with this + and return its pointer. + + This is a factory method the calling function must take care of the object destruction. + + \return A new ParserTokenReader object. + \throw nothrow + */ +TokenReader* TokenReader::Clone(ParserXBase *a_pParent) const +{ + std::unique_ptr ptr(new TokenReader(*this)); + ptr->SetParent(a_pParent); + return ptr.release(); +} + +//--------------------------------------------------------------------------- +void TokenReader::AddValueReader(IValueReader *a_pReader) +{ + a_pReader->SetParent(this); + m_vValueReader.push_back(a_pReader); +} + +//--------------------------------------------------------------------------- +void TokenReader::AddSynFlags(int flag) +{ + m_nSynFlags |= flag; +} + +//--------------------------------------------------------------------------- +const TokenReader::token_buf_type& TokenReader::GetTokens() const +{ + return m_vTokens; +} + +//--------------------------------------------------------------------------- +/** \brief Return the current position of the token reader in the formula string. + + \return #m_nPos + \throw nothrow + */ +int TokenReader::GetPos() const +{ + return m_nPos; +} + +//--------------------------------------------------------------------------- +/** \brief Return a reference to the formula. + + \return #m_sExpr + \throw nothrow + */ +const string_type& TokenReader::GetExpr() const +{ + return m_sExpr; +} + +//--------------------------------------------------------------------------- +/** \brief Return a map containing the used variables only. */ +const var_maptype& TokenReader::GetUsedVar() const +{ + return m_UsedVar; +} + +//--------------------------------------------------------------------------- +/** \brief Initialize the token Reader. + + Sets the expression position index to zero and set Syntax flags to + default for initial parsing. + */ +void TokenReader::SetExpr(const string_type &a_sExpr) +{ + m_sExpr = a_sExpr; // + string_type(_T(" ")); + ReInit(); +} + +//--------------------------------------------------------------------------- +/** \brief Reset the token reader to the start of the formula. + \post #m_nPos==0, #m_nSynFlags = noOPT | noBC | noPOSTOP | noSTR + \throw nothrow + \sa ESynCodes + + The syntax flags will be reset to a value appropriate for the + start of a formula. + */ +void TokenReader::ReInit() +{ + m_nPos = 0; + m_nNumBra = 0; + m_nNumIndex = 0; + m_nNumCurly = 0; + m_nNumIfElse = 0; + m_nSynFlags = noOPT | noBC | noCBC | noPFX | noCOMMA | noIO | noIC | noIF | noELSE; + m_UsedVar.clear(); + m_eLastTokCode = cmUNKNOWN; + m_vTokens.clear(); +} + +//--------------------------------------------------------------------------- +const ptr_tok_type& TokenReader::Store(const ptr_tok_type &t, int token_pos) +{ + m_eLastTokCode = t->GetCode(); + t->SetExprPos(token_pos); + m_vTokens.push_back(t); + return t; +} + +//--------------------------------------------------------------------------- +void TokenReader::SkipCommentsAndWhitespaces() +{ + bool bSkip = true; + while (m_nPos < static_cast(m_sExpr.length()) && bSkip) + { + switch (m_sExpr[m_nPos]) + { + // skip comments + case '#': + { + std::size_t i = m_sExpr.find_first_of('\n', m_nPos + 1); + m_nPos = static_cast((i != string_type::npos) ? i : m_sExpr.length()); + } + break; + + // skip whitespaces + case ' ': + ++m_nPos; + break; + + default: + bSkip = false; + } // switch + } // while comment or whitespace +} + +//--------------------------------------------------------------------------- +/** \brief Read the next token from the string. */ +ptr_tok_type TokenReader::ReadNextToken() +{ + assert(m_pParser); + + SkipCommentsAndWhitespaces(); + + int token_pos = m_nPos; + ptr_tok_type pTok; + + // Check for end of expression + if (IsEOF(pTok)) + return Store(pTok, token_pos); + + if (IsNewline(pTok)) + return Store(pTok, token_pos); + + if (!(m_nSynFlags & noOPT) && IsOprt(pTok)) + return Store(pTok, token_pos); // Check for user defined binary operator + + if (!(m_nSynFlags & noIFX) && IsInfixOpTok(pTok)) + return Store(pTok, token_pos); // Check for unary operators + + if (IsValTok(pTok)) + return Store(pTok, token_pos); // Check for values / constant tokens + + if (IsBuiltIn(pTok)) + return Store(pTok, token_pos); // Check built in operators / tokens + + if (IsVarOrConstTok(pTok)) + return Store(pTok, token_pos); // Check for variable tokens + + if (IsFunTok(pTok)) + return Store(pTok, token_pos); + + if (!(m_nSynFlags & noPFX) && IsPostOpTok(pTok)) + return Store(pTok, token_pos); // Check for unary operators + + // 2.) We have found no token, maybe there is a token that we don't expect here. + // Again call the Identifier functions but this time only those we don't expect + // to find. + if ((m_nSynFlags & noOPT) && IsOprt(pTok)) + return Store(pTok, token_pos); // Check for user defined binary operator + + if ((m_nSynFlags & noIFX) && IsInfixOpTok(pTok)) + return Store(pTok, token_pos); // Check for unary operators + + if ((m_nSynFlags & noPFX) && IsPostOpTok(pTok)) + return Store(pTok, token_pos); // Check for unary operators + // + + // Now we are in trouble because there is something completely unknown.... + + // Check the string for an undefined variable token. This is done + // only if a flag is set indicating to ignore undefined variables. + // This is a way to conditionally avoid an error if undefined variables + // occur. The GetExprVar function must supress the error for undefined + // variables in order to collect all variable names including the + // undefined ones. + if ((m_pParser->m_bIsQueryingExprVar || m_pParser->m_bAutoCreateVar) && IsUndefVarTok(pTok)) + return Store(pTok, token_pos); + + // Check for unknown token + // + // !!! From this point on there is no exit without an exception possible... + // + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidNameChars(), sTok, m_nPos); + + ErrorContext err; + err.Errc = ecUNASSIGNABLE_TOKEN; + err.Expr = m_sExpr; + err.Pos = m_nPos; + + if (iEnd != m_nPos) + err.Ident = sTok; + else + err.Ident = m_sExpr.substr(m_nPos); + + throw ParserError(err); +} + +//--------------------------------------------------------------------------- +void TokenReader::SetParent(ParserXBase *a_pParent) +{ + m_pParser = a_pParent; + m_pFunDef = &a_pParent->m_FunDef; + m_pOprtDef = &a_pParent->m_OprtDef; + m_pInfixOprtDef = &a_pParent->m_InfixOprtDef; + m_pPostOprtDef = &a_pParent->m_PostOprtDef; + m_pVarDef = &a_pParent->m_varDef; + m_pConstDef = &a_pParent->m_valDef; + m_pDynVarShadowValues = &a_pParent->m_valDynVarShadow; +} + +//--------------------------------------------------------------------------- +/** \brief Extract all characters that belong to a certain charset. + \param a_szCharSet [in] Const char array of the characters allowed in the token. + \param a_strTok [out] The string that consists entirely of characters listed in a_szCharSet. + \param a_iPos [in] Position in the string from where to start reading. + \return The Position of the first character not listed in a_szCharSet. + \throw nothrow + */ +int TokenReader::ExtractToken(const char_type *a_szCharSet, + string_type &a_sTok, + int a_iPos) const +{ + int iEnd = (int)m_sExpr.find_first_not_of(a_szCharSet, a_iPos); + + if (iEnd == (int)string_type::npos) + iEnd = (int)m_sExpr.length(); + + if (iEnd != a_iPos) + a_sTok.assign(m_sExpr.begin() + a_iPos, m_sExpr.begin() + iEnd); + + return iEnd; +} + +//--------------------------------------------------------------------------- +/** \brief Check if a built in operator or other token can be found. +*/ +bool TokenReader::IsBuiltIn(ptr_tok_type &a_Tok) +{ + const char_type **pOprtDef = m_pParser->GetOprtDef(), + *szFormula = m_sExpr.c_str(); + int i; + + try + { + // Compare token with function and operator strings + // check string for operator/function + for (i = 0; pOprtDef[i]; i++) + { + std::size_t len(std::char_traits::length(pOprtDef[i])); + if (string_type(pOprtDef[i]) == string_type(szFormula + m_nPos, szFormula + m_nPos + len)) + { + switch (i) + { + case cmARG_SEP: + if (m_nSynFlags & noCOMMA) + throw ecUNEXPECTED_COMMA; + + m_nSynFlags = noBC | noCBC | noOPT | noEND | noNEWLINE | noCOMMA | noPFX | noIC | noIO | noIF | noELSE; + a_Tok = ptr_tok_type(new GenericToken((ECmdCode)i, pOprtDef[i])); + break; + + case cmELSE: + if (m_nSynFlags & noELSE) + throw ecMISPLACED_COLON; + + m_nNumIfElse--; + if (m_nNumIfElse < 0) + throw ecMISPLACED_COLON; + + m_nSynFlags = noBC | noCBC | noIO | noIC | noPFX | noEND | noNEWLINE | noCOMMA | noOPT | noIF | noELSE; + a_Tok = ptr_tok_type(new TokenIfThenElse(cmELSE)); + break; + + case cmIF: + if (m_nSynFlags & noIF) + throw ecUNEXPECTED_CONDITIONAL; + + m_nNumIfElse++; + m_nSynFlags = noBC | noCBC | noIO | noPFX | noIC | noEND | noNEWLINE | noCOMMA | noOPT | noIF | noELSE; + a_Tok = ptr_tok_type(new TokenIfThenElse(cmIF)); + break; + + case cmBO: + if (m_nSynFlags & noBO) + throw ecUNEXPECTED_PARENS; + + if (m_eLastTokCode == cmFUNC) + { + m_nSynFlags = noOPT | noEND | noNEWLINE | noCOMMA | noPFX | noIC | noIO | noIF | noELSE | noCBC; + } + else + { + m_nSynFlags = noBC | noOPT | noEND | noNEWLINE | noCOMMA | noPFX | noIC | noIO | noIF | noELSE | noCBC; + } + + m_nNumBra++; + a_Tok = ptr_tok_type(new GenericToken((ECmdCode)i, pOprtDef[i])); + break; + + case cmBC: + if (m_nSynFlags & noBC) + throw ecUNEXPECTED_PARENS; + + m_nSynFlags = noBO | noVAR | noVAL | noFUN | noIFX | noCBO; + m_nNumBra--; + + if (m_nNumBra < 0) + throw ecUNEXPECTED_PARENS; + + a_Tok = ptr_tok_type(new GenericToken((ECmdCode)i, pOprtDef[i])); + break; + + case cmIO: + if (m_nSynFlags & noIO) + throw ecUNEXPECTED_SQR_BRACKET; + + m_nSynFlags = noIC | noIO | noOPT | noPFX | noBC | noNEWLINE | noCBC | noCOMMA; + m_nNumIndex++; + a_Tok = ptr_tok_type(new GenericToken((ECmdCode)i, pOprtDef[i])); + break; + + case cmIC: + if (m_nSynFlags & noIC) + throw ecUNEXPECTED_SQR_BRACKET; + + m_nSynFlags = noBO | noIFX | noCBO; + m_nNumIndex--; + + if (m_nNumIndex < 0) + throw ecUNEXPECTED_SQR_BRACKET; + + a_Tok = ptr_tok_type(new OprtIndex()); + break; + + case cmCBO: + if (m_nSynFlags & noVAL) + throw ecUNEXPECTED_CURLY_BRACKET; + + m_nSynFlags = noCBC | noIC | noIO | noOPT | noPFX | noBC | noNEWLINE | noCOMMA | noIF; + m_nNumCurly++; + a_Tok = ptr_tok_type(new GenericToken((ECmdCode)i, pOprtDef[i])); + break; + + case cmCBC: + if (m_nSynFlags & noIC) + throw ecUNEXPECTED_CURLY_BRACKET; + + m_nSynFlags = noBO | noCBO | noIFX; + m_nNumCurly--; + + if (m_nNumCurly < 0) + throw ecUNEXPECTED_CURLY_BRACKET; + + a_Tok = ptr_tok_type(new OprtCreateArray()); + break; + + default: // The operator is listed in c_DefaultOprt, but not here. This is a bad thing... + throw ecINTERNAL_ERROR; + } // switch operator id + + m_nPos += (int)len; + return true; + } // if operator string found + } // end of for all operator strings + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Expr = m_sExpr; + err.Ident = pOprtDef[i]; + err.Pos = m_nPos; + throw ParserError(err); + } + + return false; +} + +//--------------------------------------------------------------------------- +/** \brief Check for End of expression +*/ +bool TokenReader::IsNewline(ptr_tok_type &a_Tok) +{ + // nicht nach: bionop, infixop, argumentseparator, + // erlaubt nach: Werten, variablen, schließenden klammern, schliessendem index + bool bRet(false); + try + { + if (m_sExpr[m_nPos] == '\n') + { + // Check if all brackets were closed + if (m_nSynFlags & noNEWLINE) + throw ecUNEXPECTED_NEWLINE; + + if (m_nNumBra > 0) + throw ecMISSING_PARENS; + + if (m_nNumIndex > 0) + throw ecMISSING_SQR_BRACKET; + + if (m_nNumCurly > 0) + throw ecMISSING_CURLY_BRACKET; + + if (m_nNumIfElse > 0) + throw(ecMISSING_ELSE_CLAUSE); + + m_nPos++; + m_nSynFlags = sfSTART_OF_LINE; + a_Tok = ptr_tok_type(new TokenNewline()); + bRet = true; + } + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Ident = _T(""); + err.Expr = m_sExpr; + err.Pos = m_nPos; + throw ParserError(err); + } + + return bRet; +} + +//--------------------------------------------------------------------------- +/** \brief Check for End of expression +*/ +bool TokenReader::IsEOF(ptr_tok_type &a_Tok) +{ + bool bRet(false); + try + { + if (m_sExpr.length() && m_nPos >= (int)m_sExpr.length()) + { + if (m_nSynFlags & noEND) + throw ecUNEXPECTED_EOF; + + if (m_nNumBra > 0) + throw ecMISSING_PARENS; + + if (m_nNumCurly > 0) + throw ecMISSING_CURLY_BRACKET; + + if (m_nNumIndex > 0) + throw ecMISSING_SQR_BRACKET; + + if (m_nNumIfElse > 0) + throw ecMISSING_ELSE_CLAUSE; + + m_nSynFlags = 0; + a_Tok = ptr_tok_type(new GenericToken(cmEOE)); + bRet = true; + } + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Ident = _T(""); + err.Expr = m_sExpr; + err.Pos = m_nPos; + throw ParserError(err); + } + + return bRet; +} + +//--------------------------------------------------------------------------- +/** \brief Check if a string position contains a unary infix operator. + \return true if a function token has been found false otherwise. + */ +bool TokenReader::IsInfixOpTok(ptr_tok_type &a_Tok) +{ + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidInfixOprtChars(), sTok, m_nPos); + + if (iEnd == m_nPos) + return false; + + try + { + // iteraterate over all infix operator strings + oprt_ifx_maptype::const_iterator item = m_pInfixOprtDef->begin(); + for (item = m_pInfixOprtDef->begin(); item != m_pInfixOprtDef->end(); ++item) + { + if (sTok.find(item->first) != 0) + continue; + + a_Tok = ptr_tok_type(item->second->Clone()); + m_nPos += (int)item->first.length(); + + if (m_nSynFlags & noIFX) + throw ecUNEXPECTED_OPERATOR; + + m_nSynFlags = noPFX | noIFX | noOPT | noBC | noIC | noIO | noEND | noCOMMA | noNEWLINE | noIF | noELSE; + return true; + } + + return false; + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos; + err.Ident = a_Tok->GetIdent(); + err.Expr = m_sExpr; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +/** \brief Check expression for function tokens. */ +bool TokenReader::IsFunTok(ptr_tok_type &a_Tok) +{ + if (m_pFunDef->size() == 0) + return false; + + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidNameChars(), sTok, m_nPos); + if (iEnd == m_nPos) + return false; + + try + { + fun_maptype::iterator item = m_pFunDef->find(sTok); + if (item == m_pFunDef->end()) + return false; + + m_nPos = (int)iEnd; + a_Tok = ptr_tok_type(item->second->Clone()); + a_Tok->Compile(_T("xxx")); + + if (m_nSynFlags & noFUN) + throw ecUNEXPECTED_FUN; + + m_nSynFlags = sfALLOW_NONE ^ noBO; + return true; + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos - (int)a_Tok->GetIdent().length(); + err.Ident = a_Tok->GetIdent(); + err.Expr = m_sExpr; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +/** \brief Check if a string position contains a unary post value operator. */ +bool TokenReader::IsPostOpTok(ptr_tok_type &a_Tok) +{ + if (m_nSynFlags & noPFX) + { + // Only look for postfix operators if they are allowed at the given position. + // This will prevent conflicts with variable names such as: + // "sin(n)" where n is the postfix for "nano" + return false; + // + } + + // Tricky problem with equations like "3m+5": + // m is a postfix operator, + is a valid sign for postfix operators and + // for binary operators parser detects "m+" as operator string and + // finds no matching postfix operator. + // + // This is a special case so this routine slightly differs from the other + // token readers. + + // Test if there could be a postfix operator + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidOprtChars(), sTok, m_nPos); + if (iEnd == m_nPos) + return false; + + try + { + // iteraterate over all postfix operator strings + oprt_pfx_maptype::const_iterator item; + for (item = m_pPostOprtDef->begin(); item != m_pPostOprtDef->end(); ++item) + { + if (sTok.find(item->first) != 0) + continue; + + a_Tok = ptr_tok_type(item->second->Clone()); + m_nPos += (int)item->first.length(); + + if (m_nSynFlags & noPFX) + throw ecUNEXPECTED_OPERATOR; + + m_nSynFlags = noVAL | noVAR | noFUN | noBO | noPFX /*| noIO*/ | noIF; + return true; + } + + return false; + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos - (int)a_Tok->GetIdent().length(); + err.Ident = a_Tok->GetIdent(); + err.Expr = m_sExpr; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +/** \brief Check if a string position contains a binary operator. */ +bool TokenReader::IsOprt(ptr_tok_type &a_Tok) +{ + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidOprtChars(), sTok, m_nPos); + if (iEnd == m_nPos) + return false; + + oprt_bin_maptype::reverse_iterator item; + try + { + // Note: + // All tokens in oprt_bin_maptype are have been sorted by their length + // Long operators must come first! Otherwise short names (like: "add") that + // are part of long token names (like: "add123") will be found instead + // of the long ones. + // Length sorting is done with ascending length so we use a reverse iterator here. + for (item = m_pOprtDef->rbegin(); item != m_pOprtDef->rend(); ++item) + { + if (sTok.find(item->first) != 0) + continue; + + // operator found, check if we expect one... + if (m_nSynFlags & noOPT) + { + // An operator was found but is not expected to occur at + // this position of the formula, maybe it is an infix + // operator, not a binary operator. Both operator types + // can use the same characters in their identifiers. + if (IsInfixOpTok(a_Tok)) + return true; + + // nope, it's no infix operator and we dont expect + // an operator + throw ecUNEXPECTED_OPERATOR; + } + else + { + a_Tok = ptr_tok_type(item->second->Clone()); + + m_nPos += (int)a_Tok->GetIdent().length(); + m_nSynFlags = noBC | noIO | noIC | noOPT | noCOMMA | noEND | noNEWLINE | noPFX | noIF | noELSE; + return true; + } + } + + return false; + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos; // - (int)item->first.length(); + err.Ident = item->first; + err.Expr = m_sExpr; + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +/** \brief Check whether the token at a given position is a value token. + + Value tokens are either values or constants. + + \param a_Tok [out] If a value token is found it will be placed here. + \return true if a value token has been found. + */ +bool TokenReader::IsValTok(ptr_tok_type &a_Tok) +{ + if (m_vValueReader.size() == 0) + return false; + + stringstream_type stream(m_sExpr.c_str() + m_nPos); + string_type sTok; + + try + { + // call the value recognition functions provided by the user + // Call user defined value recognition functions + int iSize = (int)m_vValueReader.size(); + Value val; + for (int i = 0; i < iSize; ++i) + { + int iStart = m_nPos; + if (m_vValueReader[i]->IsValue(m_sExpr.c_str(), m_nPos, val)) + { + sTok.assign(m_sExpr.c_str(), iStart, m_nPos); + if (m_nSynFlags & noVAL) + throw ecUNEXPECTED_VAL; + + m_nSynFlags = noVAL | noVAR | noFUN | noBO | noIFX | noIO; + a_Tok = ptr_tok_type(val.Clone()); + a_Tok->SetIdent(string_type(sTok.begin(), sTok.begin() + (m_nPos - iStart))); + return true; + } + } + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos; + err.Ident = sTok; + err.Expr = m_sExpr; + err.Pos = m_nPos - (int)sTok.length(); + throw ParserError(err); + } + + return false; +} + +//--------------------------------------------------------------------------- +/** \brief Check wheter a token at a given position is a variable token. + \param a_Tok [out] If a variable token has been found it will be placed here. + \return true if a variable token has been found. + */ +bool TokenReader::IsVarOrConstTok(ptr_tok_type &a_Tok) +{ + if (!m_pVarDef->size() && !m_pConstDef->size() && !m_pFunDef->size()) + return false; + + string_type sTok; + int iEnd; + try + { + iEnd = ExtractToken(m_pParser->ValidNameChars(), sTok, m_nPos); + if (iEnd == m_nPos || (sTok.size() > 0 && sTok[0] >= _T('0') && sTok[0] <= _T('9'))) + return false; + + // Check for variables + var_maptype::const_iterator item = m_pVarDef->find(sTok); + if (item != m_pVarDef->end()) + { + if (m_nSynFlags & noVAR) + throw ecUNEXPECTED_VAR; + + m_nPos = iEnd; + m_nSynFlags = noVAL | noVAR | noFUN | noBO | noIFX; + a_Tok = ptr_tok_type(item->second->Clone()); + a_Tok->SetIdent(sTok); + m_UsedVar[item->first] = item->second; // Add variable to used-var-list + return true; + } + + // Check for constants + item = m_pConstDef->find(sTok); + if (item != m_pConstDef->end()) + { + if (m_nSynFlags & noVAL) + throw ecUNEXPECTED_VAL; + + m_nPos = iEnd; + m_nSynFlags = noVAL | noVAR | noFUN | noBO | noIFX | noIO; + a_Tok = ptr_tok_type(item->second->Clone()); + a_Tok->SetIdent(sTok); + return true; + } + } + catch (EErrorCodes e) + { + ErrorContext err; + err.Errc = e; + err.Pos = m_nPos; + err.Ident = sTok; + err.Expr = m_sExpr; + throw ParserError(err); + } + + return false; +} + +//--------------------------------------------------------------------------- +bool TokenReader::IsComment() +{ + return false; +} + +//--------------------------------------------------------------------------- +/** \brief Check wheter a token at a given position is an undefined variable. + \param a_Tok [out] If a variable tom_pParser->m_vStringBufken has been found it will be placed here. + \return true if a variable token has been found. + \throw nothrow + */ +bool TokenReader::IsUndefVarTok(ptr_tok_type &a_Tok) +{ + string_type sTok; + int iEnd = ExtractToken(m_pParser->ValidNameChars(), sTok, m_nPos); + if (iEnd == m_nPos || (sTok.size() > 0 && sTok[0] >= _T('0') && sTok[0] <= _T('9'))) + return false; + + if (m_nSynFlags & noVAR) + { + ErrorContext err; + err.Errc = ecUNEXPECTED_VAR; + err.Ident = sTok; + err.Expr = m_sExpr; + err.Pos = m_nPos; + throw ParserError(err); + } + + // Create a variable token + if (m_pParser->m_bAutoCreateVar) + { + ptr_val_type val(new Value); // Create new value token + m_pDynVarShadowValues->push_back(val); // push to the vector of shadow values + a_Tok = ptr_tok_type(new Variable(val.Get())); // bind variable to the new value item + (*m_pVarDef)[sTok] = a_Tok; // add new variable to the variable list + } + else + a_Tok = ptr_tok_type(new Variable(nullptr)); // bind variable to empty variable + + a_Tok->SetIdent(sTok); + m_UsedVar[sTok] = a_Tok; // add new variable to used-var-list + + m_nPos = iEnd; + m_nSynFlags = noVAL | noVAR | noFUN | noBO | noIFX; + return true; +} +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpValReader.cpp b/src/third-party/headers/muparserx/mpValReader.cpp new file mode 100644 index 0000000000..8add7b0095 --- /dev/null +++ b/src/third-party/headers/muparserx/mpValReader.cpp @@ -0,0 +1,347 @@ +/** \file + \brief Implementation of classes that interpret values in a string. + +
+                 __________                                 ____  ___
+      _____  __ _\______   \_____ _______  ______ __________\   \/  /
+     /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+    |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+    |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+          \/                     \/           \/     \/           \_/
+    Copyright (C) 2016, Ingo Berg
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+    IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+    POSSIBILITY OF SUCH DAMAGE.
+    
+ */ +#include "mpValReader.h" +#include "mpError.h" + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +// +// Reader for floating point values +// +//------------------------------------------------------------------------------ + +DblValReader::DblValReader() +:IValueReader() +{} + +//------------------------------------------------------------------------------ +DblValReader::~DblValReader() +{} + +//------------------------------------------------------------------------------ +bool DblValReader::IsValue(const char_type *a_szExpr, int &a_iPos, Value &a_Val) +{ + stringstream_type stream(a_szExpr + a_iPos); + float_type fVal(0); + std::streamoff iEnd(0); + + stream >> fVal; + + if (stream.fail()) + return false; + + if (stream.eof()) + { + // This part sucks but tellg will return -1 if eof is set, + // so i need a special treatment for the case that the number + // just read here is the last part of the string + for (; a_szExpr[a_iPos] != 0; ++a_iPos); + } + else + { + iEnd = stream.tellg(); // Position after reading + assert(iEnd > 0); + a_iPos += (int)iEnd; + } + + // Finally i have to check if the next sign is the "i" for a imaginary unit + // if so this is an imaginary value + if (a_szExpr[a_iPos] == 'i') + { + a_Val = cmplx_type(0.0, fVal); + a_iPos++; + } + else + { + a_Val = cmplx_type(fVal, 0.0); + } + + return true; +} + +//------------------------------------------------------------------------------ +IValueReader* DblValReader::Clone(TokenReader *pTokenReader) const +{ + IValueReader *pReader = new DblValReader(*this); + pReader->SetParent(pTokenReader); + + return pReader; +} + +//------------------------------------------------------------------------------ +// +// Reader for boolean values +// +//------------------------------------------------------------------------------ + +BoolValReader::BoolValReader() + :IValueReader() +{} + +//------------------------------------------------------------------------------ +BoolValReader::~BoolValReader() +{} + +//------------------------------------------------------------------------------ +bool BoolValReader::IsValue(const char_type *a_szExpr, int &a_iPos, Value &a_Val) +{ + string_type sExpr(a_szExpr + a_iPos); + + if (sExpr.find(_T("true")) == 0) + { + a_Val = true; + a_iPos += 4; + return true; + } + else if (sExpr.find(_T("false")) == 0) + { + a_Val = false; + a_iPos += 5; + return true; + } + + return false; +} + +//------------------------------------------------------------------------------ +IValueReader* BoolValReader::Clone(TokenReader *pTokenReader) const +{ + IValueReader *pReader = new BoolValReader(*this); + pReader->SetParent(pTokenReader); + + return pReader; +} + +//------------------------------------------------------------------------------ +// +// Reader for hex values +// +//------------------------------------------------------------------------------ + +HexValReader::HexValReader() + :IValueReader() +{} + +//------------------------------------------------------------------------------ +/** \brief Try to read a hex value from a given position in the expression. + \param a_szExpr The Expression + \param [in/out] a_iPos The current position in the expression + \param [out] a_val The value that was read + + Hex values must start with a "0x" characters. The position a_iPos is advanded in case + a hex value was found. + */ +bool HexValReader::IsValue(const char_type *a_szExpr, int &a_iPos, Value &a_val) +{ + std::size_t len = std::char_traits::length(a_szExpr); + if (a_iPos >= (int)len || a_szExpr[a_iPos + 1] != 'x' || a_szExpr[a_iPos + 1] == 0 || a_szExpr[a_iPos] != '0') + return 0; + + unsigned iVal(0); + + stringstream_type::pos_type nPos(0); + stringstream_type ss(a_szExpr + a_iPos + 2); + ss >> std::hex >> iVal; + + if (ss.fail()) + return false; + + if (ss.eof()) + { + // This part sucks but tellg will return -1 if eof is set, + // so i need a special treatment for those cases. + for (; a_szExpr[a_iPos] != 0; ++a_iPos); + } + else + { + nPos = ss.tellg(); + assert(nPos > 0); + a_iPos += (int)(2 + nPos); + } + + a_val = (float_type)iVal; + return true; +} + +//------------------------------------------------------------------------------ +IValueReader* HexValReader::Clone(TokenReader *pTokenReader) const +{ + IValueReader *pReader = new HexValReader(*this); + pReader->SetParent(pTokenReader); + return pReader; +} + +//------------------------------------------------------------------------------ +// +// Reader for binary values +// +//------------------------------------------------------------------------------ + +BinValReader::BinValReader() + :IValueReader() +{} + +//------------------------------------------------------------------------------ +BinValReader::~BinValReader() +{} + +//------------------------------------------------------------------------------ +bool BinValReader::IsValue(const char_type *a_szExpr, int &a_iPos, Value &a_Val) +{ + const char_type *szExpr = a_szExpr + a_iPos; + + if (szExpr[0] != '0' || (szExpr[1] != 'b' && szExpr[1] != 'B')) + return false; + + // Number of bits hardcoded to 32, i can't + // store 64 bit integers in double values without + // loss. There is no point in accepting them. + unsigned iVal = 0, iBits = 32 /*sizeof(iVal)*8*/, i; + for (i = 0; (szExpr[i + 2] == '0' || szExpr[i + 2] == '1') && i <= iBits; ++i) + { + iVal |= (unsigned)(szExpr[i + 2] == '1') << ((iBits - 1) - i); + } + + if (i == 0) + return false; + + if (i > iBits) + { + throw ParserError(_T("Binary to integer conversion error (overflow).")); + } + + a_Val = (float_type)((int)(iVal >> (iBits - i))); + a_iPos += i + 2; + + return true; +} + +//------------------------------------------------------------------------------ +IValueReader* BinValReader::Clone(TokenReader *pTokenReader) const +{ + IValueReader *pReader = new BinValReader(*this); + pReader->SetParent(pTokenReader); + + return pReader; +} + +//------------------------------------------------------------------------------ +// +// Reader for string values +// +//------------------------------------------------------------------------------ + +StrValReader::StrValReader() + :IValueReader() +{} + +//------------------------------------------------------------------------------ +StrValReader::~StrValReader() +{} + +//------------------------------------------------------------------------------ +string_type StrValReader::Unescape(const char_type *szExpr, int &nPos) +{ + string_type out; + bool bEscape = false; + + for (char_type c = szExpr[nPos]; c != 0; c = szExpr[++nPos]) + { + switch (c) + { + case '\\': + if (!bEscape) + { + bEscape = true; + break; + } + [[gnu::fallthrough]]; + + case '"': + if (!bEscape) + { + ++nPos; + return out; + } + [[gnu::fallthrough]]; + + default: + if (bEscape) + { + switch (c) + { + case 'n': out += '\n'; break; + case 'r': out += '\r'; break; + case 't': out += '\t'; break; + case '"': out += '\"'; break; + case '\\': out += '\\'; break; + default: + throw ParserError(ErrorContext(ecUNKNOWN_ESCAPE_SEQUENCE, nPos)); + } + + bEscape = false; + } + else + { + out += c; + } + } + } + + throw ParserError(ErrorContext(ecUNTERMINATED_STRING, nPos)); +} + +//------------------------------------------------------------------------------ +bool StrValReader::IsValue(const char_type *a_pszExpr, int &a_iPos, Value &a_Val) +{ + const char_type *szExpr = a_pszExpr + a_iPos; + if (szExpr[0] != '"') + return false; + + a_Val = Unescape(a_pszExpr, ++a_iPos); + return true; +} + +//------------------------------------------------------------------------------ +IValueReader* StrValReader::Clone(TokenReader *pTokenReader) const +{ + IValueReader *pReader = new StrValReader(*this); + pReader->SetParent(pTokenReader); + + return pReader; +} +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpValue.cpp b/src/third-party/headers/muparserx/mpValue.cpp new file mode 100644 index 0000000000..69b39227cb --- /dev/null +++ b/src/third-party/headers/muparserx/mpValue.cpp @@ -0,0 +1,804 @@ +/* +
+             __________                                 ____  ___
+  _____  __ _\______   \_____ _______  ______ __________\   \/  /
+ /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     /
+|  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \
+|__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+      \/                     \/           \/     \/           \_/
+Copyright (C) 2016, Ingo Berg
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+* Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+* Redistributions in binary form must reproduce the above copyright notice,
+this list of conditions and the following disclaimer in the documentation
+and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpValue.h" +#include "mpError.h" +#include "mpValueCache.h" + + +MUP_NAMESPACE_START + +//------------------------------------------------------------------------------ +/** \brief Construct an empty value object of a given type. + \param cType The type of the value to construct (default='v'). + */ + Value::Value(char_type cType) + :IValue(cmVAL) + , m_val(0, 0) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_cType(cType) + , m_iFlags(flNONE) + , m_pCache(nullptr) +{ + // strings and arrays must allocate their memory + switch (cType) + { + case 's': m_psVal = new string_type(); break; + case 'm': m_pvVal = new matrix_type(0, Value(0.0)); break; + } +} + +//--------------------------------------------------------------------------- +Value::Value(int_type a_iVal) + :IValue(cmVAL) + ,m_val((float_type)a_iVal, 0) + ,m_psVal(nullptr) + ,m_pvVal(nullptr) + ,m_cType('i') + ,m_iFlags(flNONE) + ,m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(bool_type a_bVal) + :IValue(cmVAL) + , m_val((float_type)a_bVal, 0) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_cType('b') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(string_type a_sVal) + :IValue(cmVAL) + , m_val() + , m_psVal(new string_type(a_sVal)) + , m_pvVal(nullptr) + , m_cType('s') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(int_type array_size, float_type v) + :IValue(cmVAL) + , m_val() + , m_psVal(nullptr) + , m_pvVal(new matrix_type(array_size, Value(v))) + , m_cType('m') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +/** \brief Create a m x n matrix +*/ +Value::Value(int_type m, int_type n, float_type v) + :IValue(cmVAL) + , m_val() + , m_psVal(nullptr) + , m_pvVal(new matrix_type(m, n, Value(v))) + , m_cType('m') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(const char_type *a_szVal) + :IValue(cmVAL) + , m_val() + , m_psVal(new string_type(a_szVal)) + , m_pvVal(nullptr) + , m_cType('s') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(const cmplx_type &v) + :IValue(cmVAL) + , m_val(v) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_cType('c') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{ + if ((m_val.real() == (int_type)m_val.real()) && (m_val.imag() == 0)) + m_cType = 'i'; + else + m_cType = (m_val.imag() == 0) ? 'f' : 'c'; +} + +//--------------------------------------------------------------------------- +Value::Value(float_type val) + :IValue(cmVAL) + , m_val(val, 0) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_cType((val == (int_type)val) ? 'i' : 'f') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(const matrix_type &val) + :IValue(cmVAL) + , m_val() + , m_psVal(nullptr) + , m_pvVal(new matrix_type(val)) + , m_cType('m') + , m_iFlags(flNONE) + , m_pCache(nullptr) +{} + +//--------------------------------------------------------------------------- +Value::Value(const Value &a_Val) + :IValue(cmVAL) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_pCache(nullptr) +{ + Assign(a_Val); +} + +//--------------------------------------------------------------------------- +Value::Value(const IValue &a_Val) + :IValue(cmVAL) + , m_psVal(nullptr) + , m_pvVal(nullptr) + , m_pCache(nullptr) +{ + Reset(); + + switch (a_Val.GetType()) + { + case 'i': + case 'f': + case 'b': m_val = cmplx_type(a_Val.GetFloat(), 0); + break; + + + case 'c': m_val = cmplx_type(a_Val.GetFloat(), a_Val.GetImag()); + break; + + case 's': if (!m_psVal) + m_psVal = new string_type(a_Val.GetString()); + else + *m_psVal = a_Val.GetString(); + break; + + case 'm': if (!m_pvVal) + m_pvVal = new matrix_type(a_Val.GetArray()); + else + *m_pvVal = a_Val.GetArray(); + break; + + case 'v': break; + default: MUP_FAIL(INVALID_TYPE_CODE); + } + + m_cType = a_Val.GetType(); +} + +//--------------------------------------------------------------------------- +Value& Value::operator=(const Value &a_Val) +{ + Assign(a_Val); + return *this; +} + +//--------------------------------------------------------------------------- +/** \brief Return the matrix element at row col. + + Row and col are the indices of the matrix. If this element does not + represent a matrix row and col must be 0 otherwise an index out of bound error + is thrown. + */ +IValue& Value::At(const IValue &row, const IValue &col) +{ + if (!row.IsInteger() || !col.IsInteger()) + { + ErrorContext errc(ecTYPE_CONFLICT_IDX, GetExprPos()); + errc.Type1 = (!row.IsInteger()) ? row.GetType() : col.GetType(); + errc.Type2 = 'i'; + throw ParserError(errc); + } + + int_type nRow = row.GetInteger(), + nCol = col.GetInteger(); + return At(nRow, nCol); +} + +//--------------------------------------------------------------------------- +IValue& Value::At(int nRow, int nCol) +{ + if (IsMatrix()) + { + if (nRow >= m_pvVal->GetRows() || nCol >= m_pvVal->GetCols() || nRow < 0 || nCol < 0) + throw ParserError(ErrorContext(ecINDEX_OUT_OF_BOUNDS, -1, GetIdent())); + + return m_pvVal->At(nRow, nCol); + } + else if (nRow == 0 && nCol == 0) + { + return *this; + } + else + throw ParserError(ErrorContext(ecINDEX_OUT_OF_BOUNDS)); +} + +//--------------------------------------------------------------------------- +Value::~Value() +{ + delete m_psVal; + delete m_pvVal; +} + +//--------------------------------------------------------------------------- +IToken* Value::Clone() const +{ + return new Value(*this); +} + +//--------------------------------------------------------------------------- +Value* Value::AsValue() +{ + return this; +} + +//--------------------------------------------------------------------------- +/** \brief Copy constructor. */ +void Value::Assign(const Value &ref) +{ + if (this == &ref) + return; + + m_val = ref.m_val; + m_cType = ref.m_cType; + m_iFlags = ref.m_iFlags; + + // allocate room for a string + if (ref.m_psVal) + { + if (!m_psVal) + m_psVal = new string_type(*ref.m_psVal); + else + *m_psVal = *ref.m_psVal; + } + else + { + delete m_psVal; + m_psVal = nullptr; + } + + // allocate room for a vector + if (ref.m_pvVal) + { + if (m_pvVal == nullptr) + m_pvVal = new matrix_type(*ref.m_pvVal); + else + *m_pvVal = *ref.m_pvVal; + } + else + { + delete m_pvVal; + m_pvVal = nullptr; + } + + // Do NOT access ref beyound this point! If you do, "unboxing" of + // a 1 x 1 matrix using: + // + // this->Assign(m_pvVal->At(0,0)); + // + // will blow up in your face since ref will become invalid at them very + // moment you delete m_pvVal! +} + +//--------------------------------------------------------------------------- +void Value::Reset() +{ + m_val = cmplx_type(0, 0); + + delete m_psVal; + m_psVal = nullptr; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = 'f'; + m_iFlags = flNONE; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(bool val) +{ + m_val = cmplx_type((float_type)val, 0); + + delete m_psVal; + m_psVal = nullptr; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = 'b'; + m_iFlags = flNONE; + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(int_type a_iVal) +{ + m_val = cmplx_type(a_iVal,0); + + delete m_psVal; + m_psVal = nullptr; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = 'i'; + m_iFlags = flNONE; + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(float_type val) +{ + m_val = cmplx_type(val, 0); + + delete m_psVal; + m_psVal = nullptr; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = (val == (int_type)val) ? 'i' : 'f'; + m_iFlags = flNONE; + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(string_type a_sVal) +{ + m_val = cmplx_type(); + + if (!m_psVal) + m_psVal = new string_type(a_sVal); + else + *m_psVal = a_sVal; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = 's'; + m_iFlags = flNONE; + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(const char_type *a_szVal) +{ + m_val = cmplx_type(); + + if (!m_psVal) + m_psVal = new string_type(a_szVal); + else + *m_psVal = a_szVal; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = 's'; + m_iFlags = flNONE; + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(const matrix_type &a_vVal) +{ + m_val = cmplx_type(0, 0); + + delete m_psVal; + m_psVal = nullptr; + + if (m_pvVal == nullptr) + m_pvVal = new matrix_type(a_vVal); + else + *m_pvVal = a_vVal; + + m_cType = 'm'; + m_iFlags = flNONE; + + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator=(const cmplx_type &val) +{ + m_val = val; + + delete m_psVal; + m_psVal = nullptr; + + delete m_pvVal; + m_pvVal = nullptr; + + m_cType = (m_val.imag() == 0) ? ((m_val.real() == (int)m_val.real()) ? 'i' : 'f') : 'c'; + m_iFlags = flNONE; + + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator+=(const IValue &val) +{ + if (IsScalar() && val.IsScalar()) + { + // Scalar/Scalar addition + m_val += val.GetComplex(); + m_cType = (m_val.imag() == 0) ? ((m_val.real() == (int)m_val.real()) ? 'i' : 'f') : 'c'; + } + else if (IsMatrix() && val.IsMatrix()) + { + // Matrix/Matrix addition + assert(m_pvVal); + *m_pvVal += val.GetArray(); + } + else if (IsString() && val.IsString()) + { + // string/string addition + assert(m_psVal); + *m_psVal += val.GetString(); + } + else + { + // Type conflict + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, _T("+"), GetType(), val.GetType(), 2)); + } + + return *this; +} + +//--------------------------------------------------------------------------- +IValue& Value::operator-=(const IValue &val) +{ + if (IsScalar() && val.IsScalar()) + { + // Scalar/Scalar addition + m_val -= val.GetComplex(); + m_cType = (m_val.imag() == 0) ? ((m_val.real() == (int)m_val.real()) ? 'i' : 'f') : 'c'; + } + else if (IsMatrix() && val.IsMatrix()) + { + // Matrix/Matrix addition + assert(m_pvVal); + *m_pvVal -= val.GetArray(); + } + else + { + // There is a typeconflict: + throw ParserError(ErrorContext(ecTYPE_CONFLICT_FUN, -1, _T("-"), GetType(), val.GetType(), 2)); + } + + return *this; +} + +//--------------------------------------------------------------------------- +/** \brief Assign a value with multiplication + \param val The value to multiply to this + + When multiplying to values with each value representing a matrix type + the result is checked whether it is a 1 x 1 matrix. If so the value is + "unboxed" and stored directly in this value object. It is no longer + treated as a matrix internally. + */ +IValue& Value::operator*=(const IValue &val) +{ + if (IsScalar() && val.IsScalar()) + { + // Scalar/Scalar multiplication + m_val *= val.GetComplex(); + m_cType = (m_val.imag() == 0) ? ((m_val.real() == (int)m_val.real()) ? 'i' : 'f') : 'c'; + } + else if (IsMatrix() && val.IsMatrix()) + { + // Matrix/Matrix addition + assert(m_pvVal); + *m_pvVal *= val.GetArray(); + + // The result may actually be a scalar value, i.e. the scalar product of + // two vectors. + if (m_pvVal->GetCols() == 1 && m_pvVal->GetRows() == 1) + { + Assign(m_pvVal->At(0, 0)); + } + } + else if (IsMatrix() && val.IsScalar()) + { + *m_pvVal *= val; + } + else if (IsScalar() && val.IsMatrix()) + { + // transform this into a matrix and multiply with rhs + Value prod = val * (*this); + Assign(prod); + } + else + { + // Type conflict + ErrorContext errc(ecTYPE_CONFLICT_FUN, -1, _T("*")); + errc.Type1 = GetType(); + errc.Type2 = 'm'; //val.GetType(); + errc.Arg = 2; + throw ParserError(errc); + } + + return *this; +} + +//--------------------------------------------------------------------------- +/** \brief Returns a character representing the type of this value instance. + \return m_cType Either one of 'c' for comlex, 'i' for integer, + 'f' for floating point, 'b' for boolean, 's' for string or + 'm' for matrix values. + */ +char_type Value::GetType() const +{ + return m_cType; +} + +//--------------------------------------------------------------------------- +/** \brief Return the value as an integer. + + This function should only be called if you really need an integer value and + want to make sure your either get one or throw an exception if the value + can not be implicitely converted into an integer. + */ +int_type Value::GetInteger() const +{ + float_type v = m_val.real(); + + if (m_cType != 'i') + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT; + err.Type1 = m_cType; + err.Type2 = 'i'; + + if (GetIdent().length()) + { + err.Ident = GetIdent(); + } + else + { + stringstream_type ss; + ss << *this; + err.Ident = ss.str(); + } + + throw ParserError(err); + } + + return (int_type)v; +} + +//--------------------------------------------------------------------------- +float_type Value::GetFloat() const +{ + return m_val.real(); +} + +//--------------------------------------------------------------------------- +/** \brief Get the imaginary part of the value. + \throw ParserError in case this value represents a string or a matrix + */ +float_type Value::GetImag() const +{ + if (!IsScalar()) + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT; + err.Type1 = m_cType; + err.Type2 = 'c'; + + if (GetIdent().length()) + { + err.Ident = GetIdent(); + } + else + { + stringstream_type ss; + ss << *this; + err.Ident = ss.str(); + } + + throw ParserError(err); + } + + return m_val.imag(); +} + +//--------------------------------------------------------------------------- +/** \brief Returns this value as a complex number. + \throw nothrow + + If the value instance does not represent a complex value the returned value + is undefined. No exception is triggered. If you are unsure about the type + use IsComplex() or GetType() to verify the type. + */ +const cmplx_type& Value::GetComplex() const +{ + return m_val; +} + +//--------------------------------------------------------------------------- +const string_type& Value::GetString() const +{ + CheckType('s'); + assert(m_psVal != nullptr); + return *m_psVal; +} + +//--------------------------------------------------------------------------- +bool Value::GetBool() const +{ + CheckType('b'); + return m_val.real() == 1; +} + +//--------------------------------------------------------------------------- +const matrix_type& Value::GetArray() const +{ + CheckType('m'); + assert(m_pvVal != nullptr); + return *m_pvVal; +} + +//--------------------------------------------------------------------------- +int Value::GetRows() const +{ + return (GetType() != 'm') ? 1 : GetArray().GetRows(); +} + +//--------------------------------------------------------------------------- +int Value::GetCols() const +{ + return (GetType() != 'm') ? 1 : GetArray().GetCols(); +} + +//--------------------------------------------------------------------------- +void Value::CheckType(char_type a_cType) const +{ + if (m_cType != a_cType) + { + ErrorContext err; + err.Errc = ecTYPE_CONFLICT; + err.Type1 = m_cType; + err.Type2 = a_cType; + + if (GetIdent().length()) + { + err.Ident = GetIdent(); + } + else + { + stringstream_type ss; + ss << *this; + err.Ident = ss.str(); + } + + throw ParserError(err); + } +} + +//--------------------------------------------------------------------------- +bool Value::IsVariable() const +{ + return false; +} + +//--------------------------------------------------------------------------- +string_type Value::AsciiDump() const +{ + stringstream_type ss; + + ss << g_sCmdCode[GetCode()]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; type=\"") << GetType() << _T("\""); + ss << _T("; val="); + + switch (m_cType) + { + case 'i': ss << (int_type)m_val.real(); break; + case 'f': ss << m_val.real(); break; + case 'm': ss << _T("(matrix)"); break; + case 's': + assert(m_psVal != nullptr); + ss << _T("\"") << m_psVal << _T("\""); break; + } + + ss << ((IsFlagSet(IToken::flVOLATILE)) ? _T("; ") : _T("; not ")) << _T("vol"); + ss << _T("]"); + + return ss.str(); +} + +//----------------------------------------------------------------------------------------------- +void Value::Release() +{ + if (m_pCache) + m_pCache->ReleaseToCache(this); + else + delete this; +} + +//----------------------------------------------------------------------------------------------- +void Value::BindToCache(ValueCache *pCache) +{ + m_pCache = pCache; +} + +//----------------------------------------------------------------------------------------------- +Value::operator cmplx_type () +{ + return GetComplex(); +} + +//----------------------------------------------------------------------------------------------- +Value::operator int_type() +{ + return GetInteger(); +} + +//----------------------------------------------------------------------------------------------- +Value::operator string_type() +{ + return GetString(); +} + +//----------------------------------------------------------------------------------------------- +Value::operator float_type() +{ + return GetFloat(); +} + +//----------------------------------------------------------------------------------------------- +Value::operator bool() +{ + return GetBool(); +} +} // namespace mu diff --git a/src/third-party/headers/muparserx/mpValueCache.cpp b/src/third-party/headers/muparserx/mpValueCache.cpp new file mode 100644 index 0000000000..b8cfd63aca --- /dev/null +++ b/src/third-party/headers/muparserx/mpValueCache.cpp @@ -0,0 +1,105 @@ +/** \file + \brief Definition of a class for caching unused value items and recycling them. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016, Ingo Berg
+                                       All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpValueCache.h" + +#include "mpValue.h" + + +MUP_NAMESPACE_START + + //------------------------------------------------------------------------------ + ValueCache::ValueCache(int size) + :m_nIdx(-1) + ,m_vCache(size, (mup::Value*)0) // hint to myself: don't use nullptr gcc will go postal... + {} + + //------------------------------------------------------------------------------ + ValueCache::~ValueCache() + { + ReleaseAll(); + } + + //------------------------------------------------------------------------------ + void ValueCache::ReleaseAll() + { + for (std::size_t i=0; iGetRef()==0); + + // Add the value to the cache if the cache has room for it + // otherwise release the value item instantly + if ( m_nIdx < ((int)m_vCache.size()-1) ) + { + m_nIdx++; + m_vCache[m_nIdx] = pValue; + } + else + delete pValue; + } + + //------------------------------------------------------------------------------ + Value* ValueCache::CreateFromCache() + { + Value *pValue = nullptr; + if (m_nIdx>=0) + { + pValue = m_vCache[m_nIdx]; + m_vCache[m_nIdx] = nullptr; + m_nIdx--; + } + else + { + pValue = new Value(); + pValue->BindToCache(this); + } + + return pValue; + } + +MUP_NAMESPACE_END diff --git a/src/third-party/headers/muparserx/mpVariable.cpp b/src/third-party/headers/muparserx/mpVariable.cpp new file mode 100644 index 0000000000..a0c56c0b3d --- /dev/null +++ b/src/third-party/headers/muparserx/mpVariable.cpp @@ -0,0 +1,395 @@ +/** \file + \brief Implementation of the muParserX variable class. + +
+               __________                                 ____  ___
+    _____  __ _\______   \_____ _______  ______ __________\   \/  /
+   /     \|  |  \     ___/\__  \\_  __ \/  ___// __ \_  __ \     / 
+  |  Y Y  \  |  /    |     / __ \|  | \/\___ \\  ___/|  | \/     \ 
+  |__|_|  /____/|____|    (____  /__|  /____  >\___  >__| /___/\  \
+        \/                     \/           \/     \/           \_/
+                                       Copyright (C) 2016, Ingo Berg
+                                       All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without 
+  modification, are permitted provided that the following conditions are met:
+
+   * Redistributions of source code must retain the above copyright notice, 
+     this list of conditions and the following disclaimer.
+   * Redistributions in binary form must reproduce the above copyright notice, 
+     this list of conditions and the following disclaimer in the documentation 
+     and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
+  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
+  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
+  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
+  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
+  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
+  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
+  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+  POSSIBILITY OF SUCH DAMAGE.
+
+*/ +#include "mpVariable.h" +#include "mpError.h" + +#include "mpValue.h" + + +MUP_NAMESPACE_START + + //----------------------------------------------------------------------------------------------- + /** \brief Create a variable and bind a value to it. + \param pVal Pointer of the value to bind to this variable. + + It is possible to create an empty variable object by setting pVal to nullptr. + Such variable objects must be bound later in order to be of any use. The parser + does NOT assume ownership over the pointer! + */ + Variable::Variable(IValue *pVal) + :IValue(cmVAL) + ,m_pVal(pVal) + { + AddFlags(IToken::flVOLATILE); + } + + //----------------------------------------------------------------------------------------------- + Variable::Variable(const Variable &obj) + :IValue(cmVAL) + { + Assign(obj); + AddFlags(IToken::flVOLATILE); + } + + //----------------------------------------------------------------------------------------------- + Variable& Variable::operator=(const Variable &obj) + { + Assign(obj); + return *this; + } + + //----------------------------------------------------------------------------------------------- + /** \brief Assign a value to the variable. + \param ref Reference to the value to be assigned + */ + IValue& Variable::operator=(const Value &ref) + { + assert(m_pVal); + *m_pVal = ref; + return *this; + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(int_type val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(float_type val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(string_type val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(bool_type val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(const matrix_type &val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator=(const cmplx_type &val) + { + assert(m_pVal); + return m_pVal->operator=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator+=(const IValue &val) + { + assert(m_pVal); + return m_pVal->operator+=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator-=(const IValue &val) + { + assert(m_pVal); + return m_pVal->operator-=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::operator*=(const IValue &val) + { + assert(m_pVal); + return m_pVal->operator*=(val); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::At(int nRow, int nCol) + { + return m_pVal->At(nRow, nCol); + } + + //----------------------------------------------------------------------------------------------- + IValue& Variable::At(const IValue &row, const IValue &col) + { + try + { + return m_pVal->At(row, col); + } + catch(ParserError &exc) + { + // add the identifier to the error context + exc.GetContext().Ident = GetIdent(); + throw exc; + } + } + + //----------------------------------------------------------------------------------------------- + Variable::~Variable() + {} + + //----------------------------------------------------------------------------------------------- + void Variable::Assign(const Variable &ref) + { + if (this==&ref) + return; + + m_pVal = ref.m_pVal; + } + + //----------------------------------------------------------------------------------------------- + /** \brief Returns a character representing the type of the variable. + \throw nothrow + */ + char_type Variable::GetType() const + { + return (m_pVal) ? m_pVal->GetType() : 'v'; + } + + //----------------------------------------------------------------------------------------------- + /** \brief Returns the Value pointer bound to this variable. + \throw nothrow + */ + IValue* Variable::GetPtr() const + { + return m_pVal; + } + + //----------------------------------------------------------------------------------------------- + int_type Variable::GetInteger() const + { + try + { + return m_pVal->GetInteger(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + float_type Variable::GetFloat() const + { + try + { + return m_pVal->GetFloat(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + float_type Variable::GetImag() const + { + try + { + return m_pVal->GetImag(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + const cmplx_type& Variable::GetComplex() const + { + try + { + return m_pVal->GetComplex(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + const string_type& Variable::GetString() const + { + try + { + return m_pVal->GetString(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + bool Variable::GetBool() const + { + try + { + return m_pVal->GetBool(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + const matrix_type& Variable::GetArray() const + { + try + { + return m_pVal->GetArray(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + int Variable::GetRows() const + { + try + { + return m_pVal->GetRows(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + int Variable::GetCols() const + { + try + { + return m_pVal->GetCols(); + } + catch (ParserError &exc) + { + exc.GetContext().Ident = GetIdent(); + throw; + } + } + + //----------------------------------------------------------------------------------------------- + void Variable::SetFloat(float_type a_fVal) + { + assert(m_pVal); + *m_pVal = a_fVal; + } + + //----------------------------------------------------------------------------------------------- + void Variable::SetString(const string_type &a_sVal) + { + assert(m_pVal); + *m_pVal = a_sVal; + } + + //----------------------------------------------------------------------------------------------- + void Variable::SetBool(bool a_bVal) + { + assert(m_pVal); + *m_pVal = a_bVal; + } + + //----------------------------------------------------------------------------------------------- + void Variable::Bind(IValue *pValue) + { + m_pVal = pValue; + } + + //--------------------------------------------------------------------------- + bool Variable::IsVariable() const + { + return true; + } + + //----------------------------------------------------------------------------------------------- + IToken* Variable::Clone() const + { + return new Variable(*this); + } + + //----------------------------------------------------------------------------------------------- + Value* Variable::AsValue() + { + return nullptr; + } + + //----------------------------------------------------------------------------------------------- + string_type Variable::AsciiDump() const + { + stringstream_type ss; + + ss << g_sCmdCode[ GetCode() ]; + ss << _T(" [addr=0x") << std::hex << this << std::dec; + ss << _T("; pos=") << GetExprPos(); + ss << _T("; id=\"") << GetIdent() << _T("\""); + ss << _T("; type=\"") << GetType() << _T("\""); + ss << _T("; val="); + + switch(GetType()) + { + case 'i': ss << (int_type)GetFloat(); break; + case 'f': ss << GetFloat(); break; + case 'm': ss << _T("(array)"); break; + case 's': ss << _T("\"") << GetString() << _T("\""); break; + } + + ss << ((IsFlagSet(IToken::flVOLATILE)) ? _T("; ") : _T("; not ")) << _T("vol"); + ss << _T("]"); + + return ss.str(); + } +MUP_NAMESPACE_END diff --git a/src/third-party/linux/lib/libmuparserx.a b/src/third-party/linux/lib/libmuparserx.a new file mode 100644 index 0000000000000000000000000000000000000000..ae4dada2094f056c15af27ff1ed69e1ebc07b607 GIT binary patch literal 3239354 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

bacMl?*$Zze%|H#}(#i(!u)1g}CqPurQnfCfQC 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

`Z+!KQI zU*oFv;Pb`KFtMX?-6D9q;2PIg2rmtO9og5ozUPsDLhvs{1LHpt7!g&@RG<% ze&Jb>uc7wjqH%2|d|2?^5TySa*LDwn;85xRVn^dD6Z}5GHLl5omj*wL>}y;XdE}b~ z=YGdU<623$E3Ugm{zhsyE*jSpgbxeu4MF-pL6%H`aEd`mb?)fN;)(Ek9cD8DdA{Y9!nh*F2H`i^ywSiwPeVtc`dl z$kGZAzEj?0!mOz@k;j>dHf;jXwEME+3X z;i7TfNcgbe{t%@98rMn>{)pHq6FVB$ZwYtt{*Ca`AV1z%(h&?g)GdFk2e0^{#1mkKlgg%*BSfy@z`qrWh4JgWJmpc!{E z|7T=J?U!UZZ~uyLwLi?@artqCm%?~>wSSh8|4(E`?O$T>?Gdi_TRrmE6J8qR$Iq+% z&l&mr^HXYnwZV6b`m@@9*dzZ7!b@Siz1rVwH`$PbC^sQnKbeBTIH|7$(+orIUdcz(6N*vKCc*-`snGWh!=T3C{6PG`j@KShQK_Mw8~gd^9n}87;hdk!$d1}S$lzy1xY{4-kw2aA(jfo* zh1x&g$e$hAQTwwEeolm|{VP54HyQi+=Rwr|?MD9m$d20ow!x=GxY~cjBmV;7uJfpO z2`>#UitNbGt>FDfy5&a_UJB2n4GF?>y210$ohjEegXfmS2G2kLrT(ljcxxoD_@f5TKhL$d`2W1YyJGTxGI;*^EcO522LEUzuYT@L z4N(fuTd91h!LN(t6(4W#{PRB!Sl~6sr-)&o_{V$<9){9`R9)mf5qVW=ZqA8gK&*eQg3E^98GwCM8f3*8IQw3 znFkMQFP_#}HTtBsriS{4E9txHwdRB1?OpYqVbz4%+9vv%d6TS;9$VMk+*;3H53j9j zpBu`Y&@{KDwY`B>&ONENc5X{oZGCrl)tJ$>wX+-M)O9s?){@EZN$lct z&*tv{Owg~APd#^9?Fr#W$15vmH&o8A98HF*FQ}}k`B3ed)6bn;GxfZ4Yimh!92xEC zq_3>k*RoShb3*Vf!!R^QgfF0&^mO`S|}&8n-vV)FRP3(lTa&RnKO-udo==@suTnBM4a!{&wc zKHOnOUvTfTLuPU=oXj|JenG!2Z$2R4GGr=TmZDD%*rqr?^vwbrW_k0;1G_@MnPB7L zHy3P_rTL2uE}XykVB_o!eKEoX(+4M9FnzDWhS_)XxeHf?`EG_?!EW*gIBb0M7^;Xq z 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


SD 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
    Ntl%z-5DgY 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 t%^zsvfwLOz>(`}q!K^8b^onGL!)j$h z|0ESY<{0x9Wo2{IhzZ9ZbBwrtSjnMD^U03nxfj_;POEYl-0YT%>=MOG-Y-&0W+hxFhjJ^L6LX zlkDnVkfq5{NcNpxkfro%xldEqj?s=1YfK56&Vx$)&6J?@Yq@wg&r@Pa9&9{sN<5qg z8NvjpP2aN590O=|I&v=VoO@uZ-TWN%$fFof{6%{Gt$Hh}zhf>M)o$%m zOD?CQHA1!yWb}Y6Z}DSCBK?#4FMYmy()u4q+fz>Ml{5>#lC5{2oZR+y%C2pnYO%82G0bfzbQX1{MP$q z&d2i{VLpFDALTFS{2HB~J0&c?g!7AZzM2c*QO;ki^K%!3<=^CdJkt=`&$W{}?9X}G z%vpfvA$n;Y&Rhcc-Y^25*9h&*OSe-E=O3=~r`vq|Vtq9@g~4<#o?+({%vq2)D3?Ux z?>($1uDzj0P805q*Rw?QY+^mW?b3(JBgC~E?BMxogznl!zFXq+cM~Ahhk0X5V7{S-BFLM4U2ub-b z+VX{jHgG;ahHbwPo(ExmS6j;PyeBA=c|qjWK0%hwePf+>Wv1`um{}uj z5#cz-Kwj1*E@#fWgfJha6K2Lqq|)IuN3Fv;vh%m?s_;;AFx){TRoO zib5iv{G1%+9=j)c_-GHWi1212XwOd0!E>Av66R}7vX+h$;TL?;45@^9b0L#iJ~j%C zyxDU{@)G82H4#ku@x*5|BzSfk^Ph@

    AKG~OJ%?K8;8{WbF?%*{R-859y`h8vsK z{}UNstxD%4f-j|4R4Ng)s5P6+F*`=tJEpVuF-Z23Xq zrr0h#7&9^PXn%mnwwTMu>WTIr%lAPP35oDc+{~<=%<+bjpZr{I2WC3RYl$G~;YA)^ z?BNG_cs~z6*u(pK_#qx%65$WhcrRAxlX9kucM9Y9?}+cA=87}dvZVFz#Bu%Q2H#vk z!)VuB6if}pS8xj73X9WU%UtY9k6%Q*Sj{;nXAF3!EY6j&f zeuS5a7vkl0@9XupCW z-M>8i z06Nu!|9@vaGVYFJehO`81gX~~;zi*ay}N0%gC>uBJM&vv5AMk#{FM2b6eEcL@6dX& zn(IjX?@gzkar|)N@V|!ji2tWDzn{7IKb?3{*eYrN7kK1vVV+Mh0`Acwyv|%snZ*Bp z5HAkOjST*Y|NGJ@avVRJIQ-wkJnUfaeWTnLm``Ia{x=gZQrGX&{$KOR-^Khv)`NSt z2!CY$J`Yy$f2ZE?^F%8||Hc0j4?meW{O`pIr2S_QXVsxDB<2z?QrEL`27ir5{$3A% z)x$sZ@IF-kIDdwD_#)!P>VC*5uEnL|{|n+p!E6x^&y3$OdMZOMdh!e4fBHU;w9i3?SDJT; zQAqqB&GI5Ayq4v~faqU9yePOxaOls?M*ggji~IwIr|%buoz*Naa$@&AmKQnUdr%`6 ztNT$>?g-*V>VAmy=aY^6@kD=+ghVkS%6*R%wyoxeXRC#8_ zgb81ma?-@pM@<+r?(`{`B<^EQ?uX|cPOP78AK8%k{b=T;>V{d3Gi&FMsi~le_-bm% zka^(Y=y0~5$ozczYprhP@G)%1%_vh3TtxB)o5xN@HO$7Rjx(niRF9=(WT@v)=y{Kb zMwLyEk93tyPos2|O%JzplkIbh6#KHsC0`a*CL>EVoAAtyHkdbBCM{E&GNb9u^hBOX z4$X#7Z^6Mdkymv+_0OX#?87qE%{+;anHEWTW@ZO+q0HfD=hjlvN6}1Jqig3>r)N=8 zolQQv%-xWuPzt}VOtTuD<@C?cxYDAgmNRZ;blJ2CnQu>Lhw3t?$a6I6R+4G%SX-DC zY6?kYEO{jZ=OT5HrmPQGN$Ir)T!r*EYl-fO`27fk)cbd z1{qp0uWDw+nV8xzc1KD*cl?kk>Dd6|rG{WmI?PzcGi41wtE#EKYT8UQ&15)xmYvv) zChDrWWOmgoYJlphIhc<1^qx133<=XGGn$5Ss4`_`6}%^`shv|nL$A4~GhLcK*Yjdk z<1yBGGBTcGwsuPG{Oa1q=K6-&a!|5PiNfpDfXwTX$Fna-N)ni?*KKGTom zw+jw~V)97S{9;Rvl$p7@$FT%eh=--II=!hjqdL@yX&$>N)pZw6nO;>tQ`D8I!v>Bj zwp+?xA~Q1_-EJY>WiyLxn_k;!`z+5hm}w!pYjwR#@BHjuCbPV0XPV0~+(1t8a9_i_ zXPu4Xthd3;Gn}46o(7{LJ#8?@ovvHM`YSu{NNXTFvfEXyMfqK|22Lxytzn*kjcE-O z^0WqJeVo>y;$61}On1>YtY=|k*@KX34a)DTHE*KTr74Nz= zV7iOeu%7u_gYwg@F@;`jtZizR9gXZ9RpXJk*_)VFk(*d)qS!cax3bDITY7D(U*Fzdv zYVJ+(K~L@Jw2*HGReSJ}cGT0i(!`&`hfj&@4bon9Az*!Dfo@G?3iv!VrwW;Uh36AB zK89P$nPgOzprIMt(8PTWjjW8yxL%~odYU7xA<~q{;(fuGNG9!7W1S`La~4@$I-4%* zaW<_X&L6+C=0$^;9T%?QJUcFAb?I!ntjF23hKRGs%4}J6%A9Ui1vA{#JnEy)wUyHj z>RemadZ&4&YtA)S7SrH%H(hP!*(NR&%Ld`3bAHvd`gvu8DLtplIds*S;XSfk7s!qR zZ8%|kq}{1Udvd5}d2(o5=^WKg8as`IYmW51Ok-x(H`@c`l$tpWQ|jpT_?fjhb9064 zRyHkMMR!>0o6T)A`6fATrQs(o`nlJHgE_`J?#jvBdIOjrM)4Jj%X5`3pThE@U+#zE zJC6v^|20}fe>)%r@HSe6e+!TT_%*Z$Uk*qCyn`0u9|2MTzmXQ@bf0ccUSyo z#XrX!dTvo%-aP?dqPTtj%-V&|Vt1a>bDiSXFqig$K7?;7`CDmS^ek8W+loJ?_)^7J zGDm&Cq4-OR-=_HMO3&?zZ&myb#pRt9_`OW=qfsFW;NPJ|{2!;d)^m>HcPjZWDz4kD zRdK!DuUGuLN{{?r41cay9M8=lfNMRg6xaU$LUAoGbLBw~`lQr1FF`95Pz>Wso=Do2 zIpp>D>cbq{>wC0_p8g(wrP8DOd54nM{rsDX>wf-irAPO3JWqoFKXpIHw~`USbwA&t zxZYlSL6Cym4hJwtr2BcP;<}%YQhX_uk@h)-x!cbtD6aeY6s6~OrRPe;zpuEw1A}bM zf9sLo4I7(+D}RFG_!UI_zfkcz6rZQK9v3$&uG{%LitGNlLUBDVo>N?pi=Qj5^}MFI z?&p7HF59;lm8Vd^JAAZ*-p>~)zJl_k9m*8f`}q-yYky`i7rXKXLxYmn<7*ys^ppFP z-K#wOw@Qy5U+*hG`eVdK~RW&)*=p<7JeGH+uM8itF+9 zOU3p0TC4b-WMAsri=T^uKf0X@6xaQ5U&X(x^pq*C$JYqOwVsiRFIRfbV=mjbnDP)V zQSy3xwJH7($w|F#QCyF&I~CXdyv$te%9DDpD|tP>)-p#w`H8aozK7#EBm}gx9$%B0 zLysO`)r#x!b)nLu$JaL$*W>G9#r61FrMTYizh&;W!=IGA9$$Y~T#v5;daeio^<7Gf zY?r;6A4W`{rzI8FKwNF6(z67*VmY%pFFMXF7yubp?Z9D4Nl+FfxyzCOns zdi3}jt+*avGZfe3Yo6kIyI;fHZHI3vc|E?CE3U`aV~Q^&UuCvg3^ zkFRx#e_!d}tAJK0pnWty$-^)9@G*r(O=Nt{Ra}p+1&ZtOwM=o{&OcPVgG@>LJfgTB zUoR`J$Jd*RYdybJT#v7RGMDXpo~>r^IeI<`!5v?RE53^I#m{3E*W>FX#kD_kn8Pk? zh@SaMJ|`#5uT=86iho>q0F(A)sF+l>7}!e=o%kG}6|Wg_IV5`ZI@~FDcI5#OPnF zxYn~kaXCK2$3=>dq%;EbUqy@99S=ysiWS?IgN;S1Li&W=M|Uj3;7onPjVXke-xMg z1OAfYgE$TTGsUGHz*j3?&S~(M6;CPtbHyta|Apd{6n{nWsfs_Nc%9(&MXU$?O7m>`723Hc{p$B@3z6@tzNg1QeLbc7mFC&>E3|V@`qkf*|4HTl2a1no`@Q-MTlmELClzhnlLvcxVrDux>QT%cA{Bs-W`PVkmv$cnM zeA^}CBW0`;?TKqe`CgEi0>4&PC{A)3vO9AcQ8}llXeSzY=IgMy3ry;*9 zrxA5>8k}#@8M0RK0!|~^1&&jIe7i~6e@VrWH=XkiRb2WEvQmog&a#N=6sK3u!f=)1 z&@bmw*D4PEVngOkhb$I(kAAh12bcHa<@pUT=#c%wW=DQq9%WMK3qcBq_B1K`Z@A(} z%KPsl6^H)wxy)3>k(Br17dTwrbC>5gkPSVvSM zF8XIGo@5<}u6DTSU#fVqlJ9i5=zm4=gOvOxhl~FF9jp-Qd$5u(ak%K0=OrL7I#6t~ zk_VT(M#bfr4*3p;i~ePb9|}PZD;?gS`5MLHlYEbEv%|yVOX-|TW;It$3rgutGaJ`Q zs;PEnRViK)4N7aOnyZ4+X>;ZTrA-ZX1sSF0`A7X$t9e1PG%N{$%qQf-C;g*BnePC~ z8v#+d@Gg2vpQfFN zG>(4io}OXNQj(s7%~Fz{uT4wJX0s2($G*?UZ|Y@MsSA1Y2ASz7*xX$RnwP1pTJ#~L zs5?=in3ulHL&2FYxX;DoHG%Hi9#VKnI!n9e@#3!S$}{!dOZC96d3d>Njd*gt`}#tv z2X@V)(Ouh>C*8Z3>dvkjlofG9M&HcD{8EG-&+yFbvroKcegIIsSeq#Hts}SXj9!RUYpvkaT~zN_P3b3 z&0U||d}yktXZxpAH8oXT;_fBrdlFSMOS^j4yOciZfcf=;(%B8owWTMYKJf_ix+`m{ zt(!8vscIG-X=XGv%x#pz_rD$2@0k8Zl~z*DD{|exnAT6Ag-`3k*jGNq<>eX><;#0e zUalu~`H?*+Kb2$=bomo$JzM{0n$nr&aSoMj`S~&BNB5xoqL}g(Jt*H1Q~snLlwT54 z{^TB%UmjB)eIncTyFaG!hx%p<=>34|8x(^ zujBH4IL7!pr3dA=a5-In{C<~h`{na}3vK_@9+cmo%WM1iohMuSB{BBL_Mp7X*`n>^ z_ke8er(*1%)`RksW9pCl#@X7hi?M%t56WL2V;_AeTl-hVl)tS9<*(=Rdi>(PbGG)E z#MsAk7TK0x9%CQ(v9m2N_y2VN`Be|fKN@2nV=`O&^8T2%|N9=4m;02u{c+zsTl;Hb z+8@8~Wn2EOnEK;>d$#3e4kKNE{0@|DdAaYZ>yP{N*_Jmq?MPnR$L})PmhX+5EflnU z+~3c(yu9D1?c;vATRuq)P0hD+C}l&E?cb|!j#Cz65exRC6m*t{#3tsCw{atv$G!vi zo1{K+Z?Qiy*iX=+!^`@nw#wjc5t0Fvf=*v~SKeJOqq1Obz1FgQ{TmO71xfr<;b=;u z{0@$SU-N+v{^{U|nJ?+amEW0fLf7cRly=KcBxc&*$ymn)2XT3{|3F&Y_P>%?oc-Bs zzlh6A9YuEmFiN)FPVEZVigKPhG%8au=i0x11!q78>7S}$G z332xK=9}v{X6oSDf0i=i?02yJ6c>j5BWZE%ze5c6UA;AIAI~7`;H(D72Xp&h9pBVH zRu`tUYe)8JRV`?q=Q&&<+3&XeNmzc$8xd5ry^ zdh9=vrTu3;_Dg1vF$%iV|oxqP`4SEU(Dqbj$@5neg)f?NbJjclgIzn?EhLc4h8s+ zZ6W1(^9FZ#{7>?agt%tc!ErOdd^d6Jx1!#bf=vY2$Mvgg|9Ox73)p^l$6w5a8E1bp z+t>S_u`%}FW&3XX-^lj6YyUrc?3Y|X#wh6a$G*g^|9*7h6W4!JI5DHpUHk7%<>Ts~ zKhu`i?O#dAwLj8h|LbhOyY|QP4{`P@*}iW7Gh^(}VEb|YgAf1HxJ z+aJ%_p#Qt}>)3vw7~)vU3tsQBzdEM=byP^o%kh7&JZnFfj$=A3VEc0aSMpqcj^XmI z|2J}Zu_NWhzN{Zf<*5pRd;KC)7o=Da=MNXsBIQMImB;@TY+pZP1y!#9n1?v7{a0n_ ze~ZWeR5Pq)p8sN(==%RdkN<14^#4_l|C_V)|7DN=9Wnl6m*V>WPmlkFNfM^eUHfCM z<+%1QNt)u}dt`PkZC}<8r1Ek7XHAU%K(7C%vVFJzmnW@-?)-1^_&z|F7cmuDsY6g%5cAuVeoQu^{}v zloly3?eZIs|4Wm$U>_TW|6PB2?P#Anrqhs&@KDmOiap7cb&0o%|02NgjqJbp3IDI4 zMal`^i|ohs-_E2}B=UAGU0&7;seD}jT@hpdN-8A!#QsROFYPRPS0!z#p8$^GD}uzQ zaCuA9|2HJlX`PaC!lrO}=kO71Q6M3x1ha=hNbr--(#pcTjSEIsVgo8~Pz~T6gQeJF&R(g_omr5MaJI9o+H* z%Z8UFRTvaWTQY3uP?J+uHfY$9!;qZ1^OY52Ps+_nYs{hf$cT5fQ8Ff?a~ zDOp47$gSmgI>j?MT}N>}r*Z7XB^6|6(SldZr5A1ItgH1V))7Xb$ zJAhw83-$>}Uq%a>3~7wBFLD}vegUT!Qv4-Oqc1GtH2Ma%FUo#}ma913O7T}Y-A3`% zoW}1cU*q&O6nAj?T8h8U>FX%Ip3^sQ{0)k~$>|#@zKPQ}Q+x}jmr(pIT5hG~+su|y zd>f~4r}z$9meKMZW_MEjT~05j_%2%TTlL+{?xFbmoc;mDKcr;^E%!3}5ykg$`hJQZ zpyfeYe$4D4iXZ0mBNYFHmPcuMjM?K9Kf&ovil3zADO#SU1#P;LmS;HqEXB{!vWk}H znY}>qPdWV}#s5RgOSJrq*=mYk=Jd}g{sk?s(DF-WuTuOPr`J&YIxTO|^1sa9r1)2y z{x!wFp=B*CzoiBK{f?I3bNVfc-=^gcwEU6TI*R|q=|5Avo|X-?yu<7-6u-;qjTFB} z%lowamDwhW|HkPLDE^Ssn>qf7;=gnH9~^I?_@A8q7sp#EhQsg~gAXyjb%O7gAT7TI zZ3jc=*apLv(2H>Y>ycsGg*I9f$3-+ad`*C`Ijt`*t^PE1A<0QpJoG#}0Ad2z(0R06AbKIZeLpWW+@!=E?pk-pJ z_3c#4hQd_q6`NCS6`LO>7Cf>G{Y$kUN&kaX>vPzaL8>j!MD3M@kV~~v#H0g**}}?6 z9nU`vog*iVPc7VlJI$%q$NK(j>(*531BE8KA)lhw_FnYACe_yK;1U#Wtyovq+42}* zZowjS#>eyNA7(ZSjQQ55QtgYUqU5WgM;4@7ItyK29oI8gA3w@i;h`ty{j zYtk{vrCK`kyDMp3OE**7V%zXsVX9YKf*P%EY+I7slxk=SwYOWVFNG$!iH-Lox4t6s zQcb7U?Tc-BYpEmERf<@>hf5I_iOzTQ%T2{0^0mf}Pw)OYx6DiaDQ*}eN zt_j_WWJ&>3jZmpoqJ2uGmDugJa3%Waxg#f^_jHFD3m6COreiZfPqqVO-4k`XcTnw8 zYO}VkS-*EiE!KwawyZ2v79yi>Qw8*RjsG3q%A;6 zXTvvQ!?#teqCODzr7^9~7{sz;TmK@(3Lfl~t>2MqSy@6A8F}7$W{jJC#`d=Q%(hkj z_I{Q17~I}gt=rowedOO}`}XbqD*Jx5!^huWnX}Hd_N=qSoIE^W5C1pd9JIB)5B-mv zbpn3!XPvkrk%OvpwExeXb=tFVIT^5V%f_5Vodt_<`kCoO+u{sybCS9aHQnyZ7e!*j&9Gu(r2G?YH3d1=|n33f}D{L*OR6Sbc~lD*-GK@KDuq_Y>D(tHCs=g zU|Yhr#1OB_S$6#SwyBCb+mX${wa2w?Z0&WCZP^03pH2(NiJ+;Gm>CeEj=LpUopY?y1S4W&06+`w{*>-vV+(*nWgJySr_CCaDfq;hE0%BYei4?5>aS zJ8eJ0qhEe9XBVI95x#ZqM!J7YzaY)sXn#SXLt*+@C_fZ+|I?AV2XB8nT5XP|k70nN zS|2c%CapK%db72?AN`M9#RGowSMifR?PI)c2)W|s-*W6N{miRza|~F8&A^xJi#q2X zDwpi~G9pH>dB=ya0oUi@qA$q!2|)j*)0|pA@?)Qo+kU%nCAPQvmE=G7J4~eSCeUc% zp)~8CJwNk(ckX|4-)$bWz3--frHuTBxD)#9$NLS@+&jgCU7x*Q?7#kL_uPzM?0MI~ zcMtK@i+fKeL)`3Nv6qt_G2c5i_j6=7(;9bAEAu8S{S4d9&D7TSKj}NEregZwk=Yh_ z(kHepbdgWAJu+@`{fF8^wxOw5+-*{vwb0%x(sV;`YbP z=>;XL(mm-5PrhHUySYpK++v(B7myfoagzPlf-mk$tHJbw2}Wx3KeujeGg2gBPJ*~4 zppt|QvciQoKzMq=z|{rUb>jCVJTd8RfsehrYkir<^AV&uJU82hzY<9+OfPu%d8){h z^M=xZEu>}%jmdLUQ|a*;k+$cqt-qm1qyBU^j!``r+t6?|Mpqji`&oQf?)euToz}w|H)&foS4aR-g{DpQ!WwKCkWmG+t1?6!8+!d z3>-gg>!g1x-+mS+4?s)nq|eCCescR69Ur0j0V8>+z}}r}_4F~E*KR+f;~yOUuRr4O z89SqUq&N0{|Mo38bvL=w>_#6;(UWrYOGvqiZWvBcYx_|8@B9)%hbZKQ*DdDoq;CNf zJl@%|d3y8CEt~6`^IA4fn|mG=v09y<6>zB&t4`nKpuHAd{&cvH?BK<#Kj957dX}$J z`_q1dS#4k3Xed7cNa?i8nI)d9Fdrt1bwtht@!2i%Swkekd;#wqCKN zb?)YtE4Jj!9lY?0&0A@IKtDgWA4da%AG2@Y3u)Oy%CNLUiQgi89L1iX%f?{cGTK3$ zhqq(xyXON3nq)9?&Yaq&=K6-&$>OS}8P&<-j!O8EW00I#Kf5+bvwzdvJN2_?B&!={S64OH z&aQ&`;JD+0+Kc8^&76~LXsm6jYHnx>ijE6tzJa8{X*wd9SvzM=vbnBmb{ZZZ%xJ15 zWlatrah#QIXmZsYe_U83n%Q61d-mK}ZndY?H(y*or#4wNyN2HImNjyDX2XnnnoS|8 zl8_lOBA8QGKfO6QvvzuOaQyMS)>J>Et~n@~KC_{!`B2;5)m3wvlU2!iRWs+-ChKQ6 zH_(d7M~gK!5J{3h(`uW75=tNHZ~rl7+MCk4VAhmIN?PqfFrj~vHr6r6$fP(UCLDjv zG1B6Pl^lw#LLQuZaeZ@LazgSrD?R2c_;Vg9!EuDbm7>qa{mL`fg9WmV?rOVgTg8@L zDmL?*Z7my;^mf}ioKmFPf|R*Eghbm!dgt%8t*fu9*t+0~t<#%()BpPB9q51c+>GDM z?OU+=&02cht~`BEre`HuI?0Bd$Ks9JuC2MvXcGYgd zPj=4Rv}^G4&UtHh4cd0WN9STH_?dI4$hOcg6KJ7l5@?}&6KEkKujk%G`@)!7{9A>t z&#|VK7Qj?T0ZeV#4W@|5#(29RSeh92azXINMBZZs!EM+WTY4RKM`5rcZ`d`3!H0Qy z|0oFV#l~2-qu(@+wvb*doX!ckvBHLx47hxYu?8VpJti3QNOXyhgbbRaRoiHRhhE8 z6BBQ2tE|LotBGiBf?b=yN8_}9GKwR2_&iq!9htN8!tC}Y(Qb4jy$mp^8wc4+#^(jd zBXVr2bqo=$(FG8kt|2$G^TKsMeA_z1l+;?DwaC6@;~d|v4I5p3Lm{R|Zf`gJHIC0_ ze@oKY68(r=L9gx{Rza!4(>9umU4DnGVjZE1b>Zm`{ZzU;4bCezk@#u!udrfsSK@`~ zeGKg?{+oKtHr})SSM1C9n=y1^?C$?@j!LJ?i#z8Ym})nV6+D8kAIZg@z6`XYw!`2{ z8^fs!tdVb6MDA@(TunQB%1*yv+BR{OgVyhh4}Tc3$c-6;+fKtzzrD?;XXK~fmX*WL z&wzpGuEs&km_WrcJow93z z?4-8$r|s>OT?=F<_5WLcI(-QJJX}^*X@1VHXliO`s_3$zto#uC+CPeZx}MN5W_EK| zC9M3BY59}z8=Ixv$rG~F*S(yn$LSSkbfM6+pQ%TeVzwS-gUkkQZW>wB#U?TR z(C95I8&la-TU}dIJG;8pll=XF9D};IQ~ig^mIOO&ZU)OjpsYwg4O-R|9-TB1>wi^ zwpuSFM8_#tCt7+XmgkZx_=#_{BkYcUA~QB^2j4qKsKGzU&z)ifP<}M$7wP=T>GCz4 zzgXwzE(psn;{4My^2eBb)B)eMM;J#-MmbpPT>Fkjzvlb_ z^uc)31hS8?`^yJ%N(;{_4RSY_C{f9)f48e|l9`>WV?Q=EjnFwRj_PLeeabOec!MuDi+h-HD0FDE% zbmQ-)Zv36h`Q7B`ci1ql|cNypV+P637cjxa0mW%5zXt&;YJ(j{i z{FC;-AbngM&_zDR&-JXokmO>v&(oO$=6t)F$mjUW30Q(3*Rvg8d)&|YzV_Ik^Sf)0 zEi4z;9;i+|)nJ~ca&G77%>EaH4$eKurSpBGsV>K$&s+*88wGnDgRqVu4b z`aB`yrw^v5q2Tj(DCb`cA?YW%O~wwk-vrM0)#p*=XNDin`P>rL*g z-eNgleR|uj@!6Tl`QSyyOCp!$(7yMx zo>7zz^?cFl!Gu1qa6a!Y&6rxptiLW(l`fNS9wMPRnvhQccJ^oHvoj*5OeHg)oyM3l zi@LG1ET+su-Plvp-Pob0kxkgaMy8K;c4KF4OqosH*y)2o zL_ymrVdkq(DyGb2X1;d2Jf=)XH+ELUlv&x0ows7jZ0^QRU$Ya-Y=Z&JeDxU{Q)VhN zU%M@cDRX@{cJ7ZUv#J|A>tf1m>Bi3f=EhHE8w_IRt50Q2nHpxkc3Tuv=EiR9JQP#r zMP_5rdFA+$J32frZ{U3MUYO+D(`%H74et=`6}%Vwyj&unC+lNEBB+X?m{W9`hgU~9 zZq?)jX^wRX3413>R!xlKRgTgx@`oE2LkxGZtC<%YeahcK* zLn0AOM-&N(pf17y62S!?exZlY^6&-^zsSSqc=%ioH)nW}yo8zMG=iyKmqj6wgqi&` znw1Eyj6x&7(8F6i9A`|?kT5f+#_`rDBtq|yczC;qU*qA|diZr7euIa9Bf^`BpdYT~ zj(oh5NCY>kwRAEOU^driNCZowkVwMJ^cu}d1WTjP$lvba%RKx}4`1%#-}CT$Jp2b9 zzQV(QLhp+SSKYREF5C4mY zZ}jl@J$#dgf8gPpJsh(MM?)g`M-&oC1Y0~Db9_ZZB8WXbAw6m$aaAl4V20voNQA$H zW#%PArWAf<7h~jS&!p5W# zGvGu+A}ICnfe~&;L?WUD^I>P6)mo9EhVu^+s?_O*@1TfHUT8Sq_*S|0H{N_jY;viQ z=Np_V_s53stcXqi%y7O@rgHyaIN#(_{GW#Js)$Y6-*|V6@Wago0pB1{xuXo{i)O{o zF`O?X6>l<}FSrzMGhAj$wY93>2+yhQ*=CXky)qXk%yZ~MDpl36=48$obvGKIJNT8 zacX&VoLU|orf2c=3x*xOhhkN9s`!_3pghxKQ-?Q=qJ@V20 zp_MQ5$j9s_Niq=(@yJK_pH}~o9{K2g)yf~`k&o_gt^Cm*dEb8cSdaV&4>w=WisU7N z<0A|p5uD)Rz-x)%R1Y8P;iq}{ z=^j4L!z(@f3=cok!^eC01P`C+;b(dH*&aU0!@uC+=Xm(J9zNN_@rAEwNCf9c;F)v^ zQmpR7%Mo;@;kBW>^rWv4-$VUgAT9W9;&Dgo2R!_Li5CTb3H7hw)cYR&JJTsqvARDm zdxU<( z9*$?Q;`G1k;m6UbVNvh_dzUUdk$9Y*D&ob#4WYc8X)W@|KV{^<5z3cy>TSbs4EbVC z4W@>QvwO0Kf5pSU;o*2TFi!t>Ngms=H=l}2y`Cjr99$UsS;MKd9{nGBIG(wR)6?JZ zS)qP8a~egwDA*M8L7Y0*BR}8phEQJG^IGC@_5F@V{&B-E3iZey`3(>MfH>Oi^W1K- zr{0q;72@oE&cl<$p=UPhk?}Nycu}w}^k)U9Dm?O&m_NmO=CSydhGV*V_1sn?El$ycQAw@bY~M;zPN zl^?)-U)nz*NWG>JkE_?EEZ@QMQm^ZY7Y7$xCG=nFb+?B<#d>aMJyNeXn7_|l>h%us zqTtm~ztn51M}7~w#6^8iqWv6#)GI|iu3l4F{!x~fdRm$ROiSdY}J zllkXq|AZj*`UUZ#V6}zxU+VR?M}9N&Ce|bMD%~x!r{dOb|MD0sm_`Y-kRsYm|T%x`5qQm;M*@%0)&9QEo$;~qik zbrSJn^*i|KHaj@a!<$)8f7UaOFAkNCfq z`7wO!My?#tUPZw}q5c(|+KK#w9#{TA<{hjj!RMK0F~6Q~^^jTKFgt_Q-ExK9+AiiT^|C)*I?u$+wuq|4QP;ftKFOl z_pi5IKqVWgiY_KxTK5r>`< z)+6mal=*z-(#|R3MZuk6y`-O<>yd9@{vzvHo!?I+A#tpJP4pb%tLX>XCM9_3-ZzNBdmL{z&`0$ovI||B-l+dLBvI zCx`Zr(BsPQ&wSru)+Idak8lq2jYrvaX@|>+7YEl_NdLwETRi*`){{Hj77_p7ARgCl z>pc8$+W!^>ABA?QnkG~bkJB^5!>{r16(0US9{#?Em(x!I#p=1QQS9frhTqC-^v!Zk z%_AP?|1}=|eGh-t=wA|uJwA;NJ~aH+(4O$VbX+Bpz3gy(=MN~)tF@P^YSlMWRNCM&uE+GjJ4M|Kk7*rG+ zu%s~-tF~C*(4x}TDz;kD`Vx^UzSPF5mA2NVYFiYm6kkf!%5%=0b7y`#b8oU+?f>ud zJe?0@X218`bIv{Y%$+;4vop7OanSz0qWBt*>-c;i@>)*&zds$%@|`uIc8ya!tp5z+ zd2k<#_UAm}rZ{}d!tYi3*Lr?xzkZ?k4?V8^|E)#OP76Qa5N_AnP(O}V{D-0TP9<*g zzrn(95dGRw?f*R%`HjT$;C>z*w^x*&yR{n6->r(T^SF+~PLbF4bU%KT<_Gz7mZ0S{ zAEkI$|77BMaKDiD=WHc^pJ!LwX;l1Y9@lo3i@cW8c2|qMmec&_7X97C^Wc6Y?av!Z z{vpq3Yu)&x8B%v_G#Z`M0&W=g)hJzvFRjCwmCT=WS0;+dWY6cf#=zd96tM zGnsfE-0!FTIakSV)8d|;MT&3txc28Nk=J^)KX-||mec$hi~iS%=Q;lUg!)+dF>$@^ z8K;ds4>$8s#PggTo+zDWs^v6`d{W7O;>pwLk6Ny>$ltEyKl9{u+#XjvD@zv)l#Q1x zdbTL}ej)i!6!-6^)omY0fy{&ZX0`r&#r^wZ_Y%9K75DFh)$)@S_wRSr@@FdU-`A@7 z`HK7ZuWG(TasNJ5&A+9%e?O|Wdz<3^eWzOfKE)6B;y{-X)bgz2{(YpnAKxIZVxq+3*!NYv8nr)uS6;i$^G zx`rx#PgjCo4Ccy=shwZn&{RVorjAV{=GV6*s#;r1M;0a$)iv`fTk4Vts&am!v7xTE zYH^Ij&YF4}KX0r^zm2M7YI$Oe`?9H6thy$)C{{>{%BIIED$Y!tGGpq*ijrwl6A7w0 znv^yt>D6IX33jTsvaa?b^&+tZy>E-m(L2V-b$YQ_qM)|cNlY%CcJhQ$s?styQIasd zos4`|k3Jiz9(p#hp*~sDnw)fOY!SC6^iVV`7+W%tVllU}>imhv#-^WEUcml^pHmeq zEGprLUhyl^g0l)Q8Z%3Wuzr}CQG8lc5G!$dmRgW| z&teM}s0!r^>MT5@sIWiiRy$*~YB4Wr2wVW||P+@OcOg~U=3KEq8!%V}^ZPZo|!lr%IarZv{o zFKno;DOY=k+U;deFDhv+r+4O6Ho?AzyTC~1vI9>$<&^SRMWSND$)z!GH}m(Tk+HJV zs%mKv85`rBYeI7sJz6kvR>e$rcLc4BLvUgtxR5#!C@0RETAn;E!Gl_1Vd2QRmCZEz zxGys-siKA!RxPM(N+g>qYm?0-Rk89)`V*UE*NG+g#KlQsEIjI94QR~h7`-nrHl5mS z9!V)G<)ad{&ZIMjH`UA=PD68RYl7ag*xXQ0<7RSkVo?Ey0~%L^jiV;kR4%kPk-`@0 zX3|%ltZOa_hb1+1#sx9?}(fJf$9J@S&AKjW~qqDTH|D6?u+%B&Y?W0!=iHbJ~cTlvwfDiFFP2 zZno54xR4@VU03E!g7o~u9ihZSfu4U_2u3SG=?+wSXOSaB%>{lhxy3C32EP_UJyv469b zb-}E4`ygg%rSi{fj@L@%k%#?Omd1>&oNQ_(KQtLzNkYL^PX2dWIp5gI$+lK1|GegS ztyCU)*l*?JP%G8`N)!9k&eYUvrv}(i%`)##btYa!N7NE}xN`F3W7S;OAKnU6X2oQZ z=A4CvF*#?Z)9x6}zB8U9$EvDmx~I>X;o0M4fTv`MRI{q-DssA=;Y8CV6g)53+y@>H z4ja0_m}_*}8s4M$f!~;GBoxfGX-ygT03X?=HH90bb}8jYN_#X8Hb;1{HL8_-7Ou{e z$bCGvsVALFi#)+XKBdy_)HKsp>3ZR2=@Mf$C)Tp?XOYiw#* z*pRGAj4V-;`>8Z9qHAqJOUg$kW;OHK`$)R(*G$*gk~Q;dni$9E3|PIMJ{B93NF*0G z*3cj@I#EJrm|WvnwPg_Uq)7+KI^-3lmAF@3`(<+v_X7%gra2)e8ifTkl*U>co5~uR z|Kp>mGq0|pp~fr>m0&DFg&71T^Fyw-tPZ0g)8V+L zTwV2JD~As(^;?ScPM@-IQUoFtyNkI+g1%DW6k|GUy)H z-_+`c5T^=+A`&PL#Ur)ck4B=hxw)n(>0Lm{JXyw6HqzDGYTl#Ng{BI*+LdZi#ZWa> z20ywIRi13Bt)HJVjdX(nxiOY5)7I8bYFXHrBF7>3FToTRPH6VNXYof;U!aJ}XI9p= zxK}Phduib)Duv0ns7B<$Z6PbT!0;?xTfwW4w_?sH7NdS`*R zr3IlljiEzHSyQcBEmT^_#S@yF8>(vQd$2`xRaXgCET}IkO1R+&IN(lJdl7Iw6oHUI zbjK!Ramwh9yL*N@PA-P)lnZ{5b+?^*K~1q<9hcmz{k;pQY_sX7Qd69ziF3m=ZSD>lcM$ z?H7R`J`5+G>C6t@Q0*ciODwn~Y za!I{&3v+?LFLhP=elrW%*VQfU_v@tUNpV5>6}~cs4v0wDzAiAgpT6P^wx3Ygc=+O9 z$T)p99BRBWP6cM;UJccBEgLo-zP=hVPG3TsjZ=ZyxL3nBPAF`=G;ndZR4erB5i%S1 zWMOP@o2hH0C`mD{@WUlv0RE3Qu(nzlbB>)c2T;Elo9vMYT=I zmP-DXkUsxV4Vl-#jjAYD0SLSYdwkXTSz zUtL$j`$|yA%~X{om2^`W-2q1n{X9Y~eCu6*`rps}=+JG9YT?hj(A|BX?sS)#@lHH6VY6e16X& z|0(c6U^hbByl6kqbw7H)2;lajpZkhDbH001`(Fs0pH`~*MBrRk^Xb6(DXf~GDV+O- z?o8_#EKqPls@Ji^q)?*PL?= z$m6*2J>i_6BSF7@r(lr(1@vH^M7Tk;@Cx}L3qKh6v0!(iaP5Dq(&{(~kjJ=P0K5qF zTn-%Lrr&|c#Td5-L|)rnA$A`FJs7tqg>!tygWb&*K8QPm7B0s4jIi(%ExZKyiD0)u zxc0w8S#z8YkjJ>)1bhPM`7v;e+j`&_w>N}qyElv7tsswa+b*2rHVN$Z+r_OI)CVUvlEC9Rr zSvWtBix>7E=i&T3E?$`Df}WFvYk%}FohE}k&Tpp%p2HF&hxJVUI+4PfG-68Q{cM;=jW2~!hT}h zo)#XA+l#<4Zm)qJjN9LVV|)Jz9OJeZJ@1Q`VBCfPM?EFLF>dDq$GEKoj&ZvKIL7UM z;25`!z%g#m3J=EZW#AaM9?*kvdk;9aSHCxsb3Aa2CqEC37q*M>)bE81#^)-K$M`&8;g12w z_`C!hF)r?0(tavA#j|Z zv;)U^*A2jN-t|M^n1}ZY4~|Pe2ae;?lb{F3rI&%@`1}XpIDgm<9NX1Te(=uyi+YX( zem>;SiNJ9@Zv>9x`4zx%JiiV&?!Rk*W88iuJQ%n8fn(gdKo7?4Mc~-p-vh_EZ3B*R z+ht#szG{C#Jx2k@xD^A(xHSRCxUB$=ar-WCjN2W+F>XH=9*o-qz%gzcKo7?41>o4; zY86=N-T?o|}PVJl_S5@%$HXjOQNv`~8dY{EF~kJP!tr z@f-?zFrH@t$M`e?$M{@t;kN?E`1}kw#%Bv~jL&DlF+O|BgGac3F+K+Y$M_s3JQ$y2 zfMa}$Ko7=eGH{%C-2xo#-US?w?@s{7dDrv6@i^N99NYT=aJ0+MQRIc=gLd}-j`|M) zj`~LeNBt)ONByS)NB!pjNBxb!QU4O)sDA};)c-x;sQ+%@sQ>4{QU8;`QU9~Rao+WY za6RAPITJ5CK_2H_d(-n6dEtI(h2vKqaGZA?4IKTM103g9{5(lsIL|Kz{fjNU2lU|l z>V4oizv@rVY2-z>SI@8Z6wd9!dCNWlc|E^6$RdAOK>iG6&2f&h$QJ>}`PE4QJ$imM z8RXH=(}Cl-w-7kauPy_Q^Q)_XW4>J{JUIT`0vyMmAA%kne;x#m3HrGwaNJ*x1djX5c;L9doC+NC@O0t9{pD=nxWCK; zJ-ENL0LT61YT&rPJY?a!)AKNO9MI3fz;S;W0UY<2alkP@PXdnn3qLQE7o9(+$o_I6 z$m9Of4txdV^Yy@Se^~<@{rQz}ZFjoZeFfxkKYC3#_g4ql-Dcr4queStuW&!AjVi3h zCESlL7Owr#`%xRnV}5=!Ag}kMZ(HQA56J8N=vIsT-N11_x<8=jT*qA=0eSTEDd4yt zy#XBeqYr`Oe$+3|QA=<<-(7fcKiU^K?nhD3gZt44;JCjW2OQ5&OMzp%&IOKo+JK** z<$s^D3OJrG+zI?@klzd(&m-Oij^`2o0*>>>J@U=*{EF~kJP!tr@f-?zFrMRqV;m*| z$9T>Hj`6Gqj(V;Ej`3Uz9OKE)HRXl#2jjT~IL7lc;26(64^wKC9*pNfz;XOMOn5M! z#{kE87J(j&CqM6$7xo|H&}!kEfMYy=2ORb6wD4VrD6`5g#`z%N80VvaW1PQ_+-Hb{{p4fP)e9Q79fNB!f0qy8ztQGX?H)L#!A^)CjF z`a6K5{#$^f{=0yq{s(}g{-=SX{yzXm{ci(D{T~8H{kt9M#~PXfpJ|HT14dj8)A^5|zLa2%h1037H4 zKL?KU|7U<>9=;%)S9?Nyeh(bS&%b~kJbrx$9FODw0*>?5K}T`#y8Vmo8Uh^klmI^; z{5%&p9*-6R$K%n>z;QlsA8t6%Mc>Y#6Hyh*m25^k$yPyZ-nI#Fy`Hykf z4LHX05a1Zk(ZEs9nZPlg^}sQnOMqiM?*@+X+z1@w`66(P=j*^Ro^J^c#`AsP7|+i@ z55{xPV>sKw^Zyeq{3_rW&(**&p1-j0UjoNCzYZMZ{CD6O=ltQm{}|^Y;27u0z%kA< zfn%I!3lGM5K5&e46X?M>uK|v6dk8qj?F|dx3LN9+jPT=taT^F6<5mnD<2DmG#;pc8 z#w`gP<94y|VBD4i$GEKoJs7vu!u9d%c;2ApZjkSUajz#Jujlh02e>{j$SQF41{qihu?3dqw z9_*KY0LOX$-i3ZVuYrC!3OLHgfa7_=T;S+`18|%lUI84>3$6x^^R({+$GANJ9PMrd zj&^?q9QFSRIO_ipIO@+H>BkNA?+G0B9||1xj{=VRi-Dv5(}1J?*}zf%1;A1NrNB{t zJ8;y018~%T4{+4~FmTlW6mZo4d*FCp@V;=pUsq9%@-lFgyXJ8K&kOQ^-vaqu2prD~ zjt7qZ%oVQfHi+HxK>jw+e}Qn`Prnbm&BFfxdhj@sJKAp-?srE6NBM=o?*O|if#bMz z3vleO`+=kW&A@T|{2Oo_-#!o?9IrkDj^ovC$NKHX@#;X}=;sl@vA+s|W4^_KW8Rhn zM?JHEV;(jO*ZFXX9`o>4;CDg4+zTA@@L}NS&+EdqUG8IE-UfNh!@mpX_}>F| zBV$xGb-x7i*}{YK^Oe9c5AOnwdGaA}%)`OQxprAU=Hb_XWB;B29QDruj(OMu9P{uJ z;lVt-0yyU3)u0FS@cY2g&%1$Re?15s^ROE@=Hc&wqn;k%n1`PT*ZH9HaQ`Ad&X|Ws z0>2OPVJvXW!%4u=p9_SuUG7W$JD^1%&vQM^mw@~Uz?T6>JsrZizfJ`CYe4@=zz4g{ zRlZ=q$YrMxm*FSGZF+`)e(W##npf#L4B{!5Y1RHU1o%MF!|nPSaMY6zd>q(40{8^b zGYojSg`@r>K_30Y=Wy?%mt3e&5MBJaXd#j zySH9^WRwg1e&Bd13S@@VKHbe++mT z@Gju9fIkj=4)A+{F97}%;EljH0B;5U1n?EWG0rQ2Zv^>Oz<&XJHSi~auLb@Ta6Il~ zKIe&iaDINgaGn!AO?vb^Y9HVnXU(I)asHMgoLzZ_|HzUnYeqi?J{b6yEw7#hKQXVK z1D;M^-461YS9b#cJb8t2#=QC^=*PU$V-kmcHN-#Dyu$G|PxNqJAx|f-IL?{mRX4N? z^J+Elbn@y2kRJ+h$aK8=HRve@J+|@cMUcn5dI@+sd37VmV_w|^9P{dB;H}{2Z-B1= zj&a7kdIjV$uQmf;4SIeHd@b@P`^*->`k`IhB%`3bXxt5BQfkuRaAoF|YmwJe|C%1bNJ>D&U_duQ1M- zSD%4?%&VQiS4%!H$~3PMR7vMUp6KDcLY_`uah$cDsOaf!ewD=+ePzMCn$3-n<;$E` z+2B9sRRnlCc{K~#i+Obx@XwQ17-!6@e&8qORe#{Cr61UpO!I0cRnqy8Cwe%qkf)PZ z9A~X3Dtda$t6jl=%&Q8B=a)IJa=?GgtKER7lULKAy_i?01OGgEg>lBb8UTJ`UhNKi zwe%yql4)My_p^DThw}<~I(fx$&Lpq)1phIwPJ?)Une%Ed@E`MPAnJ(@%=2aZ{ z=gBLKGv-w;_=$P7H}KVx59~^&d4=~6zp&Ig*=_S;y7oLSBHZCm{-Fgo?qs?ih}=`S9!qG$*aAf zy_i>dz&}r3VVp6q^1)BctHXe=mV97WGR-TzKQIsS3VAwt#c|FguMP+Qqu~D$z=vA6 zV6`88jpTJ+=79WA(1Y?vTI7d;yw=C@JPLR^dh~CbSoZViIR@;ap5egL@n;0ce;z#r zUyz={FG$bGFG$a*FG$bmFG$a^UyzTz92nCUyvUCZn)t7mFa#lE<=B8wCEgWuJ4UuJ}V%9 zs>oLYXMav(VOo{~=gsel{OSOISNNs?ujYsD(6R;izAjRKbEF+y%>NgO{NBLXpR<)T z-NOT%<)0M!vH(9|7q>!dfUgw33iy7an^)_Bv;Nye{&C>!&-pA&OAm0C-!Ag%244Ei zjQ^h^JIzpuljaW#j|1PIONEsI`9ox)u`a-ygzNY8X@9l| z-vRP^&deqTOT4xG$0DBxoc-w#e~N)~ol|#n3+4p)&B9j%_&x(%`L)31(Z8x-6L8jl zgvh@Doc+1MRpV>}&hm>yK3Dopx9b_`< z(Z3Qn%a4;ruM6;%!XE_Adi1@jn}M^QYY(D7wCn&bNb$jvce-77NMRmu)~~-)F9yza zJ`(vk0bVN4X{`m$dh~ZHD}b|}GWo&5THvCBN*!ktaF(Ad@-F~q{d~;kWgBotKN0y{ z**}=cBUD-3DFCj2`@p;mIM>-F%G7br1kQH#oM{zsmf!D4mZtF#cvKPh&t~8(KUC!Z z1f2DEb0IIXKk-NY-zxIa0Dn&Sk-%9`kLc0wr_*}2jHE(ZR)Bn-i`3t>z`4%HB7ZM% z*1uTB@owNOf2#aYV_SfKPxwE9vz~U*GkACUK#TTsf&4zU2zb6LqW;bTei-mp;H>K+ z(WBoV$BgaXEp}H2w&ZW_eKAD;KM+EbAV5jvUh+V1@e2yB$eC5 zT>BISE{~j1wTc5=>#qQ=e=Eclk^!#uuK-@4G`oM+2DsM$FmQQvgsSjrfNTBRfa~8P zafMu&d~+autDT{BPk?Lv z9{?W*^80Yo(8BFyuJsQEemo1v5)W{#{~X{aXkl7k65v|@O5i7f{JH?w`ZoeE2KhGw zTi)j!(8ikWZuW}r-OVnz_tF-z^8+JMSyGl3xMl$Yp%8;z_tDxfzJT_4+pr` z-wj-~L5>&O0^GYUF}!*4!er%KXLxh6$z3ndTTL}}mBW)Ytx0Eib!D>B89ukU*%{u{ z;C|qO;fb@#lMPMf$-+^Il7{BQw8onHg$>m;Hc4vZk7E3ylSm{NH`c_amXA)9l#fz1 zj#XO*Ay1lgkZfwkiI>&2UurMaeyO^od_i4by;i=Uw~j3=P`gb@{k+=NUNjXR%e_0X zvN>7Na7tZ6WwJNfQNCW>6%FUt)R!fjN~V@4WFU&g8k3>nMU7Nu>FS!G zba}F|uB3|6rLby2Wm6*AR9TyBE~$!@SJEHKk0d3H%Dcjmb1R!`s}eM-*4EE=Q?H^h z5#wQ~C{aE^=LL_dJSNcqO9NuXOm|33ZDA}mhfE^2VKY_Hqyn!!X1l>&Fj@`@*=&d8 z`minu*JLuP%Ph9M;`B_^^aML1h*jUU45L z)X~FiL5eH}bZH;@l^-;mTbn>-77My+Uwz>o0AnT#Qe-ipOZ#Yo5-YXqFOBu4pGwow zKe@v0e?@QlCs(AUztpb3v{(I9+K2zDpJ*0iYJe`Yw7@Iw!-VPrvjr)#7|^AC=*JnI zsTo*qv6LdxmpPn_YI}jPy2L#I;Eb3h)dZc7A?4W|W*G)WSkza2HRuO|B=x=HfiXVbplom;rL1=kWVAMU00X(v1C^`pP#mZZCB0jh zfi_TGwI9Y{yY*4+}TbtU7Dk*3=I=-G>HHA0zc`(vZMwmZI=YWpLfv9=11 zj9!82Sk!yV-JvN^UB$#7w2anq)G#Dou-NKFVQ@qV_!25-O||v4$wXySQ{`frdU`I_ zHPD&-@JVOToORxCI?rltO*GatH8<2(*3~8#Cl(br!>bw=F084i%Lnyz+BJOg)EUP# zC+QSiG}SCf%xkJ#SmO+z-_+332p2a#$L2D+UL}`yQnVDyC;1x4DWvb&vgyBk9qX-a z_4TzftRKmsewo;p%i+rYWyI38e~zL4(hTY^Fx0<1gZfEB{jX~ zLH$*R`pYw@zs6AiiVW(nGt~b^2K65{)L)T7{Y{4Y?HSa6$x#2B8PxAF)bGfk{yT>H zoD=EpKRXQdJ2R-?kM?z5aR0rEKBsFx*HFJRgYn}aL;Y`MP=BbYeg^*Qd+M?MD>JBH zY_NZI2K7q~^}n4#ef^tD^#7U+>Q{?>9RCLsOSk{)4E`UGLH$-k{R1xBY7j_P?Kj{dETW*JWUTqrpBu|0-SoyAAfglY#v=4fgptN$J|( zX0ZR=4D9RQ{$l>~^K{a+uYZe&{m;kLbn6e{FQaHd`xj?mU*CI<_OB;>>Dr%Uu+Puu zNVk5O)JOZ@%fNoM!9L&fny&pugMGgDF5UXe4EFi={^{0VX|R7|2KLt&?DOx!)3v|O zVE?8J>~A#K=id*fYrorI|K<$rziF^PDFgf44EAryz<$373Dbi6AO9XP-S+27ea!#W zq%Yn2Lk#x$cWdd^*Y_u*{aZ7zKgnR9f8Ug@eSIG^+P^IW`_%^fU(3LLqoMwO8PvZ- z>f`){e;<`@`j|5Jng_cE}bBZjd3{QI?Z?dOUh=087|D&6`A8SL}#-qNi<#9;rE4D1&e?DOyC z(zUODe}nDk=iH=Qf0DsI|IRMm`lTX>_W5}z>DHfRu+P8GOSk?UgMEH(M!NOu4EFgR z^>phe4fgr@3hCBgYOv40rAoK{3WI(A9e%p?uQk}`-w~!;|3-s-{=Ig(_17Bg^Y0JS zt*?J)g!#w6pH8>_!v_2OyTx?tZxlha&%YZC){oMhh_JH@{l}$S1n-gi5p@~4kh1V^ zW>~a1g*wjKZWpXP*zPUxsU;j&m8_JnT_d7Ct&h(+AdRtIxV| z34Si5LT15sEfxD^fr2P1qiw$Dn(OZpkn5J4ndLT4uU63hnU?ymOZ~W4)7=P|aW1pe zA6D$jk9Swz-(dZVs6_Q&prGh0uBX~Q_uo8{_xo7z9Gn5Ep`3b!T%kSue$^UC7xl+|AOxr;_FB3EQ zzs}(Q`6L_kemkH zWU>Eln)Vl3?5{T1Z#LM!)?)woQ(VXUYQO$Yp*RqjEe8872K)SO9r_m1VRPAx-;wP87_)GJ}0SRt4KX z*J3|c9PcatXIt98%3%L;gMGfvYHI(vY1+TcV!y{=zs+F(PK*7!(zJh@#s1L!!~M@= zc`*LZTI_!;_D4`1TwJX_dD3FPQS9UKhrd4$+P{D%Zl?GjDL-E7%YGfzH|75dgMI$~ zJZOJ^s%)}9OYHZRe}kyL$^L3X{Q3Lyp#5WL5#6FMN zxKMYeEPS3!|D53dU%+3s(lST=b&tQ_qV1slWfuE&r@9sUivML6`zytM9PIP=*FpPy zo@VO*htjnFBa8jb2K)T|bX^vA;v?_lU!6pT9p0+P`1y2haajmbw;XH`3;uVEorv>~B8MH5`|kY@ffs z3)=s^#s2TaKA#`s614vti~XqFz=G#r{QX(be%3B-{srToGsU&qSNuP<*e?_N82{A< z`y<4DF#hYseqZq)M)ghkS8zx;{#s08qBuqi(g-X*<~dBP{l(i~YXhpJ%Z@^f1>x#-C#uv>y}u!T2u~`&##C|aTYsG$F@xQ}jf1TLJ_^&tE@3ypm*7Wq^|E$ISO1>~gOWakX^8X>)4)*_h z7W=n}{l4P=w#EKtv5)cRdy0eh_aeZa2IJo?_WO$eZdBj2|L4dJs2Kl84faQh{owe& zw48)#=_~(_vDn{oWH|m^q>seaqW8Zti~VQBeqZrF&0@b`m}?*7zrkR?UhD_szeDWz z6@PxdmMQ*o#6HGsZ}b)a=PdTui+zm$GY0z~iv3{zcZ>bL;?K`HGxh%}d02NG z;{Tk%{#SN0AO8=S=~nD3{(DhmCkMV!rV82l82lGEJ_WO$e(H8r;Bi#KD#lPNSzlcxxXuF*uN&<1b5mI|IQ}=DMUa-h;(vj~{*L3q@qd%_1>=96#r{KLzpwbOwAe2$ za_wXM|6;IzpV$w^e~Z}fEB^Ob>^F*ijQ$AzADG(|E1L{sOVD{pabxM+W=97W>(O z1ItpezmGN~>!3gXu=u}9>JJXo5Bk5|;{Pf`{Qhb1|ByZ0{U_-EIn;BGSnLP=|E|UV9hUmR_ z?zwK@2L|G=>udaq#s8?(*LJjgu>P+t{x=%@=jRXT`daTlEdCdz>Hq$Fn#b>Wn*I-> z`lkF@Z}7jr!T%z$AI$$bVn3KK!Ov$}{BKOte|{dY$$v*)Di@cI-^LB6^s8}Y5MZdy-ADzL&bhy{$FG9zbH-rud?{Rz~DdMk`na)Cl>$9 z()9lYi~n=d^#3`F|LY9?A7Jo*o5lauH2oh)2RQEO;QV1ln*I-<`lkHfVetQ8ga0GM zelY)6i~YWiztb%KuS?VaQ!V}%PvEGe=6}@Sf4#;3O=-rz)8hZ;H2q&;@qdNEfBs4_ znE&@${NE<_zoMex{|O#{U$*$4GsmqHl-KsP#%_!M-Qs_N2=ejw2!sD0Tl|lT{l4b^ zhmwP|3x$5aQ6%+){_4+qeE`*0`7eHYtCPuDTJ$){{_|H#x}N3*RG%e-`(N=KuII}=J?yVrR!;Sk<<^k z?=(vNoInEV`04sBRNoZ;0%^Z~4nD`9FX`+0I{xfW&^GICZ59h-+%^C9+%*5*jf&|O z(9qKQ0~a0hwbUZEhYR0dXR5z$x+~d1?ZYKlf5gaw(NS0mLfbAGGujm^EF3dxq(XBB zTox-mB|FR4nB|=4^()$3eU>j%tO|;qd$R6UHE*QPTzZqNZUz zbF%$QT0bw_zoK=wY`;Kj{+@?p`Xc>*Nw#06^>66^EA)S}u;0@9ce4F^TE8mWf1vei zvi(O|_sI62X#Kiuzd`FaW&6*x=4-2L^RM)Oi)_C|>$hclE3My=?Z3(TU0S~<+uLaU zciHCaRPW372eST9)*sROAF{ne)_h%rZGSB5PiW288kqfy{(mOhJ88|3IVT_QkGvg` zbw642dFC#%y{oMG+-*169zbh87ova89`t8V+2->L{*5C2b8_j=-m*Q2*8FoK`seT* zcwgD(TkLsGN&g(a-Ij0J#x)QHu}Fz*m7E5A=}@e^$OW;r}Z~wyF=Dj(z;W&uafn*XuVRlua@<p{=Tg5p!J>fe@49h z&+)c*a^vkwcEmekJ07CzU{1XASo-V4+n?eg%!zmOSF6slTo#G9(@Mz7m8zU!*{qdM zKe3YaO{gf3U;YkH2jcCIN3E{g@vogb+dDs?zt!=Meuod`+U>C|gvwD!1vUTkMcCcSCZ1q$5v^B z@%AUkVllhic^w;$r&v}6?N7$r|LBHCL<7+xuO&(#+OeD?;5i^wmURtWmQ9@z4-|Lg z#xLK%N7;DCAgZ(T*Yn~7FYSuAFORZMCgCoF@K6$-H}Ji#c>{+p=k1I3!cWQlwhzoz z{QZHK(nTQJ9S5GVX=^`{d0NY{IlmTva%=Gx)!J8TZBVtkD0Br>;5D*ixs&oSH{Q0P zm0Q%=>B>E?+V<8*oG_+Fag=ogj$b(N+AfY44+=(UK7wj#FLSshejh%yd>`_Nz3x-P zSS32}MrE^$YIJmRT}eou^*HV9znck^Hysg5%GT13D1}w+B-;n>y?iiNF*R*9)sJ@! z=(wMiDs3E#7vietyH%mv^KsP_rH9k$6=hGQ!@Pk*AE%VyP_n5a*E=_|oTC$VzSO1~ zk@ePIJCz$L-Qk5O?(3D->1MsfgS*}#bW=O8D|Ri-;Z^$!50UPjkMbW~El}gBCI%w)$cZGU5H#NF3j zrMee4dreRSL9d0yCW&TMy7RU>q#N+}^c z&bmYQmd6%QT-|z{gRw2DH)VWk-@J9d6n}a=hub#hf(1AZJV;&cJhVIaR_X|<2emW~ z2I^Qa!#x@d<`imwWQU5@{oB;)x-GP7?|hT~;?ZC;9}O60Cl8Hxsv+s2CUB(l1o|M2 z?O4t_yymnocQ^rswsqw|Nse2h1SE-5^){Y`5}Ax z9NNpN%r)u6RfTv5?a$Y_Mqb(3&3oi#_E4-)DTuj-mDns-Ozp03wbGe5Dt7mc6vf9c zY#D}1eGyM7i3FN5aM|_LB&ud=&X%QabKE$QpFK*Jt$Hd;+JAw5`4V1(z z+Z!gutT@ukU`0N=adt&}X}#A&e(Sv+`XXDO{Xg4!Q&OrUsm=@DdAhg<`rgNUF)uQ7 zoTS}x)^)r)(r&5NsM(!oak_h{#CvaddV8-Db90;y{GDo__j7>v2QT&CQahnKvbbC) zY0AMPHILlmmd;_fLf}~D4eIVuPvx+9kV)-$M{INGSkzgwg$@%FX3u^?oiFgY!vC*F zBEG<;4~d`eNR)cya{H7HH%CxXs-l#`mscDZ(vwR_+_>j_kw>Ro*=x?}roCu`JE?r@ zKKCe<(u~kljt)WvrUsb=15Nu9AFUpAk5(y7Pd#e!b->_JD@8mMfG=|7{vSSW+0s>x zVSMe=7z@ns|7bkEL`Sl461c}I_cRaYi=m*Z2&D?=-sB$5&e=>A)wbT(^sz@(!b=En zOfy?Z70$h#k8Ilqp3_5nKA%nTA?v?Kxc|Vp*5|wM#>Zv8>ZW?H{gGK}!f}6@T3r{X zReR?o`itjT>Z%(+q(&?d}x0W4WTZ8@DfCz=EC28+p}no%+<#>CQ&{ z3nd-PUDx!~hv(<2M#@D9m$))3X<`B=$wRgt?4G%!OuXHjLh;ntiC?~v<8k)?;u-Yk z?^Sh{zi}y@{;!I+x2%k}&sfnuWm&Kzmn?%`UI;|=r0;UX-xi_)o_JQYarXlAEnQZX)B+5^1J5*7wjmFl7 z#kx2ish3b=>q4!zYFuv?HEHdlp)t0e{NA*E;F(j_^Cv=Q@}F6c)6g5+M7qKOlZ(KrnYyM z!u6m3*?B!(-Etn{%R4$%y{=9B>jwV{Q`8jI%X-8rrsTmYjyF@0tFiS47o`E?p39U-D^t%Z|1spJug;ynM+H z{@S4B$T;Rqr~3XwXOq6d;|`JZl^82}l&d|)mle0Hp|NfD6SS4O@Xm0Ipb5>*HBHId zhWcoJWukUM)BLLF2`5Ag^P}@BYwK#N$3;bML{mdUa>T-x#>ytD&^p3hk675K-p;+S zv95J^Rb!(Qt*foCi8{lb`kMKb$=XFV(dOFu_0a};YhY!vp~*SQsc%`x7DhUi)z!6Z z*lBK=OK;Y$Qrp9vc?}K2=2kXEkBKg9sY}*2*40*#A`%UW8HWBBj|&cZ|^Z8}pb>D}F}(dt@yn;{#C zF05@{SedL^(1#wk9_gu#9v>Y_Z zuQ+ksI31p0LywGBHPkmJqi0`On_LjBh@Rj|m(1i>)6XU)i)x#aEtPfAMGdvpZW(vL zgzD;v+y~>v#posWLzRWbWD~#9UcJlyh@(X>!eK{8*%~IY?NOH4W;hMv`!@C(u}eX$h##BsJg zriL&+rnk3jqw#bbT)iW*(*5X;Zym8ucaQB5fwp%F@Nhuqmbp{-1arzZ9?5s`6odXh z!K8=D78002Te-7&D@IbeQ+BAqT+hi^MQpP>7V@Z#>bauQGlgpJ9b->-usDBmc!RAL z=ZL#pTZz#hu8_-4k+559?;NA7sAO$rIqnQfsXcQO&9dlwLpCT?`2)ns^@X(N7IVcH zxHA3UKqI(5K&YdT8)3SGV#YSSS3nL1{&!_^JfJTZqEwH)rvG$Vo1>*JYtPt1U+(Vg zUJ={5bji+n$zAAgZR*!J62){i?7TfLMX-L-w-F#4Z6V;kL}(0$RK{5R-oYP7W}KWeUD z$5*wC_AGUIAq_Y^Ks%i};qv0@$D^&QSjR-EZR?_5lXD-47j z(|^SPXT@&)Y5VEj>Kyu>B5RL*NYN4f3!DkGrq9JUX7MYluJ0GQae(tsKY}0h8}_FG z&f5NCemTH-uYdms2RJ|2g}%qyzRR#%c6aXBbxge8^?A>cR4=ywWzMy%iyRMuoDu!UIMdw1 z+=l+oXFHeneH31jQ-78?O6lp-mY8y5@j^!#QrhoOxG!I``;Q(C@E>UEQ_n; zY**`T9c5+wv0bg`Q-%AfLXSM&@qirQb0F`YE*fA{v)DGK(SF|6HA@Y3Z5w9wI^20T z3#8m9#%_0%&2b%@6WV)hc7qO^mFsrudl_unzTj54ZK88d4t@3iQk%Zm2>rjKjdR{T zW(0HGrSaumE#9preD}IOnZwgOSJXR76wpy~GtI2J@jAnf!Y(qzvmKgi>>cY-^9J7H zBYihxI;-x{#|8S#6Cawr;M9UW4SoUZ&z!t=@PNU$|IiNTU-m#>=<+V@qwCz$c)06f z#@Zli=PA&7*pXMd5^@Tw3OlCo#n(O59h=F#tp})!uY7?(4u`=juY9WRO(*e)O51P* z<@-0~v+TJ4x3sCu-v8aYNjS}=spj4kFUpRT(s;YN-lzVkOMJ7tQfAInEmvKO`M0x% z13H+TrHN%r582;Bqqi4y$`F_NH%D$gg!?uq=l3t&_cEBeHuYE$n&^^(9lD{R(Gbc| z&dqZ7t~L%YU5aa29ZKogTDrj05nJ8ijNQ;Oh_=>tl=V}fxZl_f$!7n)VK+w~&~C&# zXFQ-1J8(mrcb!WG9#fyT{o4A%4(%-N$mrkn^Hhu{y^iw585>)_B=J;?hY^>MTd{|i zoYFDl;f^WmSqAQkaxduhUqP~T_mwBI8b$O?oUwAEq27qUADkIv}YMVEiR09llxMWt8 zhoSbCH{0Dor=vKB4!rx5qAeZ8{RZ9>d$WB*N318SyFK>l)_oLqi1sjjQ&DC(e2tBL zdWm=7o@KtKPnS00t7x2~iW{g|-p$kAk^DdF75|XMFrDbrE4K$ycdo#g%e$gX-)WaT zlJ3jtjz7MG?r7c+U;o~_?h+q(4{<)gld!w{!q}3kUiFg9mAqp&M~8M_x`NbBA>`{D zq1_pK*E`5i=f;nsxsKT(@}_Oc4ktNM^=P}EM6jP^M2#~&se=sLCRCOa%F=Kn)M)Is zK;6qLN2>`lC#buT-AgB%$ki^g*A*Wh+ca?5NIFkd!y#Y&_!I4?>Vx~mOra9NY9 zzCAS-o8tWQNOgFj&Eg!`&Xw&h?UZ{kH@TbIDEg`pT^$?i9{64LqX%_M0EfwIFt;B* zQm3^@<=^^3G|xeO?cBB0V%4>@c7iSXV&c*ya^E_T_e}JW+x#7BbFvmOA68LHO^&>Hme7C#(Qv=?`{)ZN#REEF-`pFQ78I``o5mr|Bu_q$;Dq;p(%HkEeFq1LnPEVVA}7)l>K zr+Gj~(OsIgrL_I;ss5=7eFTw}Z=wldRDCTs;oQ_Kr!+dT01Z67jZRRp zIqOx4NyB$1g|Cw?O!-qja$y@ql--asNcZ*w|GKGNCmlxGGgQjQBR=aXVn=C|@1{c+ z<^B{N?P*lvLBX4xDCKZc#=l=s{jZJ<{vJcerLD(#qnp-4Q*g)KdB6^Gi!z|M83Xsw7u*8hYWtKPZ#PzZp|>mRoTL3pf2HKk2mH!<|4*%G z-aYjYqld2Xv2Do%DcYn>&kuAG#CEi9{e2p<7wT2zi*`>wl2Y1<0(P;@+E>^09{o{YGLeP_ zTz3zUDFdjt-#!`JNmCNue>r7okMoZ@mhR#_5IZ_2bry2o(ZRN@tB6zDeNh-Ll@vUla9Zx>Q2}RIvlSty%q*daU*&SjjN6OwUds=%A}VYG?N?V zqQI`GcTMnc>ti~Woa|mc(-@VROX1^=ns-sZ@(4UW)=e&{Ue+%0yqL1eJ1vd3#WuIn zpDnFhpJU0bqjYDx0~*ibycT9~#PN4`P7)n~v9WDxny-I!8lHBEq}zS=)^*ZRwUZm- z`9{$n>muD$_o|{c?azc$q*Tk-eK9Rh?aI_ofsQ4EJ#@ahrT6pIONU4&U_(`BNw+QB zk+t<@?omHpgT1{6`(4fX{o#Z5*0E0vysk?wuHtaSdva%4D=DRJQ^P;ZgBf->=8@$; z(9Mwq2@+XOlYb_-*f2fQYS;R3BUGOE1m18WTkPF&WK9e|EfN1{VL0}zotKz zw$u10>B5(p1HU<2pYJZ&Zi6`+*|0m7{->jxl0N?2<(=APFG&v zWSy?Oz9~Ho`BB{7a{8r!x=XpY3KGwfvZk7#EIjg zLubrwsZX{1Mu>KpR{6t>s z^2NUXho$^zET8X}zbfUn`kzYqVOalMzy3iK2VRQ!kG9|Jmme?XCu8{%znmZa#7mt2 z==#|cmB2xSE|GG6rl?dSx!VD(|5Yg;kL8Pe|2~!Sqp*CQ zU(Pt|qOwwz8N2dVF3y2EKZei;{?E&d{_gW{y*8YBWu&cN--q3wDncLxZ z80$HjzUJhmg8yil>}g65=LkQ`l9!i)@hI(#T-mR!f8^=x;kh%1JK0;*D)N^szYQxy zw=G6%rF=OX@N6&j+PF!|ZEfrp-}-7}t_py?je{kYNAD7dm2Trdq>UfDZTt+{SSPw| zZM;&-ZEd(#Z1>fMmwIW#5DMR`qUTVGi4xWEjJHK1gItHXzYn5*hlKnMOUdw)KUsY~KW@l3du&M*6&I-{pf|Y4M&U4FI&&o9Q@VlUSxr_g3J=u3EMXYDD z=sBCVL;jrZ`!kpi^0cVmRcbv8{PH3xKZ1pHd8O}fvBaI951V4g&D$or#rOJz~yiv;82T#A)j}mH?{yUepQ{s_*rf1_m(XkiFcsks}nVOfqB;~`fyvA)~ zl-R3c;{w`FwNdBU7(9S0(*d9V=r}-}ilm&Ma_E(x;@aRi%<83l2$i==`2rqywEoks zigfn7vVYqyky#N^#d=nY+-TbNW9S&Zv~Dr`>8l8-4r5 zQho&5m;He4^Sk+YvCTo3O1Z5sS4;U8 zwmv82rd(hf@0jWbY~-qEX3}%Y(GPdGQ2SPal&i4nctPHmN%?TBU+cG_QOa%oy;90; z=N#*#+_qnKOZh;w59egtr2JqkpXK|Ps~n?evtxO^UtS>Pw)pV7oOrS6ZCVHy$zE_y-X}7)eeR_`YC$0s{q>bph(IOLmhDL zI7`ZHKDJ7^Ess`7xha>~zx7gX>xa!!ZtI5~eUuMYw^jAheknJN3+&%4DOaHm^fQ;Y z_M)GU4@;$wuBPqKxbh7@AG<_P%D5q80_)i%dVXxu^L<}W&fX+Ii_PDmeU!(gd>$*& z?ag)%1l-;QQhq#^)7Zmjsa(E7%A;6*w(s9sDOW44AI_mSNx9Ab7AZHiZz$Q^CizfH z+bQvuxqCMFGFn~Gq4!XrukLBE+CM9#+}75llt-~X=)YFVZEd|z%580VSaKqrwm9m* zO7Dq4UoLgy&T67kz6+Pr!hJPbm}%eUIu(XG3;M9L!cgbNKI}YfsMFntoo$9X{ZvQN zPocSiI=5sF!|fR&!B8p3 z7#uIm7PoT@bsB}4=4(-k^-3vME8Q1mZaz}6b;+iAbU)|s#_yXW4$scQOT^))>4ukx z^Sv-65^-(_aX!t@0?wcH67jC!YT~XV>P=0lj6X%3n?sQIw=D2S>px2I8>q}(^txEM zT;lP{St{b(!mH2{ac&JU1`+2r3;(`_ud#4G`wuS>=gu%B5^>gA_zx`nMzd~gx;X;mPDL;wMfc3;`}t_v;Giq?$?_s>xlC}%4hzN zr2p)Hmvn47NJN|m;gi1^aenT9kgZL$R(d2MQuRC%l0S&-v3!*FCtgzJA9Er6Z4~*X zM)}7<(%sxB@;yfRCqnWJBF--?{K*jK>$B|tQnJH~I`4EhNe@ROyhNO5!jMSBdDg;z zY2m-J@E0unMGJq~!e6m){+&&Di8#LxLn0C94;KDM3;&aazhU8j4)N*IFHy{{UMN=Og&!Z$_LQ{s-8KIRAuC{$@nIt zCt3I@79O{7eluWri8!Se&TkD2FA?antH1Wk2`HL-liG^Qg;g?%@n}sj8aDMY+c!@ae7S3;k z3@;JqN(<+=MTVD%!*7oaFA;~|BpF^J4!>D4yhP|>X<^F8eSYg?c%k!d3twg7{C3Ll zLg(EUev^gYY~iad{8kJ9euzIo^U-X&p77NJT|d=z4BC8O_*~)Y`h_$l;;aej;i8Dc zZ_*4e5$6XM{=*O-q|T%Ihm;IeTwks6i%(R1Hy_9rKcr8t{-%`iBlzSFw-o-E;(T>1 zb@{F0a8Xliblt)Qith)K?&cMW?;ql86dxSo z8x;R)i1#RdXo&ArJU_(qRhJwV;^P%RJj5#%=PS{v%QqB1Iu+8V4T>KV;_oS57~%)1 zR8ZflrId|Ue0&Py4-Jaz?DmUqR-CV{q%J>Gd|E1`PyN()?bAd2bj8mO@uiAi7~^r3hj3;H)4{f!N9Q4d6R*v^Ck;dof#^N zI4al%t{P|Hs&NJ$9tT(`;>efUff^BK_W*G}M)a5HfzpVxXMkvV_02`7EaKitYvAE= zhJ_;TT}KA_@HpejhsPP0hsPP0hsPP0hsPP0hsPP0hsPP0hsPP0AHb{75^?WFF>t<0 z9A4=BF${@BoI@-;Jif7D#EDwu^DI0(936F;^A7asSxP>2K;a{`x@VLr?5$8yY zy!zHTR2HGf-J6z(6CR&gF5*3vKebkbo~LhGBJ@mr(-LtCOqleC$9WcvI3q3cqbz*1 zg&%9-c=gT~i8#mkA7Cru-a!t;-K6v75MvN=##wmyIOWQ#Z(2ijBF+gR=E~z$VPAyK zyZsNa6>*B;lfOyl3$M2D8VjFi;qxtgfrZyv_<0t7 zzJ=FW_(BV>x9|oFZ?y0WEWF9Wn=L$P;Vl-v$il<(b{32{trq$4eBPD6$RZz}=ezQk zSmeX=e^>rei+uRJz?ENWk-yx+zi#1e7QW2Fms|K17XA$jUt!_x7XD2O@38PIExgmh zud?uOS@=o|zuLmTZQ<8g__Y>(orQlV#1GDKoP4<7V~|K3uJ}!!{6N_nuK3L!*Ya`2 zZ}GSuk>?Q4^{BtG$igpHdT#Xu^^E6g3%^tG+dO$aqkY7}UsU}2p1jt-Me#Kr*E9a? z-8eqCdt6_M;NJ_F+I2JWJjcIYI#g=@%%Z2?0M>t}r(e&&hAF<*<8j%FDgFbG|46nf z71y8Ww|l~u5FZ5h5$T!AD&i*pe@Z;h@vkSZ6Fu}I4Wphd#Pi|46g|_;-rcPKc;Y7c znTp@-wd*L^YOwGX#JOE%BFDdF zevatp-~95@M4U{7mZik=;XW(+sFvFmf7X+~UAA6S{FfddAzRytoAmEP2T&8AZsCm< z{%hjg-U1qLc+q~oPdp#)yIbxSJ9~V^Y?tqwHp!1w{O3}eo@XFiXIOX(arWnA@ki&w zwZgwGT=(zY#Pb~gdsW?!Pg&&uB>XR;hkw`1%OU%)|G#oS&|lpzrNr5vK~#?y9iN3t z{t*|_U)`<_3;%)W86tXgyEX|=3a=22uM^L6{O_H0yFRhV@4K(-=O)p^zjfwiI&o8; zEEM@Iq>mTfuB(XWJCC`L{_1w!W#P|=o{vS3Zr5AFPo*_474FK3?8oi$zn9nTI*2&O zIVe9y_|2k6{U(}pH4D#?OU>H?f-83v;URe zxT^inC(ix{<&PKssOV9@lP2#L6VG>E@cg_>wl1WJhpE4A5IyVVQn_yL!%EK+o*vy_ zzq9ZiqURaWquaYb`Iqm!=;_f{UdAc@TaWYadwH3yczC?JMDahkLiG1=*}6mV-+O$L zY(1y=A3d)1zo&TEpFv+`KmX*(A1GTziofCUnX)xU@s~Y*jBG6?Zi@4_E%HB7{1s2n z5wf+>qUQw*A4G9C**%na9=-ld8=&T^AAwkE56N>zd*K{6%Y5z^@?xzcrJkE`DW)2D5U z@9_9&**bu}^2vw$Lbad8ihu0MYd&A`w>+-x-lq5`A^wm>{zJw8<;fo_TcZv($7hb> zJ3V=wCvA#ndHt);A0Jgb9G|UW=L&*O4{g zf1hfJXx#5m*1xMKuj4;SasPf)JsvJp+`oUdT=c9`+`mutyTW&gvVQ-*(^BEX75DF7 z)#t6V6!-66)$)%k?%$`X`~C1d*6-h^s^v=+_wQ3Jbll}?#Sie>tK;0IcsNfsEAHRF zI$ZP&&S$%aczTM2PggwL@12VK_pj>wyj^ks{?&n^=R?I0^Yl}CsAVEuaL9Ltczl%b zixoe@KO^hBs)KHLYZ+dEeAaQ`k)+`m7T!lIVj6+hVX)3d9%f8Q*9 zRLeVxkMZPn{v7x<_9xuGqZAMKF`_u1-ven|1Lo_^h~p+hb4SNsG|UiZt(iu?EF zYCh&j)^n04ul3g}KEdO9e}7H!i5}PS=}!*lJCi)F^^8~i6pvpmar>s?;kZ4hxPM=+ z-ha0%?%$XDW6`ttD7Ne0m#h7GN^$?bT+R16n&qc@{>&3St&02iAUeyMm(mbRz)-z<9e8fo@t9C1^-DlGD~#Pi^OTHRk?S9<*WsI|X0Dt^8fH|_7w zL|)5j|9>O$T2AwiEc$cl0G9{%>uP_FB%TlVV{1DT6~7?l&uo#`a@y_^kq`QFlSTgn z#Pi^OVC_%0lK1cH)^^@j{KAkw{b-_<@3e&aeTd>0hWdSy$m?9w`p+ev=lJ&9Gi!eiC2rbZCR=zN@qFiU&rj{w zHxzI4xc2Kdi=HkEe@pahy}G>v#<1PCQ2dV~Zt{Pcgu z7Wr2#{GS$n=y9yyzu$fzNu=Y5Yg;*^Y+ zDw7ROiOQz=uFM#E5^Y0M4Skq8Hj$WL-;$_mZ7m&Hm`GID%&TmvOD3qw`H9Acy4tG6 zF%mlq9>c32dpkO|sIo3LeQJ54sG{Ngn)^_{5ntLX91f#qq-)x zsE?i)<32-}`|w!l!jTh_vD)5xP+82p;%LgW=455EwkpAyT3cCHdl7wVs83YZS5pqU z`OKdSYHOXu6J0jhw{g$>XXT7B<$^w3bxICLSA` zSZ$)!iiVz-O!CuDV-*SB3knMhN6xKmCeO%;+WPq=RprUT!m0(8O^IYvWo@##q$*Zk zNq=IzU&wBup1VA;p*~sDnw)fOY>`)j&&9@qu_Y7#4|{I{UsqA~kDv53C6qz~0#+8i z#e!uENxG0i(UkVW4U`g_6v}#=Cbw-M8_8{(vS=}_Hik-7c2KK=Rz$6PRlu@{)fc5G zN_}xDFQ~<$R$kPq2><7qdFGt&IcMfBfWH1dpZ`E}&iT%>%`?v|XSp-fEEl)6U#_&b z)N+GJF8!RytZm}5H}x#(98Baz*O-oHHz>~2JA2|8b!shc)2Qvarg_?PO+&NinkHk< zHNhXxwZs(q&yuYr)Po~oO>D#4lApdJ*G_$5lXAAiIn`%NT{fLAjfxbh3Z}TI&z`5G zWhr8ER*@k|C&g!|AjF-lWf2EPwMEQ;B9)*qBw=HX$Z&+Ho6?h8nGMDhho+bX7BSS) zX!z-F>&kZKbNxItH8r0dsgR(WTI#c0JM~mM+_2}L-7;0xFc@W%R;sWmabbl@XiB1b zkjM)5rmDgm6ZOd)(^`@_rj;dgOzVu~MBBS$^{nh}=IHF`YF^R8g=-=2Qlw7FHuVl< z&+W_gboX}TB!^I%J*a+@#`=}BI~bSF_S`ehXi2wbTW6g|3FI&#r$BeK@DWnnV86EsuT1KlLm0~-R=n~|Y_3Lh|z(lz(uZ=1|!gFaZI`{T^20;dQ29rw- z>8Z1Fes>qmN}(?!7t=UapQS%_YW!hAa@*9_!g=9zPzy8B3%)LKlIm_tltVN9y1KM9 zFq(CzJ73c@*iwbrx=8z_7Oz5SNq;UDMo_Y{B3^rDLC?xgx^bAF8(7|*BOP>aLAS5% z%P!9@Y3uA#VXB7aXk$J3%v^p>ZlFD^O_-MRfCBX}y-D5Us*yp%(x-(iL3b8HDv&`+ zT^;P}l9Uz64#Y*!gv4lnYiu?hF64&t08EIBdI(I^qgpJRM=&X#YAfpUn6| zaV*ca(o}NlEyL$x7LvZXMM>t!_+0n_+O+nrTwA{xkqSO)gJIcXQFl{Oi?rW#xe8l_ zb#Ku%eb&GLy$^{htiwC?u<)@51tvpHE+ZUJyr`&J@eV&iHio^b!JBT;s9yC0EcHNI zCJVt05IkxK8il3!!HtR@g$q&?_OtN@-Bp(GV01?Iob1wEKHJ)7?ks8RNFFg;@(o#< zmgoC>S2Z=mO;(zp(XMFCQkmydfm>^{s#qmy3r#B&ly%d{CVC)AFV))e*<4RYx>@ef z3KyJ0QOz++G9@G~WQx8I)U`{u*o8=^4s>2Accg_0I|tJ|3Flk(Lh=k*Nu>#ET0P%3 zj)*-24&5KpJD+=pBub>Tq|&UJLKWDNlPAmwa>kzoAG@$5dC`J|jXlJj zJ}|`an0qSShwz(R^BRhp05*;^KO?U{Iop!$>+kJrTiTY-W$FD{dvD(=zJK8kPQ_@M z5~)eFklvMTs|K>UE0)s>UnPY?sDx6`n_p)e?}@%INiU|(j2g9i`lLDm(kum*Vl>4| zoL(`%l^>#%)JhuK+xptt=@DB{fI@9x3O9aJ(n5sO7U!0BifaoutNL1UhKWq|o|EgQ z30}b0+1_OEGa@P>z5dYAO#R>KYGPVgTUda?bYOo=erjnJVc3Pz$w;aoF?AkU-PFub z1Dj5LHQ7BU+cKL?#|Boc_$BCKl{_rWz+u4@COUvn6VawjWuGcj>g%)F5yZU#w5dYxkAhw>)^g2VKDDXo!OJyQGf&smLI*dWT0M_ZVJ9ae zXSQwmVAI^iwdph&N00WBqiI?>ZJNYVDXlpe)YaQTM^`Vy8L5>Y&A{p|d6L3>OT7aty>)qZ$lF zvktS_+|t7^Qx8s6ZR4j_igZL= zaN|~6!6U>xu(xWn!)~jtA=zmqx-9IkVr{5kKP6KxsNq87kq)VutmV##8W?@!)7H_^ zpBotHT@szDG}Ew6bc!sT>tj5oR}f7ZCI^%1Sl4QqN0k$-*n6m_UP13sLPyQKUl)7^Zw+*p@mcCiX^MHbdbv#J?g+%%6D913Scd2KDqB^a92RKDetJBuRH zB6S%yFuO3_-v%S7s!yIfQH4+Mr;jRoyR&WW?bH_spIl}0ZA;TMN7Fp953ri)d8VoD z89a%P_9t}n<_c>tkMHUDHIc61~KnbW7+k@4}Y`P>hwA#hILxx^Nay@HLWyKOKVJP{%-zW`)QE+J#8UGN#F{6* z>h+^}GobXT*AenwmtI)6s4to$?~N5j@UnCUyUFG9r52tR75tD7|te7>x^ zvM50V7zNZF~HLLGeMRG?QwGH2Hm z`>H8Y>ZtxXVs^p=Y_amS3mE8VuGlxk^d#LEBZ&CFpgGvXMBGuR4~c2hb)tJYC|9f> z!H?glrqlzgzUBS7?269*JiS^_(;ON_qaR~WUAe3+ulv&T=FyyqM})S;oh#~iX4Bq9 z?>4eLzS0kgmh^J{x3*|I@M}bcN4fciVxY5-fW&Yr9ZfKnp*BTqx~xQo=?W4Vrtu{* zOt@o4)afcmK6VA4BSXyLp=)BVhFkgL;HcNRF6cRZXYYV|+&8s}ZvFLbT()DNH@l2( zDY|ktBHcPv-O?+lLHZe@P7~zFKY^^If1~9(B}cw~Fa65$rB`&KWi3>qWgXP2rv{(l zz&8rca(J~jL;q#KHvs+}!HqrR3UK~4y1~sapqc(XfSX^eGmiA%amX1jzqK{>JChkHr5*UC zf-~8bptl?FTLHffaI|Ne1OF4?{A*=X-m$(iOVt<3X#$*g`!e*G3eMuV9nF<;EeCp( z^9{i7068xKj^#Q~72sb6T<_1N z{q{A${|@wM&(X5*g3)`G=si(z_Wu@;qxbXjJdTHN0Dgwh$MH|Zvo(`9pwz z8}OR}$Nu>qz_Fb^4fs}&^B2G$0K9VF(4GeYpAPs#fX@XS`+^E)%9Q|`Q;OL)U0gnE85peX6Ki2M_seq$@&H^0$a{=J!pJjlfe|iN! zj@0A0zY1{l&l-?}{`oNA7@t{L7>(l@$KUq?j&b-wz_EY$B;Z)CuLF+ddKhr*Cm#bG zLq@VSkMq`S~Fgr_z>VY4;cacS}4~i07v?}0Y~~D0FLp0mMnnA_M@Bu2YwIWDCeN@>^(i6 zJ_dHy0gmk`4LIsO2XO4i76Xp`SRQbcb1UH3zkMEX?BDJK{6Vn)4}fF;Hd+=VV!vVk z_6ESQogM`^w$oz;=lI0_Z3^Jnzr7vgVE^_`z|jvE0FM6b0UZ6g25^+~8Nkt>_XCdp z`~l$T&zAv5e;#}wM~{vl^ygavM}O7>j{ck>c-)_}0Y`t%13Bo=O900>Uj;b&=Ti>+ zDF_686j()opaP-@!0RIHU{}%yA`40h(@}C48V@Xv0dB*INrbC1vuVse$RnF0XX{qXMkfo{IB4~Zy%9*87~X6#p7Wj;7>uh>Hx=h zm)3 zf&5K?W86L@xT&unDC<1$S3r+(`zOGE5ArKyp?EGA#_c%3F>YrF&U%^0JYRY{(0__D z4W0)2PXj&|aFo*`ILG-WpuY&@e+KZgiH;M?SOMjt?E+L{{9S+_BRI={H{dcHDLFXb zmgb^xoEJ?NIV>M>)1KnEOU@*agYz-8|1)4G+J86Ta=WAMmp=zM%Gm_?DWLZrz-I~0 z{@Dz8ivvgbUjTZv^L>CffE>h8PPukI0`k#L#8LitfFAAq2H!TzGdTLB*n_#(jxQsdwed_t*9AA)gns>I(w3_nlsLBTnGaD3bV_`VRaBQb&&l^Av_UDHH zj^pp4faAR4jesuzy=c!Oz$XCxYQS+m@Ce}OpFabRdPhS)hI+Amy$SRl4)hqe#{+&C z(4PVL;eamyoMYV7*X4j82{_N?IB`6qoqX@iiE*qip1X2l9R2VXlF5m2w0}C_DBpbF z#q@6mds=~>Wg7e20mt(81CHfg4R{LVd;su?fPW5fwEs!Kj{^E<0LOCeE6;o4ey9Qb ztsn>Ee-hv|>`Y25=NQ28e&KC^qnu*_M>)pWXV)B*kJ3QhVG z=fm|te*(}WJ`3U_KV$zq7382j(*Q?%5J!8sEt~duJlJ_M;CSCL1Ms7O z{uIE`pQi$j@jMf792edJINH+)IQs2$z;S*!8}PYcC*l_ZJ_qQp037RO7;vl?Y`@$G z8h;{w2Hfes@jhr0;Aa6n$~hZwtgpEa{2ahh&OE@;59b1Y z64=uW_{o4{T)hKuj4SldJ3$WGGaqo&i}JBuv;h4@pcnh49>5O*dNa@D{sjA_tAHN+ zrS}4k{SwwAkD(^6uw5?z9Q%#0R@mv!1Nxbu_k6(7pXi_SfPNv+F9!Sqz*ho}etSRQ z=(p4(;vdHs_OroL zB8U4=9KWgrXP5PXJ=K6e3;vt{_Y~72>7D75llIxVjqb$GG}2`13zGuC4+5F|OVP zcqwu9LntrC)po#NOI)F!F|OVXc4AzaXG+|~yq37a_t6+vh?f#q?B{ag>OD{{jH~a1 zKmU{CY6$GdxLN~vDRK2JC@;p{wyV~hC$9`Ze)~LM7i_!_k)~97D9>TxaRF6K#y^C9pI(J)d!%w7+0SL z9OG&|$RAWzYCAsw_&UJR&lp$N13kvo2EaFhoDTxN3GfdAj`Mc>UTC7w^ZW{NjH??+ zj)@w@_TcWFh2hQcuEKux*7Bu zKE`h$+{i_}w>s!=bI{)o^hO@bzXNd8>yq;kpnolLKKeSz`Pl0uXXEQ6=i?4Jp8y>F z?5f{SI_O>XawpJZz1#&j>ScJb`LIheI37O5ek$h7j)VTCjTZeo(5MS#msR~51v zaQW$*LN)?^fSmJTtDLi5(^oLGlmAd++>}uPVl(3hDnS290WLpnQ5lVZzX9kM0dD#h z&Rz}pAwa(oaQOsYZ8B*m;HFPdc|ybo^K6ar;{m^3co}a5oKKq>q|^lXVH#3@ z%`+U%=6|26)S0HwXADDO6UaG2ld8Yl05{L{IAa&!<{KEstK_{TXY;=;qW3_++0G{V z$Eg-@rmq^KV6QobUo7|qfU}$nG`V*j;4G(hoX)rh@RZQ<;ZeXR0{%SUEa!BQ^Jl^VXPC-%cspq~l2`6hw0F9zIvd%$=OaF#zH^49=v-W4+adcc{U=dzqO0p6e? z^>-WKGXQ@aaF)ZrCE&CN@KZFT{{9VcrvI4GA1s40`{7iep9;8{V{>*Z;BN=|Jm8Ih z-vIb5z&`>w+w)1WXA9t`1N{!bX9K<$@Hv22jMW!hE|&jkk$(i>X`r78_!)p-4EULV zUk!K$@H+u-0{mgX&jS2ez|Ffn&K|v=CSv>N>QnW165!_B7|xgj_&lKR0Q_9Q*8pzj z2%LQ<;O_+bhXJ1t__Khw06tpAF}A-I@JWC#0DKPM<{d6)p9478<2_Q3U4Wkta;^h> zA>f+-oQYXKhw{JntR0{Hs?-vanLz;^&X4EWQ4vz=935K5zEp3ave3ekVeeSpEu znA!mJ*8%;)7=Dc8bpieXpuaAL8~J9v1=f2#&~F8L#*O?Z0RJG+zZk=f{3^L`VEG>c z`pGfe$e#)L4M2Z!3^(%o0KXCFH^guw|4zWoH$u$za11x{cL071$ln{ojr?(kXd*7} zZ9soQ3^(!{0lyvS7sYTRKMy$Tc+=sU>4q2{JTIylSk;|xTkO@)&IS6o%$)V-y4q@J z(bv3J)6tf1^J*3k40tvDz50SPYO)v7PVlq|ydtA3-Vwef8(g;Jd;57U+H4aoJbP|m zuBW@VBggrHXyQ=>v~NXsUsrB0+t<5tb_a;yW#c7}w(6ygfo69E;uCotuDtHKX~?4O z4nZbuOxU06qa}$WR>`Wvu(U4eewC}(8}G=Lta>&5x`w8KdA&WnKt7ebrM<1It)Gn$ zzeZ?@G$cUZMW|*p4K(%8mTNhu9HJ0?_Ttv3`}=$QX&VbRLM``f^GS1C{{ZP=Qcbh8 zy*-;7Y|r)OX%~{kw2*L;E8K5DxskU@ND|fI3de=$V1eX9WYHCt3s44YKo_9Vi`AQj zoQo2grJ#!vn#H7x5}M_xixQgM5JJL8OwrB}m*;w#^ZmT3{B+scA>GG|a!0E~Z$etb8Y7T9UFTQ^MJVU%}zrk&Ji z862tJGpsuuFK9y08jzUx`JIZVVpP;jl}Z$vxp?;71EigxUYZQvbYq~W>HUb~L%x#J>2 z=Q#bRW5ARgb`5$xHdzh^zpU#!b3E%bwC8Ek)x&M3uj$9C98OiRAtrr5C( zmbE{&QBiE~cibgAqOTZZu#a?ET(V1bl&5eMzOLJ7m!sHTLbK2GtKD-Dx5JHZRSTPD zmt&~Ssn{TjnTm}xtP9#-lt*>F6FDDZTW&`zG+v4J{;}P+V;s(%mE%IxCY{PRYCGIu zhvXo}q2DdEQ=Yy5DPd#R$cDG!4%|jR^(Mu)zKs-~#y#pj3hgl(@d536NBalU?xZmx zvHmqO$dQKEaX)TT)MB9&+0G7P2{wt;vsv0#H&&REra`d{x+5a~5BKUW)jf`umhcYk zz-vURNck7-!yR+q|H+ozF&kiaXlT`z4Migj1R@Q4E$On{zKjTwt#)GuS)CH$OKiIv zmtflhIw>LS;9@NU{7|TOi*!TXOsBh=}5& zRI%D|ln(b@)?*v(gl)o5cX+Oi#~qE-R@8`co{H4*9>n}0h`ZP5oyzODOLkOpiH$dG z8fpjZsEqRV@Ge#-kqCf}6DuXT8MdjNqFXn+#KRb8w!|)3W~3&ACkE8-@&uJ?Hk}Sc z#;TPkX8*!HvZM7B*7fVTU3TE5P`qt}?dX7Fb&}fZI1pECZ}Z|#Pd?)19^*B7Jfb$f zi?%TycTh%#LK`U49gJ+C9H}+3xb$tgjs8e0C^S|!z~w&9wUUs3WIy{)7-jIHOXFpBQjoQ{nWJadXt zSnen-MByX%0!q!h8@EzJQBY|>RFYEjX34G8P!v=e5S66Vy!Ub|H53Jv21F$(HE-qI zN)1Ipr2$bfrO_9QR;^JIm)aOrF}?VH)M&LwT^+o*c2LS@v(b%p<@G){8tcZp*5)OW zVms_6MI{LM1B00TD9eO97eIY=0A|H@=q+lOiDIWLBq(B+2~MXhBq$=w#GF$W61ZhW z1IZ>VN#T|jkF&V*t*ogE&6#4%To25Zy!K~=36whpZ85Dm4Bnfe%`mERQ`J`_OB^}|0@>#-yp11{aY>k-zC<_`h8Se-+g=Cyf8CbX{uw9c>?(ZY(ZL(0&<%))K|7IKd(*03CsTjx-PZ;Hd^?(O_s`kkAH<7Mc-#Zvwg%FutOh5y7d_%~bZ z|4|wCZ?W*#m!W^F#eUvrqSX2~>+oRxPc4IghsA#0Z=zKFJ1zE4FN5E#7lihoTn7JM zi~bp9@Q;>)V*kPW6O>y1aTfj`mk~c^{Ua>@JIc_X68*^ESO)(I7XH~~@HbfaPcMUi zj)i|t8T`!_{&X4q7Yjeu{~2ZQcUbiEJ|6-HN7wrYvu+jEAKw#|%73**|5;`5ue0!< zT?YRR!jJx&TL%9f7JlBxLEzx%^52~n`+5J8Qu)m~VCesI%izD)Vn6R=QmX!kE&R=8 z@INa2X#e~&_|3XzSbw}PMydAiwCLykS4!o7UIj;|?H2t%D?|UY7X7?$e5v~PSonD#auw zXiByJ2;oQlyl!%-{F5yD`I%^`{IwSSyxwxD{0$cUE6U)XW6{s+G?%J>u0=mT(=C;M zp+!Hh?_4VXB8&d_l)>L+(a+ChOVyvZ=wDX`|7weVUQfDI{p&3Hd7bl8`ERi3=XIz{ zy{*c#$GX2Q}h3a*$Sijuv3+j1OjtWjACrpd!1iE0EF8(-u{JM^K z8H<;zQS>h~4kH>)DfKt}GlNc%Aka6uJUzU z%~uJtm4BJ=b9`Wm^Yb%J8~+U@>VMwB|0CglD=Me+xc&o4xlR9HgukH(|2Sf{`G11= zzgGC!|98=O-2XX;{+h{}@$@44Kj`4^6aGvQ{;xauw+R1di|~Jm_-*CSSmN(9B&$l~ znYjF!Lx0Dyny{mYey&gwk!b(hg#Xkc{JaN-&HhDVzwsZ}-#sKNZvW8^{iBc5ijOa% zKSlgD{hKWD^LdMYex}Fer$Z#wivELR8LSHvKa;TeZ;mwFV*WSJ1R7&{c3ABHA}Nmh zZ?!}JCec3;jivLL8t*CsZ2qhIr)D&9#`X7Qi~dax{ofb;D~sqibCP)ZQ=)&7@UwpI zE92#V%%T7E6E)*J;WvkP`M>Wd|7y{X@yp*I$Myfsp?`zuUuzW0F|MEA6Wjd1%~F2; z{xz=uNSZj<;_uKJt*}`6ClJ3)|Kyi7KbHSn7X4>9^mmk~f0jdkpGE(D7X7^r{a-3k z|78ySTP*td``5VtZ*l1NPSXA>=Kl{n^n0&pe)RtX7X1%6^v^3%|Gf_V8H@ghEc$=# z(0_;MKTsDV_#2P^H&F1|;`j5y-xzS}lQ{nY#BYn=4PyTy;phJ25jv08-zK3J8bg~>wL<$G z2*Cd1@Au;N|Hz^LusY2sZZu*Oae{ z{%Mu=`2B{{@Hs zO&0z9{5r0GheQ8aqW@j73Xl8$#}55FL_dG?&x!rd&yVB!$BePZ-?piW&6}eS!QZ(4 z3gWlLU*Bl0I3t{_|0z0;>p$6{f7~?9cyypypTzaoJM?c6{W$;pg+)I<=VMFb_uuuR zznK4*I`nTB{pkN+S@hrL(7$=QF7M&`5d4jo|3-)YWn;AevHVY4^#7Mb|D&S+yg;)) ziR*vFp?|eS|1%c-FFW)fb+XoXQxW}tbLhWC^luP;j=x`9^dGm6z5ch9sQ+lNqm-`Dhv0AA{&OArCy0LZ-yV_@*MGA^f4}H27C#?y=+9Wn|AIyT_Z|Azi~jwB zlIxSW|Bu?&UVpcg$UorVzf<_lcdW*Yxc_^I-&X&Nr2OVPZtg$+Vk!S89s0+erZvhi zYSbs@FF$thHwu3|e&hDP;^4omME<(5cK_cX{Kewu1md^(FSDPnX>33Lu=ualp?|aJ zmtolHzjGb>7g_ZG)1v<)4*kCt{l^5F^+`N_Z*k}!wCLwsx_JBjFNgkdZ`btDUi2kj@&;2h$@$&!3p?`9tX3Pk`ImG?{ z1Bd>-mhvB9(ZA3BcK`Q@{<%i697#kZjUs-V|0nOSDUJPH{%VW`p|bLd}W@n6cK{|gTNXN!Kyj-36`bjl3y9z5|3ORnCt1q>afklTivD8lkM~cs>EB?{e~d-{qyz2#`+14} zTj}8coA4Kl|D6v0eP(O_#-E?W>;Ea@x0QdBlz)TN7mq*3S<2sWkiGmL5&gyH&spNP z>2DaXEye!t1dINM9Qq#;{l)zEX9xe|!oM&UuiB~*+~csnS?pf~{yWKH|H(8#W|{H% z_px&{W1aAuLtKA7@!R~j+2X%Ci~d1}{tHF_Ta98l#@p|JL;p65{wWsy-*V``M)Vhp zpQj!CcM5;8@$c}1?f(CQ@E4oE97_D7$v2HL$LzF}|71(~vkv_~6aB^N|3ZiUy%zm5 zEc$u>NrDscH#V&+Jl_8^Ev6qk^jGs_l@hk!Q!V=E9Ael1wi5NfgZOR!pKQ^8nnnK? z9Qx;o{$l>W+o8YFqW>Kh{VzE5FBko-=xjRIUJb$DJM=FU{ewcv{r4=3{$+>S{r^4D zU#$PU&B6a$z{qg&cSU2I-62Gnd8~DRWN_hX5vFKmr(El6J|2eVW9OC8AJM`}m{d}QL`7d{6m^mAL%# z=wJN)bK;xq^?LtOt6#BbBTQ}ovgBkOOr=wI#7KVS5xjAA*){r{MQzhC$d zEW$sDzHjF;#p{1a_>1}fEyQmtfAt%*r_lecmhxZc(Ept1kH?>u8W!qF2mfD%zcVCN zXL0@?IqaV-_74g_*WdXT`^V7@BFl{XZ;?Fsq~SG^;`KMr!JilYV)55R{5Jn@6#Fs$ zF0|PHd58YZqCXX}K6(H6vV(uS@E41}bC0n5?`h#LR{ys<`2Q&UoiY2lt}xw1{5Jn> zx72^u;=iAYem_>R3(wM8Hls2+uZmqi?$Dp%hh>y@ioqOzZ5I6%G{Iw%c>GnJt=K(r zgTA1@F*CiF9Qr5o!!kT6x{mr5u{XbyQzsOPk z)$>a8|3wb{wMXjmWBf0-=wIv5|9#P4%>Sz$`Ugcn`hTTG|J|ZL?*F}_znK5;a_HYA z`qBTZEc$=qDF3E&OY{GBhyHbMN&5dPi~hem^uHkbi~0Z04*lCjKl=X~i~hH~MYq4W z|5MGn{Kfo#81dWMpO@0*NB_UuqW^5sA0L0Wi~eH$&lwK=J11)W82{H=^k3o7f7m;9 z`HT6#%b|brQCdIxpVxnnkH0sI{c7uTl80_bo`Hs zO{_MH{`mbz+@5K|AFsb{!f)nTYzwEj{k183`>7TCGm1-pzkHp={)>p8OB%O-r|750 zW04fM|Jszj{qHT&{;P@K*8T@A_Fr$Y|I?yBZh!TBPo-k^|3LWT{+}%T#r(gG_-*!Y zwb=h5i~avA`s4ODmT3Q*CffbKutfV0CVrd!Rs6D$62{Ms7W>~J`s4QZm1uuX_~ZUx zSEBukh~H*^v&H^fEcTB$?B7_T{aG(w)m+&nvA7{@&9p){XGu*YfH5M!^F?eSbU`|{F4#>xV`4u96w;}4_VdOLb2bJ zpZ$NQ#r`|R{KbaNHmI{jW8a;gd&a1WP+|qG))8KXS{qM>b9LJ2o#xF{v|K&h z$1xwhic#+y_?#Y#dh}>b;q-{XquU&HPSZVgOwn*+W}&Zp9G8vR?48UA%<==ti*@HKlgBk8^0c!g4C zy^65=xe_wN-`zzAFT=meqr>{qpbyj?BpDquJ`raC%4G*38IS&dUt#stPq!XRdv450i`>MBpnw8eUt=G%nJ; z5z?uJNZBVw>bkWj5$VuZ^_ITo2eIHYM2<(@nIyUg$-uY=znp&l+#yl8d4O0&xH8?T@I?OUMo$tK-|Oo%;5 z&S)gRW`=)iDm}CQMunJAc>J4`|H}Q`AA}?-7PYT*C>d%IY^2JiG;az^bH-j)oIw+~ zmKDT9!s@f3twFQq>Wq5wRoCHj2dZWqi^wfO=&dl(CE9Vx<{}cJ5Op*6%7N^RO zs{HRX4L=bxi7gda$G)~SfF&~L4)2;f{6D)d6yhj4ClJBCvS}EBh-mx=a8!nu8Txxg zK8R%_Bs09Wfn|<-M77lseHHXyEiXkYHN9_I<%;{!_VyY zDOfen@D5{&zP|QhK3+8I;#rqmqDEykp08JuFL`K#8mDQL)&u>nZ!aWb5k##gy$idE z;T^jVjp(J|kUnDQ;c8ML3P{%QH7^Y>-#c{8OBKuOuf1k34U^vTV>9bdBk3YuPb4zy zd8$EOhm=%{lljB_%=T>xS8vyyZP4t+w#5r-bE)|k~%Tf zx-6IKjAZZ>NTrkddwcUI(RSW#{R6rF!ISjyr0%|^*51o=JvGa`?ra~O8hY2U^_Ub1 zIpq|^)tv92+4}ZVPBCU2H~H99dvDJ`K6TN`&it}eYw9#j-E>}C*YeyYiP=_WXlrBO zU7l49ZB0e4#q;DU8*iVBmgdN}-&0YsvEq`4EB3Il%k&0hK!s@SZxLlFnZ~fMBZjYm}>L-Z1W90*R7rVRfLZR(;hf(HG2pOVwfcWWJmk@hD;=)+$TA z%-XHX-;!CsKbP*C_tGEJ2(Wo*Qaz7OTEa5&hpWPjctKT@+ntAzGDp=Iq(0q$V#|yu2sBJk?M$rKa}8>C4qs-Ld*wk(p;k z6<5ypDh8`74j;Eq)ds3Xz8~a&oZilVW*t!d-chsnAG3-G=#ukhGEV7K{$ui2g!vaU zPKoaUgZw37KEoAPHqTX>_qm-f4>$TJ(}j7SannBfxj`Uf?t1^a(L-?e7qh>QD+ri(> zadO$wC;5#`WPEm2Xeaxg(@Oqh@<;Utc5aq@zK;&_mxcV>C7Xi7g!rC3@QLO6-Wy_wzVtm4tzkA7 zrvh*(o~nxqkYjNDJmO&WEP|yNyiw#x@dNxE!Bw5pxjE7)*{{6Br;+5Vrz;UiUHBe- z0BK3SdIFQo@I8JSlT5zHPiB(I_fiQkPYC;GwdAO_Ea$#=l$=Eme$evbxQePMNLRjk z>XU#8kN=`U)A(NeO|QXKR3`-aW`R1$`8=JEqPUvIoe?D!&vg7H{bT%Hf@2N&!5d2E z2$S#e6R2eJJ$@RMOuh#X*&y53y$2wk_fK_YqAbjMqk>Gdg?O#P>7hj|@%PZt=+gup z3g0(ItuK9Vx&v2Ci9Fx>bd~EjX%92|k=783^Ua1JA*9ay#LCy2!1t(wwjFiw}Z+&$PP@gxh*Ue%^1xA0>Puw8uWt z^t40%UkN`7`Xx0s6VHJZYBu@2Pmzs2r*M8stdknU>GWL={AR+ryr!HyW^>w3_{33R zJ2Ex;ypj|4V`{u4`tcNMHajO0ew3GDkt#LHagKxjECjBpq*e;Jg;PV`Kj|0D#@T0tA#5(=nh%bJm@W}ygD0VsIR8RoeW&#jx$ z*O_b2t?V4gWz_?r{^jj?oz;-dcJ_AmbjoGjl(w#}-gbV7m2K-^s%fToF74^<&(X!a z8QJX8p5@v0!NIxpb=ho3Zb{qnu6&kQF3=_H@&2DWvcV0G2oKs2YK)x;C*`8&iI@`KBucWKqo@`rB z2dNv#v*~9gh%%kst9rfhd#aHCw)-q*+Ws@v`Qbbo(u|LoqLd~Ps5 zXIgqikb^hkm@%ViHu+(3Tl?j+r={ng-BQc8#qP!3IT1;LNwe!&u~>ZW8E3SlTeGdR zPM@0&Wrtep)8w*-^z81A*}dej=Cj+Wv=_FX7qfw#9fM}qLHVL3R|Z@-uO)wSmTR!C zuC9J@+W@(myxQ5bw5h!%Usu<@tgSzr?{DkO4>Yx>TiWPPdX8Hr=0vE9=CXQ7i=~>xr9NlnUTYqQU;;tNVH$zwl`Bw9%&Cd&c%!P1UL{XZf{EC8AKD8dz8t zi5|+O;?~urr7=-kOn1JDSPDWm@)S(zX894FM5}y|U)JBdl8W8Y)lAi)pe6meh)Wjq ztfWWnS@QGp?wrsp&Moci$x>(5zRXllL}^_uc}}_o?KBlX;#QTL9_;IH?i~n2Cn7+5 zj5`NqQ;rM}ZQO}bm)O4S^6Zkf&aNPCFKlhneG;}6)P|?V)Dqlj==` z=*BMwQwL+ZD$`K}9ZKMJkfN&F+Ovg%lAViDq1#$$@U+=oy*;YAWZMP?a{YN-aMLKo z#_4l%?elX>lHQ)))DvWgk3!j@gG|V`_O_@#D-!bBg+ZBT%o=F#?3}Z_yDvh;JyPg} zy1H2d0f)`m4V16Ci!jp!$P~(I?x%s38ehBaDU`n?|K!=d-F=;1IjWV{(oRA*U}phn zZNjpX=jXa|Z3AEukVD5Dx?zq+DQ@a&)!@*!xN}8a9S;;;RGr!Us=geJ$V+;;Dq36Y zF&yKrCrJaH1q6gfDXF?;gf^*KZ^<`w_6}reoXSmYq8R}-Iqm{F270s0XiCtPI|NK6rw0v`nz*Hb*U|`VzhJ<7A#x@sq4m=%2yg2lTT6|B?g$ zg#+hxGB~kblyec_b12W~y$tX);OhZD191KhmJ`cAll~bw{EZwZ#xwNK;P(Q~&(sWV zo-4=gd;#du&I*~cGCkUPtOMu$);Tf#S@h57oeenJa|Ph&x9b5%y>|hQc76wN^xKaC zN5B0VaP%ARjlzlTM?0(NzMm80Xy-A2qn$GWM?2d9NBSQ(d-yXd^nB%8GJv%x!pAaehA>rfTuvt zI|1iCFF5gGHvKd5F9jU^Y4#H5Y{Z9w9^>R@z%fof131RXeSo7qzXBZf{>g!luOtI0 zaW>K)1~|sUv4CT}p9(nEdo$oz?*o8iy{`ov>-`46vEDxkIM(~!g2(Hf_fFu%IM(~O zK@QgYZvdZ9Jf_~wBWU&;wu{sl0w~4t8Gxgl7Qj&sKc}(D`7q$$T^8o!bem+>}8D~2Uo&p@( zufWRwJYAUjsFDn}XSpGQBjYRRpN-zUyJB*a&-8-~#1i8iqvpN1$!5IST)>g>i{LsX z=PZN&nbasJjO}MYIxdoP#>dGyA4cSy@zdp;4;$s2asJ0`o6~3XL1Fk-_EEr@-n`d& z9`FO?oDbu;K$Mu))HPq9066EF_b$@_XT6)5m=doG#ffQ+&-pqJ_<;;ax&d%ACUDkQ z0LO0>o&fw%BZQ7G0?xY4cMoRIPsaFPP`@<;tGe@Ti@h3prmK(3%vpb~tF49~fqOL_ zZTU8@X7Rv)SJU6CFM`|}d88bD6sH~#(6d(&5fI^XETCE1-YyR;vt$L`r6*a#8~xzH zm4yf&pX*0YstByV*u&nav;x%XDQ}e8{rUnQ^O@4@wmXr99{f#HCfO{GXGnFuNc1>|4{#=GWa_z`j0My-}u*z zV{HHIGWg9{h4!b*;9orGJM-KhNI{pEpBMcNfo6RY*U#}~)4$B3|45>Z>wktYoBm1CapIhtEr{#qUufF+ zrwe~0GeL^;^ZkR({#(TUMZ(MVm!f}h``_Wvze4omy&Q{*>p#Vzf3L-VM_KgqdU*7| z7hk(#kLd4XrI3vM2I_I>pDcmXz``kU`6tmo!*AmHHqjsNKNiVN-HFT$DPDeFPsir} zMclDb!uaL!H?IF%4*eex{pLPj38O!8{a{znQ-neQ|q^5&pRSyM*89G5kiqxt>V;w))#6_Gg5U zLpVLJAf3qm$ z`fs3rhTqgbXU9}1(d#5ox5zlk^Qe<8{5(yI$1V$KJc9p{zSul6UVd&LHvU?!EJ|Zz znQ{J;>ZjJHAQfA?W=8#tTD^)*>1)?4GY{#=o<=r`{$5$Js)B8KKmFt5h#aq@<9a#& zfE=%v<@VL88njyKBrO?13j&TpY3&xu&(ZS?PUIp_PikH|UCxjrW68|nCQIsXJ5 zKPl&T%JD8aeu|Etmh(+?{EVF6O~=p5`8{;}oSc82j$e@T&2;>toPSAizfZ^ilJiID_yalrp&TEh<90cJT#i4Iz$$KS~LZ{@g)j?c;Y@94N&&Y!2_@8$dt zbo`^7@1f(L-|6@dIe&?c|CIBW>G+DAb7gUm z)BoNmIr?-QE$5YT93w~G?wWtEO8CYi@&dZ7O@6+giZvy>!lbrK1(}&CX5pv|Ee|fJu`rqSaa8q(Vk&e79 zDgCdO2jwO1`21-4bBvt7jgFJ${8%|2M@L@Xi2hg4=1-LK8abXs$67hBqhr0CPod*f zIp=5h^uIS&?cUjPK9`Q?&_CYa<6Oa->G)1LpHIgY`qxVT76^789nY8Zg><}t z{#{7_E)wiwI$k2@m(npS=ZoanM#sf+-Y!S}-C$16m&kD`9hb>@ryTivv&-eYOOCyC z?342==-5yHqQ9S~H4$WKjo^pzmE;ioNxiIBz-xajq(wotWQLb-&I~WuGFdMmEWpf115t)HmUq|KaHXNG>ani5w$uozChQd=?f@WPA!4eO$) zbyk9P9B8S9$ZBd_GoddW^<-94<9>%$Q``G8uUzxhJ?e1dE;4>j4qh&}PaBY>ioKyg?3D%sYNPH(-rqZpo}a_&ZEN>rb)kG8Nkc z|4U4+-8%lpt!uW9U&C_|B72>Dg=-dRV}`a?45zn6tHu;4^o;S9#cQRMiR)HZO0ZPe zh+2G4T*{LdPqjPUEL1RP2D0Hv4H^-;B8QZ7E1tUGHl-Kbp@Ih9$Bz! zLngXh)f%d>=dPqbuYI|u=Xge1URY-OSoDr^ zWMwc6h@m|d+}H4YJlYe;ntHTgj~cLe<(`onH770LGiUt$JFR_FGxdOxf%is*tY6#5 z8AH!kT~;yc8=a&r%`3dgDuD-c(M$noMK9_b6gfnbL8M`?U#k_Fc3z-sk1k$VpuE~U zk@6~t7cBaJsl2+DOtFJ*m#cYgqMFyQO{p3)e!Wp$inn7EIa3GW;9wBL9Tiq!=%CmM z+|Bp0I=ljRzcBv5wL7?bhbRoms+Gl5D=&<%zLCjZ7=Q8hCF3VQ_`>)Tw(_X9b{tb^ z|L zzFOFNvUuAImwmHpj2wyV2+Pc9#3^ zXaRTo8pEcfv0%kPYNNVt|5e;*x>=%74N?+PJgJt>z#zdogKEYd4Y_dAEi;GQo^W|U zULVc5{@^llkxW7UA6tKL6j}Z@`p0QWZ|~b^)xlXk!8(MgCB6MA`YmtIKws|w{lYiZ zmg;V!-^~ryc(eG!9lbgr|Du}KEcC8A;TmR-X3+0V193IpyI7BN?Lz*j=^QPee}3Jw zy!*7%>gl_XUixKVAmo(PIc6{lYazX422OQs>Y|MU*wsJB2KX z@)gkQSToUSr`Wj6>rBl|P44W;AKRT>F^9k68tA+-H~CmDB&FB3wqnSy)v1*kXXRPl z3A8F?{@D1UjOs^*muS`M?~2a;{PMQ0)QaBD4!v$8J6L(;lvDWk(v#KFkA3<6EM2Id z=pA!{Ecl4vaay0gSLb%1*B0CZcc6r9u&o;?9RS^Szm>WcTJexZ$em=I>arJ*Bwo)? zh-Cf0VD-Qh-QMrw4oPuw^U_?jx+ih1OTV)Enpc+O$I#!-=n8^?gle-2cua!UJF|QI z4O_oQ4>Ea;=jk)(S#HIsA6IyfR!me-Wcfx~f3mxx{nEoeH^#rIqVlFO{-%n`S1SGg zshF^1pNd;YRX#F?7NVT~t$q9l{mN&?_%HdDe;?!DGP-j8KK^5)D+ym+S$XF^{!c1L z(fQN+(2V1~Rn@<#^1fPCNh>uxUR6owFIEvu)4XfA^5W}9()D?_RS>}w6~}#XU+=S{ zDnGKX_rR#i;eEY-jG`&f!~Su9+}FE(bmdd~dS4t}`Q3fJ-J{=3k7g??ZyoDBSy{Pu ztoOk&S9{*4_NlyotanRQ(^F%;2lwT-lNL=?Csj`O&Lw4(H+Hb{_6lz^tLCe&%Ihm= zlLLLlh~htAcDdDh9@0c^3*ZP}g&H7SpGwXI5K5kt@|C-fTUzP8SeL;Vr!T{FBO!OD7lB4`hyr>urjb$c+?N<4E%&?tq5Xfv)I*6JK?ZnbBvEE-T{Z7rbXP{mw|^=%Kw8 z%MWB_BOaa7)0y#K+e$qhkGs%+a_t2xuky3a399oOUcQr9cTvSsS0+=Kkp&tHmrvjQ zX0_;dj4qtbWQHD|K#vQfb#V935C1K9|0C&_s9+-ti19&+ui%lH)JtMTVDvOSaxduS?>3I+ z&Yc}u%+KDx+`HjCKq9zMbn^=Uj@glnj$N9vz+E2aghDJmBlRsR)^(8Wq4x{KqC$^y zltkSq_5@v_YK6g_w&^#qU)MsQ=QBi7MZpT@ddft-2DX5`>QxBMnsf&;;ti)?B%^i) z0GqgrOk7X6A!2MN?TNzH$6r5K+HL5PWG@rT<0zUO^lrloc2JAm&K6K4((xR!i|<>+cOXBrKRT|%xwANA9Tu48;9OF z7z3!jc!_Re*f~0LEFb(##kRoRWyO^>=0;?x=z^975vc<*^aEFpaaEy^Afn||3~K0H z9K{rmH-11O1JV|5xVnt9&eQL2hMwohqRwymR$||pIW@g){F-`SZhHCQ(9^`Ds!Tm2 z%hxF~Q;X`w7jc`)3SNBCAQE5udpU82q0X4nFs#nXTAwF zNcc}R(b&xJ3lJ_!B7c;i`lD@`utVbWYQeXL_VGP@XhZm(E?THGM{P(pBfWk6&Fb9? ze}@nyWq}}{I+*3c{IgIi4MQl8;!~AgbwlIprYW8uF3;0kS4 zbM9 zk4#`5^^^>1fIJpys!i+1aaT+sOTPQ>xcej;wK?17jx3_mGwnikoI5gEX$oRCCVOrL z?bPw7sC|l|h!a`(HtM5N>b=CQOM|{76?BQJD{QRF98X=et)t2eQ>!1kX0Mm8CtQG)Hkx}C5&!E&(~5R zXm_1(^D;d>puWeWz}l5rPYzhm8!QBMOTzb%PuPrcYR5DA3L(66a?7MJE>|emZ!puO z5obG3HEE7OO_O^_?w~@`SUAH$q)-g0;9=^pZ>C_~eR4o#eKmY)C_m zH8E39_^%A7net5z8a&T|U_NGU=CDj$MCyTP;C#&7J_NHI38;ikT$wcSDYY`CU2$+i z`*h70Z2bgvFs8wBk5A4um)x?8mLSwR%rib|h#c8rC516p9oU&{jHHd)Jdf+tm+)z0 z6`Y%{AUac3bG}4r&D3jHnwUPA+gjDv?}-jN^o<4&m}GRb*-=oMd}-x#RDX2#~O79)q{S-@`g5+Uy%yFO`p5T6LCL7F6rtzvtFlO!NPR_P_{s>Klnhezd#og>Sl6(_*s4t@OVIS7 zoyAPolZ+rLYEkGT=~pO9x!+0LT*dD0?CruBug4RzU^yAJU`Ii*roD0L!Z6_YlH!Cy zbp&&?kMPz%4SX1p*9CDZWgv~%M6I7YVQ(R==~b3}JvU=<^@ta9j3YCyiVZK(&FiWA zQBs3AqnY(_8Zs3gJAx6rzim7d?+?l|DLMA4kyHlSQ`6hYq)6w^lQW9Y;PFvrD7|Bl z{_Gmu{U}rJo)S8dJ9QqHgA$fB>Poyw*JLx0^pk-@*KGG}){#Q6u6uihw(c>jbtI}h z>*BLX4qFp7Gtzt1O`-X4Q+1G$#|c8IgUePlGM-0rn)j?{HwU&+Y|PM*iHX>t8{B0_ zs8qddwwC-=)l1NIsa73c#d-!(xRdT^b``#(dDkR8?ner$DocW@dvC?=pOCB_p}!^s z{TfE4x*O6osmJVX!Qse|T6;W&hF-?F}Wkc3jTsevw$Z|_6@HARZL(L8?PLQ>_^ zWO#%gJ4no^Tjxs%{^hp^X?~-c5{(da|2%j2x9V#5o0w+!m*$%Gmo&`E6S4gjgWCJI zs15Izwj8C?DD7x&1zcdVm4=mnVXg9{@IN4JqVIz^m1>F%YSlVaN_#P-!&~`(%szMLg!|;p z6br^<{#jxE#gcyp=8u}C2#z3(KG9I=bpC7PUla1*p|kalA|`)nn18S2PeuOTFrQ)9 z-iebakNN6wTKY?EOaB|t-Ao&xS$mqQ|jERMkzZUaHtq%M% zDEadu`AsTcm0#>GT7Hpp0?L6lvQzSHbH z{$k7@bxBa(Ws={B`Ld_yB*Hd}9S_jCA~il`JH8(3*(`EyLOG*880gt9`L6O#kbM4~ za6->#wVo8^H45F~ak}$Dnhv3v6Q_B1XzwD5J5J~EA5$iAEXUbu$v+zN7lr&ACI0}- z*I}aKbgSg|V*V&yF)V+lT>?xP6F-lFP;u zB!539GG#m?EW_La`RvOs$zR5?ZurmsfWLn9b(KS7{Ds{4q$ulNvGWQ#kCvq?D9e@t zy11-63gojbDalXxi|e&DEK{nAh$&_GkFi;A<*VYaQSx15&LYX5hWve@{MC|w4CcdL zyc;FoRcBiz{|(4LFO+jCEpbD(^)k?~Q_6W`BP za2a0|8dsY;cpMwA*8&RaSjL$~w z!=<60cNCGoSMrZTei)A??9UmV=d!;+@?CMTut@%35&5@BzO7$j|89|dTO4ryjso&k z|1bF;B-%v3^uExKX6>c%L>JVxv(9Ny}d~O9?4%qdV=zd(gP0rty&e-^JZc`^|QRYJm=R+ehTw13hir_`~xu`?iKqa z-=%+pxGss_EO7 zh4ou2`8JuXv$+U=UlINdl5ZP7QzU=02R@v@NiF^ICB*sKBwwvqWv;@bAFO~MV(i-rFVt(~9Ix0P}>f{X4~B%|PLMABC&%)b}=q7jWi#pMb0I)c5WTFW}7g?t-iE z)b~CWUci~}ZGx-t)c5WVFW}7g?tv?P`Y;{1yo;o~>V8G2eDCuKdItPpM}si?WjbX! z8%56aFpKEF1Xtmy?|nJEfHU9Yrx3~Hd%SX4GWp&&k{}_z_bms0p98<&fp2x-4?1x6 zYBKrWBT0}D-}|lu-{!!-@4z2*;6HTWk2&zi9r%wN_>Ud;(Pox zbu#(hQ%R5z-}{9F|CIxO+JQggz@K&Czjolib>O=k`0pI}^A7wE4t$RTf5Cyj=)nKt z!1p@vzdP`k960wL$wZHXq&JD?`5v!ymrTCrJ8)hFFPVIgSH(*v-{V#ClF3&q=Gkyw zJujL3VCR@%Zo zCg0-~{gTO7tNYn-Uge*D4xCp#OeWu(?ZA0O#ANb4ULi4=d@tj`dG*9(@;zQnF`0aCt^?Mc-6&Z@;zRGF`4|}4Pi9T_jq;2Wb!@!v1T&)YUM^7&Z{^klkf40j>+T)v%P4Z z@9}Dn$>e+O4&1!Kjq>;&uL_w=zQ?OXCX?^+ijm3Wd%S{VGWlLt0-sLED7s&(l;*-r0;bnXnL6n=IBe?j5%6ZiotWU~o;mcj=T`1uN7p1|`8Uzxxe@Vx;Qz41)nJ`E)bUb z!d2y1aOFG;t_p3zm9Z8)*-n|r_mb^Yfa@nk#Ic(R>pJlRe)o@}QYPqtHy%L7in zfaFJZB@8qC#108MkLI5t5uEwK4z>W&Da}ixfL!@%*PdjS?;V;13Gvk~JIO4X$0k8V z|0V~X>^GRu_te|=1dp$to+e;fCI()~qv0cXB92d=_X-%E!Va7OnXa21~V-kISAoYDOVT!p8;+ATi3 zHfMA{VooDR-%F0mOhET35ju0>d*_(b$kF%aMXt?-ufCWxSK*QFYr+dS^SyV%Rd`DG zJK+VK`CbcLg{O2M6kfoY?=66<@RaV4!V5U_z4PHJJf-`l@B+?!?*h0APw9Rtynr)5 zvU_ou;YW4{NBolT0?z3E3$DUb|Nmp}OW><2?)^`42}DH_5Eb_%q9P(BYz71i!qpoM z5Fse8Hz5fS&1P}~K~b@RY8s+wL3!3HDk|>Oy5JrWm0F*o50$D_RIDgesatuL%K!J9 z`OTc)IcMfBXzhFN-}8aYobUX$`OSLf%$X~GP29a#F?cRhQBMfZWuAL=6LO}js3(Ny zHP5}e33-0KTcKF5s@xkEgXcJQ=SJZ<&b?u=kTZ+jxlwq&b8lD-p6}S58x47W9h~De z?hT8?z5eLxCWVy{|l*@Ua5Fo9^H@MJP5);P+~L48__7zEb0A#&$R0ru;r@!Pi@G{H=DA zoDYB={j63-RlY*-2$#p+Q&*B@hX8JpGt`0?S>#j*e2LDln#o;mk#mEEezm}_3&?rP zf`1D*=2xwBP9o0z_B7|~U<-aY;3(%NsyAxpH^xFg1Mpn7j;iYC&na%8&**NJ|9g1U z&t>bn%7#`8{nZxy7Qpk^`~7ESwwxC%^tf+O=^|1Qd@JOv(vYfo`-7b(`eQBli59%n zg3qzwOD*_=7JLohx#{kDFEoE~eE>L?yV{?x`hg5sQpsccMpQdJ(t@81ILf&Q`g^=o z`>H1VCBjQ(vU3^WCcoVdcrJT?p*;S$MGo%wL%oMWKZh57=Y!WCS!VhB1D?nBX{h{; zve4gT!5^{U&sp#;kXciHCtL8S1-}sRJhq?YVVPZLDd6ab6;My{Qu%sN(BC9M_?t_y zR{_s;-1jN@gnwe8?*anzoaIF2fF^kz0ywY)t^y1FDFVM$(@&&Wr3JqfaLm^ul&?ud z{~v<>4lPHGzfTHWc?EupjVL}8_+y%0J#p;`6QMk|-)1~fK z`GwIQ11tt{z!^V68LKxSAM%i;I9YpPXzvv##OoWI{@Wx);Ls4aTN*t zV~rP4>>`1GqVb^=TPg6*G+s)v*95*r<5MWMQ{dY)em%v`hb8hn=Sz(jQ|wxSf39&= zUQY^qyT%p$5m0b>&es}O^}J2s-)daZuM+qUjTcbt8-c&2apmW}2c!Ir0ep(Uztgz# z+qDAUsqspRtrz$oHLmJs`XMO)dyOl5iUl65Z&wK1eQ`CAIA0XFyHBZ*@U%lwzPnE; zi}2F~-Zf1r26l1XEO2+9(h$Pm68IjPUfEd+uN+L{(R9G`9C!bclK+6fyK6bBe(s%v z^!V$b^16<~U*sU3rE%3R-WRyLe@V&dnv3-A{-tRoXSBfa7e(cz>~9iyupA#0xVx`O z>3v1ueFAd!$V0vEzNW)T&q)Gz_mwF-YXyF=mZRi%2s~IW?+D!82c_zHZ%~xS_Ccw9 z{aoNd|Gz5m!?j*jE`$1_oZJAuSm5sdC?$WLz>m`OsvjtX0XmQEk5c)K3f$cvrQ|FX z_y8^E8uHs_fxG*oRK49F9F^w;%Vmhb2WdH1k(@SxyZfe8Kd?sN?!Kw}h`#73l<)4F zQubdjaNG?dFNJRwxVvv^2Bk;(p&a~WS9y)1@D_oO(s)n8w+h_dPnARX(4$d~yKhR# zzfR!p{-|oAe_r50zwHqCIIUOF_k)U*=eYZ$dXtpeMJXGLnmBiiQF%)o$v;7RC%3cp`UNTmjj;1_QipD;(AKp>f{X9pKn{}|7MZD z_aL-$rmpA8&Z7V~+-)fQnB;dJh-YiLRruUadxkw`4-%Xo;4*_Tri@cx~igTPIXgNw4%PQDTY5!CX))I z(dv5mg)q7;7y`c>R$oyLKVB9sZ=5MeZp>6y`!rcNAJS~O{5G%DnsIs|@~%gkI^6`mc36B&ogp9@2s!${@e zv9WNqUE@&5TvMz(R$UQA=Tw*1R9^&l^>xwmx=P5lbRpj7S64gHlZz*vIJOvAnx{vL zqO}daUu^@&p&28J#({UImseacZdiEosZ;VXZ}Nnv!9~bYQr{GtQQZ&aYKe^>7M`ue7L=4XHdQr>bWei+1gd~ceuR`iu}~O$Vs)KAVT3r>3V)i; zpJFHhNitabz(B%HHY9_D>T2*~K|C2qq-mzahR?3TU*;xPD8=)ldEFmt81|tQkOdEq?4wEOQWS@ zPb>}x$P0^_WX~?!t&|k(>zUNECUSKJAYdYNR`pP}RV`C0%4^CSS?}r1z_`II$=hEK zh5@VsGF5uID5wH2BaVnBd|Uw&=w(TAz;wo+F|e^}#y}X9TUw$GRgF#cbud!J=0<1d zqtZB|W<$(XZt7YK+?s9~K}Wa;5{h0kjxrpgl@kog#xqAyMJS)52FR&(bE;v;om|z_ zTnkeW9F<|NQ8DX+=#28}8l6j@&yT~3RMk}B>ScrPU?p1?%W(Nyr%=97<;9px<><2L zB6J}rJw+}H*Iy-6s;U&8bS<#J0|$h9s|7RBQlXSmS@b@q3>ya{vn&c|hTuAEgsNNu zZJF11mhHh|oW_O6)mDzHhjN9A5Az>g^Zgxyn@@j=r}leiFx1ed#Gqq^nPx#j!C)B0 zU@8W)F8IaWq6!!%3MyumH%8%ic&lSgMHOM_@+!h%UXcpCGFcTX@XU&MtM(*t4!`lq zwokObTn&;{(W;h;ss@}z>S{}MuMnzhQDs$K?8IRr!?N0@?f_YTyC#J5&EmZC>p&R9UbONpLL2OoI{Tx--mEO63&G!zD^WXbLpnU=J7|33Mm^YVI0E zV@W^+>rzCI#GU|H!*U-O#7GHsE;=HNGm5cI6*0_%>TvZeLsu~-kTpmbO}-_TH#Jo? z#=N73`H6A}lqD-BPkjcL{5Wl>LiC%S=}1k?9a2Px2FgVLoO%-lPUx9oG;pVIo{A$% zc6Xb;u+7*EaS|lzfu%izL2?=@>a1IehRW)B01XVy1w2_-77r@2$eyuzB~-&C)jOS} zC27Pj#kJYrdRPjZ8u&8mZ!ac4iOj0Uo4C)btVI|E4IkUo1S>aKr;?Gz3)CQOydIU~ znKZ1TrmDPA)Y>Vrp-pqj8;Yu-!Nf*X)s;`Lsft$5D4N#P2+u=Nv5-=9iip7Z5aYJa@SDCJB+S05~B! zvnm!XZBVnOdR3bWqcEY5HP+89D)D#=R&HjOMxmpd42~a`i z$6dpL`a2;C3jnanS{{qS5FRd(-5oRqtiDB)tHYC^F%%4MtP<53p53Y%tLiF5MVEDS zl4`5II-^P^+2?mvHa;;b%Snn+2(4@i=$%tOw<%h6VKcl~5MF}L)b+K!IO23Lb>1b`@O0=jp+|u+W*DwKfqWRB zWQHjlMgAOzXHPDT0-NkD67=td73B@(6|h>PGZ3!{48i_H0rv4g&?)Jw7^RoGe?n;wQ>}61q?&j!7fB zvqJnv3atCoH%bfDgToMu4L^5&MJ;_3O}FcciD;sj?! zVNw57zXdOOE9;Z)y1>E5Rl~c)nT_y9L%c37uZtB;7y5j4%h)|w8VG;$As&$AGF4K= zSx~@wDp3ufP;Jd5Q3JNUn&G{L=qR8S%jPu>dpNgwi4~g0D!rt|T93&g$@+tuKUAM+ zExt&iw|)tvCzBhj&|_%~gQg(56EOiTA1tcTkKr+Y|5|_z=%3ZWQtt}2QB)u9FHiR> zTe2iGW!yuI(-mm%XtvuK7ZiFs4ly1D*~Dm~xRUFl0^Nk$Kl&!^Fj0myv2X&_KHqDQ z?8$=tn70%2wcB`|yr&B)0jFTE3vPxT5#^PYja5xe^)tM0drM%>19XCnjidOCO^>wU z*+Ap7!PHc2m6`V)!Wp{nNTN?IR8t&S0MNNH73+`D46x(iy+#t5PNIJhd1n0sJOru! z!CM#IxettFw2lBZAwkZj498j@#vx9&CobPsCMhX6jw=}A>4HQLviVvpr z6qi7nrv|yrn)QTCnCzbQxGtI$mJ}4^aQNB4%KF-9c|`?u-Fk;gG*&({4D&+ChxA3P}A8WS@QpP%tniNRH{p98xa`RtX@uZcYY@1aFS`N1x2Xi(41INbdZ ze|n6@&P7%xSPdC22g-u{D7-I}`v^V5=_!-3_Y))L_=ZWq=5>DjeOF>)tp*Ca2Aoa! zRq*N^w|&-@w?y^QG}JsOU@;Yj`D&$n$nX^g))!l=ORd8EXbmyR8k2<8RAt~5-HiIi zIpvL&MU#2ihbO`02*-JSm+G-4o>&+kv{-s+?7o{4kFosS zG`s?xBDPg{wjKxy{Ss^hyr-?M9^YKs;2}bj-JKx?1!J4^23OgPyaa`iE_dIG`hkgB zL%|S8ENO&I%CHNff|@f@&<2U)aF14X4ZOpFJ|*RSAtKYl82y4-EoJ!7eAjTLd2$uJ z($c-Q*J|8Z25;HwE2?30@N9P}&qIYoC5_cWa_OwP!osL1Y`09v7IT`kh|;{pVi4>l zD6rV)%QUS}c#Ni%f3@krzcawCMs5X&Q%lH~)>01aE8xWwOk|}LOk}xnZS!TvyRFL2 zjCVIyoDBJPR(Z_z3Lnpn^(8S=y_$XI`d)U6^@oP$#;WM->c$wXfJ6TQZ?a)Tfs~f= z>D99fuv4z6fmQY>zWIc=CNt_Wm!(rg)$?ox5V)5cr&~?caRj(^S8&VmOE+e&$y9Mv zr{wk)%rviyn0T*;xDKCtaEY+6y1q%QpA0R6XBqh>C0f~3ADsoWp_(e}aQ#HG425su zO+^cQ5doL_-WWf{$bkP{5QGapyA>DS7ozbfkrV+=lg_Qh-BnNTi zRrq3tb9){kT;m0$)p5Y}7Z(w*6!!Km` zLWVaod=hAEBqNIC&uvC8IEP4=)Yz7Y=&oq z&^yvUa~M93;k^Ez%J6ZFekQ}YKj$%=`}1aobAR5?aPFVA4Cm$eM}~9%ZzA09&(9dn z{rL@(!~MBGRvhvVZ+8P2-opH#eqR}r=Q8|UMt>2*YZ%V`e+9#Ne{vnexjj!aocAZ& z7|!cq2s=}_Fq!*#ABJDd>>R>yZf6O@xtubFb2%3=oZE8^!@2yG4CncJn&G_Pc!A;b znEf9y{1S$L&hSea{tt%p`qqm+ctyWm#^?_q++W`gXE?8K1DPCN-$pQ;`|Tu#&u4m1 zV>tK2=?v%nc@yE-9bguV;Xht@?jT;6FW#Tu!te!5?{68-`*Zc1$S8-~^NCMyJt~9i z3nu3ZCjVQ)(Vtf`JhPi%6Tkh;@#%!Ce7y@ic-8rEF{uE&*@xdKs2%4b!qNVArnimZ zix_^J1%Hg;IEJcz_!WlpdKJo)2B2QvfA(QG?>|prcn6bT#&F&r)-#;9yGt3)+wVfc z{q^~3hV%M-1Czt+^IZ(*et4SU+z($dockej57$534OV}`gaLe^?ZeNi?f;0FJ|<3o+4gYudZQu z#-0KW^#8pXel4Rvh;Y9jj$kbLt7ju<{WD7=8tk79Ts!?~QF5#ArA z!@-0%`S246Zz0_82i0#Neh5xu4m| z@l_0mV_C$7`T8xxM>G6EhEHPn?-&lp*oh0}Jj8HS4-tQu;i^6Q@nR`Pj4hnLn&Gzm zKFZ|t{65C;0Zh&l3?IkvCmGJ`8}~z$(erZQdRH?!9Dj!4r!qOuGW-mN<8R8T@#S!a z<657>RlkS+T+49YuAgW4NleZQ44=wyUQfyx{vxBF&v4$qy})puuWuO6^>zW7c%l7V zZx+MXF}(*doc9CAF#Pw79{WcjG z4#SR$1BMj&5PR&EG+AI$Ga~W&h>6*IQR3H4CnKluNYp;?BV!X z4F8(ZU&wG?j%^I*<;eZ{4U@z1ZyC<*=Qy{Y<9uH6HztSsX9vT%-v4Ger~f;{dB4Zk z4f?YD?qu{_&OaE=`@`=o_%4QXIXJ0T{S3E1jp2isJ?RYR{Xeg7KV$T~zMabO5R=30 z>B4ZXm&+f^_s{8! zp8IDy!@Dy%a~RJ3_DhCyzg^96?zih1&i!^P!@1wM{TDGm9Kh&#`{Ls`$8B=>xU)CQ zFMqBa%k=X0)q~OV`M`;cp7*yrUtDh%lk?Bk%l*dtEABUrXOf>GOP=#mvl)I9Ceqc1 zLWFukzSNaN5yX2jT>tMQAEgXm|4=a3xi=lM9BNjUl;kJ*{c@P(L2S04%yvem1@ znVf!%KGk~Fm&qB!F6GRgWXh#K^TSVBF2^vvyj%t_JehJSX8Gmiat6bBxtwAtmx0Xx zyj;-ERLW%#vtN}Xnv&0O?q`l;S>lEC1wgOLHB+DxAI#(sEa-<==!Y_TB@g8fV|X%h z)Y=i!ayiGPD5sFob2%dz&h4@JVWfo~;feGQde^xRa(`^?p)~9exQ*#u2rdGIW zgLtpTT%_F>0lHM%K^*_TOZ=)XA%=eF3;*#t2LZSgz4|@Bc?{oAl8C=IG907ocl&N< zILco_JZl+_QT2O%n|-+Y9lpOX9ObMaIR}Si1e5W<`n|eQ3|D z2O>b%jf@`C)bGaK&TzEnd!kqSKap0w6U3y=j9xuMA>IWCF1V0h&86{vZ-%3M^?p$8 z=R|t-t_SIh8NGT2M_ldOMEV>A=vu_+^Arf-Qih}61F4=o#PGuz{RV~~!SJscuEums z{s+TRem|0bFuojx3++^EQ+R&_!;yYC(T`!c8Y7Uth~Y>-lISZLel!x&wSeJjjSG`j zF#H%r4B=Xat7lkD-puf08GVVvco*7VhxUgV-k0Gg zF?>A3PiA-}!y^o@WjOl3lKj7j;YE!8UWT8-@bwH=YaN)po#DldK6_7jgZWbLP!Ji) z@QIQ{{4HhpB!4TrJ;3A*44=a2zh-zT!+Y-~Z_xg!3?IsHwZ?_X zr3^oV(Z?9Bo&_*@3B%81^bavyt?gj)28OG(P{i@~mhnP6&k-^Crw>i$5I>jUg$zHB z;pZ?s%J6v%FJt(P3@>N+lMJ8E@OK$r!SJ07uVnbaH0eb9s~A3t;WHS14#Q_Md>+GR zG5kh`S2O%chM&*ycNu;G!*?>ghT-_T%6Osu*zV?2yX(vFS|p%rJj3f02;l^Vqa5`f zy@uiSjD8Wr8yLQn;V1{+HRAOU!!MMO_`8AOjST;q;Y|$hO%JG;-x$M(GQ64Lr3|0V z@EF6@nlL6WVR#Fpe~9688U7T*F~2WUem61vB1W$sHqd_cjsTPQKxVj9IpVu&yaq6Q zo`l5TVuoMB@EV3+%J4-Dzl`DcGW>FezwE=+7_*7tKWFsn2cpq_#E+!3-t@49_yWQ( z7|QU43@>H)6%3Ct{7Qx|VL0l@pmy?*57*DR1Dod7#>%HV1K~sk8O~C%#;Tg~f%wx% z&cMp@Sh+KBdQ+1#u(4j=V8X!YS@L&D1R31Xuam%!YY;17o};?)!)p0MC5pw9Z24gk zBQ5_C6RB`!MFss-0G!eRrx}B>+z#>ew*Gcjp6LRo1q6w_U(CiM^nP?3kJ57(y7)}l zpqKwFfQ`ogVQ@U9`~%-ObovA2I5h5;%PtXB0V=_GzaQf*K=bMG;+Iu|PB9#*EiHh9 zvy!5=IMN{3^UEw=+46h<axMuqt9-kq3zk3f{PsJ#GY`XGMswYN!lmYYq(396aW=;$oL1ic!-%)sm!iZmb zP~7}%YUSUF3C`wKXRmAe_*%pX?7qw;bsVwhj8tRh++zZ*hZ-BJbP{}0pX&X@foBPS zZ_aXlvM2A>W2EuaA>Uc;+QIDXrXS;6>D`rUI$he6IXE{W-s#KwwD?q*ECXC1TVEc&Efg$Af!$;5?}>rFW6ymY z)}x*MLc}?t?%BKgh-QyG=&{{?!a9h$B-EA2<9K&RlJVqnk03ag@kcq5+#?k8nZ$9p zp7VX(BgR#?074R<^c&DSI2!L{R!_0Pxr5?pP~ByM#vk#3a+QxnRoio%9;@5zKtdQ# zp%TDR!-ni8oGAHDEcb{oov$hmn}pde8@3H6XIjru zc;Dm{4`1LUV!s5_sn|gYZinkN!Sq09ctD5Rzk6qxd#vT99dCZ?>F(rl=5B>$Wr%AX zp3};`+Q7X@^sVmM#qy|ej|}YRyl1y#oBz>Tyyw($zhd}Jfq&YW-U)PBYJW<{hpY3+ z{i;kyZ+klS;7Q^h5prq}Z|LIH%+w!Sa>oyomIEFfD(==hm~42;gG-^K#XWXH)iGt2 zv&C=QkkM4m(Dt@@|AFHwAKW+bnxGs<{T&vX6!-~`A9%{R$7#u$=Qdh#;J8;tYJTG? zO|`{SH`%0vSC`<~NVH?n&34 zQUir_0{7y z)(^2(omz!WLLjTL_~sS;0WV?U#j4@QpS{i!FFf6oyMu2Dd<1ynvXo#{6gV1- zxB!u1ozzU1NW1r4t5LU?#HQItl}ImtiK?{v{A2uuae7mZ1!X)v+URL1$$i<13dIX| zSBy6iUvQhP@xLfGhzb-|{QP+xXOb7Bu-oVNt1p|L-=tP{;g9=8%NrZZ=lUxu{G4Wa z&A)!0;DS6%~0(nn|KI|D1~Yiq0OUeqxwMUHG|7*xoviVngpE&=GDex~a z`0qC<@Gmy--;@GB+KLyq|7N&PHvcOHx0io;3j7Zl_-{#pztg~fYYO}?8~ATafqx_M z^ZIvE3iWT3fgksdC+q($#Lvrb1z^eYe{JBuJq3RC-4NGbl7ju+ffg^$e_9IseGL3} zfV^b$-`BuDHwFFq#LvrrQ40Kp2K{%YVE=dnKeowa^N(eP7x({NaGxyyIR^e)085r% zeHX^{uSkJEM*6w`A5MWE&o;n|>%Tn(e)att=f4}|C7b^x2L1P>z`xwUe{Tx>_Yyz% zAD(NKto;ue`0q)9|4HKK{<|*)`_~!x?@xh$gMt5n6!h% zzc%P!n*#q%1OM|W@OQz@#BlNQ!*dpswO@UQ$@#HPCCjhQNbvX{>`9itFWJxef13io z`nH_g|6mII>f2?`k8L7Z`^TI7pMw4p1OKxr=vUvra{KXIm}KprW$^zCDeyNK`0>2Q zWc9Zg@{fH=viu7S`tcmcWce2v^y4{)$?`8V@V}G-{|W;?ew&f3{#6G4S5n}A(!h`B zIVP)roq_*9Q{dlV;9s8t|0V8@b1^w9u ze*7jUS^Wna`0+f+Wcm9MKkvV{rNEzW(2wU&w0)LDYaeh3< zFSac}{dm4hNQ$~DdI(W8|C_i69 zL#L$Amw_067D3!!et5Qw$^IRr|3u z&jjTr{i{fSp%kP4`t^r^*`$97Y_262D>=UeojL;8==nq|bV|6+^&#iXD6{|1A8e5Vip z0{zdGq(4#l-)zy}Y0!^*n*904HGPx*PST$%v#tO7^RM2?jPWIGC;e27ME`^Pul)LP zO~Iu9L(-394!?YA9JMCo*PppYa+MJ?mj7~y`}N~{Qj`8!2TI0?#IFLsemvvdRR3m? z{s=Lm{#zmL*FOsQP5K`p{fYX|nHK&JiQm6B639K*QVajr#E;_>zx@1*0Wjr%)f&lF zM$DLh94q|!f6k)61SckN4U&QW>(~FZMSu2ll7+Xwl>qtm`Kx#|(b?^|x5`m#vjtT>mP7{Q6f|^j~y{M$f7N3Dc7y%DGuR)3!Z+2Q6AzV&sTyf3{QAGQ=%4?*Wa0fc=Ed*7p%(q; zk^b>ovyAxl4+4Jp=lJ{YWu!ks{8)eR{fl3Jl|}!pr2ll{SAk!DnMMC5L;fE#=wD{h zzk~E2p%hc-*Z(Vv{v8JWPZ;#Cv*(4R7U(bml?&rrJD+Ut+ z<(K_}WGs_`82_J!xWD}FwdlWr^e3vncUtr}kbYi&I}Q3@wdj8&N&PQb^j~Svzs8{d zON;*3Nk2c^71#s)$6qY^mmB=Q)}X&%S9AG~%0X>#&ZZ3XUw{3bX5nwhku3c+r;Pad z+bsMy5PzcbUjY23`sd(-AzZxt*TKEN{=I6^|40sUd(YssiwDzB0e@}1-V*d4?rX=~NTlg;}{#h`-^2_hPbAjJf zel3)LoL}OF%Z2bzYHrYT)h6g0r!6WZ&>tCJ3_EK ze*gRR?+NF!oBUsyBtM=rZ{lwt{zUEPXTWdr|6ff{d)qx z$^V50{qGy}PqXN6BmER;E3mHcYl=mGi9!Dd!06BaN>1{}qe=Z%P043H1NoqJIbJ?<9U4Keie4 zpWNMCepmIAj1l5jf#3fp0>8=st8uac7q35`!@a-#%(Li!lk^u0DefPC{hedczlHQG z`!WC94f?lR^yeKdb^7)D^S{-iKmR`^KhOV{2K|S_`#H>$fBsQN`uj^U`maC#hXTLJ z|7E0~_upR|^j~Yyzs!<cUttXCH;x~ zf2&1*<}1>0?*H!%`gdCNe?$5Q`tt8D|G!!E=NR;3LHqlk6X6A|sr(N=Mk)sJp3AQv ze+R_GUqJkY9&Sm?p?csq)t^GLpZ6d5uFr2j{;r5ge>LfcWY6Wdf6r_)e+%)`GNzW{ zum2Sm{_BW;h~|_LKmU2aZ_58HL-}H57K$-sW>j~1I zX#QOZ{3iYVUX_Y@|B+?Tzs{ongCza;orV7k;-5zOR{`dgU*A~lA4B$+5i$C&m%;u~ zFu_Nee*c|(tYj=8eiiuj9|!y<|1CH8ueU+}B^LcHq~BkD{`T8q(ZAZDe?No%6&C$B zC7J)5E&A6R^!G97|IDI)J?TGOIi5m){y(XhEdJq=br-nruyTomn^*f9b&NmMvMM&q(4#pz22g~k3s)o2L1c)YxZA^^!vvz zfBv(9-<1D+gZ^BD{>v@;uSrt>Jd6H_LI2?f{o5@1?@!YIpIG#l8T21v&_8HDv;W^G z{iV9*$%x>p&XzdLkLDAPZF-b(t5J=%irZ@K}$$$!&cmy8kONB`koIluo(Ec!nu z{rCCwqpkcp)uMkn>EBMosDFq-|DP=SZ={OrumAq?D}a4gXp`T6cPGi;X5n8={4;oF zA@0xr0^m3KfAN1wM#!GHF#pFH^1s8P|IopbZxr#Xz_0%+i~g0QpNdhe|Bo=}KLhqj zp-jL3&LaIeN->3g|KDNZzlivICgA_Og}mSnc>wXLWF5<7|#1QxM-v#_8`?r(*EyR!YXAJ!Jx8IK}`ezN1jEU?Y1pAcGCV%2K%cl`Ztk&m|l4){!L^*Z$Bp) z?C%B>G?V}Ghf2jcKK*|C&#>^95Pzcfb06{Jw~73kMf|Hc2ys<^6uc7nP34#UhNRep znS%@KAAUcj_*K8Q!D4@(VUjP=`s1q>{oCJ^{1F)l{ly0T-&pidC;jvoOj3g5=XQ(! z!nY&~FMmA0&!7MO4wdEa_y1zj-=HkU`6X$0Z{mVB>7M}mf2K_Y_{R4+f{zT8;GcEep8}yeN^e-X(e*aG+{fYd4 zwMD=4M`=IzKkn66<)`X@rzQXENPi;#KVi{d_;%3$(+v9mY|;O1lK%g|qJNe_|5*n8 z-C>^>z>eSlImdbJmv^rJ)O|PLH`V`Tq@TC{a}4^2TlANZ{%oa)LREeWF0km|WXS({ z2K{G~e*CtZUuC4fHwPi^w`ab^{ubg_^-PKJ+kdge{_J-o2lrpO!Twt<_Ae&={_)3e z|5}UvE0eVU8H@eX4E9$V?Ej0!{!WX2zy15=nCtIG3%}q0J%Qg;f0rBVpJ}jvH0k%( zpY5c7KUs|WuiySk;`g_|%tFcHr}x_*1%8wLTgd)=(v0KJ`3C#jNWb6y9MYet{@)M$ zI7jtuGjj@w-*2zFSK(d2FYE^y{Oa?ryi@H5?XNZ1|4fd#{Kq8FuXH^Q{3ie98}!#3 z^nYd1A4yXG=NA1DgZ>K*`VY&M`B&wv@>N3m`znA!5FsuV_9K3Rbr2(d4Nye!DSR~X z`?^o3h4|O|Iv`cps7NUo zTsWdYaFp$NS-AM5^fcF^H0OkXeAHF)OP6MhP(H?aIPD?9c@x}Y>dh1`r|=dEZ>8`y z3RggQJH_vS@J@=~1>xNkzX!s5DURz;_fz}<2v<@3w-7!^@!vuC5XB#c@DYkX3gK#s zKL+9B6n_H3Cn^3Egilla83;Qm{w#%SAbgJEYbku5!WSTXk>cwh{5{2Ag76O%e;LC6 zr1&ckzDn`+5WYt7*CG5bif@4M4T`@B;ae2n2q8{M(bqUN!4SJ>46&+X_$T=P9>w2> za1+HppzuQqKZ0;G#c@yEpDF$cgj*>7DTJR<9IGPA-vPXfJ&)p-KzJ$qzYPA*C+uQT%!emqGX+6u*JOUqg5! z#eYNLO%UEp@#PfW0^zL`zm38b5Z+GlJ1D#p!j%-ii^6*$ybu0QjkJ9nY2B6`X}e@c zq&>Xj@$OJKkq$9}N7`P*uFZ+GXNaJqBpXR0Z4eN$c(F)Fuw>fe-#@n)<&7%h5+iM2h#t_nAeIH4v1yU^g*l$2=OXPP$X{7;dk&;|*xIur zm#@K5I?~4wC1CI6%itC|7ZdeZV zk@h{?A4Va98$I$`BuO8&3Tx6n4etUI{6(PZT?9+;EmhdELdYugDfWx1uBZyou~gI$ zs-kVLJr1&WJ&k{Kw!Bs5#f6<{m)D5%7trz^o51b!`~)YX~u_)5UEcZ4Jq0z_S}^+o-c3+DP2QF<_%ht~pav(;nVZ85ttGidcp$gUi=q z=W_PgbIyHE^k3L_b%@G;uG<62PHoFGv%syA4J-y}qA;oDwr$+HpU0d{+TPZ+*+PNn z(f)txA!lGU)K%Ft5cunxDBz!}hl~W8XQHlw_mI>h-jh;~nER9Wh_SgpQEw>yp?beF zv2Xf!@AvQCPqlk%@Anuq3Fq;>u#fQ0p44O~iAkb6N5m&Cm?Lfx1I5FeM6h%t1Z^D~ z;BR1#h+ul`un2yE0%qWZO_|X#8X?)yw=YB)x)W<#=*apl(ALgOmXaw`B!LqV15BhH z#^I#`YI|$f`cbvb{h@J4N)L&Eh@{(U^vu=_>~tKQPT^^?z@{Z{0^BD#(zY;L>es?u zDlHtS`ba84Ohtr)nZyYg@m$tYF{i?%9B)tEzEFCYroC-AuPH&1?gS1dx&rA~*nkPG z+cM8jANyD>h#I>Z|3=g_rjNKGNl;Bdl;B{KT!pAvHtC|pg>)-U(dPN5Pq^ZOF-&4&Y zBeI+Iv~p8^bq6imGk9vL?x24_exZ;3DVsIq*Hbre5Mhf9qU^CyWlh6O%IW~4psJ?I zWnMDv3va#r6qf+yqoy1rq@U%ZrW%7drXN3{o0GVF2<6=DA#}Gyf3)@Z-Q=SuV%}_i zs4+U9yJeE*j+h>kJF2$-i=L7HN6ixPbx;zs#K6b|^S*qj?SV<7i7+txI}?^86tk+y zf^idCL(6tBvy)BEqQpll`yfvbEoOnT@yX`$e|Hurdm@?3w%wWqatWSUU;_+&diX^u z|Df$15ACx+6K|lp{D9%&Uo{KF8n(MWG4cNI_euO&U<)kT$E{Gp0iCQXP{XU{vbxR7 zmAw?_j$dY-g9EgPYYEoM=$%LQ6pPQA%c|GQmHnGesdpp1d%(9PIM@9$E4u^D(POuS z<%%o3kZ2W;UTL2;?A-ln>c?`L>V3eMy#h^FH-cL|4{64J_sSGQ11p~hvX#%?$W9Be z-jz?3q5I!9`MB4Z@%pE?n=r-&4&*0=a*ga6eL# z1ivHsvP*kM971b3sa#@HkpmnUzEn4rFSBI9sMSGKk@jiCQWVLo4sMrkGlT|vSAgD^ zrD69z?yTeHOQ(CxH@5T_7vkF=a4lASukSIz<9h^>@_ih_c)r(No9laB3H`oD6+g`P z_`AM7$HrNi)wa1SmD)CX^xU0(?2F7G^hQpizECkNY;W@sNq}Z{VRJAtjW+y{&nwR;7QDR95>6T zrmDslwShbFmTuK!v~C*%o5a^e+L}8fZBtjbO?asFl80D_fIH@u7SAJTc(v{g0&}Vv zk*rHWTzC@{-D=qF>~77ml5T;AhA{jY(AgG#_sgvQ6X1^k&UqG|lzu-WYv8k4zr;@+ z^xeWR+_hfvZbsG>dqJ!{{BES9_d;1T@R|mYF6ohFk&b-@l(v2sS_4*5H3m!c(+U`h z`>j8fI|HpmFb7nW`0-90ae|VOuS=Gk@hnM+$7S4lp2sjgWM^9Q;L9)BfzJ!gM@M*dq*A7} z6SWyh7BzgpfP$Vzwr8NGI9pagCv)y|5aSm%s$&Tl+tgIm7^|+Y%gHN`R*!9*S&=h( zbWTBD&W!TvnySi?IYc+8vA#YwsJ6MGyb%~$2FY+xZNsF7#@NLAx^cA)H7x@x8XBCO zn(Df$9A}_&Y)j6uIdxSt%VX8Et8$vEXV&G^H&iv2$LbrMW1M3!wV}SL+K^h;TswO7 zV4=C?n7KeVwz3lFz{nZ(jX8DobrtoXuBs(xc6m*6Rg=@yJU!M}UV#)&f2X#&CRW{0 zQ(Xay0T|>|R?n_(!svNUIb=|Yrkr_$mh({GIr+!Ax z+<}SwQB+!gK~>$rSx#-V0isH})qfMpV~y1$VvF7rcoZ0o&l`;(r5d1rGWEi~JPY7>_HAdkk8k^ftb>sjN$-({ua?nzrZFsBf zli3p1jg4WpB!}NHZI==y%}*r7n8|=FC6kBd{7-3~{v+kzEPq0C%|BKC`0CmJRQV+t?_&+9-*r6lMfuSDL;6Gn#n+jh~z`F32;a&4D*)=2975-K?d)C)v51O=u?kGXX zsj$e=U#7wAV2nE^!xv|*onWOJqwxzg-H8XjY6IE^m5w=9ap>^Dv9LZ9o(>a%c|Uu( zoAYj3#*^Kg&(ktic60tCJp+(c=`X@qu)IrW+Na%|Te@caBGY-VYx?gpoh!O!+?MIw z)-40#o4eHrLEU?Upd&N#ov{$QfY4%ZPK)5H((X&c4;a5oKk)i&XKg5>HQRYRl<`HDv!u%b@SSv* zjQg^k`!g~g@9F$4qyLxL&MRFr-ph72cg=Vy+qtRR(SWyS_P@KQ^I>Mjbv>OOnHfLt z={&f{hBQc6u@@Ns-d_E8^>iNYp0Ty3^M~#kZ}oH*?hRW`U)j6=Q@xzqdt}_z%Xy+l z#?oHSH$C2i1uDp^KkprBm*HoTZ>Jx)7G#DpR`qlq4`tlg)A>3C7XG$N#@juet1>b^ z>E*nY(f{UN&i!38+Iu-`yJq~Yr}KT+qXFOAt^ZrSoHdyl&-HRPW@bFl%ei)sZ_*** zzV2Y*r``MCyN}bkcgC`PoHzH*Sg?F*P;dAcklmpFXxTDGhP5&_s)0_9Roi4yhnd9>G>=)>7A^M?Y*3(+5cg- zU`Qi~xj(J{4PBju=^4N1>ijxA1AZUwjdaM!s!;!pU7ahsWUTG#{H9CBs;j z+!uv%v!-S=rM0E)3E#-x;!;U#6`h*YiEmS7e+S>FPTkJ8ts9B^W&w&H{CG#WuM0yC8rLZ6?|4(@6$Mtur(sFP< zu%qpgukj%o{$z)Dh=(`zOfDa^|2Z`gXE4}6+Z}%klW1gNXS4py=Sk5h<(G*3QBIQ5 zj3X$K5LAI}X$n->La4AC+nP7P0>(Pu0wIjrainVZGBsK=hof=b^zUk=w^W; z1~VqDYeabGJY5)gaD!o)2PT`~h<2DDwypt2{k^nzKKM_w3XiTx*($6NeV|6bq_$bO zif0<~A~E+HsjY`%!TFrSUu3kd?PDyrcr#O98rsxP+tfC7W29}udZDv@Dufd@$ErOg}KuGqzweQnjiLJ{8Ai8OfBP!{iFYH8&sw*2#n@ zy?a8}N!>O}wAiE9MB3Izp4|ak>eob8fAP7zB3Tct@jlT=Gk^_;ePGzsC2}+dp-9@g zlquDS#d54|RB3W-gh@gdRNW?m?J{ekZ-5k$i8c{z*OLX&UU=4pe<0_24#DF}o57M` z4ZxzrqIPSdsd9>5CACs-r-=?c#{ugh1u0bhlp4ULP#nr{NUUqBPbyRfAvxf0_2jA=G<1HEV_+%PRMBAB86F}p z+2O69oZ~Fw{FkV>zWv;0p^Hd&IY))T56*ee6^`Aw`I8(J`4Ujz_mZF(+fL zmnsZ>9Lv>+@cOLl#Ye4pER2^F^UvG?Rj8Sm|EOF6B@7)TlP9V&wR5UNAEOgR!R1!2jR%YZNxlZ2YHTFa~R)ZaVjwo>EbVf0hf8BsO@=v zTio_#aogw0DaCCcM%r|3`SjP)v0!N*oD2}PkgqxPJS?71T(Oc$h@cJz;|bkm=(}k&V4WfL zd|PnV#V6rA3ZSM0CS8ls1^yFYyrTp>?vv}|jbpl2Ii&~-#kD%+l;(3RxY7{ z7C`|Hx(5?}HAzF&V5-c3oXCxVJgfu#olthGdCP!aOG@=*mfqA;PNGdZ zu>4SngHZca$O61(Qcw>t!<(G}6 z3{^tsFhMD+zS>_e-EtWb-Yy<-)Y*2yg$^n~Q~#-+B>U(p-40Js#2}sm&V`)4_e={+ z@`a_)jNwtBxa|{hxAg#|X?suI7q{sa4gETunE>n>XK2=1M)I)T1TutKmU{tCgReGLsfkm9PN~uVn4;4lBvM5|UL+Hdg3^BduRd+xn>Lx#VCWDj_vz z7AN8j$y)c%qx-j?lJo7q{q%1?CFgE)Om;XjeKarH^WUwIPId6V&S=N_@c=E_dU{k4ApcrQ&*kaoxcr+beGX4gZ`Ax<@PiMyCgLBJ&-5aZ zj(OOII9%vQPd-k@d`O3*9mOQac(+4`Cm<-dum$y&R?c4HpXu9@u4ZQru%a*T2 zl)ey&v_11R|GkuMD<|c*MEU-jBFG z0!p{#OZhEPzFsCdrhJV8mp(-K{)4$ZU#EP%-$iDG3h;|GEC8(E12V8+?D;6BbXz`# zl6{Htv4rH9@-YWXMb>3{Q-!+FAdVgI%S_IHO9Nbs`R|8O(9d&)Z88cM&%)w7P|n0$(M zY@zh)Ag=99zeWha^h_Mo;WDM89oxx{vmqX^<22Wf5|VQe3RC$x-A!+Zla6|(k)7w8 z^pr_CIgqCOHr`KnnXBtv(scyTXj@1I=6NTjW1G_H^)COx&`;piAOEPlRJrM+;-u#Q zOJ9~(kI$Gt=97%mxsG({P_%J5rQd`ZagU8yze=T^ z97x-4qf0+i5TUKbFkavl!9U7hY(7>)={2BEfM?>FBR~N}q*eiOS=tSA{ydEXru@8k!aYOHj`=qAP;9rb{2M z?QEg+N>92wr&~tpVpq7*(;(P|uU1of0q2))5a}B!{Yai(?(*-T^b>gcTsOT>cTAAK z!>jFQWmQP&`yi3BZ=%aTjnb|8r*vD}TSn|-}Mmp)D^7P z9j=`Y9v%Rfsm|sAo{1^empvo+VdO z`XM}hn#;eA(rxx_Nx+{e6r1aN4(RMh>7MaXKL7j@t-x|FCK_8A)FjZch|;I=JW3tn zX%Ka+A{tvh*HgL(R5>s|Zl`opT}1iWVj=>+LCS47Px=|#)eiFGRS*xfs|9X(Od~lq zU$juVEg#D$-B#YK6QplUAb$s?oB9v*L!X}L0CRo7^g>EE*^hq8A^F!pJm9A*TtCex zIiCK7^&QJ8UASG9C$+17Ap1(vQ|;GN)Dc?Lr8Oh{Y`5$lBHH`>wAk0&=GxR-EZErd zJ~TmkDW%TO8s!tVUa}#9{;w(B z=F@k{=ZSoZwu})2Ap9OMw^c47h(4i=(rtO2Pw6?FpXGHqrQ7n_N$KM_|E01lvA8!; zdRI(`3vK?IFjLz^p57uej>CES5oXg9G4Py2m`%?-1JB|FdR7^D)+W%i*}$_Sfu26% zupF-s1`uY;PqBfgj4+$u<{NmHB+&DafoEL;JzESsI}_+Rct5N$ULWKWX3I~Bfv1u% zo8J}~c$N`nnm^`%O{*zgWI^=-C9>Y5&9-YZtSNMH{%YKB5OS6o*+R|@7W~&1{Kf!| zOOk1hi_;RNpbI%S1?Uk7IX7GIh26Q)kh9*sVX=_& zI=geDA!mbo!(t)lO?Kx-L(WF`hQ&h8+w9JbhMafY8x{-cH)srmXvq1K7ofY4^S%ZD zz=D5h!9TL#A6xKGEcmAue5(cDX2CzV;M*|2r;8_;Drv=}~g70g=_qX5&SaAF}GI)iY zLo7HRY8<>m4j$JSyh2W%1@CLYkFelJTJU}r{Adf_-+~XY-~%oAAPZh#!G~CI^+ww3 zyO1;7LSJaXM_TaXE%;~){xb_c)`E|-;9(1Xk_C@g@KY>!u?3%C!6#Yp(=7O83y#O0 z2CtAa)qn-?&7QD%VH(T&I7JRM+zu1CbV!U?kvOb9Q4T!!$cy@urX=z5>gq*traxfv};L};~g6CNazAAwKO+2^o zr*kQ9Z}HqnFXNetqXeGG5E&gK@I3URRiRZj2KOSpg*epym~fzyI9!%q}AEg~}fEP=!EkG|_tfgk8Y z9XR(8A@P>Olh!HlLp>PYY!vum0UUq7#&L22c#hcTk{iHJ61Z5A^Q6@X9N#Q>uU`xN zXfFtNF9}?{P4c8=bj4d-eezz%34DMTgu6t*0)bx=z{3K+EP$UW@XG^u zqrh7OI07L!c+->+GC$q{z32=AEFnlST_Mk^o=XvOM5S;6iiPwW1#eQw5l;1ja2Ik! z<_vhSpFyIK6YOUs9_(i%9_(i%9_(i%9_(i%9_(i%9_(i%9_(i%9_(i%PA_cmhFu}~ z)`=l98glsP;Ua{5^CVE=}MAt%_sN&Fy-99*>yUhw=I1OW*- z!Tt~lLr$%BKP>TM12QB&(1H)L;55ncrG}hfKQHAE_EE~)kTb-B54GUI@d63qx!yv5oCPnm z;3F(}a6Cf7kaN6+ev}0tZNd5KxJwdpe&*h=SjZW}?%Zg|8SCD#Sjah%-MP__GtRwX zv5+&K-MP__6LxP{EaaTT?%Zg|IoZ8ov5?%A#Sj?{IYj{sfsk{G1wYk-7hCWN7JQ-w z56&x)Fyxe2=!5eONk7>_KgEKVTJWhB{B#R`h6NAKe~=K?Ni6hdS@5$h_&FB*Tnm1l z1&>6Y*fN1H*SMm8P~f*{T+KM~yMsI@ zh`%TBTQ$9!k#yMu>2K3`gkpyQ-iz(qQ6uqCz_T^A8#%>-R{@^uxa+j5h-I!t{#AhI zv3)FRhPTop|3eG?PJ!Q{4LpWo`@*Aa9@`J2@PUA1eoKfBzb(aU2H?5r?s_1&QCvR< z+~kMXE%=^$ndy65@MA4_g9U#Y@Lb1TuU59bX`%lR@I2>P$_;&c2X`6W5nrS6F%;_u zxRR+8A#%J0pJc&jSnw7L{-6c#xwqM#(H4BN1;5sU-(taQE#>x-^GUjaPN zxl6lD&1~?y0h2#>S@7OH%yI?_{2nbomtv;^p6j^pHS!6su+YyJ_CLs^_#FYt$;*%mm7KAF=Q@|C zDT7u~9?_!qcd1~8B96I1#9 ztH7Vv^onin@&HG3I)QM}6p#L4+IgXlv-43`ZzmHkyUl+Ktn!W`Fsh?T!bg%>M`IhWa z_2eMJPwFjAQuSmI;JJ?bo_7^le4>T^bi!{SIrvRFULAz5rX@k;hn0ZmIgd&r_^awU z?vpp+8%fSfBuCl*SHcfGOo~$WXMi2Kj{Ck_+203n^n;&%0O55c2fsbXs{-&mwm(ok zA^(EtM;nHHHH9nMLlLh{c#`{xjuE5_7;5Q5W6^)-wu{8q!lg5?(TLk{T#!shM z_5o;T&_DeI{(+{4>7}^N5O~l(^#cDeK!20KgMNNR;2&#xy<&AB+ViQ#)$_|}fq$ZL zMSs4)gMMBt@U5D@2gTM4e4ECVpT8IQ=Ni9|V#C3Kd2AoA^5;1M->&Hu-X`#`H7>q? zhP&ShJm}941s?QU&x29#M_P`OUu?mz5cs#6zKCKk2z-ae)qJ(fAt*oS|KS4vPSX#g zSWMtS|KB3;otnOYVp|3Ny~dBESPvLK@^I@oT_;djB=Dd=XAAsGMJ~TLhr4wG|0;m@ zfbk=b?Y~v!K1tvqtrvzZaWx3s-G8h6c8kEfYI@a9UlsTs8ZRX|I|SZM<5LJfJO}M@ z_upPm_%#CWsp*Ree@x(eYh2a;j|85jaYbL8i}Kz5x2is`68OFW`nLq`?!Q&#bubi4 zo)fG;XA9ijm#fNgj=&Gn@`sT94+z}dmphQ~F9h!H%T;>&AC7w6{kMfgUn%flJ-J!n z?!MeCC12o2XnUagiEDIUlz*hgmEOkz&n6lkyllbWw&0%$`R@K+rS~`(2=bhxwO&;Z zmkQk7-+LV??*Wd@bKL#C%Fi3{k_U>1CK(z z!SX#t;O@R(Rj*nF?(X{qw~MP&;O@TPs|eq(AIi_w_9**D3*6lg4CaaJT!9D6@g9L6 zujQzG9RTyHJSXV?83K3r39E8>LE!GbVuc?C8O(FW2INNtK2GDRy}v5(u*Oxsz7_aM z8dr7>I0ogr`-iWg{9Y{ZV7c5caCcv^YVV&2e1eu=O>*`hfbu74Ts`^UB=FNTuI$_< zaCiT(!biY-G0&Nz>1UAq-w1rF#zztUt-#%V!aWHeGZ5vt`-*c2Zxgt?e^|-iDsXq7 zu*%ngFyYK|+{Es=Ou$Iqp7iWpBB_YXkmiCVEAu?7y1m{rS4fBL6ACa~*g8u(D^ppubS- zReClHyh-Cq&kmwjbjqGyFyYB_ngV_vAn>64F@Wbfzt-}VJyQg|yDweonJI90U%ImA zVxm`c%ATb}ujmy1fJOdufaf~y{%2*+n}Xim->&q0CUAFuyVCPL(JMNow+~E=^PI~9 z{uwOrp!|~n&xN13rfRHrjGYI#slNTfg5M+Lw`w`cuC)SRsBvZgpDc3zZo&Hw$9%O0 z+TA#TFAU^&I^ah8E%?JEU-?1V|B8kF&w%H`511=@RgT{YIc*wOaID$4%x({2L=3N80?QPXlOSVA^U+mxGWn}vklVv|C-Znw#{T}ZNFvuRUAD6~Zi zREnaaR;`MN2#VmP%B>0_Dq_8(g4W;br3gw@`A8SE0m(TU(D$Wv zbb5K;V7hB)Xl_F?o$k&q%MA7u)5LN~xsp;6vh$+XG1F_28&fMYJ*kEBJJL;^ z`Af2W?ZrYH{g~EvcBW@An@XkH=X6X-=Tb=$-o7x^*?DgIj79TjceX8$Rp|n(4ZPBrTlNQO|K%`tI$L%KA1ot*viaZpf|+U+QgFB$MWK-}H8H zyRu0MoR#adE7UvEX|OqQ8a7Ux27nW%P!kCLH}95m=$N43_{pd@r; z+LWhF2vVKuFdH`_JBrg*X1geX#n_0NEJ|@C^eW@%OXLqrU$InWQKHmaa4 zBdtnqKfou7S3~K*#y%`Ax6Wy1fx_?f>GKi!6?Nb7E4xG5vDf*`&RX~b02i~ zw6E;oR&|hDJBrCE>9+hpdO?4-uQ%VFRW(-XZjjU+Pv}WO^?^!HC6Y~T1AG|JX}_Z@ z(~~LafreB>gjMPgX)^BY2Bw$8%Yrk`=ty;@J7>A#1BA9r#fJzd194JCL1WO=}<^VyT%fy=4K~0n?Gh!9M5jLa38A#A_PF*3ptd8b}LqqBQY+)eZM@R7D>h#Kb zb_DgDX;~AtjM|sY^!nRJJ}Ze36*)ZvZKXa*Eo5RXKW{{Lrc)hL)6`4Kj(pERin@!u zoH406o6Zh(W&3%q!6b8Dt*ui?BlIx3mYT6}4mzR2?&Tor)H&W-F-5naxT26>rHocF z?3`Qo7hwSSXM!w+h3I1}8Jr7eOB&MiK0_u`_e@88E~H6KRDvffY_NZfPz_B&lgX6K z+-OFa%DqaLs)oiKDjk$g#>OSNUj@ptLe>frXjxV9tUa@+Z&i*awF|QYgS}bOLGxZZ zdFonmNqSi(*Aw-p$w|}C%oba+16@&c!ECf4-UHLxR1{Deqa%Tuq)KLrSi;m4L8|@U zIc$4!^&Z)C|@_lsjLyo3n z5`FU#$pm)naHbCiCb!3`A}eE)b;zMH@=Eh4Cm@}fjkRY3 z6dERw>l`N)?8t@rRRc(+$4e8{w9)EG#aUC;0a#POFt0p;k-PN_Q1xRhp^ztDpCs0$ z<{a^atqyRk)6sBJ9G#HqsgUo?-V6kX6zdRBD#0XvrNMM{Y4l=5ncy_@Cv$ciMo~lz zk<86B^6l^saiEVGb~qDOaX8EHHnK{6V``kO(%Oy7bfz#2 z&Q|g1eQB!*jkk))>{bz0MXUUAN7m}o$*2!Vw5Q>0NOZJ`Qj#{%(QvA8Hk_|tls25u zc*B{@Za868G(2h*@p)RsT3oHt+8wQ;3TLbM>Pu;>)Vg?b3|7&=WV%%y#VP&yRc+n5 z6kNAW(xtZkLcTX&%%&UK==7#OJ)e#cbiyhqpUo~F;B&JEx;8vO7vzfB<=KKd$)$Nb zUCZT*w$sw-;_Ch^Wwge08=Z7A$5geKDkTc3`E;31P{}HjXpG6P%IVZpkJH%+E~hi@ z%nVdvJKd23NoJHu=_CwtFrEKPEJarbu-aUoAu9UjE* z_b+%JB+@K*lO{DmflD^SUS%=vx5SuksZfj|AKsN@n;k5bTs#xDO1zhBO3zC#%k|K; zE_2~MD>`)_Mpx3j7uzapOGH(HNV*p^FTFflOn3I1Gj&=jl>4cp*p#Nzp<*Gwx~)An z!07Vs%1+KN3u&xTT2sk>c>gA+k{Y_iNB6}t#dNl>JJl}Nt%v6`F{6@Xxht{}@o-_R zPp0+Ny9#5-M1FCY_Z&Z8TBUHSgieEP?^+s@CGNTi|NL3&qZRu81Jmk!b$XeEV?T~X`&fiz6| z>5JcYNiC%#3*{Sip;2`LX_f{{GurGHr&ccPq~4Qj^<@sHO^RadktM`=$-&l+HUQ9IaFM#)uvl6t%O|W%S{-MGY99 z4(#tJHdba)>~ImzVaQ18ATf15S>4voP!pR@qm1lsNq5ZF_bj4gPr2q-po>-V5o-n> zu}ov)$2J-w+LT5$f#$V8M4#ljFjs(5hY@nvq-l-HtwZ5NL z**Hr=XoabIT6o*kmoiexdPutqsgZo#=G04msgHX_O>X+)Ug1m{PotqXWNwkp3=Xx; zU0R80jiZx7>y;?;$*wi?qL7<~^HYbQEI@QH@m88=2JW|&R zxg1}}%6$)2Pub4YmTh{aEmw0e6~5_Sz5y)v+Fzw(vArB}Gj$?K(lJbp*WUa}ntV2> zSbIHuYA3KHpW**cWiUx!YTVHXK!3&ZmmX`H%+>H1G0z8RV#8)f*)G`>AJr=1m$F4^ z&Ke74PU*sfv3;nf`3$DC3Q|*(IaJaO$p)2^uv>?-BbLQ5kG?s^7ZMIRz z6UjEtUPkv-qXb7DXBtd171&-ux=^M=x}Y;?lP=<+8O=3lP9#qvQJ<7)S;sW)vXq|M z^YB9Xz6VmOQZOAAOo?SAm5}0(z3?&CjLc~qQ0zsOD2F>}mT9EVQ8axgM@?1pM}4SO zvqznm(Gl2Bm}gwgL0U(ep~lc;*DeyLB>BaJjsp=WzzI%&Uwm6i}imrDBZ%yrIaJXgS3hP&bSmL(+c!lYQ8s}>FT2V z89pYKE@qaeXga5PtcS+h>1bvmWCovJaPuR3>9o=}6u>+_+vJ;w4p*s5`KgpXQz`4$ z@}B4xpGGFSv{qnqf4}aW*Y3}l(VQA|FwwPxY3$8m#{lOpYY1TM4L3fUdNV`m@bWil zA@8e6D9sGJ^~7Bd!RgELg;kkCcN=vQ9xWHp0hJTwv_e)*_vm4%Y$4m%m2KmgXjC^+ zI2s}zof7m&jXHp1BqljJMW$@V`I4qiRLTd*>o)i*jFJkhHenJu0iG|Sd-0)f!A+^u zFs`K|e&||xj>_C^QYXLa=AAq-LytyvsHg2>PXH*2@D}t8dgLLOYZ>hAj}fuG(X%wk z@a3+94w46BcfHd+^E>0VNpV&fK1qemy`4oki(N6+i8jIL6}sF!w&dxbJvoyCd z$+L>C9=hY99;~3-vCHz@ip~ykMti0}&%&t(U=<$c=E?j(ZWsY3*(zRreh?maK#wA$ z1Y|>$5NwDBs14D80Vvji3fFpZ8~}OfO2A@Il`>Apy{24#KwXn-Y@_o)eZwi;J&;eY zphV~f5~em~`*|1XRFBKiHShkiHU z8$s_YmYl5oHg5*v_M)Bp6E7FW-wkq31pG$8%^OXaeiPvHfu8>h-1yDBv4i{NTENX4 zFBs?lLN@dlgB*T4g~82#>a*VW0?skOh4Cu@H~*>3IPV)dW@Rl~&J!ZX^luLnProMQSV;`=M9ewW9Oj>`ay;DVtXe8&i{>V z>^TK+ev5;_7Xbc2zzcx$e{UQ5s{qG-{}AA4|HFV|ygdmxzs14G|Fz(D{5%6V#?K2N z2jgcC=}+FEod*KG8T9J)#I!&8ztW98Q-Pk}?qKjU0Y`r>1RUwR0Y`iCfFu27fTNu^ z0e%hGvl(!db2s201N!d@ZsKY=2NRV)0R88I{vUwf1^8YZlvKEy$C~laL4cz@Ckt-$ zu2tMYFbn80&$kKA@o*2wKi`9Y1LRwMvB%{3=Ybyc=ZhA-$@4FJ==FMQ zytbeozb4P`D=&UvzoGoY0mnQ)L2x4{D}Fm3=uyrTz;WCy037pt25`*t{eWZKt`giH zr&j@ve6qyR^MwgZmzO94lFdI3lJA;8hj z8v)0>{UN|n&gTHfy!~y#O&(aU-4*-}=rM2qH{f4^akS^&k)JVd9{@PobDH2rugTjf zp#K`kpDXwYq~<=rFY@491vm0vA|5V}Sh&fz-?i|MYw}>b;2h5ng5F;P{t)2*@ZewC zM+;;*+kpO25B@aZI9{Fy{OcfRlpJVS{x<-h0r$R7MSx>m^#YD@TNL~R zl7sW}D*(rFx&h?iIQj6i5-UB$!Pd)-T9``>FIOgZC0gm*K1CI9W037Z46X0mir~_5AO4>CZaFlZl;3(%* zz;S$?2{_t+F5qZ?FW{*6GQd&qdcaZs2LMO;p9LJ{Zv`CXKMXj^{~6#oZ+u>GGrzi1 zyEoY9pvccSZ+sKrPe5Ke5pbM0HUW3@D~gJxZp1e&h|YBdTS2W1dQW(T%8AB?!n*d!S4ec=Q)pi@c#lF z^WNV9$Go@qA(8!<_ud9L=DkILW8Uiq9OHHXaE#l_1h@0vI>0gS-3W3p?|l+*oM+wx zc+78re-rxgmw;m)djW8iGvUz4Z;yhU;{nIx(dmF=zg!47%DEbF?5__1j{Ws*z_Gu6 z4LJ7Kp8?1I`ZwU%U!&v(jNM=R0gnB3nBY7vu)n4Pj_o}SaP%9mL&AmSpx-V99Ob+p zaP-?}0Y|?*4LJJkZ-ArUM$$SVT-YA;+x~!~-^L4W`)wlN=(iI=4*IPPaGYlr07pOE z?!o`)!E0%~5iZ;=lyffNmqVPd103fYcLI*b(`|rbo_q{&?DwYu$9{hvaFlb9EJ(uk zW4|8{IQIMbfMdU33OM%r8o;sNZv-6s{r!U5{k{co?Dx-t9PIZ80mt?}3OM@hmw=<+ z{sK74Ipj$0b=~jix3>b0e!CEG^xFX7=(no@N590k1c-{4H z9{k!`Es*6r1#<59;NJxt=WkDW@V^0$`Lkw1pbG27Jb5_am?swij(IW*IOfSB;25`S z0mrz#PH;O<-V8YA$&Y~?%#)7*j{f-z;5gqnZervI#QOoqeEWXDF+Y6DgFgj09@i2_ zMS3wm^LkBO?0A?BIJT=FaJ2t}9{gW`W4n$zI?{{nIuCHP|2DueZXW_1?R*Y!wDaI& zBE5*O0vzr97~p8gj{%PH|8KxC{tq}dvIpb81#pc2^8m;A&jF6{KLj|&|CNH< z@xK9ZjQ^WK4#xi{0Y^V<1swhGC&1AUBad_Yp%HNO1FvVrWfXnT59b1oepmrG`XMj4 z?T6KXqaW6R9Q4C`0mt~+XOc2g*@^bN1#q-yGT?YToeem~;W-|BDd2d#D*}#kt^^$E zZvq_YHv^9Jp937*`whUcz265M+xrW^QT}s)qx|6b$j>N$U%*lRc)(HqWWaHLk`jC* zsi~pQueG`$1N1mQ836p(Bcl6dYXQgk$-4nZd%h~T(feo7`*onl`N?B~b3Fea(EAGy z-pGVhjQsl(`ggO1oB7F^7XEQf9?TV-$K!*b_k6(dxYGqV=8Yl1F>hQ4ILi4v;FwPy z0UYxxujj^v?ZkXC=B)}Y$tOnuj`4N^;23X7!CB3<;D=KH$9!@I$iaMaF5uYS4B+Uu zm4Kt)ZU7wRd;xIu+oOP^-*y9ze%o)d+i!0I9Q`&KaP-?0!EL{t1~~ey7384b&H)_r z@BrZGhbz+2K1Q6{wX-e!yiHKm^#g9<0-+7 z{3CgQQ+d0En>@DI!vCeog9`<>^H>gWjGvo5_=uCVKx5A+Y6F*jJ@}giXT2D=vpsmP z2jA?$w|nqC>Xlh4@1fp_fb%ok=6R24fFu1v!2bmFmkMtDaHRNQBhX{KeGKrwfSk_* zj`8+2z%kzbAUNw~pBnq01NtverNRFO^!EV%Pry;mh@|!#$Kky|zn9=l`$fPrKgL)%uaC)PoQ0b>ILN{;75ecOeyiZd-$w6KhF+^tzQH^r)2kBPj2mtj(#vK3 z68fV-KIS*METQN>Nj4k*%V|Nt{=60Nu_A}@PXmr}J^}d2p!YVwXM&tN0PpbND4$m| zbJ=+{;7uS0@k->}{TrU5sxW)WdiF`bMp`C~u`8-bf{NjGHiHn?8hV%0l!R4?M;>!e|qS=(4 z4??>Z0{#Nvy@3B6@YR672>6FQ_@@BJJbVY>I1d>Q_->Go`R5;icLM!C0be4x@!MwJ zq0*x_p?`|R!(~8kLY$u|=Q5->C4Sok_`g7JrS_QrQ~IB<=OwU5ZZ9bNUj|$bUkZN( z@D#KQ{oD>X_Txc-k02kLe291gaG5?Uy)}T(2042Gj{e*e@HEi-?AZ(GLSZ-=+cmc#tEPZx#JvfVTiW%DD(|^gsHC|JTpNk2$_@yN(1L^VpjJKLg~y z8Sq7bqdiLie+$sB0UYzsqkyA7{|-3nHS>D5AN7uWW5AwHz>fvI3vg_2 z0dQ>Z8o-YOIqwF165w|Mj`sfy@Z*90zW~Q}?IqXAY(LZiegeqBdBS85ej?!J_|Ed{ z0GG=!%Ks+;j`HgP$8pC8Ju~i5egoi`pYeD-l{=jZ+cO2|=P6XF0as@wktE zF!LqWi~h$v+z9qu2=b=_UIZND8Rt11!^S^X0sVBqZvY(gFrS}rVLO|EewIQ@{e#Er z89UG9PL3I?KutTF+NWR9OLtCfMfoj3AmZ} zvOi}5j`C*%J`w!W0yy>y=OWX;DCbPT(VuOAU`5uXEk=Yt&d&jP@Y2Ku)Hj`IqP7iDuFnVh^FcoLOCR9aFXlXp$1nEFJAfYhe7v7d-AG?vsQ4*bVak zr~47@$2@@cBR*RELm?7m$xc(o$qwUx8aSs`17o(J6IbB6LD$K-Ry z`vJce8!#?|ite=Tu^e#W@E z4D7_XdI#WJ!2i|86<&XyAaXd~5U(Vz*w59()jPp{jH?~s&;R7Ox&rLSxVjSXO5*C5 z&|ZwIrvZO0afN=yxH8u?xXUrFt^)hFa3vKsrP{c{`y&&SltA5gL%fo>Vn0_CS8Kt3 zjH{o4KmU{CY8}{*akU=sO5*BA&|ZwI9|Qhc;tKtYadi#YiE;HVz_&;|uqoBX72dy_ z0C9zQC2_@mt|qQFfc+R(-v@vGC&$%wU_Zvy^?+9rR}VmYF|NK1_-lzP^fSiQ4PYn6 z)keTyOI+PY_M3Q^0C9zQC2_@mHgal3&T#Xq8^L~ztF7SAO5$o0$eAR1Swyw-_M1RX zGsyAH+usB97+3EFypp*3BD5Fd>PvuQT-^-vhrrJF0e&su=x2-Hh8Vb87{6igFP5mp96pXC&$%Cz&=UTl!uVclPk*hEea82deco)5ea82beco)7ea6i(f}tJ!MTK$x zghgy-Z2u4pf?B}k)jO(o4&c{8dzS#tvf4#f4)6m(KL1Yv7h}&hP6$+P2izQ+7=H|K zd4&nXfw@M+a^w{q3Lnh?72X`G_Vm{zzsWeF~>^&{UqSLyItsi131h71QT;f=nYr%r*?1syVk;s zf*%h!%ehCB2mOGvoZoUKl}&&jt|9e(H{j;kKd#sgILmoa0dSUMo+DWSIMZ*H2cxb9++2I7>fm<3nf^OM{{_HVKL5`Em+gQv{o!&$ zY?p=i32xqp%(N`$zeP^H#0%s6Ir(_{qS6kyh){Sx;7mVP=vM>I^3ApKTL5SJ%|gG` z!gmS&b--DUiQ`>>vz#9Je}-{;&<`q%O;CIKs~&K!yF%z^0M7DFZe0vG(?22fLx4}z zqSf~;fHVC>xlw$-g)ghuOiuxRG{|`gaF#P9^fi*K8Dl%Q@eY-v0Y64V>bnK-V*&35 z+{{(DdL7{6dc}1s;5^4Ndt3pm>|Qu66!z|Fm2rk@Hp)9)wr?SMBkp_G2WXBv>Un*g5$_}zfd z2K=jlv)%(l?~eg*0s0pJPXT_=KKcjy;S9hV0Y4M)3jl8g{BpqC0N)JwS%BXU_#D8W z0(>suF9ALe@FU0QA8h}8z)uBy0pJ$^Zst~8eL3K72l~x`n`h>^`hLJWfc`1KI|2V4 z;M`y1rN2h)tBKhDML>Tv;O1UGSGNLw4$!Xv+?;E3^|gSTITYh}0&bpFVEl2w%`+a1 zKL_{)3`iLxlV-O6LIcuvGT;{hZr*dt^l89*fPM+!Hvpai{7%4^0{%GQU4TCacsJl< zWOC2;WC5QH_%guT0bdSyKj13>-voFL@Gk;>G2lN2{1U)l0K5nAgU0C}Y=1A{jez$7 zej4B$hm8`47XY3I`pW_D2YfT&mjZr2;03^+0(=1QmjEvUex#g4ak~ZqKNawmfL{Rk zD!{XVb9?7Xd)EOz1oXE8z8dgH0KW|I?*Y#8yG8ykz|AvG%x2yz%k5%%bDl8%0It>Z zz{~Zn`fdXJoq#U}{0hK_0KXFOTL51J_*THL0{lt9uLgWK;A;Ul?}_Dhtpj`lHcp-wOD(fIkBGb%6iY!e>j}Zosbx`tfp}#P&08=BASY z-w5<`E!@ao0{FXuevO42`8NZ;3FyCQ;YR*rfZqi4J1yMEe+lsS0{xM4QGnaaxRGBE z_{~7yZsA6LH{kCF`gIm=ahhJ>HQCfQFhAeNYqk@LI1G(i(~y=X zEJs2M8kQrWWf04e(Bg@1l8)k({`{)8?pz9%{pKac`wRKrd@-ADXj5x=&!YpeoMK>kwxE`JrWGSsW_kv*snj%Dk$QE1HZ`9Xly2*oqBy3iy;Lbt zNX?5z)3WoW9c~tjj2dDhO)s(AnZG34*Iq2N(OTpZ?Wt6Mk)t~nyu(ndg`?wRffiwQ zh@C=<2bT_;c^O)+d5HB-)vGC|rW4)5{HlQxBY0WQX{Gekwj2d~($#(kxntC+);UNU zW)@SqoaG9S71hw{-e|B5rggtn0x*ssGP@sa5=UdArNmJfuPM$8r<2TH&6Clkdt9iWN9vvU)|Oo8$vXGR(5itT}VTsvp$`&GQ;rkl$=V+vjuWXI#Wz%`?^!@r8%pj zW_Tl}F|C`GE*3Jm;y|07Ehs!w4b#&dd`RlgETU_z$4|*YtRja*QO8kD?r|r#h|C+Dw085nbXOtE zt{I@<$SkK&E9vG+1Wh49-C2pUtmXS;^66O_gFGR_l$|U#(o}|5wVqZL2q?S?_(jZHxI;L8O zNm4k~#JNOoNuZ}zF6<;PscfMo#SDQif{^ zCxDWp`>+<$%HZ=%+M*oN*R4iw8_q##irAMg^kyhk7Ae*6k-VK}M&yVT6;3$46hyNu zmzEit?iO|w8#!~7*B{HFVGGG5o>*wZ=96J7jPboC&6$6K&_z@ zuuOM%Av-XTUlyBrq}nMNsHs_OgenKfkv^Rn9BP}pv_6%h!(O-R=$}&E&dDguSu`<8 zcjx7hTRs($zUk_uuR!CoE8jOz%=8u8mMX2G)N&y@#}lIz95k9J&eRm2`n%B@I>Ut7 ztJR4kSPfnp8#+8^bB>9^)1+XSQn)fzrA^~WLevQ~czQY8$)vZ84xj(9EgWJqOWc>F zgS8r$z4?`tej8M{ydJKzlV37TPIP6z*Ey9*9`pM$mc#V8vq!DdDKS2dNt&&2lbp#f z*%Tl5>X=e0AqpPF1R=c~nh_D5Fbg=?2FFU$dOa|ctM3{G(0JcWmW7C^pPhMxSEP=!zTi2D9vvj(;$6R zrmOg705}pvBS*i=5H1(O5n;GA5smcT_BqiR4&5YJmM^Tz6uR3M#-cK{fMylkKhp|X zbx0^=mt_mtzOHN=Wx7mNjLlKbQd2bQ2^y6x{R^lyan>sR zQ!XlEEs0KyC?KM+XjkE({hHzfQWzie=YUVENeM7ZY2l=MwG@t3x#c#UsP;%;~ZX%>o>MZDWn?m*XzrIfIR-O1ddmJ4OQAn4rrbSVRBNG{h z8<=zys(N5@hK`L((-#=A!)BJ=%uw1~+KzcD9xSmqgF#tcwBR_6F3Qt4=g`tgOR!tj=)>nP)bJwWU71vf@`kclW$1sBSnFTwRF@ zy2t2ML3P8a;Oa_L(49`N3aT4U1y@(1g6_9^RZ!hCqI`m(dct({40b(WoZ?$z*$`Fpw>%Cj*#LJ>tLvqC*9JNj*Ou;gn?J-ysC6 zhUb@YVHu(LVaWLPOVGRcVLbTxC8AyY5bS<_30D_CM6#1V7Df&ymehMa8HR~NO03Q+ zp(K8+29?yaB)*f7&J+rn)iNmwo5}aOdg@xvp>(^fE}dRJG?ebo76$TtbT_TII=!+! zsG~<=db54>%uOFX!cceS{6#0y1*)z~L{fG|dRZaUn+@ug7xIJs@I=t7+x_ZM@&79` zQkrE)9^Y60tIY2$8zs2e`uNQ=+{n-GF*AH->*H^C=)bHAe)Fs{>i-JKGf3ynzP8WX__Ahbp^E#ZS-^|w6e?2b#D(vTD zB^UJHWAxkTHCvzlbq@Y-SHZu@!T+5q_%}QFzgq>r`9E=N|8A0L+HJPJ_M3OX;P~VB zs2e`B_3@i^O_2XzRq#I|?MHrI2gB$!Tc7^Ng&*7hcoqJ8(!u{q75dG)3eo=WRiXbm z(U1I3RKfp(!~XAA!LR6t&e}agMSag44>Kh z_>UHT^xs}p@K1K=-@6L_CI|mMRq(es_D6?p?|UHNB%ce!N0^||9(~Q z_c-`}R7LxT9Q+4Wp?{r&|Bx#9H#zt@rcK_;)$@kFJ9MB?tep zRq&5aP_R%z{~uQc|3MD^W2)dc?`1*#{B9aEZp_v01ivTu>#N|u)}g&Q9tq%P^t3v;s4*nTc=>MX_eqN8p#I4!-;&+>apVy%=d}iz8f81gJsa5d* z*rETlD)@Ie_)o8b|2c>KPgc=?FF5qitU|wWH0IA)Rq&6I4nqFfRq&hlQsMYdRl#5D z(0^tX{F5F0XH~)9{>={ljw<-gd)LtZ&MNrt7X8T2>#kJlzpW1Y z&#r?15eNS{Rq$_j*ne&n{7*Xg`J7hZaO;bo9S-|>U8PF-pL6K%u7dvshkjnCsZ#wx z4ION#VE{^4*k5IN2UDcJ%_0O7ggx*cIfAIA1c*v-lvHAe_4h8bq@W!K0u}VHwi!L=X+|E z^55#v&+n11l>csr{->+Z|A<3Bzi+%!{o5V-e^rJ4-#Ya3d#NkczssTj*H!2rwFePX z!Tj;*D)gK8XCnViRq!7v`Z53Ud#x*N|IrTnvsLh$_k5y$eouC#`kNg3d3~Zv`CA@eJ-|o=Q?;WpH|J@G#pQwWWeuw_MtKfgcp`YL9ZQEZ< zIga2!$Z1cP?E)N=G>G1k39)hn{bHHTF_hj%zFPxpgrAQcw-98;(|DmjmbR>4E*A(I z1b?3%?#6bQ7RzM%!7_dPHog6O8u2n_w<~BOkjfh4F#R*Am95!u^IYv;a)Q>hNeH?9 zn`z%}|LKG=CEpvwvgTC%OI~XiR%xl>&tNX?y7=EC{PKFnkiq6Z-^2g$3iZFk!~aF$ z=l;QBH8bFMs=4gnA^fwDnf7h|hdulgPt%O8W%!@*@Lw$arLQ*ZiBvV=)AkeO53{a;(B`ycbq0}lP?QGRymf1$$mFCzX?B-hs8B>FM_ z`1xbo|3e=Avr@X1`|C~kP40@7+dTZ8!rvUDE{&g$d+c8$_Ae2B9>3q9ecS%;d-UI2 zq5c2#@ZTo<pUh>t@dpF zyxx$j|93n5|D;3zpFH~OMSo)%{cqaC9lzbee?l4lvpoFou8{v79{#PuUvB)YBz~9w z#x<0VpQj!EyVIlp$D;r2GVTAgNB<;;e!hNg$ImZ3`cF7ZE8eG!{;_+y`)^u>{B0io zS;Ak=|Gd7F%m2-e_Wzfo{Wp5_UnKf3D%1Y!Jo*=l{w2bH4~4_;9Qt{kD2^2S{OkS- z^?%Ewf2-)nrokj8;Rc)KjWupN<98OM{Go{iow6@(f=XQf2q)$jcxy<9{u&AAN%jm zB*fOg-(K$i8^aeCsgxT(dlA2@{YxC}-$n9l{WCrKj}!g-C@Z2b+y5W*@HbS*|3?r1 z>B4WGBQ+M-{{Nk){X^3Jox;H5_XS7$-?F#c|F%m2Hi{q>@s z$Nwlt`*R-s*NXmf^WRT+`0p3~4y*lk|9!+`f9-VLQnY_hhy71_^p9Jp6?c}=|09q7 zc87kx*I~!cn0?*--!1z2{t_0u{d*F>tN+%B{%yj{{kM-p|9X%9mqdRnDyMy0{~C|} z<|a}`1^vITL;u%2`dg&q=PD`DmzEm+{*p(3zvwsibNk0S^w-eKepml5ap*tH zp?|eU{~e-#O4L-fXX`I|^ba}oAK}n{zeoSmqQB14Z~Ol%9{rmf`rqWxzvno2|L?O% zD=ydnBZ=ST|Jxn<-{R2U>d}9y=%?_C6}$bHdHBx~{-zjrY5Wd)?B6E#*9$+7--!+$8+m|NKaXJ%5;dpxgeBi+($Q z+4_$oewY4RL_g+FzNKvIzuu$&TcW?5{~qx0|3vr~m+{|LkNtOx{Y$`qd`rc){}qq^ z6VK6%<>L3B9{uA^(Vj;C@g-$j|0xH#`|l#rZ;xL)|F8D&_X>Zx`9qQTUHw1FVL!i9 z$F~0gkN#Uk|4~-|+4gVs=x=uD=Tj0}f6c*e|J^70-)-sFy#gTdyV}24^xrO|JpOn} zW$Vv)^tVaimK%RJc=+?eUoQUM<*`3FRksx5kDFxMUvr4te_KSqo&U8|@E`HJ{5RgA z|1^jGOFjA@s8D~8M}NITKR>HwxBn@R{$Et+|DSpEw>tFCbm)J}p>F^0bFTJrC%Bq- zZT}xm{4W155&c8L&+$9kq5pjz{b|u(E`NW^!{00X<>L1n9{Znk`0osd{iDab{r6GP ze^VL%C5YeUzg?mq$3MT*%Z{I=9{u&_X~p*Wlb!!A^yt5Z2Md)}Ek@n{JjKhI(Rq{H0(_czghSENeq+4_$nepml3 zK3!Ap0{sgd`oHASzvX<*X#3CZzr7B3+yA)=`7<8=`-Oj5nf6~m{I2%5a8GW6UC@H2-|pqkoC$$Mcs(4*e(54H~x8zW#EN=&ubm>mA$wS9tiZ z5dQtk@c+oef1~i1^ZygX@ACg9hyTxYwEvVN-R=Lo=(ppKeTC&34}ao9O;v9EUPb&a z`)?Qfar|E3u>U@f{vOd!)4N!)`|sZ#{x!mXYK*%y{&supuWi~JJ^KGB`X`%)%GTCD%cFlt^ke@ocj#Xx z`fdM@Piuwc{GajYzg_gB|M^*e(|;x}UoZM?|34=B%lZErkN#`<9~-Ek|1WXqzr&;d zfF+7ODChrAdGv1={pkN*hyHJie%t@eqQ9K~AMxl9Qo8-<|GY#0pFQp0CHl+x{~3?| z9Xwg3g8skMp?}}Exbx4+8O2`K|D%cDHU1`@sr94(2ORn*i+ zM1MK|U+2+(x9CUzzr&&bi=Os3cU9*9&wKQ5np5ikcRKX{$fN%{(O=I0Pk8h{Df-d> zS330nRrK5b-zxgc`TtKI{iEmV_M`u=a_B#@);<1LbXVs8Ly6xt{&(`p78Q*DwGREw z#LtxW@#h}VU(Wxh5Wh=*{d}z-{lDI!zgzU%{@)?`%lSX;(Z59WqyOLK(0`rix7)ud z8>mt)|E%}uZ*JG^NB?hd=)c3G{}-aaoc}-N(SNPzNB>{%(ElCLZ~K3=ocI|2K+0&d zBinD*y8C~tqx~Bl`d=V^_LQx^N%W5sJ!WI;f1db9QDw6|F?>5qjX!^IqeK5;6SV%3 z7Js|wx6fZ}drlXA+x`{8Z{~T*82Ym9pF#XC`|HJijGy;7?7zrk{~FP6-#@VRU*WNT zQ-$`g_SiqXAy`#l9q4*PF$*#9e!{o5a$oxWoQWdhBl({pIq{V;=igRA~Rh9{YDV?7!7v z|1%!@*NA>QU)sO-KFXc{H+lF?{F?ZwA%0i6$+^p7-%-u656 z-|5hQljt{oHc}oF{YM)>wj@Fov;C0p3mk5q6aEm89m8kv&kMh0ey~gUpQQV9Sd8Bd zc86)d0c3lvw0|_+-{->qzneaW-}DRHW9w%6$FAV-AlTikHo?6_IOO2pi>ecvB=)`S zA^r2P88KMRl@Q_Ui!T06%h<9Y*hcNcqR|LBsiCQ{7D|1|zDA}sYO;o8QudbYePwFy z86!tT5=R85m)OUe#=kAn*Q|D%gZaTcMN5~@)s`;f26QP??b9WdfKIE_el2Y$$UZlP z+nP+BaN9$G3?NFo-OnT*&S6VlGsa9>? zH=Z^dHXcOZ-L2P;I)=T`x*@eQxvlm3^;{Rq79DGMjaavB?7H6*-9xv~msY&tVVnH= zajjQ)VxG#?P7!Ag5_#Bbio_ftrP_5=j4qI*7_d2xruVcrlIQr|@ z{nt0CrbWM-^>5Y0Wn)iT&%X=Ph(jpPRS0ly6b_NN`0HH9*t1(H8fs}LYyx?9?KhTC zycls*^U4o5Q7G^1Zk?iIbL_gc)aqw1Z`<%l*vYyNpG{~?hZABF0&_W9H2&JSC7`mq z&YyX~g=&1M@wibn@xq5UnGvT4>duE2lf}_6N$qTf;M(xyvxl%Xr8c%w94iG%-m4$= z+f|f2z#U1WzFuwK#{sxu-o;jMnh8<8PHcRT!E)eaW z)Ppp>)Wat@|0}8I^$b%TMSR@&pNdm+aN6+Bmo^OUUi;3MMhrGw_0HXt1cSljTQ~Bt zPKLoodi0E9L=Iji zWtpyGzL3lG)aIAfW@`KLeJA#1muHH(mD$={UopEpTc}gB0Gd}F1AMfcY!@vbn^~S^ zMxi`uSx-JwG;~NeBVH^_WV`3;)>eN+S4?3+u50(!R&>h*j+qj zpmJ`rxW1P1&`wU5t=9*wHTvL7LvayhoS(h2{o2$kYu@?Fvf>!}&K38d@2G~n=($2H(@4JLBmO#~AlWqUAlcj050<@K$zC@0`EM^9Tle+LGG=e^oRC;2gov1q z0I6NW)K1<;2UGftTeOR0Zoh0_{OK!pk+m*G5eHV@+_?$eN$l1ow@kY2=3!htmryA4(iYug&~hqK01H zdDkd@TP?AT;Wud?TT>s*q%HkE;+(!9xPIgbe@X-ojhy!LL~u=_=9`INTVi%8dECMc zgW|45yIMEEL`fZRTBF$>nNEc5t-1+nyX*S)cK*3RZRl60{?#etEbQ${b^PDrGc(@n z1Ih&^)r9k4ipllc2H(=UQ5`_Oc0Y%wq!&y)I(#Vr{+CPKUPreLADxaU{@-r{yX=3f z9j;~LhwCy;-?*T^P;3vgc*@VA=+!djXVAgIL3rlu*(cXdTC{YquQ*uSR5zur{={j6 z>R0l3{aXn)*Vsl}wlEkmG;YKZWA+@qi83mmlk$g4D}T-0Z`?H_XYaem$k{}p>-Zdy z%V+s3tiLU+zkqQnd|nyW=T)_meL3S)_?$AVUm4YJW}FJ2%ZByKqI!l$T-H8US-$6o z`R5VFem?It*I$+-^mVdO##uKc){YwablteK>w?5ZBU$2+L_da)BvjOMOQt<@BYpfo zAY8in%hZodD+1=1+n)OMv!;F^;_nguCghiTw)Mx1Q&~WtQM_YhoT=lU zx!p&ac2E|N$x-c2EFGa5KJq%#Zhj9V7hk)NmU^GvH;BG+cAIq-eR}wPeq5UQ%e4I+ zk^lG|)?D~{Mp(Zhs()PS>7W+XXQKM&%J7e&IN{>spDgw2zNoQpWQ$Uu`d{kR+|bmw zYyDbs>Gz)q8WsG7ri!H{5m*=Sgd|aNXF*pa0(zj=Q4#??sA?7NvJrqw7pieE0^}H+ z#~{<2-)7q^xVSc~Cz!6y@fEJpk_a2{m6sGbIt2*}6gWHW6OYw{gCT zS6UJ}^OjU30=~LeS`y~P*;Z9TUHP*>`k4q$Ed>>>&Xh{(5`j$jt(rv8Y$5t*BA8Wz z^R=jvG%h}}hptj%k#>J2`0oW*V^EWjowH>xzDWd*<0g?L!aIjHz0nroHEJNpz>nbI zEegjd)|E{PuK`NEt8Y1p@le~Z==TIf@AC5$(G~fq`ZEe269KaKO@;4Qf-{f^&h+4l zsiZF9yz0+#O8ubam-<2DrGC(OsUI|6>IaR}gv3!2!CnrO?W7mKI7%Ye$AL0^sXv)8 z5vaL(2~R@Z6)S;>-o7KNX%fM>Qer|9`iNXomk8(|XB{OG$PF8-E)g7LA^K+`z)_;H zUr?7%guJchepK~$h4WEP7d7Xj-Tf)?yR7H+S`UEZmzt{(J+GtaqUZIoCP2RG7d<^5 zIad)r5snLL4oN&8_Q?N! z98_}D3|8q-b06B{ceA_v@C6V4BM-hm4K0_PlRWrM9{d5qCqSMzGJoQs|BVN4rXf8M zj(5$f)j`ljxREK4+6;McemACzp8f5@Zy|c_mz$}ci}CXp37;4or9t}cmc1uD@_*;S z|LKu)5T&Y#axIQUt2r`l8whvVImbhvQ+PDrFmkT;;2$QO+sp4@=E8GtE?*+trT0D$ z{tc1yqR26E{VT#Jz&xa1ix2+cp+A^XGuv|l#RV763tTz{Kb82nn0{GB_(YgTnf89b zgMUTj%ojPPy-yPEYVYp}pP=qeYQ5w2CKy2j(?x%j2cPG``#kvd9{jT&{2zo*gn6Ah zw;@{(rbE|6b$3=9eyrG^B-~~HS&F`1sN@`pel7FRuOWOw&>Yem|JAu4$&_miOfgS^6=5MmoK`Z!q08G&Hv%nND|Smt_WfifLlGB;B9y$#tzx z5!re3=S-o?@J;3_eB1nv^fY~uJ(cRtrdFnsB&dC1sIo?lt5tqhI;Hbf&MH)D0BbbpBnR%LVB(=PsBvb1tzAE={+kd;8UOs{BB4 zS#D@{zPC5uSJ&0w&vvsp$%a&+kT1;6)2)i3V$0Oj%CIKcuI@XidaRhyHk&-3(h#BBh{JioH=W5Dr{7!VRi#Jry+4i+Q@k}Hni9%w&7x5j% z>1mFoWHQ;XG&4Y*PW_wfTi({yQA{SgR%8n4Vj+_&4zzWpIx_T?YVpg&npl5gTVfT! z5gOf?TAArdEu?^TM=!O$V@f&~w475{$S$j+;V?9mru$0+`96x(;_CFudJd6c;=jMh zZlPvp(lXYv>FiKfwx7c~S>7$H8_*? zq#!laUue${_uk zE3PQySB3IotgoBJVRyKLfm4}Sv#gMfb>pJGRXNI73$p`*y_7jQsZomTT5(BwSti#L z$>k)%m&&J8KeS{Ax}r{i+|v-xJrWxRapFb>;7 z!*K-0#q$Jm=uu)^Fm-lMzE64dyuMYv)PU}u_9#W$iBpeiX?W7AjjXjQNV`{Lr9_A0}zOMiW#n z=1LMzjp@`kydH0^=<{jb9QwROkG61`Nc&t)pwC?T7!?r&mnS- z#QwPm?BO-kxG;|XnGQJm=M2EnKl22){c{fB=%1w^2mN!g;Jo3ueThC?F7x2`d+?tN z&h1Lm$M}D|Tqj{1+hy(zGLG$<0rX2iP7B}}z|RI8aWkmxA7p z3C_)CznLrE_W^w#=)VVeFW^rD-VgXrz|o$)*kM$RUUMIeuWNGQ4d$8gf^(b{=wte& z7wBVF(n*c|99uS=Ma@&j?zMjg3u}$F&9@o*(f^YaT8cM%aG#u`fgbz)Er2hh zedC8?1?P4x2OR0MfFu3IfFpelaHPk1NG0@`Ps}{W#MS+zgUfMx6Xq*DTMEJ}<%a(K zLdXAG!-f67nm)!4blF!GPA`|qK5xd!KI22O&l}@^#@_*Wt?V;?IpC&$8Gk3>^|H_S z6@WJZekI_|fUg0Z=WJY9&Q)qpe{l?OVf<>fr@t1X7$^O3< z@Jjln1L(0|x&g<2!Eskfzp$Og|Ft61?iZtq?Z1vbra!R1t~W%mW%?UD^c#WB$Yc6< z18#PQlXIgXqHQH|I7gW0R17Q2?=nAVTPyoaySMD~rdjqG-$(X&vqbh8=Z`6CWQVbR z4M^K9vd=g^6=Ke(81EDs-t3Tl#`)7Izn=lz!~jF%xIt75y}2)254iCa)3pO`?h!KH z5BLELNZAB9>oE60KL|M6GhOJ_e+kgOvB%u+d=lun&fLHJ4d5*2Op!C1iKrMk=Dwym z4`SS$J2PFYMQ`q3z8!Fuzl@2g^aE~k7vq}%KbQe2cLQ#65m#*o{4hgI+g*U0V;onH zlleJUAIX4}dce8PJa^S@;bA=24Xo}hW|jtZbcaE2SD3v*wkK1^w}gVa?o2Tg)GZwt z21AnZ0(?7mB!%yB!4FYP#p@XEKkqExrMt4r<|q^Tiv@uZY1 zx&RkmaV#aWF65f)zomrX#hl@USr>^S(wP6;m(kT7k+@!cW!QWFP}1Bls-FK;5UdRvjo22m?w*O6e1@pfV)hs*ac+b}aI4AQwfs5Jt_**qu zcwK|}88dul>*F`aLUUb&`H!!He+kiYL4KaY8og%g)8C`GF8`J*|ebNrlC z1^;%3{<&4~KPCLAzrG6oT@L*hRKfp}@MHg7Uj@Ip4u|81&zp_k&DQ7taWbDn{XG9S zd}iz8A20lf;2e`K{Vj45d5RVjep_nPwH%lJ+eN==KkI)p zeQf>QK9~MAqW`U-X1!zUzl~s*{#~MUhlOde{Dyuo zX7~TZeKb`!64Sn|hx4q<{#v;Zi1r^vw6^_wkaCy)Yeauj8T})O*`>eTq5l|%eqJZa zrT@VS_47JiF8ym9`j2zy=T}d;^uJi4etz|-OaI*t{XBoO{m<_ycImH^#B0w@?f&QY zthxA`g}<3}VzK!@LCh}ucZmH*x8K;WzsEU2?AW?-KnyXT)N+|KA?{LsK;ujvwB)^&jui|7N-P#m6TswtoI! zSC{{9cj)JoWb1Di{kH#GMSnT}&++JgQuL$$xl3&QD@DJZzqX40a{j;6qko)SNJIZm zbLfA+NB{3D^#4sB{ml;joD1#te_8a~{vRh7ImZzX7Q=6_FL?C#JM^DSOordY|1U*9 zj{_{VqTkHFO`UBIPkea%*!DLGztLm(jehg{Ump9ni2bcX$m91k`WSvAcarG0?Qa+T zhZ;q)we9EYf-d`4RA~Pk;&+X|oeuk(9rj=9v44%|x9zomzlZplls2)lN%)PwOr`m4 zwi}K8hCsIU9IRA~pV|Mj>0|f|{z>9@`R|r8`dK!Yj~e|}{Ixptr-pQkr`JmY;n)bX)}_j%ZJ*YQ4|n{m$NeRjvG zvd?*ppBrNQZS-lD{h73#CHu2!+d?0X`7;FL{$rk2`fx1p{#ml+_~1TfY#x2)%l-n| zw#)w8X}eJNJ80V}`-^CMw(Orn+r_efE^Ybzj%A)tp9^H4pQE`*_Raa@68fDHY^iL! zWZO;Ktn4qN?Q+>)A=^u6+e06I*A2fnGyZxqdd<+-o42joRy^(@4&I&g30mpxm*zE- z8-8Uo#QA-1`-|T6r{C4NUCG6Fby_d#qt|2ADCHZ~+Z30Lo%9&JdTU$w7ORc#CSMj0BeDunJ0an!fkA#eDO*)ZsCZ*k{9j3*eDo|i z7{2-h^@h0r6yI&4_eJ9Cms2$Bc;*!P;#p7pE!xi}G!~y<#3li)8=f==de2*rl~g>? zzrpf`$5du{BVf!~2E55!kGMC+OLRi>|AP#p50qCu!Y6s*JLEg)RlJkvg|?I+2e(@% zd#xK&e=u2~b>pHxP)>f*yx%rFZvqmozJ4C3?J;UahvI~14_A=_G?AaQIcp!8biRI@ z{eO-n{B~k^o%llYI`OuOUnkxw?;1B};g4FU=cTV3Uq@%h=5^yE`3yVAsc-$Y>uu^C zxb!w+^%iUTnzxfq#pms!FMjWKit*9(X&${v)&{`!I!tGYInk?|$qs&H^f7c`t*==e zhEL6%`v<=nLBMk(YM$Fac$s%UFtXf=kIq&{?+*!n%e&9-RkQZc;Htf8_d|QveDKiVUfz9h@0u?k8f@p? zXZEgn{LtX)eQ0;%J~huA8hng*x9(H(%Avszc=xG&YBrA#{>;1Y8dG!6_+ZNz+WqX9 zn(vPf9^l=dj;Z(F+P!7Jnw^IQcku4R`_;UBSnw3@{$anG4<8=8LjIH_Y;lV$7cm24UtBwdhz?XjR9#`{$BZ6=9?vKaSeDR3j_q_YcxSH=A5&U6) zeqw+EX!Pkd-N9 zSF-q-&L50?OAQi=W$R7RR3*IDJLb(>$3gN&dWU&T>@K?IR(!M42xR=K^N4KNw~~)D z){>mDW?w`(ZB=g*FCJl$k{R)r(9>1GH))zs197h1M(IK>1~Igsy$(uAq1*3ERazyO!1!pw0FCGJf63-e@N}33z#Z zeRxRF18&3M4m{HD=2e$qoN*Yj&eRU$idI_NL{ZQZM?3&zKq{1o#%-e7-Qi+6#Tqp< ztug0s>;Ee?wzJ2D>jcCjDoz*v(ntE&`&+-}qM@B$utQ6X%)8A>^IypHdlpUeu( zyR?@_@ABq*KV10UQdke~0%zFwZg{?j$saC!D{B<*7#*|KyVfsZO-#f0fVk|Y`+hMx z{Vw%q_9a55D=I4eziBbL)Y`vP!ovRRR{d8?UCQSKTn^?hQ(tD?04BYcKK``> zj%JdQlF+LgIPl|2Fa{E8b;)=Y56KaL%Mg{d119NwK{V2A^_&aSj}|e8Uf&m=6uza~ z;8`XAxDtA1_rH6epExKju6OSC%9cWKW$N3 z65$(;<8_IEpTa0DiGZKTC@l%~7AhC6jUa(_l4d|-^W7fz0S&Xbu=oeO9Z_o7y}9Q)KF>F8*4FWpZveL7K85h zLrOcHkVJ5(2Osaj5A)z^)>u+k&DuT8oKP!Rmxv*p|4XQ}B-AR`F1)rBBqR|`@Zb|Y z_)#S|uRVe9oLA?TM77X^uONK?@Qpvwvz|97`e?qP&KpS1ZG?|2(HaE&jyV_p1HvbS zD-uL&2mH|^e-x#*1Hv;`eeTNYjv;))$SB{M%r%qni7=lrJDDcjyiWF z`9Jf}|H^~&yYO7{`Pp8!-<&J+IW?D~Xrkz%pY6fhJ-Baeix)lg^)&Bx={?PZFYw@e zt79U}1JyY-wd*Di{dPqk%@6q;o6Fxl^keDJ<+79CmFB`{dGHH7IKLCkCFk89{L>!% z>mK}<9{lefd@LQ3UG_}!;LRTVTn|3r!Qbt{KkdP{dGKElJ`v{mCLVliPt2qNI}zsp zCLXecyZmsa2mhc4zt@9*&x7wId?K8882b;PsgKK^^9Y{^Yi$_&ukz5phj7jVJu(Hl zPKST+HNjuB@ZT!=Cd&qanW-N~Q?7}yHiXGUHF{L%E+LWR!@b=F>Q5rv)!r5l{Y45- z8S&v2iXnwZ=XXZ$vkE^eq^F;%B;h4T~rx)?hjQ}_}C>ub35Ydrmr$wWBsGxX;uyep(P`0a#G z2;UqP{cq9N33vJbkBWXpDCc0=OC0E?Kh%St#5m1S>~gAyzSD!#+o*?GGo`{MP*}q7 zYpD_S3beJA7;@LTB3p8lhfam9ct@N(MluT-QjD|V|PoaO1%`H7Tu^H?8{v` zm`(Q=3+5HyC^F3USgpJG8#XlyJNx3_A$@uYjVxp#mqVmg=^|7i@ z+RUXM$F%2H#W)&xVHq08D(J8#771{$AR2GHCF^y-u}nwAffRSZ0YN<8SYXHC(h?(+ z%KUkQJ)WAD+)7Uk`+@U2HaR&(>7j+(N~&Vsh#%~Rb;wlh5OoCgcqJ~)?U*=?_Kk0~ zr1*i#thW%MiHP?eOsji+d=wFLRWYWNDUpJR@6dMOtW%}FNorcrA zU`Do&-+-FVEo)mmQ0OR5ORHr9+s;zE^lHd-o3X@$5!S`sML$m{K-77{~8Yj~874JSMh z(X7p67hI8PT3cV&!t62~1H&E;P1MD>Te8D&L(&25B}#zI=qRCy57XhK#VJK#N0DcB zZF76;Q)fB5lRWM`vEZfnipeRu_b9;mt)Fd+sRuiXQx(|u|FL%_@KqM){(s?c01+ji z0)l8jMBHM+8nmq-1QU%C6R5cLBqRqC2}#U?;8Ic05&^|ls}-%dmMT@eE_G=Y5qD~_ zy{*=^F1@zJ<+j*cl~!B-&u`wDbAIof8FB*DTkoIw(#?3K#xq6=TubVl+y+LX?eAZL(f^LsT=`8BtbE z-;9>IST0iw64TYHs(fi-5l zEV#AFsv6lc`DRXm>qOqUl|8YjsN6qe#?Xw}wM9QEEIWecCyJ#us{1hia#cDjzo>|6 z9-cO3wx%pK0_{zWv+9v}Vb_^ESQ>K{m*JlMd?=kI{clqJRC!FVf046vtR$W8<1I6S z{-U$ls;PrFyN|Z;2y=%za+8a6a(P>&!{vWc2GiGqTn(F&M0^$TuM@w6IP0z>elgi^AkMnK zCeFI=5@%iRqmFgug&>vC{)=QV?cY~ls|IJ?!-=!*1mdhanKWb2L~&bp@0 z3D~plv1GqQrkVMBGI7?OO`Pl7Mx1poCeFH75WkFcZzRsT4-#kHjl@~^CE~36E8>@v z?t8>pw;LKvlHJbx5NF*X#94PF@oz{x)6T~bXWa_oT;Ey5S+|}z>z+q^De1NoXWd(g zv+jMwS@$vGtosb{cG7*7IO~2uoORXCMz=rf;*CutxUuej#IKNPrkxKZ&bkwcvo4-X zK|*}iJ)Jn~)(~GNK1O#wan`+xIO~3wIP0z<&bs##UrxGD6KCDmiL>s16KCCziL-83 zy@N*ktRUTeiL>re#97z$^<%g5RI+E?Q;At0CqthQ_&15y z5&stP1;no*ekpO*T|xX>vcH))>po1Jb)O~9x-S!F-QN)ZHtGI}IP1!*Y$~DsS+_rN z*3Bi(x`=1c!_^%RY`*(?R{11t@y{jB_KS&g{40sG{db6S{M(7M{X@h# z{*%Pn-h2z!ZvR(2_U{nq_Pn_f5Mx5;*B+l{I6KDGuiF5p45@-7@#5w-|5NG>; z66g4P$n%h{`8$|6#~(qQ;};O;_+KK<_NNf%_@@(R`x@dLzmYiGUqYPYFDK6S*AeIV zw-RUj2Z(e0Cy2BC3&c78FNm}KABl7PzYu5pe-P*RJ>_{+*ZdtsoZ}xtoa5&c=lI7G zXZw?h^YOz>;%r|{oZ~kTXZuCOIsP)@Z2xWI9RC*LY=1v-j{i7uwtt>D$Nx{_Y;XE_ zz;>16f8eqIlsL!lvA28v?oXWK4=2v$!E?w+_WtD<;%r|^oR8B^BhL0`5x+@v%yHc{ z#QD1MZJOgU8BSI8;bL$%+4FVd9}?%|z+Zd#ABb}~@w_w=+JVb?pgb3i1kU9=N^`rM zW67S&If*!zGwIVJ7q9&jsuir>z*3o4Bb)0*GS&PIhgoe#Q)Xy z+z$7WF7tK7^=!f0uZ!&V%1f zd?azqca!pU2KEmaNMrB~GMI93IiDgsGadFDiJL4qwxQ-de&)^Qhm3P|9=7@rTak&x z^`V&}bBWjMJVuLj9&s?3)UGpN`Vc@7toumDzBT+A+^5IJ-qdq5aZEGsll_V~;-89% zlD37TRDAQESr;^nBoqH^ZJ$eA??RQ`MB--M$An7ari|c=i1!81X*KbF2Fm#R#8Lh_ zU7n4^_aXbYiJNs3lmDAI;>^==dg?Jo`@vABk;MBODB}X+h;y#~T}pfa+1C>{>j);} zy=f$j_E)*^-&*2>h;Jfp_I;TAKJf#{zPG+FhRH*S<9%c#@B>vY{8vi+Ama7JbBQk} zK9u-c;=_ndx;l|uP@QaQO^9&4bX1-al&;s+ zLr**UB9@9DiH66{cJ#e2{VvWfD;~d)6Aha2#Hs7q*-p5q$1ppvrw3on6Rp{MWFruL z7B)+bsFOoR=I1VY#yVQtomfunC(xsTJx|VdXq1n2#jI?dexf}ZeiuHOZi=)ko}G;p z@{9GryH)hh^#SjQHnx{LwL)0WdPjnP?$2af>Yvkt)t2h#`i!-uy$fob-Q(5~-Cg_m zGM-+JgqKCsenLL`hkvtu2s@&2b%3&iPi1#h#+`UTduNNM9@F**$$ox0 z9@Y-4T~pOsgR$W6~Yoe;TxoV*uyuPuz zsy=VZX;P@!dGZFwf&~eAeWRtZp{l;Fbzx$Devl`h5Wq_}L7u!%mCQTglo?0K%jwl~ zb);l%Vs>-YJUN1$)7;qBgyZa;O{d7oJ)e)7coTKTTxU2}evg$wANHrlKL29vZ>|x* ze_SX0r#t+|cf!BY;Xkhv{^lA6mmk;2vaSCDhkjuv{FgZVCv?JprNbZB1hXwa?tLI} z{g0L3+4`I7IPCwWPWYQ^VC?_pPWZ1ETO{_sMSf>n{!Pj|>VIn|{9o1n=2{Gv|F3ky z|9$Px>)&mi@c*m!=lbJ%ezx@w^mQZF$MxlG{d;PE*2n#UZ2k9j_}|+J|6GUvx=#2X z>F~#O_iW2w=-*XIw>tcB zA0S(QbG?<9U)(Rq*57=$p6ieM3fcN!qs!0wxc`u?|BVj+^_}p)-O+xyUzn}Fd4GrN z|70ipf8;3tQ=RZP*ST50-r=7s3{u@?;Ivum|C2Ayivg}la>6xbw8=z1$h2P?e@P~``hJzNbk5$lj)qSaKUn!=qmriy8Ol38RbV?*yVpi zn5+Hw);DGNUI;?j`mYId=?9gtPT!w|{?Rhn`uQU6(jTeyXCeqCTmJ}gcIgkS44w2y zJwsa{$kxBiqrXV&WBKG{>o4-?FQ^Q?%yNSIkCwsKf7qk{sMbF#43qkA>)-FuUs)Nt zu>M#$vGq$l z`fIbS{}hk@s}B8R9r|DQ=>H+h`r|!LSN*p-^l|=T*MFTy|M&r7EUBaQ|89?d&#KU$ zm%rl#+4?k- zt6k-no-UJXifM*ZLi8KQHk3Uz26|=Zn8<{%vuTztU0u zmp%ITWLf_Hz1;QxQI`JA+CSD+3P)+P_Aexctjw-RnkW9Q`UlmanYoUR{YQ-q#$Ruq zf}1@0J@tme*cnmdZ+>6z(O;?ci?t#2XUkyxP28unepjphxmsVJ#u&NO^P>jfeL5^- zau^Uvh1%cfnTh7N8NY4HZw&PKRb75lPL#h+2IFV=-*x%z`8TlxeIxgw(YNZq)uBJv zp+7?Ie_{PI$B8CxvDP1MfF8pZ$&8QI{vl2Ouh;%*66TDb;ZwA~Rs5hy`;V0UJ15hA zh8-vVYWX!lk9%Tam4tp$kkI~(G8li;{wR;FEhxDDApDo>VEQ^rv*gjFw!f_Y8Ox5K zplKBT2SL?7;n@7Q>)%%<*vlSlXV!)uGo*f;Z2zN2j~<;%DL*40l5u0ks3~Le$K)5P zTxG9|i%O?YB*mSK#}<9fh2ogXjbLY%;vN$6IG3BK^OIzJyv|RS@f4je zlJQiXKS9RDGL*=0qGl)QajA@PY>K$2=rN8J%XI!!8JFukj-jUOJdS6+s`EIun5pxp z%lHhP$37R=5D**tzpv?hLdKOkUnS#NI*(-xwpe_VI*;uh*c?5^qJeD**f}!H)%kio z#&X^y1A2v@G`*sDnOcWZ-ArG$zRxx5r6=!0pTNSrMF#1h`l;gfH+1%O+ac=zUjLHz zjmEmPJ=Ll8nUl^s`>B;i^OE=1tGGWd{Oq&OirXK|ml1c8y`^CN6FFj$A;0W0m=?Fc zZp!<=V)mClIbox%xU5MP=h?8JD=sUJ{Jd8ETya?$=n5>*(w4^dTIIT8g_>yU^-_9z z=#?_JLPv!E-OBR>mi3HzXIdvU?}}H14P+|+OR79K!@an zvx^G3JDl45WV^~m7MtB|_ixj7yVu}dwJqGeQ2%c()VuZwVP)~MqAfMWqq`k4QYzJF z$z-|i`OXCS=RO$Sd5S|~eO#xH(B6xMj1OGIByxP%{%Yz7XD9vLHE@(5ExFspaayvw z#ZsG7eO|JAfzd1U?)ByW=k+B#d%a}idfA_(uU%9WFMfYyar;HG9dFxgU9c!#QS`^u z=6%JCKgurY)r^yVGQs3!Cu6VGTkW-4hrTyRZH~w$y)uU7S-f%NnP)$Rt0@0IC6Ok{ zX}{>x_O@+{FZ#4gTlpmyZTsvq`CLv(@d{j$)7Jr3s7vjpJ)+l)iuFW8pRq16t$bcp z`Ei7O0++S6ERhQ;XFrALVd|DahU_!l;-B^pUPbnUZt-sp2(E}r z_S$&--T}e)kX;{-KRqD$6|!%~%bn`>USu zjr#|GLG~X#<8SRBT(yT}*X$Ahc>mx@WH;>*zh+SIIyRe4*r4c(%$hm z2M0Ic#rgYt$3GezY(n;x-tli85WIuzrF+G{e?YKmFUj7ySNxd+f`^fPd9V0y4hY^w z_QSp6e>))f#@>=$y?6YoA;BZazPNXM?U3NN$bPhUe8Z67sy>pvrBD2gA;JB~Zt4^N za7gfbWViN-fAhfLQe5*}l@nicVDJF4Pvpd(J}`J0*>`i|zdkTn+*h(!_Kj~lFj$T3 zBYopn9u)ix+28h!-+fTzG7%_>3(Z^ ztEIH(SK>9nLgBK+avr}^gSrMR>q4%q3tMEN-;!Dv+GV}Ky0I)MzHEK#(CD-cW>Whz z#qF|FlL+Tf3g^=9!!TZ7gC5=>ShEOxmVsRce< z^t|h!*y+OS9bkAsk=hKjx4p?nHroo;i%5FQfQ1{HMQ^4y7R#^#h(%7g_UaP}Ma3v* zrA*zHIyrBRs|`l>?U&v|f1!Qs#`bL+qjsrZScrCQ3SZJ4ZMvtFS8E#^id+&WOrCs9 z?#LOl+8SEhatrfD=j9(Yu1)AMsJhr%7*SUxU8{Df! zdQ5H}M(j?6U2JWR7{abqS;@hUj3ahMi(_3Eh2?_Xjak^CexGVP+~-Y|t!udor0S3T zh9vdaf+_oqPzTe$q^IMmSlYiLeKbKRE*VH!xzK6 z)3v=AZ+8%5lb*i480H&VzH;P*2lMK_xUVkt+Q!$O%R899R!{dWkDK)L5z?Ni_O43L zulMzIJiCyZUZ0-cJBA7R8(U_6&rDB0QcqXUubJs3>FK30O(Y0hX6~J>6UX z4yLc|VEU#GroZ38^xkU5`Iq-2JD6VD!SwnLrZ3mieeJup1OH7O_`l!5bexzV;W>=- z{HsaLza#Z@by95RZ&^71;o?g73+xtrAm_lDDHiz}T6%gcI5ho(a`+vbM*z9m&{Z+XnkR6ixG_;v)mw9%eE1R-1O9Q7kx;exmhtCo-XsSWxBR)gE5s;j=v) zPkUvinED#Bi{nYK%oGdoR9H0O*r=;)Pp0$>x!Q(F_IAyGpt;(1g(gzpc{&#z#ne-k zQHEc!AiOqbPl-jo9ve;#uPT_WNZR9fDyw(IX&j7Drg{TQ{1nCIo}iV&z8-s6Gze}` z_GYV;p8UAtW-FHFcvmsqlW3avQAOM{4Rr2U#pP;^m1-21tB8&iQ%|a9PKc$pve9WV z=hLfbf4u{bnhP~s^XP<_`Wkzb;a4o<&GOJD7G$<(XrI}hA`TW>W(mGs z_%J#?QRfok_JnZPQt}HAe^>ZW+HMzW>29)$y5b)sydNF!;hY$0lJKEj8^a&+-<0!g z73b&_SLY1!>vrL;a^9uv)5k^XoK);T^w@vu;l&=lr)*+Sesd0vb9JQSg}cggmWN;K z;rDv@^B(@ThkxYZxM$-k=M)eBzK8#phi~<8^wH?j9VmPl9j}@r&WRrTipR4@8@^JL+=d$lByY^vpzGLRxvBF*U zi;7G zjLyr3XwP=Vr={Yw>D)1U!G3g#n|7Ne+|_OuDErLq$!d@NBg#H~zHH*Zskr%-p6}h{ zB93eM$x}RYIhmn&=6t_I@kyzAnfZH{;-{v#Y5xP{5O5fsZyMgH_z5Zdqjc^H;jZ?% z*<+7Bb%xRT^#~p37mCkF#W%Vo5_}k)M@z9)TB&&YJlEKNs`%*{aT;W~97gB4#{M^o zpPgY}AcwHSg7kT=vHyf5O9q#2FQ>r3Dk3>XOyT z^XgiXiR#7%`PhG3b*oG|WrBSAw4p6gydf)>S7!>g1!U=gY6g zhJ-vSBPwA5@H@Y*E=ZhEI_>yLrQ*^yD^Ze|*A%%+lvmx4Y2Mt z$#;mynCjIe>yxd?l8S;vQPC6~WBZ@sA6rx=)}|PR(;Md|8_HUnOHQds@aOuy!T5vw z+lfVH-cZr6b3oyzvXdg-3mfIOEd!GoFg1h^eh=wcjEql6?iNqNV=gr&M<(NB|NSskqUnY$=qv5MW&Ep76l zVs|qa6ilkAnci4d)!dS7E-I4+x}YHZG4uGU7MeSwijxbzT2)`3tg1;iPv*vB`+_kN zPR!bpp_vKrNvRVCF$rkK)SNdgwSbGKP+fzKD%$2TDku=oaG5Qc!V?Oy zT`Qf`P$N+0rdjSHrJ+qOtbBDY$PX)xh>luQ6nCY`fa^S7m2eu?Cn}(#VX@Wz4RdN7 zER|sjDYJ^&$jYc$JvW1LElsTqsc0u;qSEOZjwfWIqEp#QNuCmA1^FoMq?Q&rLSWm1 z(P=Il3g4uPwpqSOC$~lF#sR0)&5wAEh1TS%me%QwQ|lY6T6tn*8HnyE#mv7Lj13oq zk_OpTBD`Z+h(>cS4pAFkBEkxVr7mfRmKlOmtE!`rk3|Zs-Sc*;L5_PjnX0|j}w2n)t^M#TVRaUxTNR)&#s;(u` z+SVkN^>uTTCDY|FzM^$hfzWx4^XUwyPJ)$Gj8EVItk6uYQX3`cs7XadW9Q>=rD%T9 znAU|&$)a*`s3=Y!Wb*pO$NHvIE3;IOD^Zr?N*b!mle5#umXR$D2QbT?TGWmAl;n22 zX(vMJ8T)ZEGa4B-(GAe{qD3wJ0j*8Ic0*dWI;f+^A!{LVtO)8PuBaSq@aS-vkdr&~ z+fg!8mWztku?m))IHhTNzAPuHnLI(w;c#(6mvdNq6Ls^N>UD=BSt?sSD9OU$*uq5` z&78C_w6=)R{ed~jQO`_HLDyh7r_bnhD$4?^9aiVs>ZA(QSaz>pmSE8|%!6^wNwp5j zW;)rNl+!z`o#Bc#4SfTl=ouXX<;z)uquGjNy?39q7nRG*ESISTiRo%Ppk^Fq_=zGS zvl?gi+)UEBj$6X7uwzTquBlyi-8hB&tw}B`WIQ ziJ9T(k4bt=a&O^eb&-CVL<=X%RkP~m7mSj8OI@P6UUr!Y>>K4`-t0!KSEkb?tNNG{ z1}`*QId!~P(OOv7*piSl@8p;gxgHoEh$m`V8WXj0K~TB@Rr4)sq>mx17gQyxq$@rW{^KgH>6_d<`5?DZg9hT}IyZPDadRI7d@gbGq?{e!+%bWD6WO0Ac_iDu zJjCh=7cP&vvW+ic!#>Rm4R4Sq54XDR+7;y<;@GhC)2y-xOA zFVnX);&Z*sw#4jOx zd=nlC<-Ak|6X!bOi;3S!d-LIC zP)R7y$e@T_J!ypZ^E z;&{FY2_r5~sph6U=6>aLvR@%SMt3%GF3-ipxja`A=ki=noXc|?@heI9LE^0Y5^>i3 zEpgWUBXQRK3-PN+7q6frVKVCuAlxAkMm% z5og_%#IGjZTZyyoW5ika1>&sxpTt@B4dUM<-4BSfZZEy#Lwm9=zAcYrxAVcoSvQaP zx5Ur1GoBMevghyV#96nNIM=tCIO|?S{2I|Qx>phB`mQ0)x_Ax^$*%8{#94O}@oUA; z=)O*zbw4J~y4~gZE+ktwhdApFCjM>lGrC6+XWgm9S$76;Zs!DX);)*#b)n~1aSuZgqn?}@YSR^m62Zr5J&LlWBmyE2&NZ7}hh zi62gUHSsaTS@$^Nw~+m*#98+o;;g%nIO{GZ&bn6;zm;@X6Tgl4BgAhf{v7c;h`&#q zuLFEcoUa3P-BX+;p`F=&FXC)JkT}~POq}iWh_n3!;%t8saXueR5a;v32I7mP4rV!7 zNSxy@BhK+}CeHEiA^#5w*F;%t8vagKijakgJeoa6tHINNU^&hdXjobBHr&hg(R&h{S? z=lJFoK70Q5(xr}dUBo&5gT&c>J#mizB5}6= zEpd*&g*e;)4{?rf`k=Pg-yHogzrFqrCeHCk5a;*>#Myo_aW4NU#M%CI;vBz*INQ%B z&halH&i2cRbNuUwv;Fspua*Vg>>nQ>&i1OO6tP2la{L!O_P-&{@&8DiexSKs&cBg8mowfEtroT$m-8?WA48nWIe|Ervqp222lEC4QXScEmfxoR zo5=oU;^z_PIA7QNaIyUv*_`hqzfz5r^ZWy^z4~mBEzrI6z6Z?x`VGoOMSL zzfbZe&cVd*C;snd&+Yaom6Q2n#Px0`V?K_c`u>>gInLw6bIJZ(;%vX3_@QL~B=KWB zyv)NJiSv5Ox*I4y^QSy~qlZ83;m>&ZvmXAOhd=M(FL?Ni#P#Jy^`(Wd;6IVUl!MFp64{yQu>UD>lLf~%*L+`x zd5ifW<6NDGt-hq8$VtTK={!c2IuCmcCShBL1lC*S!hcJ3-q@Qqy_z`eO?}o8hmUz5 z`Vr!=e@KhJN*u_%C;b+2*l*DG=F>L#sZRlwWiA>_61YA^P`@VOb{9WggD~-Oveeo7ZjG?tg~?Isi$LP?p=WQC5|}1 z)W44;-XDfKl@cFdpp0h_N1WI6?9p0A2^Wp9XCw-3)s|UQJ;daH_qS1&u zQ$T)YG#WMIbpd{F!93aD2^U9GWJu6k3t1|VM>Yb{7a6kDh&p8@W4+vvt&rvBkdk@5 zt6oxy&bysii0t>3qLCfzougtdE4=5RR&K1moqq!=T8v%!B9kf9E_odyQp_*d3sP3u zcl?Ev9eL9tB8~t%w`N$c@kFA3{_omY@}JlHGM22Kp`X*MGnV+SsB?C2(L{u?Bw4S2 z?Cc9Qk@ymRlzeg}*(z_`)HfxYOG@W;;&qN}->r#A?&2z`*KEu-5V4~#r}$pwa=dKQ zQ7L!ky_=mbpnChpAEgsB&G8OSSaTevA}2?zvX7H@ZydY9B7Hn+*}4xz&9N_{RctRB zzR4qB@oBDFXotrqe(LkK_sx^MYIzS)Uat)D=CPWV6U@c&9D{5LxMacw=@@^5zdk41dg%Y|GzGU+3cakNX(zeMg_^)^PZ|a1<>3fLV zANOCft^a>I^l=}>_Rkdt)9x~GdQPeYD@JkDb}tiKia}BKemZ3{V(YX^1T>@vh~*sbLm%V zebY|RKUxM`e}IU)^uMYdXNnIeTfd(;yYv@m{Yvc&eJpFX{ydNVJz5{f%$#ifT95v# zj{1+5K(_vBkNy^|e-?{N-qv5`(ckLOAM4QH?9rd1Z_ag8{}(;_J?q1Q>uRX;H=KXj z^~d|`5+Y;${kqogsQ&-(=;u20Q5Rdkz@z_Kmi5Q|QrGfV=+MXckF7u3qrb0S@j9wM z-nVz@mpSxt{$uN3@6m74`W?;xZ+Y}<9r`%`vGsrI(U(4-RqCkzFL?A9IrJwv^kcH) zaxH(|v166g(f0439{uYb`jaJ|UH`K@`ng%^pC+`cLh=;OrLVqQ$^1rA3vESrm`@i8S z|3qE>O6`m|(`2yAzdG*LuRI`hwAVjdf0g*V+HbX^{Z4i050L|JSN+fT=-cxT{iV3{ zA9m@=wIW}x9dOOqrcgqKf|H_caQ!(S?Yi2(cj|G$FZzE|Ih8=ZvW@9)UOwR zSNp4vM2Q}+Kc_qN|K!pCU6%Uj$Hk>T5EqLjvHqFz+phl{0j}lm(=7F8iN8xf-=TlD zL;qQiet*5;>S+Dj;L$I3=;K^T%vCb&a*UiHy6T^wrT$p)ch$erpHnJck69bWmD<0M z8;i;vS{-&3Cx8dGMyz=VvG}Eyoz>@pSRWGA4&1k+e5AaQ;RpNTR|()r`{c(RPA=seEDrt16&GA`En5*eea zh;fn(INnG8WEoD;`DrpP(|H`vmg_u@EvM`J3>kk_=W)!17&B$S@elH6=rN8*@cS$o z&er*_$=F=etkkSp#x*j`C~p7#r0EsK%hWni-2UtqfkE+Q>-$`@e#!dQL!ZFH8M5}L zire4N+1G7{sQ-KYOWHRY>(cf&P24jloptt8D~;yj_j8NeFM74Oy=`+%@v?4*jD&J~ z(UyYsPoQcUsw;{l(Ca2v@roI57B4H>T-^T4G=fD~h20_2ZLw0?X-iG<=&*_VEcv^% z?mJuMpL;G9%bZqitrv!NnMGmti*6q-Qj0g{ss$0tVMX!c_eXk`LTQ9Qnwrbf_D5;O zSBqC*OCpP@ZW}hiJ@XveySmKdqmg&Vm;B&XROV|%I8&;A4k|Hu({f@ z9jNX135=U3u2!9w9y9=}ud$(8zS!CIWEPrK9&^;?FG zb?eaRv<+rb`!mJuuY^k)jGtBQD>e7FQ#fN%E!f_+RfRH(d;11iDYh0z!fr(Y4z$gd zMa=XJ&xpHhh6D@eNLZ0Rsgj2)n6s>*>0rxLiqY0XeY5wy_`|5E?7xPDHYo-1T)e&* zjn@9kXPdtmrJ|+SnmgN>BFmF(rP50~&mL!+nmO!`iDhB&MO%Z`0TN6W3p8aeMrtO8 z&FNjP#7-ApubAORPZo%9(Qa>hlaB$m6|5JL^wN$Q2F>(7t#}z`s#xTNOQhZ&EBdC; zl`?f(YM<8{S1UpG?U&wie4%~p#?II-I%i7C3k%V%P0>eOPgYy-BA3JolP4dOJ95UX zwuaWW+`_!kdHF|;Yg4}p4hw%PuYI*|m-EYmE(>zH4DQ{dC!Vvxr8a%JP2D38CheVb zdDqE%b*~izn%3p~vQp*QV-+F|HvTwA#ejtUN;hOojLFMmi@SB5i%77+F+I{!Iq8eo zodCPog!Pq+u)8q}JJjt{ZHM!LRN1(!uoGJD9$)gXwQ~ zFuj{v`1Cv8rv0gXhwJIS`c3J;zovufOZ4=*$o#8G&A;3AbalXN%2yW7f4I2P{Q|oM zAIR}>W{L$vGog@JaIl9D_wYk9I99bTL7MATPi;%VbyZU1$=V*W4U5q7)g3pH2U z7VRAis&pB+xSS-qo5<6wj`jS~s8VP7xZGkA-# z?~%c8R@`hg(vzQ4+`6ExC&vP8Z8B3VwKa-Pi#e~_V?M^BhWb}5wH1s`j;UTNq71)c z8BYX8sFPyEHg`_b_X&b5&4 zK%B1W?Uh**o>Xzt`*(FrC-yyM6?K(oZ{fpezpu`9#2$U>xa=!Ee68rZ>>I@%7!yEy;~Hb#-+B0-b^ObvU6D-uL9)vkM#qij z2;ggqj}MLIzge!`f`c`+o@an#cZsl>O+GuBqWcvTJe8$702cQud~O9##B=48B({#7Q5= zn(fI*;jZ$3*<(Lbadq24X^hZHEsB?9=>Adh<5OInbIUJ$D}NXrf12{+S%YD8{Aqaa z-r(uuPs8!e^kH=TY4}eSuSn?{K7KFQr;k4kU!k~J`qJMg+oZVJN~M=Ke3N<@9ex(? z!>(jY3r1Jf;{|!Sg(Pp!&k4hhlOFCHo6&=%XcQ(Ab&YttUVe^|Sn_6kYhAT;n_1Ud zS5;qkzWi!zP<>k0B;_ksZR!S8BEPOKNSshQ?f6Nh;?g!NQIeR~qPOT`Ko|r!A_|l?u zRZVB6@+l{DzHEQ0LAS1H8LNC@XQ$42SC}f>{9t?ET+m-Y+Tr<&FS)3aH=H*QrQDfi zg+CgWIHRV%Oj=|{!+CWLHHq?MOPhT8!M&Uo6ilkAnci4d)!dS7mj0eA5(Nd}kD13; zweZ}T+SU-Z=(L7p3%8zkkrN|cG$Vm0Oi9kJYe-5^)$?`28zi-Scr7B`a*s(B^NeJ3 zW2Bq~qf*m~7ACm{1*20_D(cR+CQWNBMF#;ew?7iqwR01*tLo}8?^Sp9);ci$gk$E%Kq3knKGNk74|(Uk3DUBjG`YFStds%xv76Rpivb*(MpQvpYKmYq~x zp6VtU(99uM874>>%A{NJx&_fv?96sE+#XfrNJ9c+NdNf+GmeL>wWJ5eJ0YixSU zVQ=+aJCdTJ>iX1bv@=_X)J)i=&Eokunr_%4nFkY+4fuj%qHcD{%$DYg)^Q27r!A3Q zuSq|MW!_t)mKrs-Eks<>8NT*DS$GD#j;dYC)lyDqUgA z4j(#dQc=;^`Bn98$)fqXllyXUs3=bFI;J= z4i|*&?vB-G^la}b$?bUCYq0q+p#;fLvTe26c0PsH!4h6nj7^Mi67)pWe<9%_?SHAUs#8I;8b$;?ua?N{V>dEwQkDxh zsY_JX%Wf%wRaj0nXE$QKvOfSvA;RE=W-F%-_bOTo>l#}Ua^#g9QzB=p;bB>#rlm1a zD-TP`cac@YM~(C$VD*BkM3sDoSkGV z8uB{H8~cZdBc|cc6Q4``7sTs{zd@XJ-z7ee?Eglbb$hG(UST;|*L>p&^oyT@B;AXNv+g&Ev+j3^v+f$=tb0H4CeqzN{9NL{ zAl^*;E#kOmVU~xuzV?N7$E^)U1GjVJ?&3qpo zlOK{Wf9K0!_-M`H7MG#73`ob4{dw}+*q=ar0r9yWKA$+3^8(^r&U=V+Ie)CVDd#aL zq@<_Gp3C_%aW3bF94aFqZ6Z5^mbdfK7ZYKM3%`sX{{B+Gx9*$p0ad^LZ4)L#3oMz22T1|Xk$s>WEErY3-xpRzi;;9kC z+5Q6J`I1LMoC{?z_Cl+k@`BLI?8$u{%5Z+rN49)3M> zxvi-ZcF*6@d5m&&9=ulPF*3_JxViTVo{N8yz!$1q_-~}ngJZs%WY#oiIv1n*})eP?+c)l-3JurF_QV#Cd$)Kk?`L}in9-KyALSr zW01Cxy;+yR@w^TaM*FE;_-`cf{=|!k4^AmYyvH~TD1-a`BU zvd8l}NSHiC<-&g>i62P3nD{}&Yl-I)UrKx^@ioMU5r2;O!Nj)^A5Od{HnfsZ{zFtQ z{D7H4*U!HTnev0s2iv|)#sAFj^VrP zs4m$?I~Le}pGzIY(|1mz5k-85Z^iQM(`eL;Yw)hy1)XqlG)0DleVO0f66iq2c5_Hc z8|~a>`}8fbXkm7y@$I`~(a5fA`MAN?u~jGgD$>hb>V8{PAd9|=I#_6_>CiixbO*6Z zZVW_<`31WjXO(@&Z_Vt;J%@-m0_@zHVcpP*MF0HnI$83&;@(O&caAJsJwrdIn@E=U zuBdZ%_md*R|AJdfk@&Kp+P48aabqLfyG#+uU0kKk_En^}tB%`F9hGut?m+o_8S>qA zwF2&l}6pi);>Z|C3UfK0kg!5or zgVKlJsj<($RBVyVIWzo6%aE=AOgKwo|5@@oTmKs69rXvx*1yT&Kc*A@xCV&CWBDoUg#RY( zZ>}@JAJ=`e)&EcJ&-KUk;cWfi)c&lGYc<*WZ_)m&zo--be|7ldI&il7fxhm-`dB8j z^*8rt*&o+^v-LOkaoHc&Z?p9u?kNAtPWb0L{BdnBTYYo?n9Gmr#@YH8JM?jVIa`0b zuOck}*d}D_Z>|IK@{8-$+4|Qy%8%>X+4{F?f7ZwK?`-`qbogK23I8RI^5gzfw)*%6 z3lh(NT#wJz|3*joah*I{e{=nn^{X8IxxygTT?S6;wEmSwP*23QI8M0M36qHoCI9fz zAz0KS9Ao(#DubDy14FE?5kg8|X4F)^KWP_8PtnCn*&Qi4#I*eO0e-<6XNnIeyZ*kudY;qzmD(BlSQc!3Utc|gv>}!c zPPRU_v#$D&EDXK4{#Ye#{ng^{YX9ll@GKUWyshu+t7oD^AM2W}zuBX|F3bA+`s$hK z(8u|Qt=~f`S=Jxl$ab}VlS3cJ|F-_I9{s6%h_R%Omj7`c{iP0lERweVH6H!S zEcLJQ=&yF@V_CNK|K!m>U+Z_Y{d~ux|FG8Q?dP!${e5M};hO(zv_7`EoJ1~?`iQ@4 z{%>*Ue_1^3`j7SKzohlC&Tz8z+dTf}Qy6@25pit)CQtbX>J868EnX+%i89#bf5D?a zM6N3!@jYk!Mq6__KpM~0{zqv4Ha3>L?LR>LUG1N*%U`MeQU1v?*yVrKqrY0~+v}gL z|8tN2N=N(Q86;bOM%-QhM?L!X{3{cGSN+#G^iOc;-|x}?PmjJ`|9d?8>mB+f4*gMb zoZ_1Qf67w-DDijI|5b-Rp8c@f|N9>Op8BDYj^_XE9{sHj{gWN~Bjh;4RsUgG>JJrv zSN(e)BVv+x{hcPi?fT#B(f?AG`Zsv=a~=ApI`lvD=zld!{l9zk3my6u4*h0n5Lf#* zWvM?;{9Wx|=Fp$v(0|FJe}&fXX!|)(_7kr1U!P_9_Yr?r`D-2JpXn%nqeuTgvMm3D z9)HtELr3-RC))|sKW1$hH*0;p8y1T&ndRU7#&s*!Y|E>MI`o zp8CYw*dYdz@ehB=cZ59pIXGC6R2+_!KCV9)e-k&U_3ge|a_!*AxwSZa051O?9dMuojO#2!1 zJ5zrH^mwVR|5iO?(f)H}F#e|fUD^nd-xvR7|IsHLpCh9)WU&2Z_03pz;8C25|MKpP z_78uh+s*ujjJ@n(+5&yyWt-HGlihwtj~+iEmr_T4wTvz-7}e>%S{9^BFi~YE2F-Hi z17#U0!(lQYe}oK2>O9U{@^l{O-B`Y0gX4MJM?)UxqhoX)=Z3hy1CH~wLY>E91U5zB zn5AFRd7Mj_YfosZiJDK6@$oWDmSKu!MS46{#wX}}u^yMm_(YvQNyeo*k7JcnbRNeI zWjc?2c)8AFe>z>~v2XjT&YvdZnL2;EjIrFH{AbF5Z7A|*>oK-z<{DO|W>tDTOU77d zVP7LdQs-yuah;5@T$=t=Om7R%ZV|Y<4;R%6ySsr&e=>h}TkLL&RR19>cDKduw)p?0 z3$0q&ABHcmW~0a6_}X@#=o54jb?8m+G+b$$qI08-Lv| z)nVfY{eq9scjG0o__BS1l`+ZQ7K`7qPw)t`8)Nau_6dHD>>pzBm-h)iMfMxr;_vMf ze7l=uzuzr>$-co8$iC1mzG~m#SIEBKEq>p=!KHD@u87B9+&8!p*?Z&hxAqO5Ms{;N z{>i?<8_5189>03OU}<;Beye-@?)`#Wk$tdx{K@@-7m@vC_xP{(3x1F6w(ju{_6x4; zA=&Trh%f6OtU>m%9`RfH2QMT0n;!AU`UmeJ`_CTnm-`3T^pxz)J>&275AH$s$)52` z1_ZAl`@5d;RRe+#kX^Dz{JsIf4SPuTjy>Wp4hSAV_Srq+Zw&~3i|m#?;-3r%K1TM6 zUh%632CI8X_U>Nsy9Wl3BKwnG@h1lc|Ap+Idc}V|F!%?uEBB0lFfh1tPs!f5XMEZI z(m}Okf4*n@mi>cwkp1hP@yGTL7WbCyw|mE5-alB2><@d#-`hWU2H9Wrj$bk;_%pJ9 z?;T$?C}`hHvN!G(zi&|RAIScAulS3Df=$T2u~+=9LBWT}F4{Z($)Mn>y(N3=-tnsk z2M;6r)ZX#C2M0ex_V;_opBx-~g6!pe;=djoT-!&oYx=}L7#uu~?DKu%%MJ)$MfSZu z@mmfEF3FMX@|^f%2L!8-y(cIB@&Um{WPh3yfA4_cb!0!tiC;1#Sljo{a+k*H_LI8< zRb7Ch8&JKLhCRdJ5yu@kjvA%`zF=>aqsS% z)YE74|4!eeWA#`3PibtJJg=#KK@pbLX!-*7P5OPg$*pdsn*ImFzDaM|Te=|}F12gb zHM~N`5xd=eld5}mkv5_JP2a}NIZ5hqC)2jnN9ra$9ryiwF-Gcx;Xw#wVo*P=#T`tq z)zj6pqQ;;4H(jcykKp*!zv&u19rtEa`qaPab9%aZmeRzh{!O>&>3EJJAv=@ z?ZAI&2mWh1nEsrej{D82`P((@-!xay7Cn7Gp58(KrZBx<27e!?2g4*I#UfwZNl*6o z9eQZmNawIhb_vp4ucEq-(?i4cRBUv$)UyPz?@9j1hWGdn_4IK%BEud&{=Q5P$K;H( zyD!tQNn*jIjJ5%YskxIm$=_$`)J$U)r`W^sgh*!k;`C*TCr~nzzt2)UnUa}0(`PBX z{e6(m$_%dTYdm~*2FI~VSLy3`lzx~`ZI^`IuK6m>)%HkxyZSQ4q?mfLP#e)GroNs` zKxbpYybSofB4#U+p8N-u)jP*D4vti&>MV$;JWHf__Xxv}g^Ksc;I}Dmwo2*AFDSl8 z8tB{yiucOk`>7)CmB9gG!CVhl!7`@p?n51%*yjXhoXFzVY}9lwkBeBpW%7Kydo!*3BjRDBIUG{>`(NI&+(e@%El>MOn_ zG!OoXI9<)wH2tjWAUVF}K2+6ly7*KJca^hF+2g6tFyS}}=^>9jzCG=V6Zh~O0NDt5qDMrmta0$SXYdFDQHcV7=HG z-9LHkyUK>nRi6GHez=E!#lxow$9CXA{fs@XT_K(CvHymLKj-1U(DBz;@w>{Q)iCw6 zd#H!!y^+E`a`9w(n9O$adS$O4=$A=`zoU4OF;DgKoGXWDuK2SRpPI5)*JI?@4;3#- zadn+Vew`zCmt5PuZwhzKm%EjH=5`P761nW(QTAg~x@Jk*N8a6VEuY6IZmiPFTb1IO z%hhFypOlJk+U;+OpPa!@kwe&Fbe?GTr*nn7%D>2Cf0N>qQ}IXW+@p%)ZGbSD^5o0@ zXISb@rSv<$3l+y315x`wDqdl5YI!(QmNQph!7nOqma_EnGfXNqEI2(Q&T_@^wn3Oo zIp0=1eSW8Ro53M{5eIJ~MC}(SUTJXZUFJs>ugc(i_rq~WO^TZ%zr%&Q+P^~C&(5%K z^w=-<@KxY)>|&=i9{cqkuDUk+g7!IV?p8#49ky>}Y`5QG+ZbIa+I>)do;?rem!R*{ zk_PGgQ#uaaUcbW;OYT}Y(g|y!ig$cn!}g<*8HXycn`gTdJ)IcaG1RBEcc>db%Ap_EsHFmnY{{NpIZAW}Z@r?O%oTTpNMh zIc-5?%O_^u9<>X`hP_Iw&8e?X=}5HH7A3OSM-@%4!D`!5V2Ud}S96KSgG)c+%px&q zi@V(_V#_09jCE{9p}w$oiehPtDi>L`qx$NI2;MvUD(ZKFr;aog`{JF@jNoodJ|$HpzP zy|T7}xV@WYI3@zB?o6zoG;043S;Egh@QRXM)tH@-xJ@Q^V{!T?jYT zk$%j%6YmT`Z*8gLX40o$cJJO+dM$95dCkp8rq*HHakbiBr-f~%3rNiZar3|J|NV)u_lH6`m zeIXidu5*Id$zXVavJRhzN)k6$Z0-2w$|>TUL-r@?IJSMc=5~4TT@)nnxiXmYASM!c zy$pum2q+1h%l|z^L*6KPWB(BGCgRT%KbQC~h&K~|gE;HHOC0xDjqcxwv#$AOJj&0y z=3DUKtjm3Rvo81PjeDd<*L;&5aafo8^k!Y|)0=gX*8Okdtot|O ztQ$i?Bw@t5dlSD{rWxHK#97z$Nsh^^Yx*7sXWgk3hjmXSzKC=yiL-7Can{9iDo7Zy zZaZ<-y@vQD;$!N28*$csh&bzRAkMm*h_mi1#4jb?KM-f#zY%9$ya$Vf$*haFFOk4m z7thBafiIT9)b}vrtotS6tXoW+b<2sf?%BkbkS?C5K|*<0_hRC#8-C9%v%c4oJ?pL} zewk>P`rb>NbvF=a-Is`SeP1Qcy8lJ|a?vze9+#?xDn4cNFnu63@)vNyL{EpH6%Q@k-)X5$VZUitLvVXWi?Fv+ixgS@#FTS@&V$D@pfR;#U)Yjrcc-|AF|oh;Jp%x}OlghU|OE z^G`^akE}a{IO`rpoOMSNXI(tkg@pLm%3$X2$;4T=k~r(u6KCD|#98+e;@>9SmBd;1 zHsY*%FLBm=ggEPNBz_&~{+u}L{((5_{)IT}_TNK-NAdyjgrq`yWf3 z?MK_$Nz*l+js9J4JpZP|Gvc89?uaPdya4VmOvb~A4m3F{z=5yzKl4>Ka)7y z_lU=lJFu`*!(%?Xmv@agP51agJ{~&$Hw2 z*;^Gqqx}7ebNr#iIetEIZl7a`v;9=!9RF0}Y+p&77WejRZx|6|12{u$yN z|7GHA|0Z!h{(p}++kZry<9E>yYNH+4K8HBRA55I>M-b=u1;p8YB5^*>Jc&5lf0a1L zuOiO&O~g6=1;p9@a^f8SYT|6anmEV5n>gD)M4aP4Nu2FB6X*E9CeHSMAkOhWAkOxI zJok@;`Ofk8B+m9Z#IF}0v;Ue({08DPG{@y{T&mHh^TF9a<@_Vrb2CPuS1D*Im51b z6X!TUN#LtxF#J@>BZ0H-C`Chlr{s#DV*W!9f7rtx@$g4I{4o#z zk%#}-!yhNEFY~DWU!D+dl3q;}Z!l2CX1%~|>F*HF)p_unh>s+W`EHU~PhtNb2GSUO zy$q%tT+S!S&P<2>2I3|Qj%}#O4j#={)!xoyVwB=fN?URHrjw zy$zJ{QsS7_s(<5J9Fnm&^;s8U#WBsie~M)W$=Lq_8A-2(qm;dQpY$!_D37^st!AwJ zhPyr_RF=7DFiGJ0kU{;PNZhRZm{3XFlpTB#@xA~$wG&5q%>8oHmpXL&8Dkl5B>R1c z|AaW=e4yK53vshuh6VD~SocK`UYl#mdzKQt3 z#NQ`AoOo~S7$u?nhp1fm??~cipMoi+#Ld0{yq>t(=729Jei(pGYl)kEIwox*jxw3= z|GaPU)b=E=W#PQms#!r^OKWpDt~I&lWPMd$YjQzrkXKXHS{3BYYH11bnj6C(si}Fs zra4I}uU8gcpsub0PUn zylC8v2jU~I%#8})RqBL`qd77pqL1dA$L>22i8^H?L(lAIsX-nN0htA36A3ISc)KN0 zC!Zbd>??(?S38~kN0O|hv)Xy8i+MzM_$K?itO5VYD~f8&6;_Q z^OGgzWxkh#vU{{yI@_hUR2qI)!VW6NUQ?vn)f868Ox=uA`j}L zsZXpJn~+8>kVcNSZ0fZmd6?g~v`awyr8)I7+K#<;^e?G*cJGHoq_I#&+G)oY?&zx` z5d{&jUw-+QyfqRL-R0F%FOZlmqdK@r6ep`{60@pWl4^tCTWqXXHt-rrMYZJ4ZtLDie@to$ywkCaOzf&XJ|K;;l6KtZ+;2aSN*N?`?pic`@W1oL1 zoFuXTSoxi;|4ii_^{?%Oe~rWcoKExBP>4*l_+@Hf{_Sii6n{?|D4Cv?Jp zwZk9R9J8H&YaRZ_cEbN*hd-`MXRE)_;lH{Q{+qSGxu$~U|4W_le_Q+a)MNPH(h2|f zwI9#_+dARDP5ZO{1D)^>^mQfHzr7Rw=DjQS$948>=bw2$i~VsuK3o6cj`HKWdba-g z4u4!9&(`0(7slnsb@Xigiyiv7-kz<0_}$~^_7m$=w*KZiCzl`BVzc$Hca$I3`Lp$3 zp#6FI#r=S6{mu1QEh+8)O!-awRS9#I|30n%H!Ch| zIW3SMuJYfdZ(5wj#*(+f1ueo{<)5j`U#$I6{v%|t%m2JEmws1$6NK+oAe61YQJ71A zwbnQ71bxg4TYrd%yYvsx`ZL9cldX^aq)Y!{tzW5~p?|atwtkyOzg6qwn30pMkN1;Z z`U8`p7uO%lx~-4xl>7zVt-$wa{j*qH@|IbE@AbR%^Bwx59r~|&^n2->T^-f`=N|oH zhd$1K?E3E|6>`;oiq`L_{i=4n z^{@BnuXO0+{KM8??a?2n7u=54|5YCSH4gnRJM=&C=$B=w|B*+3y+i*vhyH1@<8rnC zIa;f&W3dmu>NHEZO{K(J^GJp zeQdKhNpnZi+aCX|+Mn-H!_oGC!&Cl3U49)#U4NM>{&x9~mBx3?zrFSki^$3F6dw^)an6+VC zul);U8Yh`uk#wW@yXwDM*MFt9#{OfL494HA*FW{>Z`1n5&WIX+^ZNyletvCeQLGK2 zUn7I@H*vRV{jOI1b8ulolCcYarJwIKzlX{RK9(^#42YzW+TZAziRQN%A0Ym!{fvPg zFQ^SOMjz!zlNvw6M~S~{{^fU|uVsRxjJ{R>l@9$nhyK^JzBx`aaSOHna0B!hWkoXM zIody@>HlYG|1=46#?SBzwZB#TpwiS|_V1ib`x$ngslNewyhhi*5Hm*-+JBx5#^1C* z%42H_3TkulKM2s@0#cIaiFF;zu76*#v6nsgy;+a{L9jyV z$I13TdQAS9TuS*F`H+ko6Pk@0mp>}ZRrb2LsB~)AF6oF}S6X$=iRt`Am7OT> zY|T}+Bjop?GQjUJ84lO^BV>$gbKp3K$!}%5bC(1BM=a1Lp$ugdz^F=bAs`DqvxLD^)WQ?jJ#z``i z>O77cPto~lGA`4398Z<&JdSOq>pYG#zWV>z`x5vns_Xwr9#LG0ODpaHQE|hBHQ*MO zr!TS?2`H|QkUSs~l9;>z?%05m#wb>7ajUe|R;{(PE=B8tOBJhDw6;=fZLC(Y*cMxB zv9;y@J$KHTIkVj41*x^aKlhWDbLM-`a<{p2=g!Q%%+ocW>`lXuuD`^e$@DCyG{Q@s+L}~*uY(7Y=eFeflGTqD z#(8Z|u1&SQA+{c)>_<}8k%Ti(Ce<;uGiB6%DQYPr;b!yyj)~cyx-6EWoYvQ*hPc(x zXHg+q)qC6FUwlo*qbalzRlcb(Mu_YnJde!(Al zIj<7?yZnMh1^6rk?4m@$jRnqQiN7JwaNhg)f*R)n;31xlC1=#RuBWrw%UK(8NjYt& z4nEs2825xkwLP6`d(~}YB>W5&t%EWUyO9!etHdkIww8^?lr;3VCvZA!Oa;ttqy!ug z7HbcPaaBj`woipIw{F~w^zl;eo?5YKbw&3Li6R*-+pnT_w4q=XM}{UfsO*eAyMeINR2|Ma4BLp zdDp;ffjJ3sFF(Hz`JdJa7q;zu56XE*)QJ9b!F^A&xWet+E3-{Wi?5T$jvZAraO#Yf z`fN*4>7XHlijNxJVvb4fvVC0cvs&ml`BL-zy}p1=hx zAa@eUB_7C!AjxHo6!skj4ag;16Zs3>bdlW6Iml7^KVdn#pYYO_KiL?f`2DC~L@?7X zlJ=>tABvavp=coP>sNaEXR|)tV|npeSHB3*IF3IXd>}vhr+YS5bYo*l4mRFq8CyPj z@xZ|rFY8X*+QB&1r~6hfpH+T2)o?uBn|kqee*7YiH_w%%oTvHmw{bkpDS7(ke*9A$ z-=gF58;t^^EU?87=q7$#H}N&y#4qY5{xUj5z1@n+a8>8o(-pH$+)y#RYTA7GRm4GE`T6aY4tMaL$TH$Fe;2sT4$>`V^9NSL>9A~5WmGd>cLaA;;K8WLufDh{U^ zt7u4=H@)I;n#qcWgqhij!%v8UKoU-w1s`LI3?9jV(?y5@)1e-MYc0mwF=NWwa2!5@>rPuJI?>Bg8LY$*< zL+=YJF5&e?3Iv-7%s}{Y3B<&Ogx3oOV-seTsUSv2iO3tZu1vy-=GT>v=GVogS9SH} zf5O>O*Z@rgRul1~65f|UK1N(3uo{OSmk6xJp>a&0#Ds*ma!N2V5&Lx$`3*f7VYP&_ zN6>(W%jiECod~S1;m0K$eu2@443}{B3L)-cBJ!kA@VzbaW`q%mOE~*RFai?ZT}UuG z5m-gTk4rcQ_y>whI0vdDpG`PL{sD8eX31`9JRmLX&%pbu>#tlXx5p_>llkGWzXcx* zyr1g#N?EZSc%1zz;Jd5wOf$QT$~_r?c@sJapifdk(X5XAgZtxNIb$~ik4w*J`Q0|;|yLN z@q53)$9TB8N5|2}2KUFSlKvSOYV=p*Rl#2}xIbPM{MemI-XE_Dezn0XJ->qg)!_bk zRqzvcAv@Cg{B^OuWNgh8%#enF73;j&A{Wz|7IgU z-Lt<3bN5>0pRwS-C7k$}*RecS-xCy`mt8{T~ zt&=`!!YN}$Pk>6xjC6T=Zlga7I;gs_5%wapqhp6*^%&awZ{u^VX;!L|B0lBB z6DyNb(o;r{nUFMld7AvoF1)U&w+?}FA8)zDtpu|UkP&q^qDnv6=+yf>*v>^p-#>;w_pW>nD$pvf*tLrG*nbIHD{WV z6_YB{B_-~`v@uu>!!NGEn94t`s%|pY$;dS6z2gJ&B|~8jVl5e0(6uAP%$dVxv zF|`qotmC65G|Uf06`#`Bltq?NMp`A17Ig}BmE)3PH_K!(CeO-Be3q4fn`7$c&{tN^ zo|B$gRa-}uG(LPjj5sNi9hYgY9y1L6YzdzeFIncA+OmEiyhIsQKuo6}xq>8<)pg#P0fjB|?iD#KY^9(02$ClY(u@pl$&ZOjCWpJd1VwE<~qrb&zTxJ(z?>I}u@Om}?&CrXTc zcX=5tv@O_h$na+R!7F#J@ETyGgBu`EzC)+DzsJE)!)=joq^vpF`9KYO|PGrnVXR*oYYI!ql4=W+6 z5*%uJT-1NhQ{oL2!pgape#{zXSYM3SAk#@kcY%e>kVG2LRL!WJS27rUb8Wi14wscQ zt?P)J!kG;;z>@XJ!uqb+Qn@cNW3kF?X>CKZS!`}-Ic_T5u~WLHxgk9pca>Ot*OYWn zhzDua3#!spSnU@#ryMYiVZ!0~PqP8CX1vU_V|vbf!y~xNmk?g9+j&mmbCmpR3a?Z69~C}V;U6o!Uf~JzJS&?1T@~J-MHiORmt@2LuJRDP!`T>EWSxb}OQ!nI#ni#=RlvQ`h_=PSRowgd&jwciI6 zuKhltaP9Ybh3ovjs_-WGkoNG7!kZQTvBK%36Zrz3)1q{?DEu&m>-IcU;krH3S`ZY- zj+Q@J;adI-h3ov*C|t`oC|ujWP~lp>P2t-9GKFjTTNSSD-=%OZ|DeLPeR)TU%0bJ& zsN}W%*A%Yh-&44@|DnRQ{APt~`#UD6R@{2g@_Q>>*ZTm4Yx%GK*uaEK$8Q}|+yzC(mwl7b{2|q{4?+cy+*`e>sB)?kz5``Co zr$BZt#ZTmu1R@ZA8GeFmJC`e5o+psJwomDxK=_yN6FVmmh!FNGPg25u2fN}%ei3-F zbCANXPA6bDYdakZFH-Wl|IzZ-DEUK`{8ELFvfvdK zoW>XwsGRkAr2SrtI4Nh1f5n1dXTg_Q@arx3S1tJ0EckK@euD+SQQ>&(X#!p5Z(^QE zA@hXKW}b+&bHe8CoxCMafA#$$wqp!V*q> zqP$0@@mX>JTEslb;!&p;#xqBFm4`acbcIu#1R8r&AWW`Zbi9QAArMZ#EFB1ld zlAo0>?8(b}0S_vi>`R%hQ#jd@=lpLfoaCuZm_P-CK(f0S&iz-U@Ld&Nrf@m;DO$$K zWJl6Y_(CPW8vz_-JS_RWo$=e0{O%$Q`jo=u87xJI_a?fNb=E6+IcF)#wl~p0N(cgx zFB;DMms0p%3ZJcTITt8;iNg0*@^>hFABC?`xLmU+dcDH;Q}Vslcw>Ks4^+5*dn%>y z1C{)2g%>G&iNgCS{0@cpSNIx*AEfa03Ll{G-qg_|Q1%WsocnK}!sXgQG4!4f1(KIO zpN?lMT>2KmmnfWc#+O#IaLcTwf=Sm@;T#28>Bc_n&Po3M`o;C%%Qrp{_51s&r@#vT=(G7sg8Ll)m{3w`1zFdzLe)Jd`e|E@hP5Fxfu@apu_v^ z=&}m$gX3<@6Ze=ay30_Dx$4&#?Vvtkx#~B@=nw6I{>3r+!+M}E^8h;k!+W4lb4e7m{sa&J!Ur?dz9&$GVF2a!I_&*tj?71r1Jzq|+fovg3@ zFYST;de+zeztjW$4`cM(dZ6#{{D}5X^SZf~UwDrlDu0@v%~hZF4xpg@(;Qf?`U7J0 zX+AbreR*!I{nNZ{uKMzPS?kj|nX7&(CjB%IoU49#j~yz1nlH{(U*_v{`=xp1T=i$i zq%a55G4{}8Y^|7A2-K#+1G|3}~#_D}B< z#rgk;{ZAt!Dun&-0OdIU)7bxX)+PVc7Q+6kEdD34Ahi!2!v4>;_+J&1e>x?@{^|W9 z{6*UD5*DQPr9;^NH5UJCWBk*(7WPliZQ}gDon!uK?Zmk9UmxS2?mxo*KeG5gUkrV!_offlnnd7$l`xlj{fIa z{1?agCn)UyWsCoN*nfBZ=L;79DfX}X&tqcz|IOn6b@oqvt_~0ngpC&e3u62q2hDK) z_rQfKuKx3JUrvF}86Cp@D=hj$SzkW`Bs*dK@z9TJKX=5`Um5hn>9_4sb1M7S&xXlA z+_G^6$<+wP!R9`PZs~-`a2N%asEqV{GSx#|1yjJ-u!Yyclp22;=dxse|e1me_H(a z&(Z%!7XPzj{L?!c;qq_5I4Q3FkIm8ldC-q5|AjIBC&u`H&*J~I9R0s-@xMIA|0yy4 z(-`N(<-ajU|7Su!F8?cI{GS@*|6z;&FX!n0M;8BUV*FRe_&*X2A};^8<>>!V=*Q*1 zGsgea82^hc{vT!k-SwZ(TlAmLG5yb2(!VJt{nKL7Uxe#qT=~6|WBRKt`XA<~{|M_R zLLFmozVR(Znsq>S17Q{P|vAZL#6IA};Jzl1>|2Z&pG3;B(8Hi_ z%1;ECuIKbiIw}2C_=%q2Cvf`1^|!Da|Ke_x_z%^;*#HAV;)ncK$M~Pa{$-pfc9*dK z0Rk|kvZf$3%la#wH5RYA&6phc2@0hsnZ)@3$w#Zvxf z;V1f1E|i|IZ_;esjsD~Psy;3~59Cbz!umS^3%4E8SXD&-@ob6p-6Ox;Gv*k zC2mCibO@K<(L;I5mLfN}JGyAzMP!ec;e!X4mYV3?_jpH_8 zE#_|ny&b=AdW$ZrC`L~`G-Lt!S7N0WL|AG_{Z_1v_8S~NzkX5{|VElL7!oM4bx{qf6DxGOrHmR zf%%^?eGzmm^Di-d8T9AOzryqvpuc4PRi>|j{u;l)E*7%$LTIOvxD72xkM{k!{QXW? zNwqyP5Zh>^+U_qhl)l!{yI7LRL*^xG5I&|txY_M*S^DKz4L>9gD7Qc7AhhnGJ=l}(wXQb@I7 zTMSo}Jh&Tf%uMyUboIA$yMF-E6vl=@C&CuK(pB>vtNo+wmQLynn^tpI&+VCwG4E^28YxCm8!> z*OU=mxMPUWfJturOP@2qoMHA*hFEX>$}pdu z+!WffmhR25FRj^GmYDXb*o_w3;4VpSUUe0-zN6K{DNBwoEM3GGr!L3jS4q#W}7)e}S5?ZVMj&oXBj#>|eqo&xz19Hm2Gu zu=h1J5koh&S5(kpn;|%w;vP-ua$oE&d~DOBZblw9`I~QVt#VOkcdQe)W$^CJ=#tKf z+2;zLry(RUF$+ZNh%$VGLEQRBVB$8Z@p7tf`ZSgamtaX=e^nu%Uy*E$n-0DEhWw-vW z_o`LJT$%XF6OKWDMGdE-(Ctr{xHXOD9_*u(2Upyc3)$SZzr38emNNIR?V*xW<@*`O zcss=h-d%{MCn)C~Q6u`_2*Lbqo!0-~$oaN>=pIP(=(PR|VOxFZI?(+8ANApGVZ!@p zC7YTWnvz|%LQlSWPSvc;RLmyiAYV#bKb=%NtEy{Ra%}7y`H7jH$&atC!~O={1!I3C zrDtMoU0rRr3R=Fpse1>0`X^P@$BCabcI>F4fm3I+)Ms0YN(T)YRD9I%7IRc`n0sup zuqS6E@50GW-h#rseRtlzH+|2(A8`6nIG+BE-nH#FKZ$Sl^)DtI;TZZS@$>xnn+Zoag8oVTOh2CBybCKPn3Qi%Z*e;NO8Sq) z!2m)K2I5Au7cpYv;&K6kti1mHS|wx<)@7R z=}+KzTYl@hh^MsDyOR`7!7q^BlT3O|!IGc*y0Am}-jCyR&37+%;?CWnTJojxJ%Hom z@acKj~q*-|i;e zy$Vb*#P(AI5LL(e-KBd1+c}EN$$2!}?LWxQeQc*0ykSLVtU15ukR-{y&TIDQ`;Kh?K?H^)!Y@%fdW{_`Afrt~F!Sy#UZIzu`BZ192d z%0Jz+QMf%B=RK^&hDt+mH}Mr5AJ+z`3>rE95ON~+tNc7J<@gdEU+2fK?Xc& zhi>xE@wW1<=tjS>8~vr-#INLdTl-qe@wWE0u^auu9o_uf^ou#(=D(sF{l;$emv*DS zvK#%i-RN)ZM!#^UZt~CZwIn9zZ+?wAe~JKAaQqi^e1&`d5o8O0L_{y=gUxaActjHi z<6F9uE%UJY(?jPFS9F z5^7I*I+l>mr4PO+rDI8!`cGYRvxo<>|gVR9FTpBV*# zB)mJHV01$5HLqh5&UAg~@d>jloOkFk3HJ`fI~FEkc8QWBpC-)Lp#Cv&S^TKJinzkf zJsyiB%oosnph&`eO{f4*er^;5l5iR<`1ux`Mn=()FuRGx;q#*)kc4xA1;5CGUt+;8 zwcraa_~jP7)q*d!;8$AkHVfWv!8G$hQ|qjC6sQ4mPNp|47#Az{8Ujl&;`f)L2YIP|4$Fi?xi$M|8C8IZVZTad&XjDL%9CKQEqt}`_JFX6lvhRkuo`Hcl9FTvmr za1ucfM|+#=kc=|?=)ndr@B!xBxwh>h_<2U2Z*o*@tHEUy;z!(Ka2d7u_>T9 z)*74#c?y5e;5#eCW!<$pc8TEonmL@^BKSE5-!p={dr<0Haz%b<aplH~|Ugbqj6^FA|rCU9E!bMB9&RKiYm= zJlcL-JlcL-JlcL-JlcL-JlcL-JlcL-JlcL-JlcL-JlcL-d{-iokZ}4$Fai>R-MD;_ zggfKo1I#6y-6I$Q31<%r9&NX-e6-!V_!lj9_Ojs7cJA8Q+akY@1>e_#(+o&7Bpfr_ z5{XDS2ShLe63&4ZyvTz0v*7(L_(2wYfCWF;f*)eR54GR}E%;#;{BR3?gawcGS0tD) ztEom+5>B)qbLEeY3L87c7QDoQNBcbzOqksbqACd|+8?^|!=l2*j;)^@VUaJj;QSJE zC^q4Y3L)-c!hPZviA#7-^ny_d=eQuiM+x`IU?eW#xUVILBN9$o7&6BRXS4+$W5LH- z@NpJAX~9pl;3q|JT0679ny)yXC8isEk|&>H?jqp3t9cu#xm$o2deS~~uLXY*ct6J< zhc~jyTNe8TxCHiB^CafkDs&D69_RNAi+r=ePxTTgXY5rLoYuyq{7OFQnG%KH0PmOY zj~nF*`mwPy(-p#h842x&OLbg2M_KTjE%^Nw{7vBfoYkIR@%6DqzF<2l&sm;)8FK>- zUhCoWm^&G`*z_X7oMFN1EjT^1inDVWguq{!_*!{XYiYPtB)E`d_rjf53P?-+D;;55uhsrT_3kH>r~TB=G)f z9$WmLYr*HUonzUKr2ksryE)^%a^UKB?lX3zw{zFsC!rUBvk6a!nBM{Kr{)zUJ^!%S z*#qT8`MQdY$qe-n;QjHvngqGiSYYr5fxRaOkFy;)vFO=8g^!H<`R)P!%Sf(2$~P|k z^}zc(k_!JFtFHm4bRNRDU|(j7k6P?JXTf*w6YqC#;ADSg$o?3MdUqKGoSv^3 zyv56}l-nBypC7@GKq2&Z{Q3D3mN?hob3A#mzrx^`dbr%V{n6l;d$^?FW;E3PPPF{j z0EbE>ylLd4<-a3tmE+_O0^Z+g_3TJ~uQT}K2>!Og{pS})vBbYD_IJmvcz^Z0L*$Pz zxc|K45VkYU;8#ZcK49>L9**W=!aoh(=HZh54BA0|r#*uI!r&bdd^Dy2`kP&$+$gcL z%;48Xmv9hOd0eyD?7STlFoL6e>Ecin!%TQxXAb2i|pJG!Dj>Sr{3-nPj9 z8+bqGSJO3!T`F6lYc;NSLeNzbts`BQ=SbDsC)#eT-f-{s+A|3ZV`?crko z8jJjG#{P?*yx4!x$glKpvHzmMf9T<2|MwR8e;WHQd-7tx5GO)^^;|~mA7b!Tp1jyU z)*?R{ct7=AKPwNz&jHECozJ*&PY zUAopKV8){%LRwm&Z=){%D4xm z>2z%a?QM#~GbfFY?4v&1{U|+|tjQ$jB}?GBVsdiIlrz#NPMtJ%O8F_1(rIW8MJk%J zRoU9=G})@Hs;j*aM-BDqs`?tFuQ^Ler{m(v%`C`{8cZ*c&@6IeC0#F{O@;mDBtA z{N;Z*)_fa4@79MS_@#clq;HAA>;B;wV~jo=h>f5x5Mm?fQ-*Lv2{P)H4I)hm(1yH` zUE{T25)!d{tLvgFmBk6lCsn3P2J6yECgG~0vcxOAE@idRKzenA_pwFRC*fp zzpaQtQ8^m*>QcbU?1<`yxs7$11?4r#xf7B#)Fw<*=hj_X-dtH-Rae#Iw=mDh*ulvP z6i{h7R|L*1Zoa3Scw%L8N_xuZF%yzrNd*g%l*d=Y-4u6&V$Uj_pTUnh#+F3b|6Uc2!e4+f-GXZ7#1)R#xF(a$Jd@yU>}X zV*+OuJELBKYPP94(_|8(ZFzYbnw(cvmz+$6rJI)5gPr; zZp11Z4fW_RvKOT16?+vEZ=o^kW`XO@cqu79DU(euXl%lnZOb6amfCnpl1maDQnD8N zTKBXFlhxJey-@5`Y3^4u>CA%aOe1w|Qlo)_g6GNDs2=B+u0*Q+DZCT4E>_^icy@ME z!~AZ_g8E~KRA%Sap;fCUJ|#^Z-{3U<(Fr`Yets?b;K`Zhmbn?WKeH(lNI3P~xO7y{ zo|B$gRa@tKrXG`e#Stjuahc|7zkpRoJ2=?U4tLi?LDQH1mm9yY;au!Oe`C=$VFl=mHL%mz(_4DVVh-&I8yz7y=N<_O0Ir)7dFS$O1 zq=vg0_w@Hgay`GKbMrN0s?YsajV^0`(VC+0wRGv3GtQ4vg`t(`TG(y=&G&KK`>{pR z>n8sY*~0uo)0%&B9G`zTNx`<@r#75_)3D4H-=2L>#;bh~v1ZTy#f-)LJNevH3Ownr`y#es-y^c}B}t=_V;8u|@eNMN7Vo*HDdn&LR!oi;2y* z8LxGdZ};<5oo}PnWxh#bi}Fp1mV6tparx%t#MC#%g!3I3-j$RzryI-baqXzD&UlSF zAc7|5^^x8Pib1|A1mrDNLgN!}KwRp1H(thX`M`L{EDR!ykuA3|tSQqBD|*}<$XrRu z=$e`-4LppZ-kzdqOf_vxRkL4$fw52Uf`)-PnvNQn2P~9~7?+t@Tc6>396D)nB8SIg zVT)dwcj;F~e5OALWJ_Aym|5pUjVw?eihAa1#-pM0bHf1As z+!_qDXz3B6W{OP_Z+QWs)9hIZjjuFCgoaElt$cD^eI!pItHYZzrZJ+w$~0wg<)min zmh&lF7gG#EF>ILl{e>TrK-YB6F@3+CN*jr#_NUX)L`7)0nkX;jFNOujQ+pU%($sB2hS=7JMxjEo2zSU$FP=arOD zJPDdoA)=VNu5I3c$(+_`2v{=x$~ z1iVgQ0zG1+SNgVd54|rC@EWPv6Y>-6$VWk*BOea@3H$`Vi1kRGo}LOWZ>|tdPm2Y= z1w4hY{NpYh!QWFjJ;fJ0`{cP1WakBiAEj`5S}gJ-6i!cb1$Vy(bJIgl@ddABdCD(6 zMHc)Vg|AikY-OLG3XA-Fh0{}f!Da0uDgU!s?psP;m*-Cv{&QvLi~Nk3%0cJ1pTg;B zwD>(z;lEJ$ScN~W@JR~Sb}AMAOC>*taU#^NRJazde6|UQJTH#v0)q;Ol;krG`noHzY zx92}Ad0oFBD_pndUC96f5#64@z<9Vl)BF7t2-ofTaAilg=aCB6?RgU8QvNmEUNcHw zmk)gpK!J#E&+8Pf^ZS;7+XkAK2X(z98~>+;`zJF@1M zgKp3L6t3ly7JRP4b$kB0!gYK8fx>?R|B}uhD_pndwF=km`Blcl?U}wqpb&1)?<+gH zJ=6CI6sVo(_FTyCvrGBcaeF?Lagx{NGfCmPJ>RHso!{FPuIqiJ!gYIoM&VDxx0Kt< z3fFdCRk&`?e`Z|rH4e5Y?8F^4+*kA;krG)rEo33J-!p55U$6g6|UR!bcO5o+^le2zn3Unx96`Y zT({>N7!SASZz){&&-W-hx;;OlaNV9?W?afY%kB9+C9lh;a7Vvd`p|3l$AJqPaO zIugI~rum_aQ@hgbc@X1=1OK=3+p6TBQ+T_=b$h;D;adJ#3r^o%P@wea_S}DG0~=ho z=V1!h^?QQCb$gzoaNVBIVx02320tn1jKXz$Zd7)3d%jHJx;-yrT+07qZqMIU^16Ip zR=94@2khdPgU;_^3fJ{MRN=Zkk5{;E&!;I|+c`_&x;-~DF8R95O`da&lGp9|8wyXL z45XZYpm5!uA6B?d&zp>k-y7NQdrDrn=Z%b0{cflHCU^DAQJUr_kp6|U-K!9!gYGS$~e{6F3Qf=mHZwG|DnQldLB{uZc6?ci~Sds{GLkw zmlpXql)O&Q28HYVexz`n-+{aN^`+B4O5smJM9!CTg?~|{^K6ChrSRDb@2l`8g=@cy z6#lOAd!53y-)}2i`~9K9wcm#ouKoT@;eS?sf1_~icca3!-%k{-{cg8=d^z`3_}`V^ zLlv(5j#9Yxd!oX%-wK86{LWA~t&t@4d%nW8-$e@7ewQj-`@K=&+V9;8-(IzcA1hq@ z{h7kG-`5nb{r+3wy8Z94hhP4>{r6S4wsVlewfrE3Yx^S=uH{n-*Y+zFuI0~FxVB%b za4o+;;o5$y!nOR>3fJ~;P`H-AL*d%~y$aXzk1AZ-e^%jIex1U#{kIgZ<^QB`ZU1A1 zYx&-L`t`2u@1bxl-&f)KdNfJlG>0tb%Q=k8bxOW`qVE+c^uljnC4aucY2AFWbG-#$ zq3~B=OXP1?xK8Ifh3j;_%ebWT50p5BKP!2i&VMRgr}MxsxO$W?jUTS?R}d%ZJX+y8 zoo6ym=^EiYKF!UDomOQ>+yAn%qsIgE z9VrE}e~_|sv&FuAA4h4_RqZvok=+>v5N?3`O=|!%y;i2+LFYf30vW z|0{)S`8O1<<$t4aE&qhVbCG|ihw^{wq5MZZl-Kv&xujp;*YIg%>amY%C-@xC1S#s+>Jqa;T><#_`FKzW-<9QuFi!P;fU56fW(SAa^ZMSD}dY z2;X1HOFvH#)w={aj|e(i;W|CXDO{&#XNBwZ9Ix;qc0|w#3fJi=Q@BpgXoZ(5J7W}H zrtq-}Pbqwy!YdS>RQNQ7pQ!NZ3h%A(*$Ur5;re{k{jfeCQ;?5q&y-HVi`YJ$U;2F1 z^-`|<>U!y=@XvF-oUGER>t(#cbEy||a&UR+ddX9EbiL^7X)g6b>Fi0pOjLe#y?nxH zB=UK#mq{x9x?WCEcrNv_N#$49%f|}W^`gf`xzr1#vnTa(s!G4Emk(8XKF{?sS*2gs zi@ftg*~q0{HmdyUdig-%x?c47HkW##boQiPrmB4DdXX_ECF}ECFQ=*W>v}m|;kney zdR6|qUfxrn>DTr0JC&Z#bG@9Y(y!~~EQRM%FVCv{ z>UvqHa9uC@elwSPp>%dvFXD=lPVe$bee~uC!q26Dp+HdDB0pWpi#>v>6fWinve}uT z(NP*;kYB={_C-a2Uuau9a4VofrhVSEWFQQdV?ap>TdwLa@`QaGt_9_)>+FEm@cK28C04ij1`5tWr41%lfP9 zLb$A_`liCkPBGi*&G{fgKUrs0)}JJdr<{#ODkLxKsh+BEvR`4Okza)qE9jeiT-RygHcGB|0Yi)BI~B^pm4Ik&=qqADxBnHJ=IhQm-SIk zRXEvM%61kgob1TDsmm44Q>R8_mBLA0)<=C@;becMk#?L;g_FFjn`$PIa7-BeWF6EU z=)#LY7};5kABAFtQ=F`iTA}bS8cFwGqrypE)O{_6zxZs8G0!G00A%!pV-TQ+k2I z$xad5S*~!Bm-R@$p>UEfX8F|$CwW<4^jU?I{6j3iUg0D!>xF)xaFTzTz0CRA zb9+~a^3`9-4^{X<3ZJ6z0SeD5{9uJIQ}`hYzfa+ZD*P3N4^;Sv3O`KYd-6bv(l2wr z6g^boM=1Fz3O`cew9YjJvU8N-+<(gyE_3D-bDzSGR`RbXyjbBMD!fGDd+y*KkYAZ| zCS<6>Wlo;(DGDD-00&yZ{h`8-Rq}i8=pK;Y z;}kwr;WGD5(Nh#&rsT5f#nyxCFaZmalwR}T921DOQ;2;yIV~yAZ$LW-okYlO@;#P?$a+`v$YbZ*RcuO zG#~Nmwf%w(6|2+mx)(iEi#fyadHL2^T_l(k`VM}}sw}+jO3<$9HP9h=->1f8DJnys z>-x<)$1mz-6_;QFw%&3qlAx`ymPH_m|5J;+gi`)lF0>MGO?}L#IS)c>t^{m<*2|-W zoPRcpoP?Zymg}8_Tz~rf=C<@nz%8|(t-1qMhW-Jw(9&bdNj2Vu5k(TSVAD@dCcfANpTD^rsx{B|{i(Y{uYQ~SXy|{)VJt{o*A}GJ#-%~xtQPzx6;l|&$nI=# zV+$pNZK#%LFHLDjAroFRksg5dD8POQO;s0gm*APC%@XPcb+tnIAS@+ME9N6uMcSZRCEtfq#RMl~1mY1roqy{X%PnKC}&X)&i0$Mjw)PfvT) zrZ00iTK~}==vP3Nf;=PZ1V0_WT>YO7SqfUe3dgzX&o6;)5TE7m*x#|yy z(VyD`eR=Ms{nN9vT>ZSPFZ(#Pr|w;B)nVHtXy5OYh(3sxR-H==4*W z=BnQqudk?y+N+}i(>TYyMbKwm&WMR_XWA?-yEY)Z7Ns&J7Vz}?y$W{OC82|L$LazE7Szn(&r9IH! z6yu-1gUHo?FM243p#9VL61nQ{9HUR)RphF_C+q9-FYJMSQH(yl_n)hOS=UbYe+?*) zT=mOh{L}mGx#~|~eeIvd?78YskMU3Map$UE7vul@9_TNO@lWq7=j#8e82?Q@&|eYb z|D7J_-yP$>xd-~IWBfnS1O4Y?{AYWh-x=e7Z4dO{XMKJC(|fGB*58LQ{%K5-tG<&! zViC0e={?Zz&HB3kpzoz}^}lC~e|n!bSN;8B{L^3!i`_3L8%(|h~5>dSkP zy8h`s<6QL@#`ym!&Zn?`5ipqb*6Rgp!d0xlO22%G7(T683TqgEBb#L&;xg-~vqC84 zm+3mer|^^f$h(8|&KUV;ci`MGPQQdFASlV|a3l`MW>`PP`utjxry~9Zpm(*%W;kEd zSzpHCB3~p7(~+R2{6Ypc^2>t9hvY+I&J>IOApQ`X%1no_{)LE)^FNREkI~BD!}=}2 zO#Ou-3a@q*#eXLbPr*;hPwMYhU~&F`$o`K&ybd8Z&W(tS^FNLK7qfCF=&AUH{nMOa zT>brq{r{38RR|rLor>eqe;>cRS)+7`4X0nOsb!&vB{Auzx(=uRAHd@L_dS5T`S01g zM^XQOLquHpt%~t~8f3%%X^o0F{}nm;cf|Og4nyJm|H|Tjc8>mEvG`vX<9|ks|9@HhuVDZBU12JRaQ^8& zJFflpUP{vbcO#wPYw!!_e?J(6iAekV8T;Q2aXN(kpKQ_ZWc@O&3_h%%1Q3`0QcnML z*6#$R`S)=87g+ok6+swbo=d#{lvf>^E&i9slpoE%hyCAf@&DB#*URbJ8F+{X!U~K3 zHS9md(w(3*e;xM!7mNQt6+swbAD4Ll!~Xwh@n3kYt0LFgP8`zwaoGPD41D6+Pw#%N zKJ~deg#FX{^l|k+ko`|*U+1UR?Qq#QwXh|4%IbSH<|Jv0B*wG>iYj{%(%D^Ir-5 zxcXlk<9~jP|CJX1hqM3g`p@rL{I6&K#cnpt^M?y!{J&!HKaKs<{e=$U`hU^lzwcLE zE$#mzK;iQLtHuAN?7u`i2OsuN-&w`ApOvhyzab)1Vf`bak0dx{p@Omd^iSvXPiN&$(97`)r~m5h;?rMokgFJO z|6%`a(2py>)iLGQ8smS5?c@EQXYn7ZCZ`wl-Gh^yA9ED8_$#jQ^J{{$I|~ z{|grXr7`|HV*Hn5f+H^f@8{@$9Q5PzUlHS5>rk-xuF~#pS;!NB?_3KQ8|ZWBd~o_D}l}#Q7h^{=4fxAF}ADa!mjImh>-=N&i=4 z(%)yN`1H@nG5wVm{l*;i?_vE!sAF8n`lW6&^8QQt3veg&d*L8_{aeZT=V83l37H%5 z6MbpF>n#3PvHwQs=pg!n{oLZeY?&)T&ul4l;&(HCqA&jc&Hlsv*T91zjL_Zq>0^uk z1=qX!di?TrKw*-&_2zi}8PVjQ<^XanHYS`4=AQy6mp}3!ooY|GjT;^>z8*6XU;x{fGOXh3vn( z@;}nzzl=It1YQ0saU3rH$rk_ju>bDLf1<^IV~qbF#`vfGQKd|{_@BrAyDR?(EdG1b#STIH zUxnka|JT`nxcpbJ|3+iQ|0nu_ylU}Z%KmlvKNRDi)>DbQ{uLhPdN@iPF%6ghzbyV6 zZ*diL{vQS;>6hz&e~bU)*?)KCzd!Wj&i@rL{vVC;KZgB>%YQceFXVg+k@U;)aTfn; zWBjj%lITnRX}=yS|NKzFE@c0EiX*1s^ju|0|8mwBKVnAw%kh<#^gA?ILP)v9=>&Ze zKhYPvKd_{KWsd3pr6v7qa!mhAmh`7$(*JZ!`e{F-xbp90|KaiuANTDO-+yk*G5vc$ zKd${QjY7KGTx^BG#9BcCGpKFUM0Y>0cL<{^y|-Za)`U z(qEQi`fs+Rzaq!h}L)O!^zbd=0;_|8KGXVprVzzmfe9@DP`wv{DdyH|x8o|9{UTd|q>+C)nexA4OcW`MZ$Q$^HzLX24C+r)Lvt&5^$NMM!UHT@-Blv~&$$Y{U z3H)C@%{~0WegW7kH$ka?h|^znrz`O?@~1<%{N^@RRMGddgQ^=F2Q?gBR9xf-mv{dU zA3D@Tj2Jd#xGOPz$IFrvPR!5qE#^7LN76^W8^7SEpv&Qs?qr>Kb~K)E=XnTYuZ;&704mai9b` zcZy2}4;eaa_=wVx>8cskHJO>SX4jrKr*3Y2L*w~P&DoZD^A}uj;pj1A$0biZDOG;* z_z4pyolY9DK;dmmZpa;{J;+aZ|M= z_68nyG?@%obT)6!>$4Zy;jzEXyCvWGVZLdSl5;zi!guRMw_{WhwPRgV<}8S-MJ@NN zF7k+DvohKUw;!06j6^%mNn^*3DjGO-MoWFRrKoh!kU_;q4R0|=C5O4kMoGG=ybCKP zOm^}X6mD;BqW9f*=k0sbd!TeJkm~{MnL+)oGkVv;EAq$gvR$$@kr(87jt|$QHjqVX9URi%^Yu9 zy~J0z`WzJ@_X6qVe1MZ68WNE=hh3S3cclpGBpkjV1z}tRb_^kIUzw+HIs++CKJt_u z!ReAo@^UP+jB&Zn2|kf=Q;*<w&nBHHGe42>dfw*xAb7k=5 zgiCl|TngeiS+MyiXIUTJ)Ge^v7{84(q%KoPr#|v+B?7CzYJ4C6KyeB4hPML1t~Q5K zn!&h4VD(f#F5%URj}e!M9eofUH!2`p*OG55;Y2&9R}j6sYM*q@QlO5%Up`%h-GEcp zgkFdb4L1zFj|Hdi8T+aBP~@6%PPE83TJRe!__G%LJqx}!sw6J`r55}Q3x0_Oztw_2 zZoyx(;D1Ir#ijE-$j8;!zZfq=zA2c#6SN#nB+kwf;QiG3C1c&2fcIDDsp(^3=lcft zEywA~(EY!M8_~?WfLb8Y5EJ2Y8&F!4~{v!ci9CaJogl!Gb&KGb^(b zN=7!;W~wvuYnwCa>V|qOX4+Dnb)!nt>DmTbii9PHRMpY)BiV)~tW7e@1&7zps&8n@ z;9%0obb3~OOS*c&f(e65(rFBUs#@x@X{gLeH#XGOR$q{W*ib}aJ(6r~b(&1qR@K#B zh@*!3bX9!~l-vZ+adB;}lRjy}DPu-YfJ)1Zba`42^T{Qx!z5Syal^1!VF<%=kLNjE zEtVqoPdV|#%H)*vl+j}*B-3JrmiVNbifLo2nlomJPj3w=aY{LIS7g<)CBw#LX4ckc zCSjeGv9n<#Suwu4OG#Qws%y!?#jefr`kA#0tm59vKBeWT%BuS6j9(~$?35IbuBqYW zAd?l7D$}Lqa^xknn32kCQ=GZM96fe!W8H!{fnh8#siEE~GenGF(VB+(I4dGCu`1hC z8|z0Gy;+DUJ+*#*En3s$OmhoXx(PRm5;TesHh36hGudQQQ$y3lOmlP9tV~5y!@Sy> zOp_^{!N?0Wg-{$d48I8sb!A*5&9m4f6>c}`Q{1JSB8^IbaV35&dKj%J70QL1`7>+k zDkuueonduFIv=ZM)Xpmz48FNGU0qkz+?>u{(3rvbH?x6K&udJHWdr$(NqJ|0$!KM^ zw6>u+Jp&mZT8{H~tVvqBrnwtzlB#qS)UfyXZoURpuUk;uE;q>@WaIr`DK!x85oNjF{4o5)4$Z$%2+OZ^ zVS`iIiTtk>uG8};h0~Z>-_?7#o^&#BL*A}nwZdqR4Tf9xLLh1Lm(PafC&a$eY7v0UGf+82Q@STpL zW$*r%7Mz=g1{Z#wL{(YF^+|KF6!yojKYnyxP!MX8{CrJ7~kq`T?VEyp3!cx{R5=EwA|Kow1@(*R8m>x19q+DX!KeYwXm-24` zMrjJa>m_R?$o(*ziIh_#BI5inVE@IeNcB(saM=GcU~&Gh;QY(=kIh8dNBzm${s7kxRt2TYv*bur~nkm!rup93@PCscp*4H^X*7q~~hz8wD* z43#U33+$|8K>SIB91HyuB24;4fN2poTuCR@AI%<$p5Qb;M(GciUuQS|*^RRqOkDYu z#`vfHH|)Qd{YyI&yX)Ei00Ed%S}6#n^{<3?W8D8cQ=(!*SeEv+B`j2ZPNC?B6eRs( zTGoFl6M$(2=YKUHQ~6V0EBaFYalT2Vkf%On&#MD~(J!n|Gwy=mp~H$)=U+K*{}(1VyC!1Q3yLzq7d^l;{n06miVqd*5Se>7+@^Ch5znI8f= zl=)$x!!1O}Ui(Wd3(d-vWJ` z`QI~r2lQR$*Mq*t{2xF!F#kT&KQjFj(?5f5Wc~xtzcBw-&<~ma8|X*O|DEY3rXPd; zgZY0l{eyABW>C6t(7Bffn$LWKX)mS)pxZIOJ=5MyX&=%ZncoR?XXbZdx+`cO z<_kf0V}5tgJ(#C8-M+y57eV)8zAxzB%J&5@M zOb-S45^k`68!;O5DfDUGU2UD29CDr;$QjI^33?XuXM>)@{JEfM=BI;JF+T&en)w>g z4D&OY&H|myd@bmC%+CR>V}34ZJ@XBqjm)19+QfV_(=2EU^YcLGGrxf81xznwdJ*Ww z%wNLvQl^)IE@b|4&@VCH%5)LvV&<;^y^{GQpl!^58MK}Gt3W%LzZ&!!=9e&}W!m1NtoUKLve``R74jVE$*IFEYQD=}Vw5GyikY zSD60=(_ezV%KSReUorn0=&zZ79rQQMzXAGN<~y0b3Hm$c-vWJ``QI~r2lQR$*E4+& z^bgE$VER7jADRCX(?2ua2>Jo@e*yg~^B;o#jros2|IYj-rXPd;gZY1ge!~2}K>yAB zW>C7Jq`oK*G@tndXfNgqK(}L_p2L%DZ&2FjnfM(+cVeFI19xG5SI|Dp)BPRE?gqL$ z^LsGe6Z8wre-U&q=KF%~%{)El-R&ioOeM>2mD=pg2g1}$d3gekpaFogM`pu?CS4myJQQl=w8M=^g4=&{Tn2YNj7 zCxDhQKN@rl^J78BF`s05BIrrXr$Eb@r}rDiGe3dpM5dEKPhq|S^i<|2gVGu{R6kRg zPGx!;D7_m&ak5U%8GL*u=vmC44SEjq=Ypo0pAK5Z{0z`)=4(JR%+Ca!#r$lhwV>xQ zKL@mq`MIF=%+tFWjm)19+QfV_XqNdF(0R~n9@7W zbesU~#e4zN?LfC@zBkhyKzC$*C(xal-vxA6=KFxs939!+jp^>7doaHz(=UL2k$HOU zn&kU}?#=u@O!o!dkNN#U4`BX4rbVFrnC}mI5c2~-4`%)l&_kIY2znUvhl3u$JgqHt z6!U{Xk7mA@sjOW!7{@~x8wxs%`Qe}=m@fq#$^0nLW0*gd>2aXPGk*eT8S|q-$1p#Z z={V3N^CyCy#C(crIq1pEj|ZK={6wacKu=-5g6XMDCo`=Cox=Q7(9@Vd9dsJ=XMmo` z{8^x9Gk*@#bD5?=r!!v#I)nLY&>H45pfj1D1v;DgTBhfL&SAce>0Hoy<{Lm8nLnRt z6VqmABG8MOzXbGB<}YKq5cG29zr?f^bP@B5nO*^UCG$%_ z+nE0{Xgl*)fp#!|HRv_WF9p4p`LBRp$NVzT>zV&5)2}gI&h!S*8=1ce^k(L70sT7j zw}P%<{u`j*Wd2*Aw=sV^({F=*hxt30-U)ga^WSB9H|Y16zlZ7fL02;W1E%+Z-p~94 zpg&@M73hQb1-=i8{~+j@GJ4R3uZ8d-&@*M`K>_nc3LmI=^YFyTw65+gU(C?)Gi7B; zET#Ag#ZOcGbdPUcT^cmi=tVtKw!r5XE+ihoP2|EQ?vWfW)rYOCX9sL9T%lv1S$IeA zaAojtRq$}NJ}g*{qoD1zI{ul3>w<@!!Nc{z!;Si|U=5CfwoN}ysHvody{TLG4-12b zeS?QZ`mkUVsp)UO+UYSJpr!Q672Bt$WCkU71*H_BRSL=?2)$Pjlvxl#mWPn17p?|k zd_KMKabZ&hYeI6Vf{hWRH|7H$rDsk7r<}<5b~W0+hLfEt zh-PhCB!ST)DviiQ>LOC}sYp9Zh1xWZ1LqBn{ZrEa;7xz;HhKzuF-V`htxvVJbZ+Yv zR#00<;MTvbS6H9=Z}tjXqbr!uv4YOG$Ecq*eXX4L{#UE1wl^lUz3WD{PsM3KU(Wtg zdW!dGRr>O_r{o*g32kqwK4Dv*LZ?gXQ-x=ZK0ERiEruP4biX?GzSa!)x0_Odjv1vN zi-dZ9$mm|$)mk3xSRu0@f=r7bp$-~a)L^9gUCW^kn!Hoi{A(eQf+NYqkO{KlbM5h2y3rczD3TfO0UQ=ul_aADU=O*1j^Zi5NyFOU-CCKirg z?!_A}Xur<`OQ~z4+$}NOhCKUs=5SB8Puql;Cb%77m7t$cDwKFe;kKT`F$d!BC z9ObP^wNs&sXsUI6UW!0x!%iA*dv)_#X?y0&cXQ5$&t%iiV5>vQWn+rEPq#Hh+O99n zrIe#Imsy-NjZ`jwf3+!yM@s*_d2>ywz1P75%^8JDW1frZ$YGD_GFx zhD6*|jmtnX?hhQ@OkDmHRf6g4>5ekzdND0QjDA-2a@6OeUIKaloYjjt=RWItp}k8# z2j@#5@1I@0$Q>7Y|DFv_H+(U0!ghK^D8sMdS{c;$hi>UNrJgZY6Y2oXRUmYsm(B*N zF~h6y5bT+St5A^?cx@AJBD_&v41uyw-ZX2qlKDbaB@Lcq#Hm zKW$UjyJB9KpPdAU2Bak#(azwNBU?9ZZYd`5N8K0~?(=|i?9rDV7>kd*Y>E&fI(OEp<R3OvF>+P#s2C+j21=~5()u37GNJv(7T(p)krA8rcW+b*S%@~=*=s9z#}jC^266Gle0%ssKZp-{be9+*B^`j;bLyTp5idRa3#H5Vpy^GTC!mmXvuaJd3slo zqq>URzl+FhsJ-@C^a>Ig9EEU-I~G@%%zIhFxP*}Q`>7mK9g7=H^hrrLK$DQte(bcW$xC1R3OjZT(}D|8P{y)PT_eG1|#hfb6k8_xQ4 zC!TvF<93IVymeBsv1ehR$KBReOmp-qR9zmoc3a^oDenZ+O>SFj>Ec}b|FmZ*)l(AN zdKR3gZg)njM~1q3>G-JotuPlj|15KdQUAxULV-Ei|B1E|x;v%WOuk3acbTb}d$AZz z9+&l8(@ceTp%%D@_h(XR8WBnBLNWOKz|*WK?OH9~U&ZX4w2E z+tjs=IoM z_1d3znr%4JohkGpWm3_TP?L(d{^%J=o?>c!Y8tmj_rA8%Jk5BduX&_*e<4VuL>Ch( z$w50jBGn#%BuXfnK}%#J@0jhW3<7$e)q^zp7+ca7dNdlGTKrEv;H1KJTL#Y3KG*z* zpXbsy=l|90>gM7lgj+M(MxX0Hi>KQ3)xGEZvwy1Hv3MYzH0{^Bg`rOL#l^M=qakPg zXI);j8o__HyiBn~a=-m&(^_Z^hW}#j+ZX#?L`TKH(NEH`TsX`D9=6i8x9-9FaB2zY)Efe$~PQJdc30uy=}SI|6}i5;Iy2!$N#)D^Ja9LK}bb!qnNHLMORH~ zn3!sGAxCtlj&5oq6fraOnueqZaY6_o#2J)EqB%|&*AqGnLY?V2Ax@6lf33CG-p_t6 z>wTwiIKRL5L-W4hwVt*2UVH89b5lFc-LTag7b<3lJdfn6+t3x_P9?(!^D8#u@NLc) znUy|H&^)KW_3TNF`I&IHa9(`fc6dr=aIi-z&G|WOc;GHP0so1K6zIAle1xdmMuY3e6&5wQrY#F4tK#i;sN%2 zYzdLF60&3qSk<&3rNBSA;^HOWfm=%H-=aMSWL$kEJTNL=kyq9T=hHADrK_My(^B%5 z=J8usB2_=aw3FParV3>R5&muZ0je53hty>ZcN?UjcsL!LYQ6@?=VbTvTb%E>SkaDbfLWcxw6(-Uhz=Dm8HxeeCQ9KMDkLOD~ zUXn&WD#>P7QO4|P2MO3P9P9~O{|cz28y;S?4*xhACBN{56(5*mik^6?R>7sC&eSd) z3HB)vN|%u5-~=VuwrY#(kDFWR5^_mMN0Fqt6|KXrAT^`p3vBpy1Mf~%ma*U$_HKka zdyew|x_3P#Zc8POH?UcED)42#eSyO6kWOREFUCJF z;AKL}G!1+4SL0ti10$E)Q+U%<_A{2j+HxTfXHrg(!xnOO_RM3&f6K@Y?COvyQA%Fy^26Uj9Zgt1k>B*Dlb%}1cOKGpm zSPaig{2kcqveqO@D>T&Eu6wcOjxm%ePh+AgXK#dV0+$u&@tCHn_#`8{%I8@D2&4Fh zM5FkQ4{#$(9OHE^?Av>GJVb|hnlNtp;#@aLbfMZ!$<=W4cV-e(MSId}5zOhe2iz;9{9!9(+ z1n}Boyd5SBBAz^BYY`!*;jzxI>#f+CU4{+;b6HO06168QL^eoaHq)#IQ-bs`<5}^kk zfpuN94*&e}J?!njYSoC&tZBoQMsoml|AT#+v8L|An*A2mq%Fkz8P(1K+*|>3i^IUA zXM$#&FSfl*YJ0PyJEs2=o2YH=U>!Q14LVQrf%B)AdH2@f8m%AwvzBUVzdYFbRz<$S zwyb2iS9zZICzX!JYsjs2+AyOSA4j}HokGJ~09CJ{Qr*#lR_*~@7qHqrt+3Lm&BpPL zS0I}A@zBNC5a>2VPafy)yTud3Ew&BEjrKhu9KrXo)VE{j5G?i8`)sjhaL`;$&wb0C z-qf!4gn_aj3t{$3P#?S8(u4S$=lwa_{^@R)t1~25Y{Z>z_uhWo{ZwC=fEG8W-tb?W-r zpkYqwsC{kqLh`)$+0}Gt*+P0!16`Hic0QEPg=7`4OTjGYJKXWYgKC=;m z;!*xP>ngo>)`5a`+jgb8Z5v@Wgt&FvwyTG?ZG#?wbd><9`fl6S7Sx?rp37*ChpR#` zh%MK-m5H%uPN+bsROh2SRC8Z@w!BfM0 zx+9}_16HN?He?tY)J@TJH+Ek9RW+_)f2}j>KSHO`jk*!;zjf@z@nnSW{_0I76|mn4 zrE)fvY=&>}#dlAXKE$26CEEGc8L$iK_eM2%V^c{v{7Xd%I|QZ`+tFv6N~+)wW(wSg zU-NpBAfsr#y5@seS)=D!1x@EgtSeSZb|EQMf7lW6lC=O!>EEL5sjy9zadjUs7q3Wm z62;B+j?OB5G9NG50|twzNO)q!4Fp|J-AR^l+kfNg1boJ?PWM;2Bn6#;tIw!|QAo>B zLb%9;PN`EVIRiU4Q*T@F5PX6IdD7}!cDx9uv%~|SqDvgyuP;@9xPtRwj(WugmAbm6 z2$IDanyMK4$uxN5hd$Wq{k-N#N7c0H2X}OWjKQHC0O=|h^oMg1r}IUn^e;SPqBWJe zXk9rJ)yate!VBw`@X*a)F9;G=7+$qf^dPz+l28vXQve4m&*GLw0mM>iSp`Lxy7r~? zaiz2lm42++fsaOa>m;TO&>vGL8{zQM68!hSUMF3DyLFPSTt$D_Rbh=NqqszM#o-O9 ztfUev$6aGWU8qWMs}DU7`%;ur+2f>Nx(=0Ki>hpi`pp+Axb0CJ=B2?C)UPBoUHZ5x z5}V#pgtLqPQrnyMtJd>E)u>=wI=%!OSx7(Yj*rw)R#Kg+jjHMyS>l=5PO3 zuNSf|yruc->oAW~Elo9u{5Z^9->HE{_Mb@Mf$%R}VBuL17{Boaf}TsWiuN2>2wkg> zwJPitVD0fDZ=YU^!bSns(!Y<4m-XJJdIHbk*6h1)ynoBdYTo_dp9Mn+D0jwBW~N+J z5wrR;HCt|{`at`LI8C1QY`k=dy86oQz$kuUuLr}pXhV)Q#nDG`;{NMX=m={Gm}vHG z@~i{&gXGAc!nLP=J&F(1g{$rG&hhx;UGU!}>c;!BZ1~|{qUswmd0iN|8xs!s@frNb zbhO?hN=qn-+$wd?XFPW+G#t8XJ@m||x~W<{RKPTary%-BrS&un=D2H3jMcqYpJ*dxODOrG4bY0s)LjcXK8oKh%|E1U?cP-A zq zsO$Ky`MJCEK$!8w@ZIXEi3`1Vuo(@w#}qeaGM>oY?KTHpqWGTp7xQz!i&xFZ+pu8b zg^I(!o1f|a*fT#9Osh!aD9d<)o=eRX<7YMm;C#4)YF;3QhR=g|SZZ?y9^LZJh1i<(L_t`(1q2o}#(mMP_xrVlJ#B z;B^bF^U8W-z;YcPjNf%vq>I6MRX1(IFb5l*IF4*z0cAe>IXpsra5MD8A^lG65F1>O zJBVMT%cNia;Gww+IRpBSur*>aB9;b_e#3|4pBb~Pc?jt`eTSSpYG`f&Cj@_-0VlaX z=$n(9uajkolRK!tSIs$Ppk)KqoYVW}v${U&q~U}5d5|->V92mhCl1i%grkTIIBA5@ zQ>4Hqkh&4m7iVa{A)|o02@>fyaG0w{dbZ8IenZS6eN9T z&YUo#aMHA?v8*YhW)2!NWkSD+V`j|kFmuu+6S7-p#m*fwY4U{eJz^@N;GHfrrcEn6 zX3DJTpfq8|>|@m5W2Q_mAaLTCnG-sUn?Bu%O`bG$Ld?O5F@3!044yutFmXCw{Q*^E&ZI4#z@cWm4gtVHW@%l@?Kxszv3 zNOnLly=l`2oEtc5z)4mj-ttZuS~zA#;e;6~KmAS|9Gf#I=7j?Wdyn?`YdSi7z|`>* zX2)9ej!m64dGhqa842_!^qVpsHOEaE&<~Sx{g^#zYGLb1eP^6EF4i{I$z#Iu3#He| zN-K8MQ89v@E$BHqnBPwAPv|>yK*5X&<0g!sFm)VOhp`e6S+=ZvsC-*8tO`p${iIn_ z$H_V3iu;Lwtn_A18b3SMD@IP7GU`I8)p6&aIP2VVC(HNLaN3O6Ow3Yj(#+U|Dbout?%SeBC&tLykw<^E*AuxaN{ znA%~YGiB6t`089ZVH_mYqsOR$qh?GPGkNl~aibdeB}Sr<(zoERGx>#ej0oIYmqtO;k+n{;UP!B080o~!_bC#7om zF3tU}UhW=C0VlVmIhlBwBHj|Oe#CS4)O?J;0*Z}o#m0G-qRNH!?1oKLRIbPa*7wgq}P0JOvi4@iJ^|3TB})wJ#Rqi@1LL71D>T`AUg7iX!M6V&im2mn{}Ms(daXEoU7_Y zAFAW5sDs}(u^Otz@C|2|^?~=1zZZ$Zo6mPeqVNv(TT`Myu1rHRj_@+0fz$@0~r#OovZ5-$I$f0o0^Ft}ksSwR_Z;8N*jZ>oVZs4^k(K}M%MeotF zRA+u_KawXtx>fHcP_8EMUfd@lQFuFVWh4sk2fi`|ZdKlyaxA=}_M6l!GQ*1S(p*r4 z*Y<)UygZl{yTbc9zx68C+G29Wx+gX-jyN|*l$XPyT zQk?rzl+M$U5hLM+#gRTQ)kn6jzVmcS^uGGeCn-@Nw_|;kr}nwFfwMF%`a^x^{

    n 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ⅇJaJk`vCkN z7Wn=Ezo!L$D8TP!fiDAi)h33Gzp((nw*|f$;P*8%*#7Wg#4_prcU#&}u(?Qemf z1NeJd;M)QI01NzW0DqtbehI+GE$YAJ0Dp)D|0;l2bMj&1cP+ptEbtou{;L-HZwB}y zEb!X^zOMy-C%_+RfiL2~m-T-?3w$qtKgt3h1$fmb4x9f20e+wbzLfENa^^3Ov%r@D z{wWsmHx}S)E%4OiP( z4)j-R%EI#R1pFf{^e@`m-~WzT;Clgl%0mArz+Y&A9|-W{Ec7o0__HnWBN@-x;M6~r z7WlCMKfwY&5#T3T;3ot8L<@W!<7NNh91DCJ@PE?+-v;>Am{QpCGY8 z@FM}f$pT*q@XZ$Z$pEj$)Wg=l^^BMCbFl?J4frz__{#vk#R5MU;M*+l3jw~-qWmmo zy!79j7W_*9f0G6Oa)58Pz^?-MODyzX3-B{7@EZXBQVaZM#!LUJJsn}=e=Fd>+=71x zz+Yj3@4m0U{=U)z--Ge8{+(rk?+x(Zw!rrT_^T}N#Q;Cs0)H~V&#}OlGhW8e)fV_l zz<-SeeloycYk{u^`l~t3u<@S;{PQgEmjV9kEbwyx|9lI4JK$enfnNmpueZS84frp% zsDG9M{C6z)mjnIVE%2)V{<{|VwE%yk1%3m--(-Q`%y?OT)tr3T_}>cnzh{Bp0q{3l z;Jb6hE$i=$Mf~&x_**Ra`v8241%H2l&syMz0(`3lzKroQ|8KXjzZ~%2VS%3r@QW?* zH2{C71-=2`@3O$RF<$!bM;7>5fd6g_`~txLWtvk9TYeV;{vTWLF9!H~EbvPKUaiRq ztN#js|A_^DHNf9%fnUdXng54d_+r55?O2Jk;+ z!M`5hpSHkn0(kXKi?Hq2R$%|-7WnM|e~Lx>vlHmQ*24ax{rvU!a~Aks0ROxNKFW9* zKfkxY_XqfO7WiVI{|grQlL7x9Ebt=%{*M;;u|R*dCOB;TRs;Nt7Wg`V|FZ=?4e&2p z;4cICmn`se0sa*W{6c_NYpTQge=*}_{Qt!QzXb5VYJp!4@PD2sHH(TJh0sK}A{7!(s!lL~s+TTBZ{tb)vqbK9}F~C_r@_!ck_W}5KEb#pS z{#^_FP=McNfiGjcEPwyBz?TF5?H2fn0RL|bd=0?AZ-H+B`2Seo+W=ne$p~Bj%>noi zEb#4&m-#ozBK{Wv{wpoY-`xQJUkm-00sKx2{7QiTp9Ovmz<*?cUk~sfTi`bVe8eLE zwgP-N3;Yg%-`xV=y{Etaon;X}Jpg_W3;te=m-Y9a7WgQ@UuB{HK!E?Y1-=yEXItP$ z0{ng!_E!SD+S3)b{+i5qS^vzj(7z7g547NK0Q&c`z_$VXK^FKq0DrIrz8&BXvB2L3 z@VzbYOBgTn?<*GgWq|)s3;asJf3-#YtOj_sr!Z{%t_Avk)dIf(;J;>p-wg0k3;Z^K zKf(gP6X5$=;EVX95Hfy_w7~adysW?bS>XEs{52Nw(;wiEvEUyH?9W)>PX_#IPixrt zEeH4k7Wjz(f2;+*2H=mgz&9{n#?Q4D`IiO!B^La%0Dg!CegV+G%>us=@T)z^Ve@}6 zzz?&)F9rDF7WfqaUuuD04e%o@@aq^a<7ci#{A>XHr&{oD2Kdt~@Y?`h?I{nN|2u*G zvn}x55A=_JpKgKg3GioF;QIjlnHKo|06)?KKa}w@eqt8*lL3B|1%4#Z|11l9CBT{;3xD$d~=& zH`6TeMU0pI_j(I_FMz+$0v`qXUu1#r5BM7_@IwK<(E?uv@J$x@u>h~W2@$sbss{M9 z1%DmDw^-oQ0N-kXzYO4~Tj1w1Ue-UCSm4_Meuf2p5zv381^#Y;ztjT14B)S~h@X`J zuiohsHvZNC{N)z-^^BMKcZCIhBjCT%0>1^|ud={z2l#JW;3NFu2Wh{0CsJ7d7cpMe z-&b4Udjb447WgR8|5^)tf51Q20zVYs=UL#(fd1E6;L8F30t@^^!2cZ!{A7T?-U43- z@b_8Z8-V>cSm4_b-lG1R1MoLm@V5i}cP#jC1NfUP_?IwVmj8AO{$&9FT?_mQp#Lov z`mYA~TP^VG0R9IS_>BOs-su*${@eoacUa)JGhXK3?H2f*fd7XU_@aaS{r?*+^1mnJ zW&3fb1%DrazsZ8XKhXak3;tq&|A_^@6yTRw;LCvh_gdh`0{*2I_=$l3w-)#sz`xQ0 zUk~sPTj0|`|AiLua~Z&Y&jLRe=>JO#{o4V*dZ%O9`sX&l|0@gp-GKks7Wid=|7HvS ztpNPrx4^Fk_=ha?UkC6{THrSV{8JYAEdZ~+$rv{Ow*&lR7W|Qe{p0^@Ebu)5{uv8= zZ^p~^?^z3c6ySenf$tCSYc24_!2ahf@FxTO^A`AWfIrM){ncdJFt4!2f~;egWYBlLdYu;NQ=}|BC_tix&J#0RJB>@XG=JpDpk! z0l#`DaM<`+1NdLIz^?=R-?Q-lMu5NB0>1^|{{+fUl&WdGy{s3Xd{Xu;{^bi7j<*7H{e>9yHKi|#LNaVxmxyynJ{w#P-Hju7V znkKw1*YU#%t7N)ekr^bUL(SRCBP#!(>k|4O+W)f4?0pAT*?$pzxdI=+(eybRZfKhJ=VhvdK1fWMgW19Hsng|7eo2K=od@tX|z)r>#N zrOo}TxjFI*{o>@G_CxQ#aQ-n;7u1N_GU{#6G4H6i(bYv3<>&2Rtl zfPXCAhV0)QlK(8iBm1L(|LcHXeP;;#q%!vMefrV!$v7?S@z1OF_*e*)lF?^II!^i#o+W`6HI z;NFkQR(W{uv?`NAx?aTm#Vl9#&j`S;-U)*2A9ST1`Mot=I{zlXe+uB=Xy9MO{6X!P*C*HccQAjs@c(ImzZ-Slkp1hK|2W2bC(X@~ zo!lqa`O99Xih&N9|EB}~qYV6!`7UFbd&>Q*^G6Af%3m7rp9%P982HPW|AZW~d!h4Z z4E&3kznt+Z{$qfD2)!p5`M-_%gX-Twgh%#oVScZlulUab{3{In3z>gJfc?KT@JIgU z=D)PR0`RN%+#>s*59$AJ5+2!K4*16a{sH@9{yi7Ch6mZ-kMM}U9q^9>{I44L%a}hX z|6eljZ(x3z|7Qb!^`185|H&cwzfO2$|2Dv{zJE@|#W_5^t}*bpF~52~l?NqJa9m~J zFWT(JpU0!(Uw!{v=YPq-e+Tn_vw+RtPOdlbN10#7zxw{T&VMvLU?Bg$&-_98e+1!? z|LcMM-vs>i2L1!DcMTsIV1KQFe-^M`eLq{b|2_l%Im}-j!2e?d{~G46VZ6%!^8o)x z2L7Kh|4{+_9~k)izu}KR_5EAje)XOdl>h6Q|Ih&b(+H39zYOrJ?~m#H*BkiXVScJ! z3J#^KJkFv44y6AFA@Ls?@ZE24Ste+NWJ1C5Z^9${tJ(fpj92-uzW=1#|4Z5@hx9+^ zJK^|$MtH=(;Y~OHCBORqlg@t*?ejqVOWIxjApbvV!2dEN{s~{$SUPoX>Ut zt9>5G{^~6*a0>&J|JCB?|D=Kc!;t)|4E)uA zU%h``=kH7F1d;!v3tjtz%Ky~{{E3V|TqQ0J&W@a97U5C;rCI+d<5m8t_pj^vt961% z|LX6#6hZx`{Rxlw+qe4jPrW}^=O1a{zmfST=PY$Ebo);;@Gk-U>ixGm|HTIWcbK1> z@thVqzgj1U>|e$F#f((`SMR^n`ENJyUvjexCr9zO^84ZJSL+NA{`rvj{}}L_7=KjG^X`S7|L+kV+28XWfBdWW zC+YTIcQDp}&qXd@5dYPLNBsQ(|17{i=n%|5FeLu~!Xy4Nz^~rFq1*qMfqw$?2i2b| z4gA%BU%mfA=O5D>+uy+aeFO6U6$AbT#s}r!i-br1O9TDY{%c+TE5CyEU(WnN{=0wx}h{i?42d;|Xt%zvyh zP8^g(!Eud&e+%=kVZ3U8)%ru7{}luOid$WplMC4V;|DJq_?K<-*Z*q$ozCBb0vzSv zcIGb$;NOez$p34YU-m!L`Zb;ZTm%2nKX8dp58$6<;NQXg<&0PUzZLK=G4R(jf6(*8 zj|}`}|8)H??Y|B1zi;5bf%${{|4##d8t~r%_>Vap=l`mZ{_jh8l>dvFU;2MB;IB6D z?{=G;aY6pCGVpH!_TL5g=NS0=Gk;M1wcLO|k?}$G{{sg7d%x!|zdr{0|J}e}&HRT1 z)L*X~_=}l;nW(>h0{9Ol15y2vzTM5gV*|?XL4-%~v*}-c`|kz(%?AEkng446{1+Pd zcL4tT0smtL{)d>Kel9pDiGpLLfxqW=zx_W2{QoiVZwTrC_YC~~0sjMl|9EmR%KzQ& zaLpW1V6DIX>Q8u-|7C#x=Yaow1OLg)KRJNE+Q458_unVti2j|E>YQobhFm!b9hOi}1+)6>NVE!&U#~VPOB^M_~Q8 zGk?(dQE$Q{{@(v~>mTX=M*;tM1OKeWuHuKW{@zKqzrw&@&iwRv>Kw}c#{mDU2L9U? zySO0!mkj(hfd2`=e`R0n{}s%Ca5q;E?_b^iO9+qr-^Tpj`aNa;lYsw81OM}Px{M<| zVm|Bqs|@^W-gom~_TQcc{CiOaqfFG--yL|DOBm$;-3X8D@A)5>U*`Wafd5(p{~+eq z=RYWkf@7-ze_}}d+-_hN>-G;m2J;vH$Tc&_{&x)cGZ;@l z7aY3({y{e&{kO3Gvi@8T^gpvd*8f80r{S4`L+3x0@QA{_%{Il_YC}ZF#q5J>;2{D{|x-)%rE`_GT<*Bfc?LY`Ge}O;|P!Z-v;d82>7ox z@NW&t|7`<*JK%p6@UJuQ7v1eTeq4b6e`nxd0{p)T@b{tzL{xvA!~FXN@TU#zhI zpNdN!7tswU|26>s{SD~sVrUV_z2;V{@Ymp8pf;k<4vId zqXzy1f9wK1JSP*OBnpm)4E&WJ?C#tr%b%LdFJiP;FMW9+wm-xCLG|B$gh%$zVt$WD z+5Z;czreu1fcb;s@5tk^{5Z4}_jCcXc=k@=~5EI4%j?-L%`U&j10e*X>lr_cZ~;@|TpE^Sc%=PT5}B7E=3FB4#eE{r#atPM{dFBr)zcYto{Kk;@A;U2KEyf3x zzd?jY_DBBf#-A*I{{!~FV&L!3jth$a7Y+R7%rEQjj{*Op;n@DinLjB0Zz4Rhzm552 z{C6Xl6mdLw@^Li5i{f`H^9RNMzYO?~LgH^P#r!?*brlVY|3!pH_P4YBtcLUbsXc)G zm(u_%vVS@A2gU!N4EV1qX#t!SN-+Bl}Bty7BMjvnv041N$2c z{QKVL(o__%xw=ZxGy{Jn^UL_(7w|7P@K0p^BPAJK>-K+Sz_&5JDggh1LH}7m|NVge zv6FEAt!4g+0sLizNBOr5@b?7#*BSVu_q)X358%Jrz`u$4S2142&w+ry*U8xa70h2A zz`sA?k^PJRM`U!!_~`}s&o%Hzmb%1a-Ba#gRo3M($-uvk`91xW{c0_45re&Q^;ZM` zSOdQvzb_m3dw=A&zc=7Nk{U=^1p{J+lsnt^`_u>Y%o|EyE7|I3*FD9!(R{+~g3py_;djF|g-W2ER90UG@koXr2_*h8%VP|6fCo=v-O<~>t2NNFozm)x7&v;dT zejWI~VkG9j;Q`lCLG{N-!Xy60j{~uU?@1)ybMtH>EySvN3fq}~Y(*XZA1OH~` z*ZZ$J|Jw%sZOkwG&!+?a?~lgz7cUQI|BZx4_DA>d+kYnDuNs5-cl(vgA7uY{!Xy42 z%rEVa0scLS0OkL9=0DQQcs}d?A8Wv87+)KJKa224|NeWr{;OfUil1_z|91`iFEW2J zfPaC3e=gu34fr=0_)mV&C8o#gfd z2L5v9m(PC_0slV@{Jpv12=f0{1AjZP{~W;omGLw1h=C5JAD*x4h zzs$gY7xM>|zmp97MMeJjKNs*{WZ>V({FesUKh?k=Wqz6elL7y44E)tAT;ibmZ@GcL zp82K!F97_n8~7h#{viARV&Go`?5_d*Jna|^UuEE51^82d{{aL4K<2+7z<>7{_%|?r4dYe)brInI zpMn26=BMhp;LziDhk?IzUw`~G0{&6o!1=#{`Ge*UPA5Fd|9ZgR4EV1%@DE(+njJKM zFxSAp2=HGF_@6WI&tm?d@-tup_TLSRFDb}9_g*RLM|kAFHLSlZKUtvv;|BgmnLlX! z`(XqBCcr-(@b5(df}S7VV*Y)lv2?A+?;QsGzZrj^hS%%Qb16U&|6UKfz##mglQ8~J z#?$m>!J+Ga5aCh&?Evw2De&Jb2L7s$`Y$;L>z@pXpZQIUZwqOEmhi~_{ymhmaQ^B_ zV1H#b=Klrr2i5;$2#@%ynO~Nls{sFP2L9)n|KNh$_s8!m2K;8mAFAQ?_{GVts1`whY)|IG#b*8u)s82EcX;u=oVD+Pzn|5F41V!%Ha@b7&tw*MUF z4~n1egh%$T0Q}bh{*w*-7c>9S1=hQ|O3?`h{&j$V0pP#Xz`uz350_+gt^0qvfqx6& zzX9++Z{YtG^Y5?m>+yfhc{u-8GhVO1b^XtnjPWmq#D8eOZwZNCem>^^knt(aU|s(Q z2#?|~@+BpWL`oU2`i~2N|5sjs`Ri6WaNqmmb^goZ7(boyhq}q+{?*Kh%pg3{zjQxW ze_8*2AL##$8qD7wl7B4W5q~A%zXk9gk-+@-F@I3}tu^3RhQzl_!TisM#P_Mi_)Uxt zioZh$kNj89{*&={2k_sQ>oEW5$0N=WzmgWt|J@1nzlH`# zR7~shFVjQvUqyJtzXI_82=I@diuv1_e~@EE{vW;k#R!l1*8%aJ6F4De>V~y*}nzYe=o5ADFgr4o^XkRp5Gob@JD+34yM+TLZR#D)aBdc<-d!->(tl(~SSB2jsJk{~F(**W-7IfqxC)e-!ZV-h}Ockohmw_;vd~GVpI={x-&|^79zr-?JI>4}Qu8 zo*cm6jqu3-)dwnRVflFi@Ru9-o0vbS{<*_|zl`xC1N6Vepnsb6m+}7;(EslS{#7CU z_qu_9G4S6Sz&|LB^KU2ft3HoB^!OP-c$9xDm|x8~sYAujvw;7=i!uM5&$_ru_mulr zFF#)*JmT+tup2+J{#y(9|6t&MkNMxsF}oMK{m&WrYnXot)JU&l!YA`p;thW&Qag(7$~;=I{BOYiLmUn@@Pezk~T@`P%^a zubzSVf3?o#4=R7N2#@%y4^vWFbL1xDl>e6j|2gC!Ri^dl$30(gfkEZ(8-z#vis1MiL(Jm-lh)U&MG-{$BO#9SpS884yS+f6&QaH>I$p$$v@7>qcU)DeBmE?N+@q<}d|35H) zQ2VRCGl$}TE8~O8@4pQAj~E}6fA0_;*)TlWU%%vLT#*0YAUxvV z2K=vHX{q!7b~ffOdfDX<>OVY4c*I|Nq?`Z69Dgc)w*&r<4g3?CKgoFSq?ex$4gB?h z|9!w;GY8xM5c4145%XE+f69RW9pm-qFBPluc#QDMQ)ODhi-7(g0R2zC8tcE;D=y2? zl8ml({u2m~_}4IhZ^oinw>{Fg9)Q2oEpT%3RN8Gp2UbI{$YJ{OgWUS{24$Z@~Ysf&alx4m>i^J>~w@`BxbD zBmMpShXVf12L63sb16^GF}oLf{QT9xUkv!wBf0MXVb|gOAI1DZ@jKmspUC*2_`R6$ z%2Rszs{#6d4e0-vf&T{P4~pNF2L5*Dm+`9}33dPVpO5{w<8N+$U8v=s9zRDC9@)R; zSS5`_YMg)F@nh8`()qIn{wbSX;AF;oC!N39z+Zlx%U>?|Rgu>DUpDYR!u)#wLyzA- z8Ti`)zbeu?f7Jr)|9#(Z6)*7&=d;c~p76?2J^nT@zpVcU0RG?=ML_*((|XAvIxuO9FZ z1^o9I__NGEEP($`1OF_*KOFG?*T8=t^B*3-pZpH?-_wi_D*rWvNB&y`^dABAf7igj zgZYov^w;a3w+#Ht0RKsVe^5KN|Eqs@iBHq`_4pk?cx3+?=9l&VDS-b!2L20}e|P}@ zdj|fVsa0{hPd z{L^m2{QGQi9T!yp{lOZ|?;NJlFF97`Yw_*QRGr!*d)9tS%Jo5iGz+VIS-!SmEhUDL5;4e}S zD|E>EXA0m?+>Y(PF{J+|6CT+g1^jh@|5pb7CzyYt8wR<5b^k9j@Ru@w8zWW!Z7Seb z-$_$x>g!()dD{gBwO>~n@JBH|D1I*?Jo4W%;J*~m{{;j8Im}Pp%YsAq-&zCz8s=ZZ zXyw0)0RPE9#QxjD{J$w+_pjeLf$+%wbg_~~BGf&14#nRH_`kLo^WU}A#p&(0UVk1+ zc*GwmartHWX$Jhu4E!sZ{}@+|+`l^i{RaNt%rBomE(ZMZJF)$nng0(tX7@tpKbP>x z{&MDza=$2l=o^vmB{x1_A@t3Q?9y(Kjw2i3pl6CUZ`&ic2z+2E`noelIqhZ+dw z6TST$_)ixYRR4X0@Q6P;Oi2sN|J8v1;CnIuMCK2w{|+EL;;&?WS^r%N_y^sG`Hz0j zwLhr*4j??@PpiR7I%N5s2lziS@IU%5mp>?eKQQobJHh3b<##^df8l;?|I5t(OIMBD zzk2+xCA?zN$KQ)eU49vV*8~0smSX6&A7=Ih%N9QzmFLeFSB|Or95$j*f zc-4Nk1O5MJ;D3|(#|H54Fz~Md{5JyrAO8&7KltA+@#Fyh#e_%p?*RM@0e|rWnEwXm zpA^7<9N`gve>GT6hxGr=fd69y|7PY7ir)_n{MF1a<989@|JO2X|DyL@!-Mkw9l|5~ zw*dQZ1^i2Yj`=q;e~|xwLU_dA`$Q!z^#5&uf59&>|A_y%_6OBp*AgD_movYtzwQA1 z<0*qt`&AW^zk=|HzXtFx2K;@NWBw-QKiqXg?q9wBnPtE)V7y-c>G-z{_*)tOwH&j1 zq2u2mJhHzH*nc;$|IA-u`yXQdQv>)Ct9 z-{Bg5Sb+V{8~9fN{`&y`+Xns#%s(uE|4jq`2Ee}*@E`Rc&i`wfKWP3kN_a}v*MHas z_GKj48T8Zu)j!6*3!|&c-8;-1+f3vUt|A| z{=fzDFaoFIAHO+@@W}tOn17q#Uk>;$Gw=`p&;^#~nB5D#{+VImPoM1CUo7|^1pJR1 z_^)98GL2t<{(IQKzZmeZ0Q{p@VE;eD{6jQ;-ToNim8E+Bc^&ijX1vP(hXDUA2LAV$ zKdAlKjUF&j`x*JKOFU82U-#et4Ek?j{k{BG`acZxztF%xk@jT{GLpB#9zbwviv>)_*)J9_w95u-pfDt zFMs`!Ht<)T>bL(%z<;}e|2^g}^N9JZ$KN6Y|17}&G~nOkx7h!K|K}10mEQ>Am8E+5 zUB>*f{5}Ktha32(GJjC~UTMH*86Q-BFEQx9hV}RIUzOjrK>z0r{A-y10xkda`tKP7 ze^0eohmIQOUw8fL^MJq4N}PX3f8+u^{W+P4&VLBu6_cKSY37&ZcOBqQ8~B@;U(Y{1 zexEhqFJpYGr#PQ={F4U#7X$zO5$J!z!`OfSWd4%^_~#KG`7ctYq=noiGlxb%umBx1&7Xmmw~^A`DOd{D&UW;!uGd2y_!fQ zsQk?};O}63X@T}GmlVw=Jn~n>(oA&oO13tz0!?gQ#|CJLS`EL`@e=E>`o`HW( zNdL_-@b3Wp?*RVDYV5x|nE$Jq{ks4DYvAvBhVn{b`?U@5Uv1!D$^1d}PxMKw|Few$ zZh-!W5ngGk_h0(6{_Tuc{kMMs{r7ze^H1K*jg%n%JqeHaR{;Kh1O7J*{O>UT83Fch zGVqt5skAD5f6jjZ|A|jy`-^vX?GI|dh7lgw-_HE9{rUj#Z!qw`%KUo#=<$2X8m#}; zkobEH_zxLBN%Oy6f80rUWdE#@N?KTc{s-(o`WdYM+1*{HlLPpVAUxt<#Qd`T{TT4y zY~WwO{85cx_y79_{8Gjr5P+ZjEVln)#s~TTn}kR9uL1two$7!h*2n7?{K>$7;2y63 z_4w2CzvOpV|0v^An*BO{AmNezn^^xg#;f{kPoVz{1OIgf{q_9Ydo9*~5#x^y(7!w3 zk^a>&B`u8qy@CD@82BG&{)Pbl`waYP=C5JA^54FIf6;T;{y}@XIi>d>bpPE%cx3-N zVE>l@|L+X^qeJpPW#Hce`1c3=uNwHLGJjD2>r2mL|6R=ZK>_(!M0n)Ch}!HzhgVKj z{v8PPA7$YGA@l3ck9zr=Wx)T8@qIP@_58oopnq@HU)H||0sWse@ULV3<1~I<|2GZz z|1v(P{Jv(;za03#H_(6h?{WSgwU?{uegXR5XuuC)e9-vE^@K<9Qv>ur4Cw!F1AiU! z2j%}Z1AiOH|HA=)pLN)O*D(K)n*a3p8)?Ab%lM%DKaKFne@lS>qCo%44g7y({&G!! zJ$~B^{HuWf`U3vv4E%@ji}!-!XN`e>8?e70;6L&OoPT4Pze2NL&%dt{9{IoMEPwrX zG~mC&z<)FIe=C50rhz{S`1=F?4F>*qng0fjU(f$P8u&|@e+lDN{eLXrA59A+Rhs(v z(G`2UOhM%*MtJ1^O~C$vfd5AZ{yUjJsQ-S4fqw_{7Yq9b0sdZp#P+|+{87exCq4dJ z4fu~3e}D(%vyR_r!0*40>;Its@1F^e{NG<~Hl;)Me+L8m`>)6Lw=uuof79ddNWvrj z#mq1JA436uoq>NL^Xu)m?!UN!e+Bc){2vbZ|6t%>#r$96eDh8^|8oZZEx`U#z<=4F zu>UtPe^B|GL3rfy7@{$jv?8sP8yXY9XG27Wz$4ktXazZ~$N4)`B1@YgW^{#t?6`R8oF`loxi zz&pIa=d+H#lJH3X8rFXs<5c@I66oLj66W9UOD@0O|Izs`Bs}7;RGZ!D@bHR%6yX2H z%b5Qh<`44UL9bx^)cwNwuP5P={)Awn~|GNhM?yR_HKW9Tk_upFv{<&lP{u=}M zS8c@hk7fQ|9xQ682E2v{%C;yZy4|^86VXC zpYUo!Xy7h#=806#`df7Qw99D&A>mhryKuz{^|Muwt>Hm z`DObx3Gg5BSM0x8%s)0D|N0Of+279mUine>e-rROZQx(a{6`1yKW^aP0PO!3;Q!ht zZ2x=APt#KchwlGF36JdG#{5*hJBPCWJis4$4f8*EfSdn8<6ol;_{T%yTMhW<86VVt zN)sO0zh;~p|1$pK!2V?h{(mxmQ2*zC1OFz#p8))OypH|fo4=~LZJU71OHnF|LOW)X~1{?vYXRE`G1K) z{}sUhjX?i32L9p9A5{N7Vc=f}_?rR$hX(%1%&+Ia9{-h_asFQz62H)ZZ!_Ta{5$3i z%zq8zM`-b?>))5~DE_vv|78Cw3;g%0fqxbA2lXGn{U+9bJ>!GQ|K)^7`u9FtNekys zW&r))H1NN}{CfXS_urVmWBos7d{F#6YQXQ;%Vi4ce?3HaWPdT+FYAv>f&G2AVEsok z|2Qpv^!PiR@QA;S`DOfE4)~uj@GoNip!n(Y53K)E#(!7SU(dfo2#@q%!ul^^yy`#A z0{YJ}@Sl2+%M_&lZw>efj6Xg=fAyX#q<>|lk`~7QY@mPdx3K?aG5`J=zn=fo4ET1& zPYJ+JAw1H*p7pO`yz>7wK>wEv{O>V;V*vkp1OFQ4Zxj4;0soC}WBY%VWZ+LTf4lJi4S@fG|HJlo zKg9L_SdCvV|KB1!vOhAx^?$kGZwLH~4E&YM-#38&CIf#t^UM14M!>(#z@K6M>Hz+? z4g77)UnA^a2>AQHgZ=+3^Xu)WUVl^=@UJjFsQtXifd5BG{EY_ue;6Os|Gl2@D1J7u z|K#)MEx>swcisHkUCWrc%pcYGi?qM{5gyrJROK%} zw*&qf1OJkc{O1|?D*^ux0snFX|C*5e4;c6t0scDy|EmW6EzI9j^SAE*mkj)ym|xZ( zKLY$cx4HSho0k8PuekAdgvKA${yu~8di?Zfe31U95FW)(&xvmQ6f>V{|L+0%f0y}n z{mYpDR83!9|4oe7^`8|||5pt9mjV6n1^VytPwfA8=GXg=JvDodWxTHcl92izMR?@@ zG|+!3(En_M{;NXjpEc;ef$?7b>6xv^f3rdV#jL+Uu{*J@qd zxqN*dohS44`EqNUq$C{ z^Yv^#&*AgcbiRhKuch-`zMe-c&;pBK>idcMAa&fnqdb~=BTuW#h@O>|z!*Wcsw z&2;`gUoWEbEqr||oqxdBx6%1_zP^LcKjiabKHo{_yZHJ?biSLff6V85==>ADUP9-4 z>3D<`MjsMxIe4w#~*R7=lxa4 z+~3;?yQQvth?{cuh_??dpZ7#T0`n+o_g)t~dv*Ww&VNE_MvC<$#dZ{GvcuJ6NBQhk zMIN&KnJ3x{5iz=rHJqQne#S}n^oh#msIu9yY<`5&BI_dM^CyuqfBtyg)3L3}pxKvi z9dhLr^J81f7db!8ew-MeqB~qoJ%X!O?Z0r8eym zu-UP#-QK>jV%};`Fm~Q1PyP1t*{h@Hoj&>eoQ1`t_?Gf{t()de+BiS9ab9dES+PmF zV?=D{=e2*mqXmsE5tnqg}CRK5ceD$;+{i7+@pHOK|cIShxa0FE+_Pef<3Al z=Ph@C{PD-(SDU@SM?hdsc6b3GfjyGH`zgvNlh0uHP2{@CR=I~>14Ded2ws9sWz$dgr2*a zrY9OwbeKfzj!SOe!&@AsKa4YHG@{)CFNvUL8I$4_~!xx{+@DTll1z-xNtxk0;kR9iMDyp@{S%g>r%mN;E-%t$wR*NVK+aP?Ls~Sh^uWI#97{ zpwIy2#I>WjIog zG)J3jYg;p!WSyI$@~4~O%${h8CNk4n8!7ZuA@hRh>p36fOAC3UshR45M24!9snJxn zC0f_qm`F7Zii{_l$OBDN8&b98_k4MGxu#O7%O#l3q?$9S?96C?FBhj}k_lDF=`N}? zs74`0l5p3J1Es>*p1B;h(G zi&8j8D~#lGB5`g#rr*SGRmMvC9Wy9OxtK{to&1QVsM=4}rn1T((-OKBKr%yPmpGw;^)sW*p_UH^nPGM8X5S>9HudY=!b6v7c>5&f~FSiril1wKH zD0ik&RyqzD6wO)anwC|CE>T;XOlO^jLJ-y1AQTSzQ zrnyn-P0mz0y1e8jkGG{Yoo>!h$Q(fq%Oqw-TT+)eZDwO4TU)Q3ImxMLsLCK4l%=`o zR^BHmwSf%@Wf(Vdc{gw=qQ#esQ*3T^isTg4R<|gG zdw))=x)c>~Cp6e^UM1L9G3Ng8*eFh@rJL5|)C##o@;1~anvQYmU#bf0REf*hlUd~G zY_iQM{*g1CJCZ76spxeSWG6=Zl~+(t!!c9ku3J4ueE}*$iO5oJ)9-pGU*9yfHcnAB zNj|P~CDidtWiuJ3dL5K8*?OvoQ?=1%DmGIoH*!^_vZ#Y%K@Lk$HPIIJc~!+7%J4)3 zm6*DjQSM`r(q}evk0nG;WpkBbvoqO~C#Po&e-g>gm` zo$`}LzSknA2m=oV@3Mm=(p^f-ooIdPBE zBj>nxC|S|)Jx+;C;J+gu|KO-@huz<8R3x%=x7hc)cl+M%Cq^QF>VCxg-6M1Mpqo^u zRUHJRd%x0c|Ks*(={B$1J~wrX+^J~2-@X2_JEE8$(V`x(t9fp;(f^w_M(PZ^mCvJ5 zLN$V>MhoYU+f+X9`P|c)8gA1D*PH=QN5;ck`2kNF+VhWf=Gkdn)fqRNUtZ*%=_yc9 z-!zP&=3})XdKb6z1D=46rmCwF>S!Dk?jZ}E)ZW4Ks z99!r7?OM8`e12I`xiFO`4dmS;V(VrcTp&4)@FQXyrth^v71Fo&SfR@C9GZC`-9{KP}<_Z%tR zqqp%XdVwgPor|zdF98I~`wAj^`NN1XK_> zMWvu^a7vr6To7VM`O_*wREW@JS&_I_!=;g2ne*x&LrRWTJG^PE`IIZF1m^2xz22)- zb1c#abT_rIs{GErd|M=Yh?9WI;rRvC0T*SS>&k=tg+4!;l&c;5H|3M->D=XL?d89F zcGL0d4$A!2Rix$$-^?Nvj$9T!LE7j49PmW>yq8I`s(i%bZgZd}r&i={m-o^{V!@wO zYg|8R6-_Q~kY$^SS~n6n1wYR-BDN`WU;&&Y)Ay5-x4Y9{PN>rSWe;a&G`oizqHb9F zqQ=RMg9x>Q3L0flu2SWyE$^QGxky%>iFxBxsia`^yr~S^lK=B*F1K_i6?ST|U-i^b z-3Ko+++4vim(ROsE{EOv-whfkFLR}%@NQD1b<y?d01Iqzjb}GV~#* z+~(_oT<|N`&|GzX7JP@A1*c+lJrU$>cKOEb(4(RtogKL%I*)pYUfC>kvv3~en&`b~ zdG!C-`}X*{ifaFzoVFC?Q4p{~k<(CWd4;4eQmES3DG7ZLn-q#XPSfPHjpRjgQc^5h zNI_y-tq5492nb?9KveWrMJZ6BDq>ZxRxfH%)M7y^qE>E|-&!+k?fu=4NpjNk-uuUI zJ~^4$-&v2DH8X2w?=yQ2YqtgqEM>~d4MU}&1|lnWU%Si8r@4Yk?Z@5CyNW7}t$)t> zenDgACi%8Ev4ywLgJ2Ga_@<1OE70Vx{$zk~lbBf({es`~xQu3ijG#)(C@RAdA-!#< zSzen8`h7F0@J~OUrZ$z?BV;LdMHM7@Cz)yoxuWe<|LtThYEzmC!=8eco>MF&z0>#? z7>2*{4Qd#Lsynkgz2^~bhCLH}0@L8E$#(%#y4V~?Q(Q%KzeDmE?%rDjJ;vCOcV|eG z^Dxj(FQbJ9g_t)qeAp%Xt0ajw)waYiel&5HK1TdODV9QRP ztB?@#wxPW#)D2DTRjJ>LbslDY>UtneoqZ6({0YsSZR0EKL!){0{Jw5kuDZQ-1wBV> z&$KLSYV25^=}nF0pOnZyqpl<8WIli9%yZM@7B1;*$##% z=9ELxH4D6=t`S8i9)8I14YW$;-4XoZz~5qf(~lf+WAV%*hRq`ay41X)YpUlO&O>-t zlXs%>^WzkGq~d*=(nB~`Wn{Wj#Tx=SYdDVrf9vJbGzIzhGERZNDfjd1Y(DE)$2f&= z(kGOnF$4=PeCdmsIN^ zDu1rz^S7;j{zUzG_2FVem?pYfp<7Jp5M8k~JlpjVp{b&@ud8^Lk-_;pB%k+w2Km+?oWED{ z&9}W;*S4T8BaC9tGhfVVenXI7CizKYk>yuQehKQo-14UhYm94lDzY_V2XBq*VKXMpnxP5YksC(`QTr=BtL`s#nXKK8znz!{B!xXNWPiB)V>!&{Uv_}%D*C6eDN`O_rdrGK&HyXMr@l0O#Z%iM12FZoIS zE=@dJCEsjf(ehW@`m;z^;Jwa6yuZ-CmUu{c)8il^DLX^N@>14%3ApLqA)Ke(A}_#Y z8a6a3Z+3{5FW3f5FYd~ZX9_OWCmI_T34W+tE1omBX=Rh6IA5f^^9>gLm-0{M3+JS~ z3&Mb0rM$Tge7*y(cHr-I;0qjhjRRlkz%O#(7dvn>o5u1|-lZ{&fs}W-1J63}#SVOl z18;EPOC9)f2mXEsZdS;#yp-1x!x%_;Z4SKMf#)6g3J2chz^`%Os~q?T9r%YF_;n7v z+kvlf;5Rt%4?FN42fo&Un^kx$FXeqShB1)xHaPH`9r!04_^l57HV3}Zf%6?=Jfyr$ zagdOd_ZbI%rvtysf#2=G?{VOtbKv(m@XZeV0SEq|1Ao|oKjOf@3kM#F#WdeN zCKHC4X9>Gk@S%rUdNaS;B-#H_Nrj`7_q8zK(|_H8e(c96bbgI%v1!Wcje4P zHYA3B*5E^9_+Eocr6Biwqte{10_u66G5Fyjj4z5zQI3e=mm2)Y7;f*|%xX21_cl{> z-g6%gml}Lr7^ExyeQeJwjp4&hRnLv#45Yj*4%`?cmX}I=+mq$Q?QiAB?Qik8{VhH$ zrqklGSdHYSJYD64Gg6+ea-w*=eXaa>`&vBSz7~(Suf^l-YjJZo#K}-dc_TvCdXX}3 zw(3<7r|c8A0FYG5dut41AmzpTmBn$?2COOX_}~IkDUaV9AXh2x z1P5;J=3;p%|7l`4E9J$<1yiKFcZ3P$D&?K*z|#(Vv;!}3;HNn7F%JAx2R_z;zte%o z{QwiD?9+)DPs%$zhFN;^v>=w3^3IH5mfqa8#qv@K{>Rdv9iz2)nFB9(;NuC1NXn57M#zu9bFvE@9L5HyuT#x_6er_%_0m%72H@zb16wl=vCKOT22iqUSP_I*uA5NzOtC-r~S}9QbD)_!bAg z&4K@%aJJ9GvgBxz@}ELec!?L>@2iLHH28v8eYX*wRNrEn@{{nXgtOig%sS4q-|djp zrG$_6?(^l3lhnr?^j{aeQskKLfQaXH!b`jwU(Py7oli@Rr1EqVp49)JGWbGY4qcjX z!r@GRfsbqdf1klG@^PjAlELTtxQ?SCw3I3Fg69}l2*ni!51v=d6#NN;U+T-5C#mCU z>66s|8w?&i-_RA(vj$)6%Q;L@bOwnts$v!NX}U7{ziv;o~zT^%aBP>f>t9p|oT#@ow{Rt?vqh$LsqegKzZd)en!MC4N#ryuyKB z?ZB@kyu^!_^M?liw6FIeNnJv>5GC;3Nz3zPgWu`XlUpz$m1g?8~5 zpPs~;(B+`tz<9Aw?kDbW(0|o|d)fEZ#xkVwbFZWD>EWt0>5xo&+q?c>0L1kPNr9!THAB>q9U7Z zq?e5wS?)xVMQ;hx%RyO28tK*LYs?GP*}9en(qaohZ`x(c8XLXr`ExIvF?}wvbS}wO zWt-a)cMFx)x3!Vz`89P_^K0_wWVz7g<>lj-)OC;=`&MC9eNDc+yncCIdzRkfrWY)$ z>N7-NpP?{wQf9@0@Xu2I{ABx*(140TrKy>eHKl1@FsEj6))Z+_L}~$pHZ7k(FYRXi zh8s|UeY*{^SS>9z*!b*4=B=wNHDzuLIrk1axl z4?5kz#}UbxWIFC3_X%6Pb7V}EPiUq$3$u;%0y4Xus_KCbdl_YY?_`t~Xt}z%+PDhC z;oiGAb3A#JSr?bK=a!a|AMNVO(tGb6t#qUVy`7z1QRX|g3un)+$<$_Rr_Y$1;mXxs z)c3Z?1Mzg_;^_v(t;{UP4nM$7Gs_fdVawI@wr_Spu7lq4_RJJP^GyBnE3-@M8k^V? z_GNLYSs!GxxMA3UgJJ+%_CCwjU$Qb&wuYvDb+L(6G<^-DOjcV(lR%hBROFYp zw_YvjrR}+hsyTghgYxq8bNLLP*)p$V*^EhMy^xt-lPxdL7<48biD897NP6o>2T%eKpWaaBh+&YMi(icMB-^FOtTC&|F+aGnC&IL3>jvh2 zn%Vyt_d~A7c%X9QfezTOiBlWIwQNOmT~~I{*R#}4)CHI4=(dmUCNj;zoq<2f4tRzu z=egAHB-}x2@)IUT+tNN;Sek8VwYM(=ZBlx;piiHuO{s0CWNRw23u?=0aqIFL?B){H)ZWcQt+VP0L!RU>nd=I|6z-`cj4 zTuB1&K#Gu|g({5&R!JtE&dvp9je~GoNG&aoUk5ml?c(L2JRJ_Xh-xy6%>BL1)8%$F zm(!P1ww;1Ge4xIAoyU|cwTS5fG}&b98XEXy+t#H6^L^Br*x?y*!R^g}y2}dNG3U=2 zzdJE8+unFo!9QQFeQSY$H3a%-AH~QkFI6 zAM&@j1L|`Z(DX!IWmemTwjU3`xc)MkZhK`)SW?$u*InF(^d$2a`GVbJ$|bb>D( z&0a-aGBc46$(6@Q19;4SVU2x8KWJ?}kyn_;ptV)~I=zKPY2VM}L*H)o`t*L5{er7M zGVS9UEvEa6RR-Um{*q;W+#yM>O%EFCc3(UIjw zp}i+dTe)RwYx+?dLl~CGuB{hwy%v~VUqxeUhuPF%zQ!XLPL46#(9xP*PTOFba@IeF ziL9ON_iJ<*Fzu$Xfwpg%!29)h*VKM{dexinwy=4x`aZxH0RDNvuK=8PQ>mN}Iq;7F zem~HE3~=6krE-{tL$sXRENsfjyStQr7vNt6T=#ztA&hrxDgBfp%fLAArc!)5;Ew{n z5b&=8o)w(8SPiAm;q>9K4Cuc`*DAk7aIV*X0Nw@o7Qnkf&es9I1@LbGekb5)=br%n z7|`4I0PWcf-vV5JW0vjnZNPOe8RL%wUMhRc82>EblLY7bJ^^?R=(hoW4dB==*9p!M z+j%a1IP?Jhcj#K}Y~NS3^+GwHi^$Rb`jA7;lYpa~??&WkKmHNWV|jiLILdi7BIiL< zE6@8I(4(BgQkH=2jB<_^oY~kuFIY0~?Ld!mN&!bXlOl48rQf^@=uyrBz){X65jkT- zP94yroE3nhoNFU;E)zL706oh2G~g)b?uZ;6KlcMY%K0|nDCav7IoqT>KLC1^^BcfX z&dU)wL!`a`0`w?n7&kbDXuBUFxVHOLk#ii-qny(L$MTd%e+5ty7D+O0MFNvJ%fF9-C1~|&OBO<3n?E5*OM>*dB9OXO_k#mm7`7Y3- zoL>Qsa()+)Ggsui3iK$acxZCFA1b)oXN|}?8t75ZSirG7XGP>ZC~_tNJ<7QNaFp}j zh@6*1&Lu#Pa#{dKIh_$X+K>7DIu2|mlyfuSDCbiVITOXc{JZoVqH_56mK8@i--^gt zD{{UA^xq*yop*i#ILdi3B4?Axc^T+Y&c6XiIYWopa%#K3Byx@rJX)_3z){X=5jkT- zUpdfYd1eESa^^+k)QX&iK#y|X4>-!XDkA3=k+Tx$QO-vJM>)4f50hEb9+7x z^eE>(z){Xa5jii(^;dx&<-7p&+y*-DzXW=wBpxDt{&5Sg+dv$Nv0%z_A@q z-%_5+$LDD;0e%C}V?UfgG#sM#oM&N!V|h*n{P&bry@>AuycFpF066x~-GHNcAjRn9$tqa1#= z%pqD%_U#;^IQLZ!j6Xmhl|Pn23XK1WK8lZKkOJd>rjO!f3{r^VRTeh*UP>!Hw##1t ze<#rY6>x0d*8wj9`o96r^B)H;&)?~zda>RA0r(h7b71;?^ig`0^H0EMP?`hNqutIh zsKwu)w93JLh2JA!eX;y!gPi>!2h0C2z)?Qd3;XTAfqp8;e-m&le-Zg2E&tnr{%)Yh z{_r^9sF$Ass~psu0(=h0M>|{u_z<990yz6{m47whzoE3^9|0Waua5zae(#fjzXWnV z3pn~c?9aoXJZQH=06z=l+zs+803QzYDCbbXaXp6kaFIi#-eLSt!U%~OdJEvX9$-j+ zzkx~9{Eq_TPnnecca)@gd^|xPwKMvShXBWZ%X*bQO*9;M9O1aY@*l~{C8Q;0$ev{> z0N^7iQ|pOxjs`iJ&k)L2X^bD^kn>iMgY?C8q33)e{sq0DI4x&+4TS-IXG!C#YWUITMb`A67Gk9{}?#`&Y?P_fN9 zD6Z#3l|^tp_o*6imCgKZfFH?#gbjde-{Y)L0nT>NacF+)kgmBr+SZixo`}$^pM3%F zqnS{`e!!1Wkm6A+m;y&{H7WZ~zdvDI`#k4d2K2{SQuBWm;Ku{L3GlZ8{utmoW;y#i zfU_NR9j4!VaJKporpNCMnf^TtQW&1HG1H%5lji?8!0Ct^KU4y)a}Z}P2mBbxvpeGQiJd zK*B1(b#CIUO@Qm#oAJj0*D=KS3xJm~AYnh?0G|Q)EWl?1-T-(8@HK$X z2K-*YS+_oa+ZMt7`LwiSWi$PJyjMzZUD|lLrrL8&b*21^bWpmizFy7=$eJIcCpzUW2I!F=nLjK1%Fz2EOzw7=Ll=s|l&EaZR=_@z_c5*~S( zKBQofyixLd^#?^$@+5tYL{hX(p%UEwc7s6o7^Xx!$W`y^S|#%I#lk#Zm`t$qW=>w8;1&2lRqf$9S?d}F|YOdQU~q* zR`X7?iv1sXwKrn@1AqHI`Yv@u!9jTqS}itsFPH0!#IuiazA2mu zyODmpqnq%6rXQ~^^9#wn6|%SYcoX^h_g=L;31@5c@BQQ6boE|F^T-_(^-j$X-uYNF zI>^7hZe`Roe9C`QX>Z3`m)5s7H|JXDv42ZzK397F{Do)HVgL14ilp4~?9%o+I^el< zS$k`zexU;2K@220mA-Vv?}t^!G)c(U7iQ1t-Gs^4c7E*QuM~d%?uWx;^jSck{_@u{ z69we2q3izgFJ@*6$j>tS%imi;O`QCwBJ_>;9s4<&o=CD`EN?#|5gF~8-yS2 zx2*vFO$qvW?^A!ve{TZ+#Rc#`DEwIdMFsG0N#MVv0DiU=2h{&Qy6$iNcNp$4|FZ?~ zzaaeB|9)5i|4Rw_xlH{n|K0?C-hw{_5v<7C0dPPP*#Ex7X|R2nZVC&+F$(@3H-cIu)qAX68L$aaDVxAKNQ;U*9GwFd+o@-s{sDx3FUvW z0RDUe|78X6uTJ3qLjnBj68Lu)z`s%Was2Z>)c&^LT?zVME`a~R1pYk*@aujzEdL)1 z;NO~1|5pp(-=0u@-Z$P~`#qn)|K|eucO~$%PwlV%R}$)fc>(;dC+Poc0sLkI8qwqU zeZ2tw!+8@81?2xbUH7;CBZVLP&p!&_PbcW#R{;N+3Hq-nfPZ3w{x=HXpO(PSb83I> zH#dQw_s{p2e^CNI@0;&0e}nL2`|-Z`{_-~^@bmus{_^X2AE=-AyZ4u0_rYTS<^BHs z<-aMxe!LIAzx=l()Svg$_m^My>tgwzD4_pr7X8N(4~NI-lci68_3OT1)c?5x__rt6 zkKY^Uum0x~?8p1<`^*1Af_~nY-(UXS3Ho`Tet-G*Cg{H>!G3ANNUSH@K`CX!e&Iji zFhy)Eun+RyX)e<=AF+w;%{Ja44;Q%or_)Er(@2}`jis3N%XVf#>0MvkMDL@P7B0;% z)U!+%Kg-4tz2?2Uj794;QuL3H)L+Z5GI{ST^AC#%xIi|!;~snFiRwRJun4<%neeY; zCJ5U83h|thq<^>Y%L?V^9NFmwIq(kEK~1*AMl|MjAOmhfv7 z)jyAzlk|^UZ8_NH99aK+`b72L=g|MO=uZ<5hN%8G9Q?l*{!@^d(oy~e1SHk}u(w;r zbRYZ=I`~f){%HS?>i;|eN%m`7Z54NkezqS!KaARMC^?R#@_$YAzeV^pit1nD;D558 z{M#J-&k28D|ZcM>wgyUC+YXDvs{aX zneBfGeWLn5>Cj(!f@Pd1{2E2|-|W!8SoD_(BkRAEK2iPuaOl5H^v_hq5=ZsF=Fq<( zK|kMrMfESH_ehfL{|nKN?~HK~qWXX0;NLC$r%SmtVqF-XBYvua7xn*JrTo}`786~x z{Co~nQu&XOj{EUQfg_jR*~Fiuf2Ziz^EJ8smL%x^j6?suClN7)#pZwTFRK4j4*k2k zEf4me27;pX=kunL>ObTimcJ@cZBkMFLx?}A{v+2|MzsG@f};9A;Ltx`^z)d*5Y@lJ zp}#Ca|8f!()z9ZICDnhk=*M@LxExXae{krpOwj-S1pSv&fs*w9QuO1yWvriRF)Skf zB>OK;(BDLi(fafGMoIdIoouy?MP-zZ>fhne-<6=hB|-lghbHSkQ}mZa^hfPKmiUwE zzd`h4|8Gmszs{k5zUY6Y5B(o@=-(>(_XUf$P=6lMQTtD(3bM>-{Zl1Yv5tRx71v)*{7L$^B((pB6ZC)6 zp?{9(=jS6BqV@lpL;voC`uC8aX#J-jm0bT-qMx!uA=>_*ckr(h{!>ES@%6`Ni9gAH z9vh1S`oDE_9WDRcMkJU2i=sbcqy+z>_B)37lk|@i{WyLp^I+yBtxlJ&nT{If#b zmKLEQ#6N_9=<|bpV!uiu=JvarKEvf&?fQO){_;~T;S{0QC|drUL;p0MY$%l3$UOhL zhtg5~-*xDJzv%DF{^O3fHc3SqX0`B-6a5;ge!V`0_>=6{Cgoo&glxb2=%f5Z3GGO~Xkf8quqCaYX z^TiU;_htX>4*g{b`X5ZtKa{>_;XWDFKTayH?L;IdX#454NBl|czgYBF3L&@u!}L*p zm3yA(*Wag6xzj|yG=suk+E3ZURgUs67k--FLqYW`*yJex<^=nFiI|jM%YUz<{HsNO zi7Jvf9l8D)@w1OhMexnSulh7wuQmR$mR|`Z-YMnRan^6boj#i+eFw##k@Q^@-!19SQhbl3@1^*2lD<#k&r7^n;`=3j zfZ{Jmn*A)V8(Am&ye~@n5sKM|F#cuwd_~ecF25>i9wYxjpDpzHx?tRInCF}H;eNzv z?hoIV^y3n5rT7U+KS}XZlHNw~cO?C^#LrN?UDDr`_i6$zaZ&fQv54P|C-`ml75lm-$?qm6u%_t z-%e2F6r?UPmuIPiYG~WGR5aex6sGG zk~kyrY>Lm9bS1@AlD>fAIg*|$G4FktFKIr9ocD~=pZ8w+r~4{u1goWZp`Cam%ah=3VB(A5pLDD&imr}e;(#t7sl=S;0zLMf5 zNjFQ}LUF64+bF(D((Mv=P@I=^C&eoyeKo~hl3q#iHIn{-#H%E}R^ks*{2@uNruaHZ zUr%wjq}Nb*eplK3%81IIYxh;I&Frh}d4^qt$LVLL zjpSd)w8>Ecn%3mg)5drkzWbC*24!vFyy>+ymDjzpgS1uld~4jlNn+1e(-bvSt{rmf zI9Aq^*Gks488_+UJZszL>UoMZPUCW|zm*lE`6Q#~ z>B^p8TWUqrphInWo~&Fesep8?t*w-GeKmCl(@bRL({@lj?G>3hz^Orc4zf|I{V>w`c5fXCCSN<+K z{B}>O(zL5>P-(25o!W5@Sb*&e*KOmWdFk}aF4vKqHr}A8b8pYWSE%%RRbge%lWQ}t za6kH)Wo3u4b|K}%Sk3ICu5kvDQQyeyGaZAWQD#gsFiQPG4LP0)QnkIOb6d<8WVZWS zsXyI91N^8P?j)-{li{V1w>I;_d6{iTtzS=R(i0Gq+Vz=TSR!+&Jw4fV9L*w(-(YXI z-4;5K2@<+9FBI*$-ZTqqiM2_%wev%*ow~PGT%(gOz${Z{`MXuIPOHR|mmYJ6h* zAuTjaFAPL**@Ed(JRCnf-6c?6W2ygf7J#)|PUCqq=+RG;Kq&-acCMr9;=!Ey?=v^>_Ey zHW%%iZx+4hJ>R2d`b_bA9v|lYyLjjqhj|-PLvJ7EeKR$bkng2x=_$#O_pCm|`^3

    zkqJI>78&mf3ZD%}0 zO8#7QbJ5O}w>EXcGb!&?$zp2!9CgXiKNNY(hyJw4+f>wSgwem-Pc1s(ocGZKk)p1j zr;2`GJdW;3hGf1s#M?Q9G;lvNAtHs)O}MslxQ)Hap64756q0X84lR$Wg>l-5$|+Cg z%fr%m?GzTbcG~dD^}^FrJ$z4zVelQ<6K1`|ohsn-`;p$mt@XkKmPPQAG_!ZDH|5D| zhjD7p5JqVvn^GfZ1kv()m8U&f*|VeaiG3;M>VBn+CZnA=8SUfyxQy?@_|A^p-EQh^ z)91_qCSt z#0VvEcOJ5Z3%6&ena$`v@+3>+Dgs|2oxOr54qHVvy3zjxCdPks1_-=r#wc0@d( z(%9Zi9o?VA#S;8np!=2Tg!K%S&|gzfi*!V8bTi-di?@E^H_db!Sr(WXHkhhm!X@f} zTW7=2OfHKgD8gE=C-ayo6Ig96L-Y8~?r__0&)qY@+>znrZh=6de{Z)-YhWko?rqiP z1}qqRYCY<9P76cZ#Ct)|hKYG=r9+W?e_Z>{&bq9?!`PnfuNi_;QVIN4PxGp`lFQw* zaChLQV*Ouyjf;;QhW5Q4YL|I?t#aQ>LTy+hH9+tb$$B61I5hZ-gYlJ<5E3+x-HbGs zT~66P&HZpW_d_cFT~z#yDAYWfqW-wvETp2IjNRR4;~eNF)Fh`3C$G1|r2UG}`fmL~ z`eaCYP^KPol!j&D)-b$_;9VqT3&k4)b39F#J1f^8`yJyFm}LFo#YRHUYcL;FCaui* zK>};nVO>To#A>!z_WayOStG4fx%tTyLK@}d4oL;;+!5srF>%we5lFt@bVlsjg=DS; zBP!2WxV`d;H&R5FKth!tA=F#MrEU#Xyols;8LLNZpahRXeZKNhGS16u*k@`5y06{h zb&esju5(AcDY=?}9J{_tdfVqAw`^XQnO(sAF|UAdMz^BH6S zn)In8w35AcpO+tRveddg+!91-7D#9l3sWbfDUlR}R!9BxT)smpboIsZb)}G0OE3mg z>YQEB8f^$wko;YNYczjeXKQX9t{o-8KE3C1%dD^7uVpZ?)+2B+z1ZDw@Yk9&Qn(_| zOdAeqew5wEvwiK)X}@E!-|xP5ua|$DEe=luF=CIl;eroXc(o8_l?Ld;T=H=MUy;&)b=%=T~|?w`aFnys~@SIGS^( zU#=rlXD>5Tu=kB;_E|JLtfx3=Ri18&2%v$9yi+o}+K-7MD~?3Oton%y*Dd~Y zh05T$0=H>=W-Y)Csm(^RAm5#+f!2eCT z^_ajIvT)b?h0yAPTWy?Qf}VwBGczd#s*Sy=fZB4;kn|m-g(!c--lykRrXQKklH^L^ zE=Eg$BV6Qyf3-C-oy+P>%u86E75mO`xUoVos_bP%TF4G$25!-P)DUDk9+pXiPCT?} zd%wwo8Gs7FKI;HyfIiCg|5tx@R8tRit^RHhH+`^He>|^k4n{;|-AI$g;I00O$rEjd z`N3%Bb!p=2FQ~XK-3ng)#YOn5ga66ZA5I>+^7CB~->9(vQI|wRVm%F4dWr&GZv$B_ z;bunX6Ki39)=#Si-D&fAEJx6o{<}H#?_hY|F6vKJpRA3 zGApJQ`9HrhbNW3Rw>`#@7J4V$%QJ3X8Wk#(odu7Ek^ZWbZ=U^u99tJpd5ZQvge`CC zNb9rSpC1$t+Vg|pi2}J;y&vM$q@RwhE<>y0kbg8j&0ngzvijvJK~&|G%-*9u$(z9B zW`;e*6T9e{g;nMIPPQGHo1Sja&A`){H))#~-4yV%9McT`RMVfe`~l5h)|9ULN6IY| zUhteEcxGGd&m%Ak_B#Izk_(C5QuH}<_3FjBKT#X#w8&Rmc=I8JlWi4w)Km}|t&H$V z0F54=OU}#e$e(T-QP)lUT#AVOZyo5#=FZ{tZ};#$&obqn32J6LG_D`r;4t zXed_r&+@302RH__pM`55A5Z)Iq9*rrx;G2;be5+JB6GXU4>F{;^?wX7gFb{A>6?Bn zJ=_*;_5lnTd4LaKM#=*iQ!;Gx_xPnvo1VdSvG=V>3qw1+lNK2?&b2%6ZkWK+_Rtrp z+&lOVpLTaRZ}QjE(#jWsCbo~JxOBchu@Ws2fANElIKs~v=Jx!?=#{c{Z%aqM{bAqc zKf4Wgj_{S8p8O*8>e7+)@rpGN@(%F*lOjndn zC@ni{a;Lc}Kh0hnRmY0LqH7j-MO`C`PCWdO;T!0?V&0Qy_T^E04AV?Ma>R|rGmjWH zj|e1hD&rK6;(wZdL6CnL;}l%{t8BJC4_W!o5BN7p{t+B&er1sVnB>pG{0{~BFG&80 zn14}_zhCmt!~7LNKEDIO;SBz#`j-az3>RHfJ=a+7klXq4M77@-y5J9ohg0@_Fki+6 z>r&lAQg^0E)F{g5{p=hX`Jd`3ZZL{iMib){cq`)&PAE;LJ5~J0pghltoT*52wasTa zk1|f-exi%YN!?jw2)R7R@`fi0F1t;X{1cc+%d#*iN3G-^iTPDQeqQoT-&6hzgL3ja z4jhgox>z}f6dS@c<*VJeoFO`CW2V_GvSvkTpq~t(_TlgW{-@x2A;KKR#2{wc_RMZkZr&#pZ2lO+9u+(ByHAEx>u|mqk8j}-!1g?LC=2ksH2+f?&@)l;UE`y+mwc8v zRmwS!(xGw`Tj$1Q*eEhwV`z)yC)JhtclN=*Px7Y_tzXA{V9SxiIK!R~>*p6+=ghYB zgugLqjArc^<#H?*IXUK0TNc|+!}+Tv-!-=GlKipAFMT3S*iBN7#gq=)(l!{=JSa51 z`H3AuGb<_w{KT1uP$q>_`JdJW`@iJ7{794JzXSO%32eTum;5yGwvuEyL{9wlJBzbqmu9P zQO`@htNmV2(obWSr$4UWvF3)u^IU#uqU68AM$-0;_@zZccJGRZ$3 z^~;>X{b!ZryT-^S$#>c3G09IFr!4;k$#=ESe#v*;hrT5C`8df6&3Qc5KOD55l0Hjc1Y#7>P-JLsAY z?v1KNR+3G*P1+>?EY!8!+A>Yp2Fag``E2hQfxRCUnxuZoGM<z7O~GBj3u*_8cbP$HUmJ=p%oT;~rmX)afV!J5h{Ed=d70RDwjF2X5 zi{zXA+R9&TZNx0D@D<7!;{Ao*g^P!jw;>J^lJahL;Gb~dw>a=y9XP*K8xH)~rpOC$ zzSfZP_(Y#@V4D@0(=aWr^t{GlIeM+}G{K84xu4IMDQ}~o;V9*ODh$xoJo>PF;~yxk zF%zcD=|Y?ehm?0m7?7)!cc%lt%YlE^f#2)E?{navci@{H`27z20SEq|1Ao|oKjOf@ z?7$y&;9qm#<~68TUdo)t6@#fAzZnM!NtqLu;#n#0@i=Jcw>t1A9r!i}{UdM$?;CmhTYYzN%2mW^lzR!XG(}DlD1OJx;Pn@Qx9gEbBhxk(F zM6D2HE>h-%tt5PyL(Xsqey9WIQ@P?HCenYw?is_|&y{NO|)dIG@NC4=HmxTN2JEwZ%iq~-7d!Ae2hOL6#Y4*DQ{>_y<>eeW zpD-5>DQ~$0=ac8+A?5K&bn%e#njJWwQWp;?ug!t;>2>jt^7u5ncu0ACvRyo+JU-Tk59jghm^;s;l)GBPuGiwl*gy- z#Y4*LiQ#!7E2jI(Er(kADq-V06vm6>S-iQAmAsVqk(eCLN_l*uUp%C|k2!GO$r29V zGMB@`AYIuNrhIt?xpoCL91xqdGmcaWa_vYQ0f4v{?0H+S3fa0KlKTRR}5Yn2I;CI#n9O?e6hhN z#PDw${Ja?ciovJG@Wagw^}AyDnFg%czk?WJU+fGE>43lAf)UQSU_wtWp|h*;PM4XBqwD~ zUyp!vnX)_GVi_qfKHixq<;BOl#gB=}u=raYc-%i&`nZ3v`0)-oZ*$-y9r)WFc-;Rm zA>A)H=;Qv!(x2p@H#;O^d31jf!>pXN10U_cOC0zq4t$IQKh=Scb>MM-%Y>=eFFIKE zly{m#&gl-EpLWJW%KV~u5^kQt$1+m>>15%oRDz#p3c3#p6UtS}exne}OL^mC7y~K0 z3nP|C_f0X((ob^WlO6au4!pvFPjTSqI`H_s#)K&^KCf9kKCfBad^66;P@wy@(6wHq zylI*Y#dIGRy4H)7H$#)5IOWX@UF!wi-)S-wr@Tz)S}#)GY)yvZly`pUS}*9nPm`fI z<;CZ5CZPMl5S?D6yg8Z-#dMz-y4DN2Pt;^6PMKdN4?*T4GzHZ^l7GztDkS5NuW{fXaNw&PxNANCK?nVZ9QbMn zew_oq-hp>J@HGzn1_yql1OKoCzsZ63IPi}+@U;$nodaL*z(4B1KNiP_@&1@wd|X%d z!wr6`j~^weqYeH^A6NP_48GCF50}(rgMZ4$kC0R);YoKLS2*zHgdYRn@9T`-W#r%G z%hwe=ow}MxPbaV%T=|v$hepn4eL0#x?2u&o;|VW;@5j#*&N9N2>h*pH{ThSc;p^2E z@Es2PYlO2M77GWzo5SHn!bcYe&zJO$^j}8Ky_Sgn>jui?Z>D3dSRQ|6x z@I4OvZw~y(LzCsd*MZ+j_-J@ur)B#O2mMnHoc9lxc%S#}FiukccF@1|u;g;qIPfJ7 zd^g!&%j_$sL%?jSkC>voKqw< z-QW-Sc)g@PVDJZhTvz=3TihkyBR;No4!<_|!#=Jnq#_#lT%M+(HcRCkM|g?(g(!=k zDxB3qzgg({-7XHx4E>|_g8r9FYQ4d~;p1sZZ6iF%&c8DB-}LEEm(-!;h)Q7p1HV(l zp`7p}ITsoFuUR7cKV4F*22{3gMV6#Tn_-zNC6g8xbI z2b8|pW*kC{N##76@DkX+krp{s4*DJk{&@%f7Mci>^v-tR7ZYCM-6f?6?DJ8BKN-WH zHF(?)r$}ju_q0z>#WSJS;LrHDw(lnlzRkzyN$N)i|DKQQ9dbDhv=Z-GAD=6!_Z$2< zALqUM9CjOghrOWxIZ4f=39-ccv5ym(37;|egFdd~VjJO9q*(Z+p?}!Nb$q?)pdU$( z-b%cm`1E5X)oAel^zp@#`m({}<7+43qrKpJmbB3S%h3N!u7Y+vo;qrY7atc>4gOy~ zy^i-w4E}Q;pCzewgKzP1E&oQslk9V+q5q{%uk+fI2LH8>>yx-w9dh1q;O8BethbWz z67R*B{5FIC*2mRPZZP;(A6NhIg2Dd~!-pKt^5gW?2LGK;uTNMu89Y9Yeqr#Jefmj~ zI_+&NKRzy&8GMgVulB#);NSIe9e1x9{8b-smed6!S^l4W{3J5-_CMg_wi|x`n-{5ch^olPt_|JV@$Hi)cr(|}L{k%l=6@w4)arJx88@$NJ z)$hG-@L@i_STvn9ipv@73z{PMF7o8#WA2E2azsPS#gO~X2rTzKTH0ura z7nO^gYYqM{xeEH*7YrWkFH*a0anS$X;K4p6^)ttgX1#C5|4|N{>b3Lz9uctk!0`^FWA>a&27S5g9rPX)X#JpJlNNye&%L_2m6|) ziJU(hJlNNye&z&PNSDCACN1Y8g9rPX)X!`(c(8v-@ht`q_B+*x-k%yg*w-{w@X=#f z@AM+M^w%4g89dn6r0b1O8a&w7M9V4@o-uf^uZfoNCLBT&bcq)qUuPRUKE7HFKHD!3 z72AYw89dmJr}p`q!Grx#+7HK42PlDkP)grr@L=B*xmgpQGeqiumpH-#EIp#Fh8|<@E`&@4DV4szaqfG{{^UI^{ z@?Qpz_n#A~043fMpZ-|UTTghBKV0R&uQzgn{aPOvIWHMJ=gZf28BUJ01oppaJ0557 zcsoup_)=ev+OyH%!9Fgn?;QpY_I+tT{Jz11{axA*|7q}Gf0xpaJd?{A?C(%+{8C zt}8!lQf390#N^EHUV&_? zjf;UQ0u3a1!JL}$SuJcb70Pj+kEMlVZEh-+Rg*6tpS{TZ{8@HMT}Q5}Uxo;H8k^gi z4osGocVHz6bWgTF;zmb?nRCJdv5|~`BdEndYwjzli`y+|-AqPx21BC!oNSf`N^@OP zwlSY;=Rs6e9kYEo2njk}&BQGC$cfY=xl2;dnPhrS%z|Qypq{<9R?Kh#pRteRYh9=a zvGPK3{lNltp3suJI_o=)I6GF?w^{#c1ufC&vx4d*b0-`wXU$n|%n95D6+BcFy>JWb zcX8)9%WEA+Zz{AHWXuW8tt)cS=^DAE$la0eX}P+&njL0CQ}v1(25P8VGE26qwIh3B zTdt+KwIL@t6FYMGtH~o<_j(S`6|GG+xpl`>zRH7d)5B$0j6SFtM|uV&FP5vG@w8U(p0tUS2+)#t6+}G+i~e zEUT&~tCiO;uWQfd+v^(h9aZ%_iPV!PaLdG;&}1db;flT2Oo0j=r$v>PA||Ey#6rHq)YzS9-Mit6zR)mVXhJ%ge>(&Rbqay?1`@YX0rl zUOKUHIK6bU2~=G${dlv46S3tJYjSyWuIPnJmy-A5<_`)mp}MurBGm4>X6TnYn%L2J zjd6ShkD-ZX`1otokJCXevjR?O}xJf6FSp$*f zlT0V8T3Wk2*OF=K$W5Vc7VTkfVNuhUPs+5^EosVKNPei9OxB)R;#Z4p$#tsnO=*UL z!n5k~b+%kSJid&`7v!$$Y;4apn7*IDJ7s!DePiRS&St4q4f{rG%z-sRO`g1R!W@|7 zmT84hMvi%MwkAI*OO^|~m^5NJS0U5Y)=t0rY-;C{ZfDp8&o3&@$@b=Yc~w0rTU$=6 zYO;4teqyerp{d|Xa8nucRnJ~f(^`{dS%uE5!Kx^-0`HeM3b+e$V!@heAWF-p&`)PC z%jL7RZ919KvCBM+Yw{J@S$r4Yx-#JgC$zewTkI7yA5F?GpqAuLVQn{%@<44S`!^iA z7E8Kw!GdHmQ~W0%eB*zCS>Mpj)`|txNvdnJv)V4C;til>Cs3cV1GK<#MYoI5pC+#g ziUp5a67MUi4rEnYd{VjXIt}g>XeBZjH=@mr88e^H8GO;`za3NLcwU3r+aTlm#C1%r zYN=n4TWU@2UYlxf39-(~1+27~97s1h$2`8Gj&GhGY3~_8zbT(Y%}-AW=$TwyKFgh` zT2|bBOr`eLq4px9OaYSbLLSG-Sg+#b1n6`Dq3V^CgxYR<;-{oM_thK zEu0)Dn#s{TiChty7(w_TO)%7wG}!Eu&O-0dsOQY1yUrZldp6M;y;+|D6n39CX-RHb zV~cejLH(K=6V^5OBr_P~yu{Q8w|tMAG+EoVYWbvw#--A1S<_-v_nFz6*|O>w$WSOR zCnNY>*)H#cY9y6qAP=PJmbSy*Z_!hRiP>yti~qGwt|4omJuamchkeqLtxGT-_GU2| zfBQm9E?OO)lcip~fR^d<;KQ^@w!SW3zg&>^oIDIMPc&$<)Li^Zs=S~sA57%j)w!o9 zPDjDgJJLQnp{gtP`<-MseXr#Ab9vp^XdFg)?+fUdPQ6c1W%0#^nOfPUB(0_CM_Irn zG}5w^f2M_2J7uo5vM5Sg4Qm;a*Skh=U#s258oq}M*1Ey?6XBsnK(r~~kxVZY_B#ZX zNNZ}lM5N_=b=B+)xMv4E`~{8Qi~9P4MS2sA;etA~-|70$ql+4sIeM)kRjv#sP;&!C zbq*#`xi`$#b#_(FT~bDUiN7j#-7k*E6^rTY=a``gHW;kw#@td2Y`UqSr>j~2pSlMUK3JeYv^Qr{S77cGMU6OJMW$ zrTS3*me=pX(RFe%t7}!7NbOuX3Uy!kv9)7k(CP6DcM+GgHdJ?Rni1B2jhSB7c;oxG z#%oM;+SJ6s!;L-$RnpgyW{qaQK7}<}VBg+XVM6C#XCwobNT?kXCi2}R8;;U}ZLtVc6qvA&+} zB*^aXgP{ageeeSvF*3t7W^WF-M0B^-RBKUU4J?)uS`&K>0&cYPIj^X@Q@u zYiOV^`Z`*d#&=iXvN}VS;u*qtmf!(x%se3;UH4LN3sx+=-0xkNzshkwBOdT<=g+fr zcVsGqYr{xaiPbIC^ufeQH;4AQb$La6lIzbDCxh3_Z~dRwpzqO+j6RokF!z~>Fqqn0 zYxGd3F^hAUkix65^6)B**SIuc+pqYc&nB(35=JpqhMLDUDTLQb{GEHm%Z0vOOwSqc4==3r@U4s5akv z*tv9iwq{E7Rv}W4VBDEWSZfY;k1_P^$s5BrK-G58#a*Z_JqmY{-1~hS(@3-5O!Zdk zV6cd@V+WkDFO0U_7-5u~s-_~zSM+zbG2Qz%N3%Si0_!52EDr7TMudg+#sb|Uva z)#z7Z&S#Oa2GmCGrF%DmdF5+}Bx8*iW05VLU6>qevH#Ov!wq>oGpncAs09h9Cwb;3&pg1Z8&9|D z^z{d?S2Oe|j@p|Rs)377Fi+r#l1fIiiEgC6}0* zW^z02D{pPi*45Y3I?3M$na$TN%g_dQ%fm}>S|OP`U*4HOYm4SwGuNH0A=|LrUox@D z=qoqsw)6zDt8Pi-igJFsTHjPh3i)9!?Q~z-YN%?=s-zE5mMFUIi=PoxG}69IUV%-l zBBR;9oNef6%`T@(HgRENMAl=ON27JLN1itG>-z;m=-mN+J7~ZCz4bTsJqyP9Eg;43 zl6MRk=eKAS|03WGfdAEj>zj%!2k93OF9*i??J1S7Z=^8JX~p%85q<^Y5aFZ9`w+A9q3W-Q-Jf^L0bM_ z1KtSuUjXN~jFeuFGUa+*4)`JR&IrBsaFg=t@Y0JrPyQ!Qr0q3{f6rb+E=K_xQsRJDC zvl?)IJ5J?43pl?Wr?~!}GFJofJwT84IcAutma+eJAm;?Y(GDemUk~(r&KC#P+YPw> zu5uJ_0{S&TzXotD&pN=dpWF%f4It+sz)}8p07v;h037A-0vzT43-B93@1g88DR6xe zKiz>(cHq+i$9^&!aO@}71CH(c4B-5htoD=V1ZVfh$?NIE;io{4{_}T$qkR3HX09)v zN~ZGv5s`nZk?whKf*h1TWVj_@IatoO2(IP)q{w+I(4(Ap0*>=VX+(~eXEM;EoC^TQ z`ZfW+9_sr+z|o&{1CI6D064F;)NY>!oYz8%KL|M5na^wEp!WHKz4X2b^jNR$fTP|Y z1CDxM1RVXq%Yc6j%K2Bo(f)4;9xZ3_p|-%>?pV&F0Y|-)0p9?6_4loL{{1-MbAbM4 zz%K?I=ev5q(VwpZ9O>5sj`SM=$MO3R;5dGF3eNUnTWGug66nWMrs6LF{RF`G0FH8A z6P)cc5$N9l`I7*bVQPM7dm-3uB=K`#*=UDx294tr9k@%*7@+4<479#@e{_ojzYTDG zf1JztNxUEy-x z3G}G z1N|2O$ND}9_*kHS2ypC&xc;9B^bZ650>NoWnE6rftKSFoUj+I_!0~>e6L1_a*8%ywm04n-V8Y2N8AB&@IK;xz`q3YzYX}80e=y2ET^8>#qEyed;{q5zF;WH%=0RJ4|Sg+>*NB{O4z|nvH1@I?9 z{vnj+z~$j*BkG?=0giIc0378^2OQz)|mXz)|mPz`p}}=L7yU;Fkc7 z7qGtiJSJ*q9FN}xIf#EBaGZai1svz!9{`T?(Q|;~y!=DJabDg5cpmEeBfxRJ@nZ-6 z6Ts0v&jXJ2{iy^08Q|zQehxUc%P#;Q4duu2i}U`4K#%j+HGtQEoNB<)ZrI=SxgEFr z3qXG!$ms(7Qownv>G)a(IMSmZLmd6suRzW{4mn>19LxEP1Ah^492dBr!ErRhLH~BZ z(U0M}7jayN@UvpI&uEad3-B@rUIqAzK#%=-72w!Ef9t@12RP2Be*hfkwU+?L`SfML zalD`(K!1XM0O#L7f*hQG_W+LL=oP@RoY=nonSWmeIp{zC1UUBFKLd{ab}!&K|6;vx z{zX6b8)#p&8_vIf0r@!pz6LnXzbNMnqT#^f8s*^pi*nuz^e6}CUu;L5f3g4cXZ{WO zRhaKkFV4TH7w2Epd$8wU?EilS`(yuq9q$QU05NqaWahSn4OofczrBbzF0QE(RRs z4{_i_0Y`tr-@&O~w9jzBPlEE`xJJK?^D@q-hk+cNPu~J~f96x9N56zP`X$$Viu5?2 zVmWa>Mf^pu1NK{Ncl6IQ9P~J!qF=)K6mgtS4+p!A2Kh$-j_rat&ZkELJ+7~g0vzWr ztnXydi}dpWM|!L;pA)G44eN{e`5*`F>GB&mj=lin3&(|Pop2142jw7+{rRmxKNZT! z_fT3d9H++tj^#NXaP%{82OQ~7036GCBH-vZ_`7l~5BATK0G|Qn$M(YVzXRyc272^+ z(*aKdJ&tR<4{ZT@d@j)eINm>g0C2p2yb==`>|84@D z^Yr(L_*p#%#`vSZH}oaIS=m_MR5I{ovsM3zq7M3g6r?>+zmLFCud4Q?Fjf=1>@+ufHVDS1}VG*xcUUf zUj>}$*Dy$7c*@3{eVk32|Kk8Z9`H)Q=_fh-upDq5o1A$Q;JWr;d^6xDFd$(&;3q0b z@ovD?r*ZaQ0Oxw$#2^LxJLt9@)#o#Q+z|e6ai(8qt~{>{aD4{IS=E56&t$v}@H7Jw zHUK_aL5d#%yaezafS&^RUckoy{!hTU{2L^1q&OFD$5Vm60`RebF9KZWCeH2xT-St* zUk5nry@x>xn*cw}LgxQtfa{uvGhP5(=Lp941Fmx)Evz|Rv}j*gXynae*F@QHxy+Jm!e0e?5pUk*5zXP4xy23*&2oOKuA z(}b3zZGcY){3XC=06s(}X)gavz{dbS3-DQhX8>Og_-w#$0{ncyHv?V?_;$dn0RIu- zY@b&o?-jr=0Q$oZvlm=1UE?uwCg5`|iTOVXaF)MU@~Q#XdsxnD1AM;Fam8xcqvr$4CX>mst|?e-Yr91KtI=en-RE8v)M({T9F% z1HKdRI>7e<0iFYV72rz&-vszFz#jvAIp8k<-UzrZvbmh^ z2Rto{Z^o|#d>Y_QfG-BT8SvGBw*Y<@;H`jf1-uRLU4UN&xObGj;BvMDo(5d+{W*IY z;CY~540tEts{vmD_+5Zs4fs~Ty8zz>_)5U_=7h_C4dCe!_JVPJM#0E5z*kuk^M5hm z*8;v8@DBoh7vLWPd@JCq0pA7qb%1+v6UF7c9`H2a-GHA4IQuvKex(xdH9)@{@EZWX z3Gf>M-wgPN0pAYzO@QwPya({%TsR6`uaB6N{WlKqwSboc&dG^IHnSG+bwHm7d_CZ| z0RB%x+PvIy#i_D<(g{GHPw~!Pn~$B4RrXgSGuI5!!tms9_O!Da;Sf4d#j~n zE+TRr@vm(3-XWa?O$Ytc+3})_xXf#7aOQtJGvUDe1ftkE_od6~>*W-7dL@sJL5}DR zUJsAG&yQyn=$QlNMf$Mb0wtIuW)4U~=#WZ&i(XAT-<&s^e4?p2E?)_g&TH4a-h{|u z=mBYgb=Oz#52*U|<|q9`z=}vaMo%yd&ULcK1<*V1VXbb418*Tbbu+BBK!f>5o`$9L zIs!Go#=~cK+JaRVE0m-13#s}@t?{Gozw1cE08Ddq$ zvvLCeLGQ(Lea-Q&=9njK_4x-ufjJB+T#W%Xzkg&D_glZ!BlAsA%a}2e78;Hdx})XQ zJ|w4oBszr%O@g-%%BCl#>2GfIp)a%)i7x5PYQ%jMfq!adSV!+Oj~sO!W{DNQxA}KK z?#*|J{&|{_67+TCC7-_(VHudCO*}w4B)R`?R(x!vU~sxh}t*Wjm|j>k)TV7Ojms!(X8!-B9gsQ)QR%|w`X#O%L3gsuvzTP<}gpp zVfAYbm2ghzfKPIcmM3`zjsEBfQ9$3*Q^M)ceyc;VBf~D{HAA;e32tMcqC&HpJ;pg?Tl5~W zLgDOTe~~1_JJ3gC!31P(2>m&MZ_Og(s@EdvbFh9rX+#HBP-8?6G7VXP%A0g(X~L1Q zXi8pKgbr{H$>bl=l2c;)(UIhg=7^S#=lmgxL?OQOkitfUe-d!~0haSvT3YBvkEKl*CcU4m?AITR7%91qoX{7^y^)6o z1fQH7YJaDTqoEXZaC;!KU%I#((}hldZk>B^RCG$P|Jy6(RApafVrQgjgwIwERfq_a zJXRuq^qA$SpaVHF*)Mr7y)b+za!5P1i?gQ<_yFXPhJwyQj&RZ>HaN#3N9FeOgyg`u ziR~Ko1Vj`ousso31zC!uGn1nw?BDUpAub+cgME^+Rlu82I7RzWXg^6mexWpx%|6C( ze`%4S5oY$gu#UbDTkb_itZXyul?*EQ4r zm}Tv)oo%qcXrRfH$9TF`EhJ)^T*-E5?`GP!#qY}v5nN*zzwT8=etv&W`80O%S10Iy zZvp(e#}@T3D1d*l=$CD*rv7}MqLy1@SNU}hDDvM;GL=tb7r*Y2ME=hfz`rJ;{QNG5 z>ebk#U-!(R{(B4H-;|)gz5x4e7Jh6$K9^C;t+A{8k0kK76u`eFfuGN5RlOR!^lwez z=W}S3Ph%JVcHu|+uPlK7`2_yY5vF=IcIn@hz<*x>{I4YNf1rT!?@QqSU;+F?h?WD| z@AGu6_14%`{}IA}tdT-{Lg||Or1EL(;vXaY*nh7hO!+i+@t-ODSpMz;_$w0l*A&1% zOZc(;eEzJKTVq%G=O*aCzX1C!O5lH>0RDyq{x1~3-zNN6e?GTN>#eb?{yf$>VEgfT zZpx>zi=W$y1M27Z*p*LX7yr5h{hum;e`5mwrwib}H-Z250{98oTsQ zP0;_v0{ANv__q{L{@Mh7J~u?mt+A{8ixc>HOe&woF8(Ir$MMT+I_1;Y#h*{m|Lp?w zuTJ3Sb5d2W#xDKq68N_kz^~^AVE=id0RDRu?8oN?YPmIbmH)wn@;_Ao|CR*)XA0oo zmcaj|0@{B^0{@o_;C~^3|0@OX?-qXSzkJS|+FfIp{r4v5f3^Vr{R#Yh&Z+9v*rk7X ziYiM1%g^VKDWAqJ{t?2D{g=-nR6dPe{QCPg$j@`C@@eeiANT**`xXGJs&fB53`Y>r z8O;Yissky_gLw}yAmAX39tw04Fs};3%rMB@=H)za)G%nA%wqW(N$puaN-`dtQky0=rwtz0kpUog2>|Rk_7z>1OHc(pbr`7X->sp+x61lA_G0$|C%WMG6Ox`2b(B; zlYyS@flZWN-Q%U}pYDrIlzt5(>huSbpkHU8zdMQcv!3bo_VZ2>{BJhUzncX8CIdaq zsTpj$UiIg8M%493_uwW-Au3N|K23%_Zaxo zy}gOb|GI%c-S3+y{W}K!bT4kA^rHjFEFL}obPsQ$^w~_W*MC}*NtFH!13le~n<#yb zfu8QqO_aXekpKIjk3{Kb80fQ;;6K+uPxsp<%3poAQP)4+Ynv#&y7x^l|IJC{f0;r5 zbWd)g{MEgTy8Lu+Zld(+emY%#x{o(e`ZWgm>3-fs>2EZY-R{u>SS z!6fK!HONo*>?X?pb_0J}6HSzUz(7y;;U-G|h=HE&$4!)emw}${(M^>81*X^QAKkZ` zDE)o|J>AQjDE;dOdb*D{QF?XHqTc@K-rhv%M<0dCjz_1Tlmz{W2Krl)us?zZdb%$- zQTZn^y~v^7Hj%id^8@0eCK8dKY_ZJ=6a|M}}YN zPl4&~KokFFzJDv8{B-x4iT-m;uj-HD=g$9)9`q5W=j-tlc})K4E-_JmTngCD2WV71 zq5AU;;Hvy9IGqVF$-ja5pKWuN9v2(y`v9BxA7uU^rYHV4!SCk(C}1Z3PcZ*{rdN)e z|1S_>;$KOVO+3ZY5$8v~1;3mBUjZZj?sV1V*_9NjJ;Y0YMk3xMejx>p?kW7_{l&i}P> z_^UHDl`g>s4g9}v;7@xBCjMve!6B|jwiGTl)>|I*1x%k~Q%Vo<(jWS!g^B;g3G%1! z8ky)+P37Zu#%`;Qt8oKZTU5J#P8$ z@!-FK`KxnmRDQJn;^zNX5B@KlBAEs?-sE-jFUCC4RQ@A5*Rs;V*5B@Wl{{qnHk1LzjFFp8oGk?AQZ%0Dz{L?(w zr2j86|KoJ#@Voi9dC+fQdUySIRY&VHpf{D@CWHQV805dhga1|!`Q7|a7-i1?Ak$BC z<=;(zEa*-04;b|SutEOS9{k6gDjCmr@ptRL+k^iB1OG=1{2%b(e=+lKbTM=Vt@}Lq z2Whbp&m~Mi{Rhoe-1YAh0FX}I^WOn(_zjeZ_PF_1f!?J5?g2@p*Z)C)-28v+!GGcz zl0KgOdpzzzHpxGg=_kr$>|b~N84G%o{F??O30Ffg|N0F;Zuy%%_%CJt%VaY4uUmig zJqHv2fdNUP>+iP!x%off!G8<$kJo?S=fVE~^VjqLl!5i_AM}pp@|7zy1=l^K~{}K=WbD96OiZQ!x z{`8#;6aSTl{Qtqgzs7_A0Q3Jy9R8Pj@W0KF|7Q*S`#t#oF+u+H9S>9fcN+LVXW+ln zga13sKi>Rhn+N~h2L69C@PEyN{}fjItT_7rKM(!~4g6m;@c+ay=K9~s{NuI%D$tws zpS@KIuGjxR8~CsG;J=>vPmYuSZV&!B2L5{u{GamR{~+^^*Z)86!N1bLf1iQ>$z#p> z-_QJ;u-5b5~}{6lZml^i$HJE-@rCWp^u-h0_5g@jR*f*gOa{d zI`%KJ;dr_{_#ZIve;t%={v%-EQ<`r3YkyF(DU*)<>(>82JopE>3z>eAgIeZQ2i*aBQ~6b}{Hpw^{`?(;Zuvis4HlFBKF|EQ8rv-0 z@=pN0iT@gd{@yn5r|;O9_GNFjLj=b&2lOKW zaj$8H8mchf)XA%CSo{-X`@7h!@(X}bH*(I1nH=eziiaE0?gZz{hw1OH)^N(l$jRL)?{O@A^`uO=F1OHEW@c$_@j@SQJdGH@J z@IT4GzuSZV!^|J%t>bZ*|27Z$-!grngIelZ2W|0?e~&@_aR&KM!#=C2{4zf-xw!jp z!quN89`wgEeT9w;znlIN(3{HN`h_Ia`_I!2^8c>~|4%S~?gnis-1`5i2mfLN{|_7Z zAN1hg#QgJZ&eG$~|EbvLB$&JZ{5sRe8~;uOy-9z|Sbn|z1P$^xdhmaM`Nu2&2R-N? zWBQUf`5*9*zuO@H#|-l4V4u*WKPyKvp5@~2F8_~#-lV_v2L5Lm_}6;ypT+#+^*@(; z@ZV(M|8WEVt3CK%%KRtC$$zH@{{aL4Tm%3A_2BMu215@9WGz-u%DLgZ_kES#a^@|4Tq`s=vX9CH(;|f3hEn z4f21@ga5nCKg9IPakroU@Zg{QOG%;YuhhVQiwFPnxZ|r-jM*h!>(AXD{3{Lo>D!f~ znOOCU6R}TAX}bI0FEIZyof-V@{Er8{N&jukU-2RRPciWSv8bzwE*PjC{#uq0S6`xBP$c;6G?6zq1Ye$3elACwKX^ zF@Jad-TXfUdQ{h98;zu3V490UJ;5B}C9$tB+W zW4#CeWd{Cq*3aF3p7h|qg85^5;dtEoKLz`&q!V}fbu&GdCmfHPet`%5I;KCyK^d*Q|Bni|b9%?^y*3zxNS3LON$^6~+1L;bC_IvQ(WZ)k% z@Gm&ctpCTEKcXFvn|}@vO!*%$@c)E?|7s8Z`xLH;5X5b4BSe`gd(#_{amJkXo;7yOl^*Xz%P2L3%B{9Bm6yZ*TA?{yyhD-8TU zW#Ioc5B^_d{_)!1gC6w#Oke0KKhm}S&^ZZ{{;Cb~FEYsgt_S~Z%-`MrxcOILpPgXt z@_(G^C+Nb$@78}A=uPskWcl^+=hFuHYdrYB&iv!`UpIKrpTde~Gs4b=JO7{ekbeWq zuh-v84e}3o@Sn~6Rr^x{xcT4f!T&ac{w_E0&xV0cX}ZfV%>3iE-(x^;D!<)^{4X`| zul3-65A%;VfB1n1{Vt|IPAQIEcm3PvLH`odV|wm*-1M`s&uY@&TTK5S4r+<3gQkJr zq`!l#zfFux<7d4=e?Rcxe`Ap(jMxAC)`NZn)5mK+gC6p4d{pw+>;DRa{MpzbGwJVM z=8xgY@er>590Pij{_ZmHUuob!*Mt9)%>Ou@8T{_@@A062f$7hULw}uz{DUmNYX4OJ z^#0yxPEYCeP7nSQx#M)}&n^FR9`uz=AFusC<01dJ$E2W2PLjXHAb(!aT>e)w|3;Vo zkc8toD`+nNV&>n?*u=lh!2e3nQ=0Dn@Au3p8pf}auO$PmS z7~~%_-Yoy=TyXOhV|LyA1E4qYA7K7^{iFM%-Suy-2mdRW|AaXF&+*_tdQcLw8pZj? zs|@^a_TV38{+Gnz|8)=k70iDb(^LJS`>Wmgf7FBj^UVKv7k_vAd&7hNHKup>KM=w3 zoB{SlG^!9%ph~4_@^x$8~{A+B^(&Oge z>cRgu1OGJ!{=a4ZnIoKxHZuR96Ku<`z=IzAcQSvy{e0fQe=G)A%9ES_0Q1jQjM!EB zQ{YjcH|an7*Akw)kJo|l2VLPd5BW#)!eKo5KjR^Pr9u81 z4D$DT$RA|>?*7{?&pn{0Hj?SeR|V6%^{v9ny+g_GqHkmQ_4@xsgZ#f_`Q7DT8Hc}O z_mJZ6D!+9G{&c6dl3U63H|DSEiAp!b{LfSXc9Dd5lxqRO_H!ILO-!$Wgx8IG64SfH zx7wI~*N2=bDESpM8}uU)s8j%UH*)@~xxlIZug9OFSNSJ-+`K7?(D^c~Xg!VeSD3bKDZ+zISQ)uieraA+Tmwp2;l9Q@Jt49(5+@kcOP z?jl=@{Dth6z@=_%aVY#^sAqq6D7^Y$C{lHB3n@Jm-mwRc6^aCe(^s8MaiOqqc2v$K z==xu5TTj%p7cJxj_S_!=TvCR&fnrZ6{7@+TEJJqfJ9%Dsy9&<_@3z_WY|p-I_T@`t zdL&7>>vdunS^RpqdhYrq+k})XVWe^{V=fG>-B0(Hhr*jLdH2wvQ235&ILkwkk!R&V zkWjd4PszZR(eU0+HC>1i-WuxbT?Vx9lQ#QEFVU$WFgV-wk0YtUP+vdchkCX`NyyGq zGCMMrP|rYis86&5MIVYLprI3x*+kPYVh)iobm|l}s@)-|6lW+-6Udt&(kryd*^cUI zJ!?*7bUmaIn2`m0mWRs53Z-|Rx$nav6h0>(=86>FrKqI#)^4YQyNpW~^)I~oop9H| zp4IPUbd|1MeelpB%j(Jv_02@NagFMu=42^la}ja+sEbrZwh-C6kL8X8g5b9&-1S0u@opr)CsH{sT=h<*YPZgG4=Urh zXmLdr?~YWx;FQaaQuU5gL=yd;Pe5y1sNYvbMo=$2YF$I%g}V+AbttmVh~8&npxBxX7vZe);4c35h?_I5+cQPS1m6Gb$Jsv$t|5om z=oMuhhtM&-sfrUiU_78D@Q81*mXt1P{Y*p41r1jmUdA;SSsC5g8K;jOHJZkJ8guB6o)hS2_Ho%?7%}JAqZR-G zL5iC}a6De|m&<5jE86t)qV%8Tcro0o^#45?e{-Dp`#9c<|1%t4N3KeL#1g^a41nI@ z_#8dHKFa?L>M`(m#n0e)(HW`qyQB29c1+KC^rPZO%(nRxIOCe?`9kxfZld7nO8+#5 zD>LRo_(xK#O5^++GkZpkm_rFsKDIL-VV^0Sg;6RdLl7B zB>PC~74+}1Pp0Lbxk#K$bmL+;tAJB0mXG2a7Vv2QP{;BABjC~g zL5zWjqwl#)(E0}je+KXqG>K+%I&T7Ql9TSW9j~?PWsFbvJ(|*?ZyQa}`VBFrf@THa zru0{P;NQgQ&tiTTvU?BU<3~i>>1c*O>5)EtE5^k4Pag0GJm9YaPWk;3^HXaqr=iIa z{09sdV>kSB7=9PSY0Rdl8E}(4n?2x9dBFF3z|VwXU`qcS5BMiN;Ef*e4iEUxJ>YM8 zz(=9$8LtkqK`%<5LBLJ&pX&i%<^jLP1O819_#VI~XycTyogmkUqXzU;YHg{hZCPHkyg{Z+;o`6F}P<_Y2z^TAEvzHwd}# z3Gj+W2wPX%(NKUMO(%Ntti zW8D$6Y-&K;KtEyEp;EmLdDkA1kJz>(bz$ma=N89EIQ622rUrCP(Fmum=Eim` z3_@p8QY>nHZC&H4l2Z6P8f)sCYCAe=I$(9mIt2w6C+MUfk=CYH~` zP$PSxn&lm>H7haJG&P928Lh4Yi3`8JySApbv!NS<8twPc19QeAoB18APty~GpB}Oh z$W~SGg#^Sy_*M8*@CE|nA^5rYQ}8YV;vx8X_*3vT@Y6$Z+O|{h{RG5A@Cy7XxLRN# z_Z`0sZ zri$-xUFj=Z@DCckp8o3^Tu(=xZBcTn6{F(_fXA(W`c8s^FM>zOGgX5x*5Gv>@MaCJ z*Q<67ezBI$Muw9^GAX{dX!umO75r8We}xABUk$FOL-RU%sC=)$pGs$|mi|f&u4clN z2Cbebd>vk@!6(2^58=~lj>4ZpKs*GWia!OXHcJn|^>qGCKqZ`3e-u9L_tHc7)9@D$ zu4e3nKU>3}2tPgU{zT1lsTzG+V8|a;?+89egRA)z!7tI^LG}~;lNwyjSO~82NYTZN zL-0%4PY(4t^bq_q;gdg=>?io;>?bG0eu6JyKRMK9=^^-1;gdf~W`fsf@GSPb^`rDg z`mDvD(!W{}COGj`@F4v35M1wX1rR^Pw+??wzqZ@#(8eGXhpk*3d^=$-Nqru0ppPY^Cr}XtzwgC;UuTJjP;Eq)`$`Bq(N3DHP zIH$A_e$s?C%Q_A`mDkA-GVj^PTn;fUhjh2^`x-l>gLYc zI;#+ttaMi@UwcDSZ6VB(POETvZD*}jSl7{E6}Gp^07Vqi6@(&Qn_p`4-e|mO zj$3H+mPweWyDlt`Ic}7bCW)G}V5aLxCBaFrgT^rbb;rA>!j5=@k!jCV3$LiJuW9J6 zZ)oeRLGi$hl%!M!cxgB6?h+N<4( zH?`K+HWdyvoi40zZEkL8LA`8g?QAGK|ANH@V*bP_HLR>z(O!$Gb>S85tzB)@e1`q} z0qsYvx$22kazOQ&G`78U&opQbCRq5#R)0nU5lB;U_ zbjtOjUvHqN`G=xYt{45y2KrzU^qUOyG-fHj%Jt%ZJJYK%jmmC(67)NnUf2Jplc0Zs z>Gkp_yGO~bTrc^bG4P*jpbr8@L-JAh)1N&Y_#=;xD$W%YXD>;XN`=5~HBY40XG#F+ zFB^X_+0xXbiQihui>;Ve`Spn*<-F=|)%dZhUu`cCrZO&X=MOB2ItY^wg#Z zrsk0f_azqS1O;H%O;5JIiT+@M^jCY(kKqcU+lVBBn?JQP6aR5cUqnRO4m8`u`aI-268( ze|NfTm_O0z56~UYolNh3M`IJyFLPi=`71D;KQPrFdUuu{s-N_b{M6UF<$s>}yZbNo zjZ3u;OKH&K&L^$6nfUMG1r}X@R2SU*M$)M;}nAQVL{40VIBgBZLe>GMSNTqub^QV01&l=``k`9EQ#!&s~ z1|9YBJY3jO8<^fLuL>)-L&{4B$N4a!RTlr;-{C$M!br|{GxW8d~m-yBo z({FM`DEU>ok0M^w9|d6dwxIN6Gd<;><{ye)>4oHRu@HpayePGc-3mZy{^h2pXm{PA z1gh1dkiHlOxI6ze_cPHCOrTUO>jjr^Zu;i7ML29gX9x;gi-N&mymyQy7ne_|r~qOx z@pp`FJ2RSzN+DIHb@qtqBS@CV@HdD*^8cFM$JzZ2T(ZL{?zi}RlKoGyyNli5vHN>= zpJtbA@ISEskL*6n?rylxvHy9ve`5a&a9?EqOK|_p{ylK_vi~n|_pyIJ+`qE_|KPri zzXKe81@5cte+};I?0*C9o9zD^+=J}@JKVSM_cn*$g?otoq=XFmLzomtb_@AO;wQj< zx`TNX`;}cp_Zp937@gf4%YM4=m-fW)U);T$&Hm%zp1^*(lNSH26WOIZVozrODRAk| zRs6S3#m{N%r+ZA#VE>2VeuVuWg&So5c(@bT|1r2{vY+mtoXGx9F5Sh3|CX}tW+Fi6 z7zsxAlvT2SHoND-ox}dQaI4r)dxht-KLmFk`{}NzPqKeLT)KM+|1H`>r1ucXUyYwn z;qM~+EyN%GTZ`CT4EJL8e;O|BG2*}VZ}_2mXvlvVew1yvgkekJ*06sWyR~rZ*k2EK zIr|&nu3-Naa96Uwk==iX`x*8(!EI)L3tT$GiT~nGhAY|M4!48-op8I@zY6YE?5DlY ztJ!}IyVt^1Hs)&huVeV<;I3i+TDYHQe-FFY!|i4N7vSE&{&jG}?EfO%2>Wk@+sFPd z!TmD(=^c~*VE=!@{R;cP3b&vAUxWK~_HTgu4fcPN-J9Uv%>Hk|{Wkl*19v0){|oMS z+5bIuzYq5o_WuCxf3trRyFY~cBliE8-CN=Qg#AB-`!n|6#_s=v`#l6 zXaAk--Uat=_TK~dUiRMycQgC9z`dXS18^T;|5kRl!QIaO2ibiH?hf|vg!>EjKg{kg z;XcCtU$Ofr+{f5I$nLMdC6`h|46t2_S0N|U}|na zdqWgH8txeO9|LzR`;Uc7`}KsA1($3l+BZ6ZVIP8fBKzq)^~v}<1%Klhb}HP{*nc|Q zGuZ!OxF2EvN7)U+9nby=?0yXHne0D{-HC8%Za^~Su$v1vkNx@V(mC!T_7}q~VSg#y zGW>}*gg-s|;@OMoJ>j+cX{^S(j63m0+)nj&9N7i{(u1M#x(Y+4?%=7*n~ zAKr%-hUbU>B5@v7q&Dh9v+tLvugnj>JwJS4e)ugjYAD>hn_lPL(Ypr@(cm>!0g3bz zBouxi6#k7T?Ey)9FiI;Rk$!^2p{2tv;5!-)^A(UtKSAQqW=q;}QCb0s^b;fwZBWwY zL}>*i(oc{$w8fIPB1$VDk$!^2p{^>rcFRqN)3 z2k%B<9J+_*ZHg|V>SjR}ODk`Rw~nb5sa>Lb z+C1)U=hbn$N(OfHP6ALQ8R?~X<2<(awtpNtw1xIJ?IzmSn@`xbCD1Q|eZ7MOb=?-% z*Ds+W8U2ndMz<4jrOEiJG4vLTwB67OA+?NDDfJv2nbkjV{Xpla9+AO}P^4GjDTLku zSA3r{Ss8R>d4At5l#P37O8#nAwmAGTKm2E*^96lPXLg5r_GLsPUKSDadLA^x`>Gsp zO_8jtHI%LBz!UOP_%fjs+IQ9pr(aO_^~p%iT69GbH`j^ORr_-5T~I4ksWPqZh72+$ zdavLSmufxjq^6}{E3vMeUV@ohtSHi$7Av7#bM*3d)eUEw&PEjOtrV5h4Gj@AA|q8T zGqqTO=Z(8%x9SV?%^2u?jj`e^__X^evt?QSBX+k~mR%f9w9 z>-ss^?ASXEKf*whT|M(*YuBMG1#_r9I)2X!Ke(Xxh0dvWi8an#SbtkX;la=YyGMp{ z$;q78cgD#1)Ba>G&zG=WviAZiczF}2mS@G+RWW#9qIk27(uSB7SuYQWHS;a{!Z|WUk@rv%TSPjlbwsjp=k2mk zB#z)I=-zw^r{s9)&EhoW~ku!?#=(IfLjN+59b}!+H-}cr} zN=0Nc!ct;%NFd=tAbg=z&?G3VlqWG|MCC~WU&xaLK8fzSYSyb#MCD1maHM_`!#^-o zVN&E!g-K0IwGM%sL_rGtBnmPrOJa(S%98|s5(OERCvio~ik<|%kS8(xHVjzaT^%Ba zD#)0wj_{KxOk$o?tF+}wtZ+p7LY^e>h4PZXPo`Dc`boTSl4_Mm-?K0e*vcb`ZFwb13Eql4LIMlVIM4$(47`5t&rZ2|o$u2Zmx!k;yO@_(?Dqr)QK!+1L9?m~eJO z?duo8zFu*JDrS}~Nc--P=c|NmYoGj}H&IkF8NvdFSt<~{SoOLDaRoo%auuejzI?e1 z>%l|RdtYB441JAH)ApF_%N4snGempLNmG6K<70CDgs-pU^rbH#rjz}ZpQi0`*!t>k zBf}Z9Byl=O-*OtBTTN>z}=9j1C&FfjRcAv^ZLzFmJ$VXFichbC+H%G~hnV!p5nHlpBEdB8hR5 zArKGiBFTF#m!?oT8rlbShNriohQh?Pmfq5Z`ufExS>lF7qNRIyv!21TXPXjrwK3U9j0?PXLn9pWiN` z6Q^YK*6)uOF%zfc^q1!LKwCP?m)_QVdP_%hjpP=MM7{Pp1|TBk4EONNHPTyqzI3UN zw!ZFs-O1%bzemAjn=6CgD*RUAw+ede(7j@o+}6T-+ozBfmEQ8X)OomeFU~Y=NekU` zGe$u=7ndA@MEdEyD1IkOdv)(y0vvN#RIEBj6Bd)sXi%(uM1x`pE*cawm}pQKz0si9 z_=^U`K5sPGM%%v8peX8Su#K|7LA-3{yj$buY`k#zpZJk4pNVyS##OJq4WXaCU(8CC zvN~nTlT)UA2KNf3me22|Ot~^;%EFW>U&pudQp@K(DO0XVnex1pDaWQv`S{pWHMAjR z%B3k&o|!V`U+|U1)M~`a+*ddiga z9op3L`H*H9Vnet6_16 zM;ub4q)%<6MtO0{lxL(&`Mj9lr_#r7N|kcol_{xb-}KbTDn5; zZ7=%mhs~pL+SPqmeD4_m3aW_sK7z+BHb8Q|Ti@3!J}F=?ne>Yw>;^hf>$#Okk&=&b zE0JU&+k+fCWfvpIViT_^rn6{5w_ce!vRX@H(a^i0OSKOe`*qFT-i*z_FVIvv4_|A( z*5ts6!Kf$p${7rpEo#LgD}zUdI(=l%KnTznd|Fp~a4jig$e47#Fl6h;hjeZ3T;UH`r! zly%(zhGcxWQB=ZLvySf#5lWwTB|Kdup@zYJ5&Wl&%1%b^anId`L;98@4uf?ZAe;dYFQ&hu#wa9_j4Hy)u)=K^<_5OV&y4$dz zeqY&G|4hvvrs3*HiGP?X&ih>aBW0?+&nwSiG8T?h<$0fr?>Aktb&gc!d7o?laMb-s zzt~ogHb`^}AR-snoG))Yf>Y0Xx7tUag=NFjes#9OIbu6z)7nuBKANJ9?moTLiLXE1 z;`8f|)*lY3H|Hr=7KJ9Q|-N7IoL?=dkgEIR$E^Wg~Ctqu|2m2Nufh0>NsC~xDutgY;uyS+sW69YNUN#K;7WAJ0?QB zae%{Z;{E~$#XBf#)X10!@h$_tmmU)#UVOl&KB~L3lIU+q^c={zexU0_QafD`%yZ?Q zgPEP9?jkMj3y9-X@~igLyfR#U}tkrN;WK8Q;Rcaws8Hj|UtS>MwuB;ab{+^|3?GuNo>W4~F6g8I}h;vDv z7%oCe4LYNFs3i4QUyvl_+6AKYbkK~Bq0&1*^*1V_(4rG0DPiqvX@dN~ur- z&8QnnKG_uArJ_SQNgXtFLCYrTPEv<*k~(PUf|iY0CJACHXdNVLC@E5h4qed2+Epn? zk_yHJqV#mo&;=uVC|g8I&jq6NbkNZ0$7XGBS|94Q{!Rn0L04lqheBYm zkz;wZUyjHv9qQHia5=x1Mkt4V4GR7K7&Wl3$SQo`n)!ODYt~Sx;~l7!T|HGpjT!H4 z0C680Qj%}g^3JKE?^UtewAe&7bLclV`TI{Ts)%KMb7}ga-g;C6I&7s63u`tDsIzm) z5JMF!B4YJbXRtqq*E%SUA>DyWg+eA=2_~p3_lgp z%kWb zGhoNQtG-CM_Y<#1rCM_b&C@c(>fzq=y&^ijBL2%O;!&@Nx4j~AUh|M@u~)?By&`_* z74eK$#L=&NFrVTTQSTM8-Ya6WSHxeuB2Ib3L#nx65m$OeeA_GHmtGMEy&}$f(?hC@ zydpm56>+Oq#P7T!j{2Ji^D?i9WnK||UJ>_rMf}+-;>3dc$eCorOjCTCaRwO-J$U6b?#l+s+;AWP}Mr)er(l% z8a6_GRX0Wbi*G`BW6Wh!iw8n|T^mD@s&)29?DRdyjH;Uj8IMHHBps}LwlM6{UdhMP z)*%<>dsw#mUT@-T-L)50)wu!LSM^Pm8R-6-2~=?0d}-aIZ)e9!qb2F6;F>gE@Pvw= zTJJrR-t%(s*}exI8M^NyQMTAyKXe4Dl+X4(s8ZB*9)YsOrPxP;Ep^RDAh$<|Em>Me zAh$=dmrBhN7`AcgvwaUN_#>obs?N#`j5X)H%(h`yDWC0oP^Ek&zXwV_!EZq7e3HIm z;+W<6-9=K%8%LUQ_@@ngKHK-8Pxh7UE4lCRjzIrfRSF})kr)d8 zWj0U5y3`S>QusdWktkc*JU9Xq%_B6eK0;;tuf;a!$W*D*e767m8K1A@_rQenm7JbR zjx4^J4wY!9IdPK2dAV2yeHs35>Rano8`aRtXJtH=Vq7=6_+&6ib}7|~E5%|}Vm#6i ztLC`rn3oiMGK{8J9n)rOzDj(RkOpGgm|sie_eTBRJ+_-aHORi{0>D%0$@ukkk_PWCRXb94F*4n>7xNB-i^dm@=F$$$X_qGH@4o^o z9m>_0jvH2nXrW29iS*VTvXbX$-u)tocg#iGcfE_GKK~@EX!K6A^r)rCi;&vx1YKEk z1^t}TKxBW(^Zi(+k$y2m$-z=vhnKC?xfDMF#}@V;#749CcRHM1t)qW-8y=29QN8)< z)9WTkTIo*}k={Wln4<%9Eo&!R&MM6`N!_%ZhAd;r-VrFerq z>OH)Dk_ha+xL*VlGf0V*(I6#pVh3L*BS*FSmzGWxoNc)Hx${^`)a_os z-Z`6+-)5<6Omw2=>rN=ksRq9{_D8Z0x)qS#<7|3M=Qs-6`vJ32Ttf$f&dxE}@zuV* z=qwtSQn&0P{X)?ZVeshFW(i)fXL+b>>{&Trl6C#VI1#>g06*T-W@n}xJ$^#dW}jZ4 zDEa!+=Z%R>$Nl=_*B{jzy1U$H{ZY#wwA`WX#_bYa>E;|%x|r3E82}=hK14+EL#%$h znst0HePvUvH&8gFh23KH^`1=$Mps8fFtODU62-VWLgIpvn9SNKyBIlo7bUGPUGE1^ zccMPNmUW%@4Ec(zPd|{hrTjjVG`;osYStwKX)7VFXBKM&V%g2Bi|Y6L!Wbp_J+(dC zNw=O_ROz&p&N;tMH{JQt(FVNV-B>nzyyS2F5d~NG&Ox9{h~d}$%VcQBf-fo!#HOY4nseoWf-4cpON|c(Yrfag_dM?us=ZuzboFi1y|{zX;;XlmzuUzbhgo3;T?Wty8^cmL(&DnvOc zwP&P}zI?fotM|UX-uL(@Vf z;`d7vkgYWR<#VSQr!2<7p)5ubDJ@3h+92DD0?oEXswVE*)xrdP~Q1IcGPP9*R?wS!<5&m znm>jK8^`aBjcRbLmij%4-=p|FO5%4#_%=Hh6x^p-EuFKl_a@2I`;_boQ@sgTt^D_*&BUSNFkaX8017C-VFtB$K~opnwt9rLM} zbF4mnRM)=#WS#QsPqa?(AgY>U+O?lSt*=O+{_edCr?+G&Crf!<%9L|crW}(p<>2U4 z^ZB)uDKAf%aze_KdvHoHwetLF%9NccQ%+Br(n^`~p`%jO(2XfmUX(KBxRfdXh#L`7 zs|nvvneyLLrYugG@=f~|%4B=6`%<*bw`N2W~quy`qF8;qD_HMBlu%8OH`JR@bw=dt{qTHm)RRmy!= zro?dH^wh}Yw}hQ(1V>@#~%U zE~{vavb!*@>-)O%b;k|K?@|07MH|7r&X)Q;iZH=^8^x#w-@Y^NpZnviKhFB&?4i3c z*~P4XhnW0k^!lyBZxw#4@LPpg-tbp>gc^Jc%D15Wm09=n%F!x#Db#f%sdJ(E$n++z zMOp-hCzX9CTEXz_CYHE8h*d=2SPNYt&t2 z_3jJYgHGTI#KQO;hkfl^HG?#+Ycy!76`M304Sdm3X`yLc*V0(DG_GrDs5NB+bN`lR{f94| zzXE?GcDmDew2$2?C^|EZ$SoS@>ujIMrq43qM;?pRjehky%TV*B=n+Vto{stY z`iq`K_3Mvp6Mp-N)(N)_;rAc5ITiN%55NEP$B$@V;g28w_(6T5KYm8rgg<^d_iKFn z!M7je0YrcPd1UQJ^$H}t^O)!trD>T$ti>k$4y3#PbB_+mo)odqWZ*&{duJqtv#kF# zxkjg{T*vxyd42~`+gY^hm#?pcPDhiz@V32mPa3wzbd?L8=%IAfmyj!6`!8Rvgxllc zC`W&n&fld&J%X7e21oyW)IAvFEWcHJP+JAh2h#CKq+jV$uXL(d{Zl&8zMQoQ)eNyv z>sPweD_wf)PBjS{&+N5GcU?$!S?2J(1Cic}^QHTsHVMCE{gU-3JN_ki{^g2Ji_o_M z$VT$7e)RY(k$-_qLQAr~Z5*9u_&ti>qxcu1`m=4Z_~2H9~ePp8@CuiyFWcmDdF+wAgN zh2JXtR*^QXLR=U8TGn;+3YWDaYtc?+&9BHRdSKPjp$I;uiz|Ugu_wegOon@lVe$c2 zxS{Y<;>dT*G07v=*hRL4Oe?Z-J_vbA=Gv<-o`P$y*5Jo~ZTQH(Htg%)*S~-5kALk? z^okSz+8_VgAOG4PxAp7TpbGid-q>fr{A=?trSQiOfBaA_!XH2V@zWna{qfVe)8g9? zwExPx(7ye&E2;{A{lT}NeETulIr#R|ducz(O_8KDHix2ysW;=RYE*nlY0a0;K0N2^F7;O=eck!G?0>&~?#;#e?= z^b3sG3LglCe;o=x912(M4uu!*2}P<7hWZx6|D+OS z{V%o&nuQ=*38D?|H?pcW(eS;a>Q*s|N2)d`%4t=%X5Bn+{XpmCk*Zrm^@B(padyI? zNcHGY1pO-ncr+AQupyN3N+|qL&r2Dh-Zwi>6PSMsMY;fgHx!u?>e-VK$~Yh>9y>Ic zQMIY3>eh^XU+P)C$?94t(vDP)3%N|N@K(N;FJgrsir&IE*>AaA9_bu!Cjj%)ZehojNp0_eOv+z42>-rx6aqkEMD%&Ysb(<9X z5@@1oAQV}Ao33#Jk>tkAXCXvfklv11j#B`JbJAH2rhdsdsnOG;i|iA0VCu` zh6b|9i7dVgx<51+SHKtsZ~a4KAViL>2Qfqs3L*?`q!PKID*AQS%q|7Q@SgxkqV#NE ziI*5fYngrV?8UPe(YuVh#UZcF;|`LLcVxo}_m8FDzR~!dAMUl_=xu6O3Cc}eDjBi* zsx#Oh&JOkU-Ugw!Ohu_H>E`#{GWhnPL-%F^rfjeI;Xey;7W6fp*&XWHml2J4Swzh1 zdC&~+t8%~<6I^LYOu)aI9IXZS^?n?}Yj`5q*E{$Yp*tH{U%#O4>ywcpFVyf=y<)0p z(3v#zmL&yIq(s%-=_u9u15`w5sIK)Zsk2Bc!KzV#R%E?Au!X9yRv8F>4?xxy`mrM- z*`c1T%R-S8RHa7Dp~oppHa@bL6h1b!62Kqykdxra$Qi{?OwK5NVscjho%M;SOEg>1 z58%nj8O2Xb&M1E3a!Pp|1@BqDgC6-Jcry8l;>YF-L;eY>x`|2^MUKssK;|@L4Me9$ zHTfROP)v13WHMq_6F#NxT(zZ&J0M6X_qF3WRtmXU_hSwti_ zI`>lvq?bh1BGU<5FzB18Weet21VgSgM%bTG$^XK9sHKCj@NG6js6URh|sicohM;7&>f0oV#-w^ z=F!g{8r=6R5FD~cdc|DDFqw8)^kK}cdxbtcXT$eWhl<1Ekp;W7mtX$#D9l^e;b&g> z!Fk~)7xcc+IrT1K2IOMiwKWtT3_Y-WWGI)M%z1rhjGRC1PiEm?njd~`@1-D}7v3HU z|Az9a>2%*wHh751#DegP^TN;UeI9+Sjh=EUHy@T%E{Q&CDaQLqo9{s*K!(gtd*rP7#tzE~a9*-Nc2G(1@1|Bq*YPANI)thM0)}9FU zCDk{~5C6&4JZPp(6aR+2{D-W=i`kq+l$S}!elWc6b$FzfmVN(J$UuaBV( z8Ye&Mj(CYHrpt;5S)v_Q&t_VNIn?*u?~ z%Gcg2MeB-L(UZ$}Yq!%{-DR^cpS@)EQeMZSRr2-hrxoxJ06RnBt^ur;-=(kG;cl`} zgjQUwP=Jz?OPWB#k|tG9xz?#g$<@w^ZK7Fpju91X?<=Tnb~0iWNvw>JcX2ds-DQ$+l2)XvZ>EDh|s?i*I{1>+(T-1!t@Fm7fO` z*?=ffccS_?b6(B*w+GymyVdd(C9_NHsPw^&E}bGC9}_C7x-IJ~;Gn%4+$pLEy4UTY z*tO&Ve1r)1;)PzN7Jo;jaQZ9Ygm=!x2Z!KU*ISNXy<&PTC-3OJ9GKL*VG%h^OasQ2maQ?{(4i16Qd!T2GuFud=D`*UDZ$kr0x#w*dPr|s=VdZF+iRbPZ;*T6~^ z$trb3*QPt&Ytv3vQGz(|zVkfRta}F`j`tD=B9mI;Abe6*qDv5j4_zg?9#j3=5W-Sq zGQtXcAuI$yh2aT@=X#957s4iiPpAnhBPtIGm5e+|;0t*u6A7j-^pgaB5``%ng48-} z$op49D%EJBmPzkzs3Tf?31J>4AP=clVngg1qdVnG{wXPoBQO2bcpEUfj0@=z2_sSIZ`*vB)Y1ZD(7}SB~v@7XIlu@D}@u=Kj|!>+6hW)8F^DEt!3nu zjI@-opGKN=Z7KcK`KG6EYK*s~v)jAu2UYM0^f10?G@Qot^*k7;g6SP(tHr(BMet+{ zmMDH=1AY`g!2$erX;DK$e>-0_FCu*Nt8URc`MFijDLO zq=*bi1QP|xd8-tWFV5vzaPcedmXu)e5R^y!aDn0jngy!QePwF82U4IvQrHnM)+ zFT19J@q@hs*z1yARgX||#@;Vun`iyr4`b)SE|E67M3&nnLcX(mDJHA$44n2*CC?2g zrbGzeTq4GpNUsqbw?uB?64?!9YiMdnso1zoY0y4M0;G`<&LP5l(Cq>N^qdqx6a1P|=Au zIR3DkwjSL^NN48yeRF#RyNrG7*6*vhKO6jcN`Of!n+$A0$ah}o{Fn0C)&*NO)5Yc{ zI+3iO4}`_`r8r-PEXetdv_5;@&gdE?BK8Hu;EQ~t3_P!#%#Hkn6p5-Pa%`8A2zi#%TpY)8 z9;WB~Mn0H$hT3S-D45H$FPXran%9%@04n_p7e+o2hbnZEu-KY5TnJ zZ`EvKet6&BJJD;|2k`Xvx%XQ##)W@_Cw{XYqxS^bK{}m*t3TOWFiiTtLN#_yQsDoS zVbV7blfGb>^ncaQ=cbbXVbV7blfGb>^nXQ%JB;$j0nWWw4?l@1B8ljEYXq%O3cbQ> zd-tQGA6|awymixINoC?;No6;5VdqG(+_}){T@H@shDm%8=}b-(OfU&>Xeas#KDvl~ABLud zrYMlD2QsN4C1)wk5ARmBK$?APx6^S-`?xRPivc#c7lW?B@UUTF3{ZWt%{Y-5mNvdh zH(iX_ci?`kogWfFJ;iX>>piPqx4H_GNqXNWy|E)zuSaFDr&3YFS(`&WC8WVU9!j9_ z>UY9j2YXgymQuQQH7cQHb>)WoW>U_iZg{xfEArp^g%A+r0?wyZthM~;_lBWjCA zmHd3+wTjwXTRV%IyV`2oI~v-%i=4h6b+yc~@Pqv7@7_A=uu~*4p0LQCL`LU0Xcq+Tzu#^K4fSdc_fXaq()a zc)?|pN|sz!TvW2)vf>3x7A&!@J?C0H)62`P;u*yy=akHxUc$Z^wr`g0E3kd}wlB~2 z71_Rtwr_@(45f2z@SI?AaC&fR^Xh_Yr%nnMK(1mLSg;zg^zWQtX>j$V;MD1G@}@Qi z0f%ts6i+Ii4i~wYQCv`5P|$F7Lr$)(ug2!Krp9`xb$P>zMyR*3wI$fP0-6?K6wIpH z_Qu+}rUs$K+Wflw`uycqtyO2$Tgx@QH`jKyH+Bc>Yn$r3nrbN-K`>z@inw(`eshV{ zT$0ZrYgH`+R@K5^AR-HdKM#Jyl8mLf7Rf8cZ7#X2WC@bEtYlK@q_QQzA>R^9B~)vv zWGF={Epo1fbM2&()gZ)wN*h8nms-uG#IvM0Px$jniml1;=G9qs`i7Q-&B=va0zNVqQwF4z3Qjq~I841wR zQ5beY3_wa!g(4mDYN=3AOGC!mDTttwOU6w>a8>Qc^H$YarO=V^tg1!u=fCNEQ4p4HX_gYaNt3PgCTT2xI9wIMZGP9(# zO!Nh+AE<9d#cqhLkoC1QXO`qQTIAN(!WqxO@hVu4stqVA0O1H{MoFwFPzT%ORlh6PW!4Iig|^Z{ll1qkc$K3vHG*LQ--_;)0R_ z^3*~r1v%(GNCZHUF8OjwNke%#6$Mi$R8U-4Iu)W97fzXi=%uBU!~Ds@S3fgHCLZm( zNtz2u&#gzK=>1uq+pP7T8wE~ zETUX6lmYN35RVDDR&#APXoJomAyniN6c`nsNw;%2l45Yf0=DRGa*=#@wQu zio9u!xpqhGfEK9k+X2lpLW>j>4Fyd|atRg{1uLwIq9PfzCKnY|AZkKUk(5&8rXrW( zCs<|qRz)6ubMS{~sw(j1T2#fUexhdtNNS+IwL^Mx5J72)-(0H=m8ur1%_(T6U;I$L zgvyb~s0dyL;Y;!_t5{-{&<`Omq4Dvu%gUB4v4?P!sxXkcTI!?Y?v-7wsK_-kZh|%8 z@(B*e7+jsvb}F1Ys-A4ADE?bA#i@ zj~D!+iP?k_o9GB@f~~K%){f2Zp6IGEKorypz63=z5WfNk^{}7<;nIBcw*|8LS!EKdtN>J{`T6Bm0i|As z9<-otY3b53{8reqG4{YP0E3}o;yWCq<>Nn zEooA)9H!_rz(H$**UqHAsTgV1&8*E=eoCD>xgzqEO+sGFly?#hZv?d?qmXFkC`XlHOM&_z|{1%AcJpQc%gs@<7z^2KCMTo{$QdlZ2 zPN{3rL<^*WSuX;R7M7^AWiAu#vjokPIMi8W){^Dbx&mneKs^G73MjOSYz$%pivv#G zWx|XSrY>1Su#;ivmI$|$Y$0F(L{T=*Oc=BhOZo^8K9LaYqQWxrmXL`gy@(ZF2n556 zM7XS07+G*cs7~gp6uCm2sFgAvHaReeP67pXNxsyDD1WIUhLkQrMJ$KDrG1CrJcOZN zJDd-@-4RbFxQx%Kt?MAOCciXy)=a8jQ>cs;G@Qi0*u3(B$@zdUtt$dt_<^5SMwof^VpPgShzz7$J50G} zP)b50MUj%O{HfoQfGUpk4YcwcvGh}P!L;0{m) zXF9{PTtQd#OjmfkE1VArOBAaD5uiRAl|b0*(w{qXX0hG*G_ELUK&D~owJaC2>Dne* zewdCi;+$X!X7EDQb-9?W=hV%pC)Wurp`sA+=!TR}3_8Ac{gb{Sq5O=IAWJU6kQ;S%fw#Yv_3DpcTE46!lky zWi6O4>V`_sgm24D%N-@qh612&14640Hb_s?$`K)vv?8@38m$d;5-Uw8Qr1F=9hPNM z4-p^$$2vp0#>60|&{!2Qxy2X?gF&LIT&sZq*Z2e zRPR)pCq@+%A36`}Y2>5us7e`e^^|5s`#G70ss%Qsto9;(EzUqERjq^*WK5-EG$Lnu zdUxxJano2<$*f}PnrD^Luj(E_CE;bI@J=a*Dm?H|G(^vMxlufksv|w(5SyM0kBT~q zC(;v=B_N-~bEU^QQ+%bglc|w%4(&X14n-X2%8tYAl-1-;ezIDbXAKS|r$m`jPTHNq z)e8y7%O9(R>7WwvD1ijErf1F;W!QtC$U=;qT0uJK6hG1FpCgA!S5@ICrQ_O}u~=9y zlLMr&J<^g_v>EHEgN{-^r%pO$)61t%222cTZlFM%JUxnPBRYVrKeCyNu>u*KfmOKD z$zV#0eJC2(%(SS;Xu`Ix^~Mr*x*lIZO%)SXWpH=Y()w($;mWS)We53@zSQ&D@uxUFheONZ)pxq;Ke!{)=6ldo>RKCgcf#r z!rq)W#r76Oy_h2?gaR1vw1!k#SYDD_gqfmza+k;S=KXccC1PD4JB@^T6)=og4sCj$b0F|C8DbEf2hv?!;b z0es-WOdVK~784)9@}~f`9EpQ2XEH$WVMc@`DJd+^6;9EGTqcmo2Mj}U|eqMYPSV+1(Juy`n^ISmC+BDDS5$FW*yih9f=`C66p(Zg(C0+4M6+I5amxMTagbDfP}4({G4f^6Vj2` zWtajAl}^o{0=^Ihf))#f0gc4WCs{~(!L_IXG9yHqnVg#kC1AOeWRf`&87oqG0T)3? zaRn8a73a$MhP-mpnaqmh!o@7L%XyM{M|Oz5s5~D9LwQ!31z!MA#k6T`UJhzGX1Ne6 zZ|YL27v=d=@}{C}z`LY0+LY_t8{0aAD;jD$yV~XQHqE-mAgwW2_#Z=y2xFo~yXGw^ zo(_zeC1dJlmX4{PSvE$@YOOLNEgfTxiT+ZI%}_4*V~b>YLpx2bio3D-+D&b`)GDrn zzYdc&c%)ByOT>fK1&Ty3M$tn)+}?mkTdhMp5;1Oi+;hfHuhoTc=`HE$7f8 zW0cK?71koGs|DL?J817b#|okwgX(E}qa#~=J+Xl!Wb*m(q)ZmqB|pYG_Czu0M`Kq)rd zEZVHArxFMTFX(EnYrwMK3QZY7d-obA0cEwqfFC=<{wjwV{gWh2r%Tt8z( zMdQjuOMK$g1{WnZ&}cjl);FOdV!K6DM-t9d`J_ai=S1c$YW++@OW{hZxuy+XORnNh zpI)<|hBiZ+TI*{XTX3|bQ>L@3vAwek$3s@NqGI9L$@J-S>#kVXi1Q?~moJ|_y$YJo z5#YAYc5I(D)zJRn#7VR+Lk&j*=1qdSJJtBA^tNcCOjSr#-Pt~4(X8kuU|voxCv+Jd zR|zf(&Xm~mE~Wxsf<)+G5T4Je^rU;>91d4XcQm`%?2cpi40eO;p2==GyR+Dx%kDgO zFOcq@wYif$zOonRQ3=(;OaTx3E&Cuk_YdNeNY2qbp_pA3W!! z&VQTV^zNw2zaG1#_!~bOA>u7-H`AALc(#Jiw#2jh0qG8$%kI__e|r9N*PLioUMoD; z-!I|IDy2J7x@-PTx|Qr&c^qcEflC-~m2`KvO4q7p_mk3HFY{sT|DFtQtGn;t{k@y2AHMml`$v3!+BNUIdrIZC-}%wGnHl2--gy1^ zgWDc^>i*u=Q01@Qvs%DQd1qa3HIgtz}QMHSY-9ZvPc_I|)ECBWKRU$`}423LC@A%5m zEI4UIpy7uIvPmc)lO6yXjXwvjglAit76fK?rreORBZC{-01Pc=m|?lItN8M zGn#RdG8Xr4O6i_s@Z&z~$cGdAsce4Bu$ZT@&`(50==x4RUWtno*KU<>=bixIp~qE;Q!(zsjV`0(qmuR^ zK{Q4Cvo=(fE}@(tVI?({mV6&um0!<(c~X_y31u;|812P=_1V^erWLAW)gjggxd$TE z)f5a12cbnWv`FVF(wApmqbf$Vl(i_H6cDUu;1VHR&(=%g2*_L<#U{mECIur0V&ZmF z5_&nrOiT*5__lT&tT@;7)h?N>Jg?4&bU5a5q&sez|_jSn}Hy!Y#8Z6Z^}3DEIKdl}kW!*_>ibA^ z^Qo#r(H1|vI%Lq$B@kL385Wlu4_iY}*)f;yJnH|AvK|@*6(HCj4yHB(p9}(DelJ(k%z}HW*evuh?_9W{snSn=7vIa&5zIL+p+{i%h z$=02Lz^_iWb_D|WooxN|sKE87SdSeQcowqbl}xftj(hX&z)j@ z<>)qo5&!1*JkrnvS>DC)rfp45{ z{W3f7-09Z-?7-mZ*4E<#8_ux)bbR23GpxH$2t0O%_4^Y7Th6d<`%vHuAGUt|p}-qw zSm6`DceK#Nw==3vwMYpE##-Ob2s|^^`enxH*B@&=G6D+PGvb2(I@WqPGq5(>dNVWd z&au|lMh5mAYwaFMkQ)PmyN|PO4FqmE&iZ?RAh#S9c=I^x!J`7tA7}mND1vMm6}TU84_-0>*^_>yl$oK->M>6lueD%f*>l>r)$owPR=f~Wg`7qp{ z9d~!;&*8pveB*cF{QZQ+FTr{9Lyd1mGOX85oc|J>H%td}PRUhA~(EfAnT7X%*Yvc6mx_(_-bbfEy< zP!xE(%lcVS;Llyw+eHHO-^GDDR#}e~2mWi7byJB#@m!aJO~S6q(kPz*F7U%Tof| zx~(l!1?btSfyW{7H!A}FakaI*BJhuH>wl&NetEU^%(TFrS6e@r9@v8D$EOE+ud&{m z9(V;vXA97Qvjg{EV{Mob`0+K?3o`_0{mj7Mud(i$8F=v;>-t#&bla@J|6XhDnicrY zwbu8~5um|y0)M^MI(Satch_3mD`i@hf&c!jwPAMPE1$Jqm@U&fH}KqNt-H<*{OYsT z^>buea{@Q5wsy@4+_2jE{#=>X+`w;FTLST5U{)!5QHE_R0KpsngkIA zAtDe|6oja#U@r(r3yQBI1O(#?-^`vp?cTeg{M++A-*+C!+4I}kIa_9DX4|>=*W<9T zKc09TuJ*?_r#WDKJibJ?l6XO|G6B!hQ&9qbOSeS>1h{(uzB1hbX9nOibSoGrz+(gP zC_UvR;wNa6f@F2jf<{9ULsce+J|9nGRSx1piIo??VK*Y$z5I_`y)jr`x!cxMr3Ec8y2|PF!-=y2JGy(2Q!)x^Pdm5gl+xBz;o=nFbbEteCe1&e`cm(*w zIJ`hl8^+;Lx?LJ4z}4gN^`{*0@pycJZi^=f@Pi3>lAeB@fCuUJT?W2LGXKQAIGb(< z?iD0k<~uYa_DZ>EQr*)XxVaa+>cHi_;2g&+55RN1U~d2(?gew51ibCU&As8M6PNdf zb%6wY5s2q{!{32;xHr6y1pFIua|}FR4wuKk;c^7zmB({2u(>=Qj)A|}X0EA#n_cip z1zhfeXDbr$Zbdxjg3}f8unS&iHU51i+}wxl+44S6RGEO1%6P61EU$ux`@o4R1Uy|8 zH}{3NtK#y$aJ4D{8>->CzVJmgJlq#vs7}C#)p2ty{JT0XkA=5`2sjah=VD=Q4LlqR zmue8Ox+ZRpgO6+C@;F#ji-6s=@LU|6sfCB*U<><2M{48delV*JF7F2i>k#ly9X!_$ z*4D+t{owby1T3qEoBP8D^>BHAm{*^G?e+0oe>hej5BG-+4G8$A0d9_ms||2@JQOt~ zprj$5i-+Zn@NhiLZcM<|#<)2Fer$}(6JTEx0?s$Va|y7lDIQLMCz}!QW;5J80KRXA z%Ll-`5L`SEwuj)k0dOn?4-bHSp|k?Ira5jI2%j{^6$4>g3rcgm1)d)WPqoA&1L0yz z0#>!cEs5|^D_oHX1-B7!>^3}~2zjmXNFrQlO#oSeErVcx8(c96wzMVSNLxHV2xhgz zBZJ`2b_BfC9=9aHhwX7i5^UyU=Z8Ds`6QUx5sxIn9~}vJu@i1dhCQ8dMKWv%BjB4b zJf93#!|+HloC+u4nF!pH0y`pbMGCBqB;a5qo=<_xk$5BpPIM;V=`OfsFudIbR}6;L zT?zQCE1n+=m%8GS!SHi80_I2ImLc#~6s{NoE4veLpgW!)0wvw?$PhT%gMhiW$n_6jt0pz{hvs`Jr(B4m>gxe!7!@Id|cfVesZ%xMCPAzng%fyYc)mICnQ583sT0 zBw%(lZW#`nqH)D=xDtJ;9y`O=UR>{VyyWEGl8NVfz)}ak&fje) zj+J%sY?$M8U7Q*2*jNu=3U{2Zhugv(B$JVs;i(A6>c)6A!f~cCE{Sx!(F8X~I!c=0N0E-5P4Rf7V_GvTjdbj5hKo8o z<^|*HogH5UKYh2sS@mp(rr<-F-8~mo5 z<8mAPqnqR1wwM>?nAr|jML9lhhdZMj3)|zDQI2og<8M)pmpYuN{A72?yPevNhvIyZ zb3VJg=A2LK!+z->E_Tk}?!(Ucx<2fj|K5k4^Pl>#bN)(ScFq^|W#^o<2s!7UkcvTk zE|#71Ct_iBIV_H4m-ORUI9(2R#6nSdd^Qe#A@?*6-m8Eg#lf)(xIGTGRm5ri;M`CZKlrdR{?rd%tb(ufhh0^0QGa;0D(j1_Rq>PlFsB+m7ti|a ziFlY+9Y2nTRn>7vJp5H1rzgNt(qi%Odk}6<01|}!1UOX#|44vYHStIS9IlD$2Ec!6 z;`0OG%Ubx;04S-22L`~$wQ9+=e?58ea$UGcqp z;6Gh)wi{M-!%O!-NjH4g4bMm6>uxw3g%{m0uRES}!}0F8aSY7pfiI4M?|a~hG3?cT zF$NCaj>}Tv&)acMD(t@l52eDHJ8*X@yn83+jfJCk;$Nxo)?N7CSor2Hd}AzZyc;i# zg-`FsQ)6LGPkcR%ec9z{uq+x+ra@seewhZ(^uia@VM{N3Djo8A;}_}hYHxf$9j^7p zIUZOUgO}6cQVj0)z!Dd3^1$b=CBdRE?sY^rqR;V=cTpW)b6{R|C}AICC3zRsp(p^0 zs>3tvW4uG&MG%~FVqOqzVjts2>W@J%1Fe4;kIS`|O94PRHqjkV!FRdH!;I92UM`Vb5$l|2E`jp@g>9Jr@G zY;@qJ`f!O0vN`}~G=Pr-@Q?bihzqjYiF+Er87FRP09&{qM*?w1Lzsp5M*}#>1^EYY zPeWK+4mUM~-?<>m%Hs?gb(hCK8p1p-$o2}jrx9zFO^sj!J4@eG#2Jm@Dyf!6P{hts zNhRFV7?xMYO^x9+J4?@2!5K|pXBGUTG0bG&XmeHE(*(Y&ikq6i>S_dhRt;w~g-g}& zk0!92ou%KZx zTA~R9swJ+r&6V*0)ly~LPPN27=4VxK9@SD6yiB#k_4r#=JV3Qn4YyM*aXmg&9p_Ok zRmaOzOI(lZgYW>=5@~0uC9bx8HEfrVec$R(4ckAN3P$08@IRyTyN5Go;cpwx$sgK)3;rRx#GQV|1 zQ`94PEeO^*@N5t)3c&Yj(9iqeYc*h_6R*{PZ=86x2CU>7JP?TQ)r68je61$D%Qg5b za`$+)9GRZT5yT0bae&1Rtr9^fM;vLBCf&R74f~=aHb-@RvWgkBp#`R z*J{J8%6PUm9ONqfr!u}*2i8`>*XqFUT&2sZ;?=(<+ZZSAIN39GJwnW=|C>qj)7dZ`H5V%D+6I~Aby$% zzX!4vBg?Z9(N4lZZ$s%wpG9@gJ5k%{4@zZtB5<2U{@uapA4rf z;gux#sxp2`PHSb{kqp08!TBk$xGG*rhMCpy(-e548tzDe<<)WiVAxk3ucSah5Zfy1 zIXec!ff_h}2#+wXkoBsGpALZqwQ$D}_?}z)e68mlXYPeJ>frpL+)J(ufz@>dbfg~c z9}2VT4u`LrGD3daFT-JdGyHluoNva+ieOwb0`>*t(<5ME2qU{f@TU=Q zG6X*w0dIsd@cGgE4!Ft<3p?U`H~i3%ky)Ma zM>o9D3HQ6SOnY0yhyw_2EK@7 z&(dVF8H5R*xLnvNreSn8QIwt-yRFcyW$$Mo81`st{eV27N$kv zPh;WZC`K+t;cIEIqB|~0gEQS3S=0khrNOQqcqk2K-Ok9C+wtXe_~CY(n+|L5VC3K( z_j;EXmnHhs`jfagfxN1CHh+*Vq7ydDx zeu)o%91jcnFtW1`zB&Pp_rd2Uz^i>3`MNKjm;nFji=R(`z4S3?YSUPJDFc?q;hYRO z8pp`oe)w$$Z0(18GT>Uj`7HKZ<8i^g@MApwodNj?O!Q>}et0jGCg7X*!iNJGDHwQ& zyackchblz32Uz65qCv3Bfd$l;**a_qz`P{*AplFL`?7U7=)|HVxa`D&B=~@J8+HG@ zWLS(?k_5+Cx6LbuMafW54hyJHvz6UY9`jPzMwBG;%sLJIDqv9x+lYb`*vYz$Ohn#b zSWpQ|Qs6t*ZDb;f2E)e6SU>|&)@@`W@`k|2Rj_0*EMn_GCZcEvoT-WhLtqQ*HZl=; z)T66o$q+cmx{XXk(NI_$gat#{gC})Z1M`OQ9DB)7n8((EOhnNzI93x2hQS8b7i1#x zhQrlb?4%a4bs!T_L|$thEEo=_*~*fM$QuDW>te}pn90^*b3H5?0pHcbf)TKqrzAeB zk9i~EQhh8L0lRrh;Kr=WK%2}4fC2|!D#q~=O~^CX2*3yFqVvll3)T>hG5Y>P!xg% z_rSBE1iTxHd2ToziY4UcHYeb4b1ZVh%obSShR<3M@OKN$8w0CbVu>4mYe~S;R#-HK zefoki@D$HkY`YEfQsKyLSTY9IwxDZ|Fp(}RM^*sfb(tGwOvMTeJY%6OTfZ* zSTq*4x5I+5@I-q8-e`|`X+XoqlCiL|0|5s*U{M;Bbijf%*x8YQ(;YD{9Ts%Lk~H|I z6Bebzx-cwAhku7r#|0=(TF zOUA=hp5fTg1B)i`ly$)bc!5W`AKs368SwAhv19@i@C?VXJFqAN^6tcf4EUU9I7-RO zzZcfrg(VsA>szv6Z7ta?|Wj&y|9vP?15-3x(`aCvEV)^ z>_tFvFU-q?r+Z_`eeg|h0-lJ$qD$AWBF9#23~JmyV;bMaV`4LcJEIGun+lVHIBESLn}4Ip6VK+L-zHV(v+NpN8x z0WT+F(fzPL5ex2zX9k_n1|dtTaxv#Quy6`&b71}ySR23#7M}(1g2gT;7EXoJPRySQ zUj<_6RCYCsr^0WDg%7~ua+v=B%q)+k55ODcvG@U29)%CWz6zNCATP+3J_tuDV)27; zpb{271eYpd{zGt*h8YjRf+|@25d2dG3m=AcRWbiz_9IIlhIgxB@x!pOIu`zmeV_b) z!AjN)2ZFHlUr-W+#s7kL*^&IU1{OX7&(`E61sdhkv}!FZeT3KHiXVZ$Syim7jfIcG zXSFf^QCP~FVQ(E?H2AF!7C#Ex*pWP57YiSQr|Mz;WAGKLifQ$+^f6dpAB!J@^Q8-6~%O0$r|E7Fc#AEKWU46y1g4h(61p_N@3C$ z#dJH&Y9p^X7Shx|X^ecj{l$u7O$#ig@Fy*>m~PLrrg*=lSQ7Y!rj}^-e`_m(j<&*5 z3eUa`i|KZV)yIEs!$O+!f2B3%)9nvdATPGTQVQ>BgT-{CB`_*!>K4LX;u{{>jto}c+moFLdb1N2(v1H1 zoiLwnYgmEMLRcw<{|dumx{)HGNptc>Xg2@(2+XJ3QPwJRBe9giTO+ZUZvSDu@@i)+ zq?!CfoiU$oFS2IY-vvu4{6`lorrQqIEvLF-Ahd|xC;vxP)Y8>e7eo$xzxAs#!?C&y&H?^_A2X|uX|$Q(^L{#6{FjJ?uHkl zv6R9u_QGPionn3SOm8e)NG0iw`E;AX3T9IbmQwiJ7%ZmSDi=YYy0GvWDv1m8>GmFL zowKw=M&alBVlmx*V!bmb77L%HlEh*@-AY;W3q#x$f z?d|>qo#>CH6rLN8#dQ0c_0RMKEL=n-Nx*!%U0@CL@&GKQ@csck?aNexuBBor zh4aT^G2Q+gOVCScSoji^Bn|WF_H;Tyh3QyI;S=dtOt;rP1by$p!WC4KahOlHPsS1S z*ElSt@XO<|m~Ov}C+PVJSokuPWCG^XZFUAhTQjhf!artUG2LFdm!L!UV&O_E$-S6Q zw>|d}^v8WzO5r7$SWLH{GYOiXg@voABw3hGw`*Ahy*3d`Dg5O`ET-E_*#v!*jfJbJ zB-xlxx57yT6;Hxa3O{{67Srw79D?4>!NN7P%$S4ue49+rv$^AUK1-#H2R4wQzq2I9?04c7ToS>wZ@oXLp2Yb?`z5_?Ru)r8>C3Bdn;4TRXxTwrGp$;p|SZ zi}qb~=!%ntkr<>va2v`tI%O~(1 zTe6uUI6D$HhTw$=xWsmBbtvwSgpWgUYa}dUleN1!&h89nXa+kHwzMGNNDJKG8D_P_ zt)1au%Qe-71gw*jIB!*B30PH)CE#K;mVlpWcZ?I?s?HM~tE%%v$HnSA()qbMPjtK$ z#1kE>f_S3iVh~Ss{2T;l%F}BWRlv7uz^)3oss_yB*4|PPFV=t`D&o&IU@f=y!Akg6 zO}JbMSJi|MxV3+;j2COd;wt!aO*qD_J+CUhRSOEL;;LG-*m{Bx>m=wlF$ucboCLj8 zpC>_&o0Fj1#3blya}xAY1D*suZcc)36O*8;%}LNp4S5ojHYVwlpxeYG=xTEk^im_9 z1U+s}f^HL&psUSE&`XVZ67;w^3A#;8g040vK`%AoNzmg>;AC~&))W>5;p(RFElcZ+ z8hEKGyjBB`H-+;ott)Ecwq~%eCa!J<^I2MV)WS>6;OAO+ycw)#Y5l4;ZVQHgYUAo) z*u&ELM;*Kr3`^?b@nHCwrIq#vZ3}_7>f!1TxK@wn?WiVS9PGI38AkxEt`|7oq?M}= zoOlM|kh9^p2(tpiDf~8f^z(tON)dKpjRobjIq*wZpZXB@a3=&j>UflyS*~j@E(&nW z3K)l{LL5&x25e~PJn6v2AZHkJLTEPmL{sNXnhR~}q`prGb^bNYoQr8Pw3+j8T}JZi;jw1U_4V+h zX3pR1wISro1}iI&yoR0+eEBwbo;|+T`43gAUO(4fTp8$?6F7|q06lqfVaoud3Fs%I z@e9Ye714Mw08b>~FSIdiUji-;-0s|zfM1ozGtqduJW}{_dAu5pw1a`dZ&bjgy>Pb( ze^CM7=!NqtGQPbc9_@vPDq>MDq{Tl%Xg|Ztz43e{r1g?RG*O>`|EY{edn5I+qTYD1 z3L~qk;>$6(vnuAr;0x6l`LG%ujX|14D2l;t)fqWn9cgx^v^wUw@JpJkPoUXeJnF)w zHL%EqG|NoLvYPmEAKY3K^ZMYNT8z9^3y=1}&uU>&A6#3Tk%P7I<-Yh!ZKSP4G!;q6 z{yK{sOB3*qy7`W)@%Roc{Po3e>SGbbH$XyuXn?C@@j?Tf8;kEZ#Lr^!nMUtA_QvC- z#<(dCpKgLQ^>elf60)QzUW~)dP4Nif%@`?chK2p`t7f>iAHEVCPROsp_-jAh7}7C6 z9%qL(To{i#Lh-5oNDe=RFNU_c(jRv;$5s9D+vW`^Jg)_A?~fZ=aQJ8o{JcLt)pAvB zdN|b`Pxr^^J&?kC?_3wKGzq4$5j{J=_2(dV$9@_F-ws5ApG-`(lCg}Iy` zjV!d>VB_VV=e3A_{k@|;IY&R1`nK!4~sfojD-^DMGpAEKepQqe_@4kM0r&G_579r({+q6r$k+tx@7xr$=vn|tsH-~$=dbk?H~Tv_R{ky=i2#n0fG zrQp04&6%>-E2}de-3t$8&UNkm>pRg7{4PGz5nEx7_9*4PYK-I$z1t-$_4M@PYW5wabCJ zEb_?+qmPhmQx4ug9vJI5Xq;QI5gQZsa^;}y<8mfl>(_C3<(Qj=SE%#s7lB!nH zC06StowZ8UwJ}$gpI)-Cb%3s&Z@8lvXSs|%z^!mDHey9H3%PI<6oG2e`+~?IvdE0y!xz#wcmD} zD^E9(aJJF)g82O~mPk!adDXMbsKHI1f-~OBy<5{KbhgG+O@8!%Cjb6&D0$NF2edZ$ z_Oxp4-K@3gPmP3wto*;5^XLID3o_SrV8$^ARc~D)bqOl66G40^k&MOJ`V`j9#WAb7 zIFxl@#-j(I`t$r-1QBFB4tg06gYnlg@|Z=*ofR1qFS>CX7)CYroqu~xxn;Xo!^JFn zRuFloI^{fBUrUiUXLzsEXjaus9b9=@R69v^#;fW{49}3kBBRCfZZtg0DDh%npo;KH zY`y@W7@I&9v7RboB^}FJYGryxI4|qCF6)JQC3j@5i-Ke@=a9wcu+gtv zo2k9%zl*q=d7@LQT9U!L?eH;zj}e#cbYE(6*+-Ax#lC+mQ0pY*SyTxS4Cb7-Dy03c z?QER17~ROxFLm(C<>TBiYDj)dQS6-W4U}Iv!?m5YizV+~DcMF-zNQ@XPH9WT4aapr z{H>ajs%J3$PYQ}{H@GPF{l7_TB={krvTK>(SIrT+c(=9O{8QAN#l)b66d)0h4qo+{ z^Qqv!%&<1mj7PV_l;%Wct2v#6(HO$9v6Pw%z|~J#@h-q_in7AO-O_*EBz6wB#0fwHvzJFs$?`2cxN>yh)%6eJPY*}xh5*u`0JURC>9z6%S^@!*k zcRxO~OE=-jXpWBEBC2^=V#>;m-#9-O%*oZaeSXcm*X;eg^`EiTH<4vyalL$9lV|9e_Bx(nR6kn+7q|w&pdE_F^NW8)mk9L=mLBT*%$If1Z54fCBj)Jv7vxIlQ!eG|M|R<2@`pZ<-CedlMKFPO*lmj-NB3!a{Nyf}=-8kCt{wA5{rs%hgGSIY|GC z1bff1)QCmYh`Y&q-foq7&3mRODayigF(2FPiJkKU@!L(4QPrR2VNVr$+HQ~w57K{9 z_MYdH=RBWFWr!trDhB~nE^FHEu46ehy^*QatcV!GQmO>@CvAfSs*G6a!|8QuEu!ew z)QfI*#8IE>?2MtJ^a`3=pE5;_qIZ278&e&T^Ljau@=@Q+ht}H-PpA$h1s*a>ZHkQ5iNLRK#lK zG}VER5;J?BpC}bS5`!|*iG1Cte)4&%Me_wy1zx5mq)I0N_;1vz+<)~JqWb3177dsz z5>3D996NV3!AIU>&qA~WjS}ML{2o82SUjDjpC$c};`Qfv`l)GMs%GqMEq*vrpIy>R z@&EU4)vUt*LjU&TnrIzf_slg({C{JQC;1|4Av>$R)9C((PzJ_OTh|9tFwMkT9oRL8 zy?!ily1ZMQG~vv!qGT&Z3JS>ZOjb`}3UX}oT;fp&$QCtxnBoNQ^1?+_<;9&Uw#UOJh0R zb(xjn+3$4m@mD8O2U=>8na&lnOmsKrqJ8_LzYLWr94x-pg4jjBtR}Y0v?jGeTU`{TU2~AQehrS*XUm?^T4l(MB|)secF52ckL-f(_2IlSD_j(SWnsJc;_0<()r}hU zDmQ64-x+$n#k3kTm{GP3HaFEUW}R%mul(sBrtg?4zl_KpQWS~NcXkhnNA2XL-tIb> z8%811?U}Nez7rEO(_LqT=HMyzGiM|9#?&-0&te-swdV8A(SF$4GTTee zd6aa6b;pffOw+vD$cye$NqM`~w1m!iVt+bz&gVWZwY^K)o^&U%zEK615wzwY660HR z5bH|^(I(9EEgHZkUYfVc!eK2mywnnNiyCi7BW%>b>=(4#u@f~elAo>5lxNI%;-!$v~e^Cza zcdnO8$QxHZU#}kIdW7xck)jc$u##1Yo$<%8vv2FV-bYzksU`7Os@(kd;R7P+>(}Ao z+ULk!{NuB(GMNkds6JCB^7p>O%BE#TlE3An+hwN_^xd@V4D&-O`NbvD_t`!4(f2fu zA0mGx=-azD{W!_su~R1IP6>|c7}+tbL)R(diGHv|Jd0GdWm?C>N#J-e$kC`u`3iIb z2I%7x;y*{z2NVFJs|C#p=v}qk14KZN94~OX*QEbOe1aK2igCJV-?f4~Sqz-e|dPM7#7wjTeGnf|aA4RplUOh4X?|3}8F^50nQs;p&A zKfp|Xhm3D-jlai?A0^|(M|Ji5#hUSt$oN=m`hebofXlaB#;fwbOU9?z(hoG!AC~dk zZ1Haz@&Cy98rJxDGk=X~7{C|*UbI>NZX^92GCsr_Kgvu$O2$8FjSrY+q<=)l53t3@ z8SxA|9!`uGl3D&mer%-6XA64Z|9lOk|McliGmm}eIcEfF70LB@QocteCxK2*3_#mt zO&+;sIa1j=)x79kGn~#hstLN*L>DjV)>Fr|@r|GFoEJC)ol7bhJRg*_`}%m%#uCpR zeGED}#U!qOQ^svPneJG7gRV%@EpOt7?&&55-8o5jKEjKR%W@{dpsO$2^65%mbo|~Y zDj9S=CEZn8DDlbPpFx6-Wdl$vM<>4Nee_-tE#xat@|jJI@5ATe8piuJOFI5Mw-4Rx zl?}S@B;BGee&}X*G3aR1xVW4ols^0}MHzIhC0*AfKXh%947x-~_e4WKbW<7{bPr0p zb98dV=e;K?8gwfq-JkyI_oP|BW9aKDe2L%3)9ZJlU?b}HjO5dS?zZ=FyEoTlon<&k zMABhYQpPsA0Slb-1Lxt4a?XNU#FpFiEBQ`;{gLBKWPBS68*QGh<%#2Km*)ro{?fV; zuZcbc6VzG8KfrCNmx=S66(E>!es|0K-b*i0EU&*NHom?mD*&^IsaG($8ReoqC`4ScC|Tx%KMlZo^)|I17t zE8|JL%=p1(`~(@l(Hb9+F9?DOJ16san!>hn1pF*$IFB18kAG3v$V0$XBmRJlZ*GmZ z*yG=1e6Tfsq?yMmB=dZ==0AEF)3o?tf)+`+X+>dM9#c&oiIT@qqA_>`X#J4OFiFO% z>S>{j_h*ZODSdq@52Gk-%R_+XIPp8ax(<&~*WtnMnI>seGQ%`$B~1*4ZF!Nh$9Wk; zdYUg)d8f(v$Cya3^8n3>pqe1p)KdIypc`YkY>8 zK3FILay+c@vfl&~wqD9q0)=gL5TH4F{El?VgUqy9M$OF;eSD^jZ)=VBn0Z)RMjn{| zUKy|QV^7NXAFTWXzBcM0unI>2OyNI98%#3dTgZ4-{$pgkKbaNfm+|p7{(S}i7KHsK z<#inCQ(GOfP93G`)L^39DEZ8^^3i;~2bmea>!73|^JOC67VESy#(z zn2hgWY7Ve?2 zt*!%xi%c+&+M=NWRPEha#;fEt~DnPkd~E|>TFlvS&6 zE~_>;RhKnb3|`fJqo<5lwZ|A4uad`UGF~MwD`mWD?6O~9lab<#|Bf(85wUID{~$#^AS~q^Fu#X!kly- zmcH9w#;e*oUdF5XZsv93=gD|~^~`15DC1SKa6rbZ^7osJSIJ@(VL<$spM9c5QkJqP zY||Za+Bh;mn;H-@GfeXGSC(K(|DcR7OJ?Zns^an|Gt6U`j32~QdV6u3YNkcxPKGjtd;Si`t^8=-0qd} zs&+pq<3p|dN1J^!ur@~kwBtWI|8Zt~3mLD{_c1cwUpsO6(q(+OmA}R2&6M$~@~xHe zw^`GVHS@Pu#;f|>$?L=i)?vnKo8LmltLisK#;e*lUB;{0cczT@CxcvnYi0cHoJqZX zv|*2s@x3x$)xIZXd}nL=Y_t9X>v9Bus(o9?cvb#lWW1_<(`CG>f6SEeDj$EXj91m~ zUKy`!e;KdJe_%bW{Jr?5*YBfd{j`wrD*iDtURiz_uacjcGG1g;fBzu!{cErD{=L_U zKY5+_K%Ru4OI5!uWW1_EPp@E<+i;?uW~@v8cXk@2ehr^|R{`L7edR>u3we+$ZTd)dBA zC~ULKYzyaWauiH)zezqeznW=!nX(onGU?wQa$Sd&5zjutcA1w93fuCc`v{i#mPaHn ze{vH{>6gp+VH7snMH}zMbB;MbyCqExD~*WN=Fg6mkzY=)4eZtB4Hli2e*fFb-(tIZ z%J|XN_yEm0X8vPjyh^sF$#|7+Tq)ywTlqhxwHLdzyJdVij;D*?`BfP_IZcV5G{VWI zxH$T6)OA3Ncu_Dxtwm)42vef>kwh&YoJ4iK5x{cr=QV%vPWZ?lOjF;VDDVRc{8JyC zmlNm%at1D!7sRs@J~wb{zzK(}k4D%DUl?I)zzJVkA4Qm}iGKP>lYJ4^NZN_;r}B#` z`j=GzdP0|OTF?o< z`(O+>;hX~hQ-NPl;1?D6Ukdz+0xwnI|0wXQ3fvH9TReU5NEc%R-%p_c>hBv{YLYH& zDPgx0r9XU=#J5X&vDPBFIU&%8KSw#CoC2?)z$^OTT_}4jSI4AWiLtiv-pW4o+Iy=i z@ahV@h61mpz-ue;Itsj=0&k$e8!7N63cQ&D4^iOF6?jVpewzYsqrlrK@D2*RqXG|8 z;1LQuQh|3-;N28>lmhRe!0%AtcPj9^6?n7)@1?+F6nGy69;?9nDR6zKg6wcczZ;;S zPgLMZ3Oq%D4_4qq75H!kK2m{?R^az2@G%NJRe`4|aE}5XufQ`D_`M1|Q-M!Z;FA=1 zjsnkB;8PX2zI(-6ejZlP|4V^Cs=yyt;L{cO3_H#Mu z+w*>4vXAtgY(JM17AkQ1ezl*=NguWJ0~3GxuC$-aNxxv|2PS&@-m{;}2`?(}mlXKR z3Vf9UU!%a+D)4m*e7ypHRe`^zz&9%JHx&4015_4#|r!t1^%f5|4e}&RN#jc_?HU&D+T_I0{>Ql zf3LuQP~iFwQ}6aYqM$#jz<*ZYClvT81%6tApHbkyDDbli{5J*uy8=I_!2eX>7ZiAj z0>7xh|5D&r6!_l?T;Cz=-M&{9^w$(P4e|V3G)`3DfeO5w0xz$?D=6@a3cRucud2YS zEASc$yp{s5qrmGa@CFLJkpgd`z?&)XU(A5XuArO5w z*G%)dz~zQJ6NXa)7b_1Ilzs|9;9^$XhSzuUqg)iX#B>q3Tqw5S0|YKs9xN!peFB#Y zYnGU40+$O77W@T)%SmJl{-(g2S`aOGQsB*e@Ook*w2cowTHs;@(-yZ(;O%V~KfEt+ zF)MG2J0+5QRH@@Vf-= z^1){aT&%>~;+6=!zYXIDZLhRg5wgWOg{bi?wEc<@_)t4YPeTPh!Uum@;P?38R|G!J z2fw=lL-+dNj|lueAAGUEvwiSW0)M~<52?t|!#;Q)flv3r=L-BuAN&=8&+@^)5%@Dc zc+E--J@13Z34DnU{*=I%`rtbRzT5}@Rp77q;O)gk>)Sqfw7_@x;0!pSv(O&ikxu{9 zy+rSqoN&>Jz1a{dI+-6_bOJxP5MDpH5F$UgXna4oXdFMds60Qos3bpl6(5WNCsbA7 zzWQ0C7du{j(m3@^d0sJ2ZFjyG%J22n=Nf-seXilY`dq`UR?&Qo6MXf&Mqke)vV@#a z-|}Pzo#1O1IM%7{4mSy9$O&?x(ksR(Ryn;udUS%=ZRQi<1Yi5YL{9LvFB%@qH=oN1 zAwC!bP6$=t%@ueH1>RDDw^HD@De%?`yo~~HtH9eSa9?}MgidV-g-;stqkJ%p-q)UL zxUW6c@Nfm62n8Ogz&k7OE(*M>0`I24eeF9FI<*sqK53lL!w1voZ&%>H{(we*r-I(P zie-{G;coN65^_RM%aa*&LbUl{2|1yc<;e^>p||;92{|Fg@?-{`;4&X9At&^)Jeff! z^fezWAt%IIp3Izc5H08gU;mS1oZ889KlEdKFb15Es=&u8@H7RUuE0GCe4GLwufQiL z@C*fhuL8eMfoCf4ECoJMf&2RHOz4D33i|sMc#Z;}tiW>>_!I>`Re?XCz#mlL4=Hfp z@dy(-;a>{+M-=#@3j8qz{e5nF|L4hw*;4dn0 z-|;UKI^iV+{R##CvI1YJz*i~o)e3x#0$;1ZUs2%e6nMS@U$4MlRp1*G_-hJ$qXK_j zfxn@^H!1MV3j9q4zD0p=Rp12*{4E8(O@Y6yz_%;#9SVG>0xwkHyA=343jAFK{+8f?^EFW6?l;kKB6+vDE)H-ze9$m5gufqW?-=be@XB;WDwSr zp;rX{g@IR>p*IBnrGYn=q3r_y+Q8j1bdYd=`T1JVe{0a+B|~QwxT6Y}_dA2Wy$sb; z;2i}1y+N;+D?#8t7@nMtCUr@`)4paf83!^PeQ#AOGhBeFcY}poR== z6L>`f?i5xr^`^SYX0BbR)OD5c&KHcv(9I@z|R=`Lu6AvcFo#+X?)4gMOe4#StD7 zV6MAWkhq6%fBCsjf#)djL)+AQ%iaw{Ew7m2U0BtA{56#jk`U!@YiOJhY z{*w4gxkZG(&%{?FQplXoh5ym$`Fl)!^^*7z*-re8FupPg54G%{kI`UwS<=f#@eMK# z?;u>V)T6}xPX*qtwtxC41^y7>od1(@%LISliLb8}^wsP5=iiuc=JVSiO|G8N*g&*` zK1qR(Q{X!l_$dWmxh~gpWvx*tFH$^Vp}-Rjyo1aqpK8Zez6nGBdpRSIk5S-{DDY(pe5(TgRDmB=;MWv*6B1y5K?VM^0xwVY*&qM=6!>$5bGepD zeVZinxrOkM0CRto?vH&eaC1MEj{ljb@dE~%sBze_>?nV_#{ zl&h7buT2>X1@rtDbsuph3A~9x-(BJl5$>2CnnL5dVB)2oHtk z2EEQFLqY$U0zWDEv^4lo_Y_wZYQ#`zW8ivu`w6_Afj=hc9}~EFj!f^T>jd7>pl>PZ zzYutsfe({-T}tS$-r^N_x&nVxfiG3yZz}Np3j9mLL%}?Mr~8Mc0&ifHYp5(&R15#* zN><<#6!?y0|9mD9y+40-jljDZ`H}7|oD+DIfwz_UY)1_g3SA65LE;{Pmoso(PL>M1 zhY$XRz|He_th|+-cDNAn{cKzuUm4Nc??)o9FEGe$nJM=3}0-i;20l}RA%zrIDERjGWdb+P-*u7nM+NTNzKux{g&JQFHvQN%fe$d=tM{YV z1fF8x;gbLN0v~MPI(-9bpiuDDGd&6S*I$MUdS5;BsDgg6p!d~3?+V;k&zumruimKK zj`KO($iFTpJp}ICU&ac2v_Y@S=URcA=lvHm#z&!@e-^k;O$FHGap8LCBgW)zBfP{j1zE79WLjsR9_~_+rK!zq1GJWv71nx^e zOW+d?dR^WQ3Ea0oRwhR)6ebz;x}CaR;O05OyJY@n2;8@yz9aBlgU@S{{+Phc^Mg9> z4CD7k8}!vA{UCuqXy5}RzCqv*8#uW!;tC{z4+ZmF;cpV}EAU4R`dEoSCh*4%yr;zf z68LljkCgZw5zK#vf$RBPEO7H&VTzU^nJ(p0Cu))mGr< zd0|~1vIM@=;GZS=7Ycltf$Q~9i5%Kc%ehNkZhHy*C4*j<+lc~y*}w-${)Yv=%D_oH z#8sCRS17D8a6O+Mft%+pb-CRx@O1{gUf#b2o?+lRpB_D!|9S(jEZ;j-;J*6mMS;I+ z(07#dX9WJ5fmfG!r`wsoul{*J;2RBkT~3x0?oU2nQQ&U~KEC>-!X5nHHw^ydUW%(X z;r{ri3i{0kJ((48Js@!Ne5h`B-Vyj#gI;gn#&`02-!gDgN8*|;@V5*V{2d;2#?}sX=kwBk)fQ zTyL)z1a6)))#d+3fq!Pu>+RK|7r*zQf$RM!P2j%$i3`w84Uf2!wmsldN7_~`9;MBv{VIK56>En=Ae_Xe)hj}-V12CkR)O@SXaaJ}8n z3*0=HT37N9aWQ{i`5Y(kqXr-Sy#)gQ*$1!FhxwfF!5vn$>B{`6S2IDW5hySoH#o}VQ*Ra^xEzhLm!>-mzvedVEB zKj!Z%590)0V(`)HXNABo8n|9RX9WJ258kam^Y?A{2?D=j(ChWEO5lGR_!3#J5`q6? z;PDc_odTiYTi!T-${6oq_N)86!>G3zs|RuO!SiEuk+RMT?#%w zDe#I({_`J7xW9aMBRs@%ep#=#egZeoDeGy+D)<~~!hFng**g6c1^tVHzjpdTgZ&GXti|6B$AJjMg8 zZ`8ssDCpl*;5(?E{pBCrBa(CD!@Ez)px@PdAY-z}ot8aua&FF)v|KGJ%I(g`&X|}X zAHyS4Gc&W(QggF&+^IR^HJYv&<0oe4c<5n3cei`|#3}By2Oo@&2zR^FJ>ycRWahdl z$$jog*_jz>54nhJgzwJ-c6Loo&2%LVNOni1WZ&nRn3$UrM-N@&hNNar@wi;B#Qw>V z?hIEry&*Blm69^t-DmKC-YIbd2e{oP%Lwf!1o>AAJvrT6_lw^vbS3p4keu7i&DjbM z504m|IyocFO{L73I6f{dIX65!Z9-~}J2xjaBX@FKnkzY#{ z;7PkLIwvRfq23X$ssHQm4FBJMXBSaq(JFdFB=^>8yFdScr2nQ$_qe7i+o>~2#pK-7 zTxtN8s*KdkjECtdd!jpaVmir-CVTuGmXQJOzVQQlMaNT;DP!Gn?yO1NupQGTO=4N2 zCQZxEnw05zFfQHIyNj!Lx<52spxVz}T7Hg_=(!1nAa;-IO;SBJHSIn^llmuzaS?rg zand_7DsJGUoZMa+6TKtC!|gA!u{3@})0zV-XrtDD64UyMaFyswZ<)Q(R1x1Vn&Vgn~ZmqMW$qBwt3mStaLgvvo^hIg=$@^1x>cDM`!X2 zk8lqWP3k7y}*zQraObI8{6QxM70Vqv_x`eH|vAW z)IYh~kbdbR`(~HiDWpE*`XzdmSJAsg_l|HAr}(kq#7rnqQUy0scP0^wh+a6#m;Kd7 z^X%yvYOi{33(Cj6s}IK55#AMxo)Cf zWnKDIht6J|e|t^%tG^pAu>LY?(#WjrsZ^5diy2E4353-3UR4n8>gUH&c;#3Kr7lWg z?pRN1x~2uW3cVyVer%XYe#3QQDVLppxIaVYl|3QqItO8D^k2c&)d7Pxldnfm*}XhV z;jpCUc*vVgBO%Q)9GroD`Xswj+$qt$;$3dY@?@oDv5zzHfviNXn)J-XsmWZ)$+?lK zV<)pq!;M59t>yrcZ~Z{;bfQS307ZKFMiG8}qj0}ygiG_7?A}$lMEl#|&N-gc%wAoD zTdhg3SA0fR>i9C^$#Ud)CTS_T7O8qBPR`CG|4|gMb6WNk9(N27&ZhK0qv9qfr=@15 z=ExUvIx{LEmAv`~O^&v9k#4(aV8fLlkQyU{oc-=D_UED}r{(e(C1r@9voT=Y7wxTi z=Dra(IHm!&J9YA8Pfo6TTxv$9QC|Pf^`u-&x&4!{|7~!w<-c2BPi~B7a++B`rh7y6 zVDmh?#))y51(r2pCNZkRgs3iTT*AXGKiTff%NA|0v!UJ`tqrHYO6JUnGB_ECHy2yA zSn}oDh}M)s4sA)h^v=wl$n_mFv}2BETt^!IKKP(}k|$?!_Cy-mC@-S%7_?Mt1dm3eT)nf>duLPovcytSz1+G+GRv(a zlzW4nG03=Kxs*N6Na!m+MwE9Qnh_R>&<2fq-i*4_JC$u56Ga2W-q}+oiq5Dti!ENS zDAV?kWlok|-_N@unI>7xc~AqC z&B{lM+AAxZS@qT|PuYyLL5+&0JM*FO^FWIUu$Mesyect!a_%^rR=4Fxu!);k28Grf z2{aRx5uGz$l^v}blhblCbS0~*MiP-Ea#K9&mhCE9Wb))Go+Qtt?3`TLwl^WHF_xZd zuM{c9$+?-6<9uBVR}y;$+7uVn8(HYAxU>|vi=2Ma8Z53iKNY5T9CEGGT*kvq&!|yK z$^t2E%_sM*-R>z9a33`blbW#GiI5)?Mjok;*my*$+?{~sm|g^ z2*un~Zs$p<898x05>4*TW3|qcGak0+F1_~jcHrD=bFoyP#)MuJFW3$HG_TXcfYl6bmPov__41l|Youh~(<>Dz`1pD?>(HS$Q&u zY}um4p;Y%+&-jdqZd%?-n?RbK5f8cQ^4SnvS`D(yJ|BpKB94aeVeSFs z8xny;c{Xa;xw&Vv>rC)KqPKtE=0c%OW#?CR2D0ol|rXA(th8G+xdi*9*k#8sZP%`%>?%-rE zsNysIEzbG#Z$z!TbkomF68j`2XD7RbmbRHm7kk@m`w}MGW+sF;rCba2<5S6Zc5|0y zO{g)c6;pUo!06DrZ4fzO5fnz!x9ixQzAn*Y$&IA`qYpGkq>%I1-Sc3YXA&=;S#iw@ zNE0Mpyxcdi+U?@a9}&%W5OhkfMo_qlNFtZ_^zR8fDsTtJSbuBIQV2 zPiA-rI^b=ib=+!XtfdsqV~G@w8Lx9D^-pngua7XYYP6bk?r&kit#`QBvK@8#TVP`y zHrb}8jAe9I#qkvUBSjGSnX7U>}mN!Q>)H|WwQd~va2DF>Uk z*6#X*5vY zeqD74M?$VRdEBPT7Gv@7$Q+vF%E+P!F%e|AqCAYZMM*hgz3&wxeU)4uJ+r#LUPI^- zc}o?gC+6-;mX_?Sm$?wd9hc*=7InObT&mO@d*-e?VHYDOLn)v3HOA|vq-{b8ZhEOZ zWs350$lgO1meflBVtAP9hURKAq@XH=hr)1iF}CH|u0obSb{c zLhC817e~31#?po+kLQ-g^5lLQ<8z@ftSU6hGOp+KvoLou?Ep#34W}tc+8yLG)+fj^ zyid-JAUD{uY(;wqCe!{gPrA>5kZc@Joh0X`PxXnj3>Hb+!@C;mx%w_HYBgm|yIkFk zU2bgn`Uy9fW+A2~k;9gl;*Oa#ked7^g*B2qR=wqJxUp$XKY`Z3MD}T9z^g!UW_GN@ z41bINly{O)+U7&~GcY>C64iwk=W`{k)qSz?vqI?o&J{V*+X4%QuW$ZuDxu-qd4caWPcai(XhAOgbL*HgGf<`8B@&hzA?zJI>=4)sW zZdb50Im3Hd<7n>-1t(_b(ln0HWTbY*hAVew#(f@EzGN#S!U+|dZ48r?L371%$=%qJ zhDYhKv_pWbBu^uYD3_~?HgPo7)mh9NB~gOpSY7$rrC4bQxjDFcOz{-k33c%<%Y<4) z=fCzcIr8x7de_f%BsEpKW;$t3of;~VH`K8AYnJE6cHT*s_QqU8=@;JGo6MYvZE&|- zcp64aC(*J8IxC+1Byz~ZXih5G%>t%n(n69x#19G0&Wy{>c_1|>Jua!gvff?fW6=J5 za<+0jLSSjXgD1x`F^wd$t6Pd8ztA!_dc#}KtPWXcp;``oIQ2&WFG4`bz`hnanU`MBBLshzpIih7~> zuFhgxv3^FtldfsWjB%t>u5RLN z0u364#?(g&a^#)kF~;5`N+g^&b<)H#X?`oI(^GR(b!~8~?yAM3O3uCMZNW5sD3L{O3chq%p@L(({NInyzY8q-r_KU#;$Ba`22$O zu-To|XUB9C$Cz#2&KhA5hiOf~PWLV5#(T(Mx2p>G$RP5v+;(!8o@F1~Xs6TtGrO76 zXMAocv1zGHrot-wfAdX}(;iqaCm>wm1o(fQKg(~Yl-@OI4V#(tA}Yf+lCja`wQSqy z#n5UHBZNT|d)lWaT4yJ&qkZixO%unRm5iCTNnUIo&=vtLR?sUcQM1EMEm*ec^Pfy@ z@4VH){452ZrIh{3RRo%Ah^&zN>Eu=|D!8ouA!_7(1_ewQ!>-jBFV={ z&zLF#Hs|`k!v_}2n>X(RM`fix=r*=&(I_^IwlDDN1G~huY^$whXr8fLy3F!gx}KJx^BC?4iXAP0OD2 z5P6=Ieebl&_we3J%CPLjQS6I~RR!vgx7v+NZdfSKUQr0wv+6ZFzE{>}yoGvi947T_%xwrsE~*pF(GoIqA&TI*|0CY>|# z;!TOYCrTx2F5b;MnYZN6@)p*cdRKqi45_u_4f#qYk(f*{r)|7UfUa^Z?t<6A+$(`a zNqfg!M>BhoyS&sfO%qZxn6or?bxdcwtm@dCm$n|~)noiAL3=`l-y<~N4f;KHb;lFy z`dHuVRnkwg4CqJ#{Hi&7LYK>`+r+`J8`EueHuQ}I>KZqqz7qR;rKE&1Em^v*#=_@y zRg|5LWt7a`rLLFMf~VG*`k>=h(%PghQQC@InwQeM4%u>bR`oFpkNxcKrZSD;8z|SQ zS$FuA93@W@BEu}xOpkUb^H!?Qltr4{($}JI+}crfXfLM{MEM%en>L+RyD7D!%`n7g z-RL<}T|@Gs^$naeHOal+cQf|TRG7EUgcpe?(18=0+ZDc=kTbh=y^*7={b+JnZCN|p zEGr4J{RKW}amz5@{rN528*D}PHQ;4*NiV%(>4)AivVzru?v>#Bip48|mp0M0GZoIA znx0PEh9+l^^FGE-4jC_s2`9zeZ{o#RSC77W!%oP`f?Xc<0-;h_*co|g2yGAH4Og6x zT2SH)npNjmo!C^3tk5Xu*KSuLH>~U}oHR@5t&VPLZrbFge?3DjgkF8_2E^7YgImG?MoG9%pAp}q-ENv(=yX@$4zo;lY_hkz6$|uF|xDVscC6srH#*-xO3?s6@A!F zOH+np?;Q4~K!oFWnyj3edA%kW5wO3a~8`=#?by_s0XcjH6c z8T7r4vbOvw55$Cq{)2@~loWF9dsshXN}T!d*J^e8u@Yzc`WAeaf_}b*o`3aA=ktMr{v!*0Lks;?1wG0yH*9Z{KAr|`868ENm)k4o-$<_HEQP7{V(DPT5b^2;fk$s>1 z*O55qzlDYVE(N{ILeF2})%j0U&`+_@x3bW$P|&|(q32)2*7@(U(BEdk_girOO1Dm5 zg)5RSf&l6NJbs|7w#50yUqROCgDp6>wT`#9;QUo!9lu@TI{%G=J3wy>eR~Uix&`lG z!6#dA{?$R9|Kk?ClLen^!L9U5EVwoQYb>}m|63&f|Il?GU|-Jt|M=68q-+_oKO&SP^tRkaOA?erUdcA+=<9i;Rj^p?L zANS*aeV?As_vccVxY-c>@B4fo{ikwo|Icvy|A5#@2leW-x;_6 zzTv6=+J95alsSNV`**_a-v_tP`MCWr!@VDh+y6G){tt$y{^`ff$GEruTe$rf;`aFl zxBm*<`@eDfZx;W+@{-TX{?)=$|MYLL-Hm(uACB9<18$%0xc$$mfW zD*0UOUkA5OW8D6&aPK?d_V13{|D5oA|BJY{|0vx458?Kih}(ZE?)~ey{paEKUlN}0 z|2_Bi-@MYs-+w3EKDBZCAAoz`0=It~-2Nwqr~c{R+}fLa`(KOu{fbni{P~!B`~QL4zvAZE=VG62ar^IvdtV2)e`DPKM}?>U>CZ!s(?7vq|ObbFqIF-20ty``5

    SK;=*3Ag{4@YMgt=s%8o z`_I7bKNq*p=eYg9$Gu;L+kcZP+2>;at-@3PanXNA?(N?MxBoG?eY)WG?~QwZ9&Z0j zar+MoPyL^c{_`72NwBar5`ay*~suzcucC2i*Lg zxc3*}<`2TXzaBS#I9~GCV$#q13&PX)C$Gf!CyTiE*Z)`G2a>ZM_xqpiwk>`Cl>ckw zR}U}w@zC#o4#FFf-x_ysXWaKW6>mh&rT9Vk&G^Ci(*-^UZ_NGIxbL$je8cI#e;uK2 z&C+*S&;23fY!&}P#dO~&?sp6?c{lI($=x@P`vwK~hv)8F$Nez{_kHjt^z4uOxev|d zr+*XfNbddIpTe7x{|fHs{toWv{wdy!oHe-pH{HJUb0~RF`|lE--aq{tduwuU|5mvD zJK^^4gWJD9ZvR_x`#*r&e@b}jpZ*QPuW)bwMY#Q!c+YTTX`s%2lF z_S_El$G81(e|$R}_s6$B1^x`~k8iVae|-A{Z@%F%($6o;aNliRc>dig#J_+y|MNl( z+;^*o`)n_)yY<0+w}H6tc6Wilg!^tE;Qo1cnVquF*Z$k#_TL9Lzaj3=`y+7k zAH>an8u#n}E!>>XadUpe&Dk{mMe8M>uQ@y8=Io1`b2x5J7u=lFaC0ul&AAyj=VRRW z{|fj0f5*+=Y?thFH@`Y={@%Fxb#cG1yEHug@s<7!@7Hke_jUK-E%@X2dHhiP&0K!^ ze&)M^`#%cqcc`AdgZcY}r~WDbNbV1#Pfy&O{slQV7u-LXyHDSDy;gAlLGC_%-}Ni^ zzGvkP|NiQd-%7sz?YV1s+M9mA%?j?@7u=s)aDQd)KJ~n};Qp!Hefs|Jor3$%bN9!_ z_mgW2?yJ=J_Zj~G-*=Sm>xAdur$z3*OXPPixIaI4-y`ma7u?^MyFWedr*ZG+xDfYq zEWcanu6+L;!t)BjR`rPLh+<%?BKQF#cHrb=hzrW>o zZ5y6G_lx8HfP(v0x%(^PzE8pZfZY9%xWBF7ethnJMBGm=xSyZ9A078A3+~J9S^5rX z@7TECBRu~;4RiMo$9-4s{T%z@eva4Va?;oT{RQ`va`)+vulEb?zs%h?ik|-z+;0{C zec27qQS!HprLX7x!}ITOc7x(@U-2O-7_U{p%`j`A#Ov!Jjb8r8far=+Q z?K2s-|8(5@4{-Z`f!qK0@YKKL&jCt)`_HTyUr!8*(lW_0*;`Sei z+kZrO>VIVPAI-h}U&HM`AGgm}xcyh+-j~@odmsC6iQB(cc0=NH5xc6`3_Wu~S|BvCRf1l|8JNNdlQ73z6`!~ex(-OCTN8J0~ zxcx7{?LQU!@d2h9+17K z{cGa(IS{x15xDm!S0=KMlA4MY#R1#qEC&ZvV$|`@a^R`ac`}U+3QbKjZc< z*D!k@`)`BWe-GULO>z6T!R_BOJoSGm`k%?Y{cpzYKOVRLWZeGKar=LY+y8sq{{Muh z{?nrWrj4@qwEzCN{afMo?}XdG4{raF1*SP(E#qGbz zLD~D*e`nnO`{MRLG(7cxC;A`7z5V;)_P-9d|LwT_$Km#$irfD!-2RKhQ~!C<|2yvO zU-jVZ-RxfzxBr2-{g1%ye==_WvvK=h6`uNk68*2|-u@GD`_IJfKM%M665RgZho?U2 z*JIalU-D~I>F2cyjZ5D%e_ta!|Lex}aDRSpj{80xbNOGy`<%qR?{gjQ&+m8RzR#n$ z@AEwF{cPO+3vl~?AD-T4dGue&z5RDNB>Vcbe*@e;hvD`=4)^|q@YE-LzGran--mfI z?yehiIlsoP+qievOSoUR@8kCT9Cz1`xL>!whv#>dYm&XEySBmIwRd>R`8#&i=iXi2 zaCe=DyK4~cuA6XojmQ1*WHN65H^Ni@^5shR&*9$wYjFE-(KLHE`|pC=e?Q#*t#JEy z!tH-nc|7G0%Z{zm=8n^$ixcw_OD}A@rf5&+LEyMGFKHC_# z|FO9JyW{ph2ec4yRf0}#W|6|<#KjQXZi`#$m=GoVq{cGa(KM=S7 z(c!6ogXrIZd;1T>?LPvy|Gl{VpTO-u6Sx07-2O|$Q~$%G|1aFzzgmmz-Rxf%w|_I- z{%vvlpN8B2BHaGN!c+g_qyH`3+y4dJ{_o=U{|vYP54ipR#QphtvqQ6Yv;VH)sejMt zUz>aTcfkGm`gGj>191Bf#=XB6_x+#1?LRF%^*=NEzrnrzf5CnK@`q*bW1nqt`|pYS z{>^avx5e$>D?Ifd82!)U-u}1X_J0_+|FgLLXW;h#47dLexc%3Mr~WrY|B8oa?`i+~ zxcyt>_V0|_|5V)mgK+!bgxmjt@YH`y^na9l`_IAc{|#>c-*EevJ)+FNzm@#_X#cHo z|M=Y7+!WmtqL3d->cF8YVPg-C~p5(aQnZ5+y7JC{=eb& zFWV}6H~Uu$FB|>ejsClFZ~vol`}e@@e=ctS%W?aU!tMVMZvPj;Q~%G(mF}Fzz5SQs z_Wv8Vf92NMyV-wd-2M%5`?tjH-z_}#Ul#p)ac}=&xc$fC_Md>;e=2VO8R4nVD>X~^ z&*k1fuly2s*Q#93n%K3Ddw117GJ9utHO1Z426xwqxVw6Xr(LsR*M@(-@4vs5-|+u+ z*HyT?M&)w;iCy<{@2;7+yB6Z^T8g`CHSVr0kIMS{^;QG7f5Y(f4i!s=Z}_bl_x3*x zxBsQM{fFW9zZ19r{o$!k`t_Noxc75;1$WonTu#;4^$GXx+T`fc-6d!4+5vZ0ZQNar zaCbEiPrK6JZ`_W1cb$y8>w;WP`scb1ad%C~&QY=JE$-d55_i|8$7b*5uI+Jm z)xzCXH$3f1Ux&@OcUN27UA=NS?PJ$j+`H=*++7dj?s^t?*9_cUZ-=K{>Fe+l?%lNv zch|aH&Iz%rLi_Cf-Bk~FS4-So9dUQ{#@*F7Jnc$fhXc8H*Y&u&?#<=&ie2Nmch@_( zyS~KT^$YHsEoT}N>5uCsA>U4^@AB<`-UxVxUi z{l0w`ZvRih(>tVpp8gW<`=(Z5=F$$zx}5xBq3b^>nyGjRJ~jC(&E z_n$}cAnx9$3;eYLf3Lt775MT3|Es_&b#xI0$+}s^A~Q;)?Ksr)NAABG{U`a zSKz&HbNb=t3@z|6xH*sE=1eQ_`M5b>;r{slCvJX~6S8+Rr#fyf`1diks6FH|K2JoJ(G{e#E^mcVhN#dNtgfy>Rba6nID6oZh&*2IA%q$IZD1H|H7LoY}ZJ z3vhFmI%{dx3r#o)WIk@-N7Wf^wIS=FZc^Nl<4sOn3+?-XoIhDF+?`F=9 zxHBt1ar=CZo4*n_r%aFR-OQmRg0XOFz z+?-Ewb5`Q!ROp?(n>pLz=G4K>ISe=FINY2waC0uh&A9`W|0w00jr;4{SA}ml{rB%9G zrN6&!+}r$v?t#O?n>c`wtCI{XdERBe}Q#bGZHA#_j(JZvSPt{r|@8U-``J-R!@6ce+}IJ2jccW z0=NGO;i>;G(Z476_P-vt|Gl{VpTO<^5^n$ZaQiR9?Y}ZS^U46NC*R8m_9>Lu;1$Wm>++FX4r(Nmq zEBlK3rJH2mudc;gZ}>k--^Xr#ZuZXZ-7P%j?-YCY=H9&>aQB{$yLSNY-odzgZwgO+ z7R2W`hI>E9$8dMOn#-vkyJmCmuAgvsl|3(eH+OA~yK8scUHgRRcQxkTT}R>W>YmHl zJ9eGMy}O3v?s^b+*VDMWUc=q>dU$@8>4dckPY4>tNhnhlZzJ-^ABpd+y!U19#Vjxtud%*Ja$hYaH&b=W%z<#@)35 zch{ouwCl&%^-a!y5C4rEf4JM_kVhf8qZVF>O! zjKY0~d&5(o^z-{0M@oukj@4J1A`)+^XzFVaM8-KSQao=tC z@YH9Ec!zxoyfHbxXFL2T-scM3_Zg1+J`aYcK6k|XJjT86^8xPre2e=&zvF&gmAg25 zH{Yjnc8Mu4j4$tph!o7R{ z!rfcxlI%U*TO&N>KNoxV;@-W-;qE;Rcke~Gd#}aadt-R&lRn=Exp(hNxO?Bk-TQei z|JB(0E%)xN@}KP8+`A|4-UD#=9*(>BnDG4GUfjF)Qrx}6aQBYQ<-ZYoALib@@8a%V zg1dJG?%wsddn*nseb4;f8sR11hr72i?%tzt_jb?a&yBsOaqr&YxO*SO-TO4|-q&#V zz8;?6`#JaSU5&f9!ll{Qp?h}@Px+t6-aWZ@Z(H2Gy>R#T!`*u&?%tu{sZaXjcP#hr zeGYf;EZn`H7t!cXMwI+`aX1_cq7f+d4eIw>$Uly%=}zb+~))&gK6e zdmrT9y>H^~{Tz4ikGOl+;_fYX`NseF-61^x$8UYyy@%rN?VQVBAA7rV@80Wh_uh@W z_fg!v&*ScWEj<7E&gI_E_Xpg)f8y?~I_UqtXXQ;x|ML#vCGY9pLvic>$N#ge_Y>6j_>d|?mN7Q`ws8r^0$q5_>goGL`wnw)-{DK# zclZVO9oB@WcSv6k>vNvI9;#lMy}$3UH|{$ejQbAl!qe|}&v=K<-1`oLaNprp+;?~Y z_Z=qUzQgn3sZZMb9{2A34tMV=+`XG$Rr+ozzfSDkCOrS+KvUek9dP&d#NB&7?%qqn zQ=jzpe`U_o*Z&A|e1}JH-(d>wJG_<4uOII)mwP|=KXKoo>eboTq3^IO?mN`QeTPQj z=^fJ7fAgHDuZMQz_ztJzzQX|Aceo*!e@MK;t=#(#FXFz#d${kg2=^V92q`wj=G#_*-k}5czQaJ=cNl^D4)@}|!xOmgFgZN+ zsUANsOwD<%@VChE9lpYShn2YRu<5mB{{1ceevglLs2ZOC@!??HcW8(E4kzQj!`Zm+ zaAA1rQ#bZrmh(p8H<05yjKh70Nx1JYJC}c2yu*9k`}MF2_Z>DLT>73R@8&z~g!>Nr z;J!nH@Uk0nO1@Q1KRz6i^Yr7x(d76Jy>Z{+0^D~PlFL6o-eCmyzQYvUcX$i;9Twug z!&2OL_y_l&GqC@48-M4PxcMD%^Lya_eX#v-`wzy=zYRBkEN=cp-2551`Ezme7vbjr zjGJF}NcL{#Z;hK@9XEe}-29ff`5kfdd*J5x!_6Ozn|~W_{#e}niMaVQaP#Nl<}bp{ z{~0&G?9hVu$IY*fo4-G9eoNf`9dYw};O6(k%^!@Le;aQ8Sls-HxcM`1^XKB`FT&0L z88^S|^#$*bn_nF_e}CNkmbm>p;^z0j&F_bsKNvUvHr)KNxcL)t^Jn1Z&&ADOgq!~} zZhqNe1@DiWUmZ7pf86|*xcxig=J&wO?}wW|7&rem-2Ab)`4e&TXW-_~#m!%YoBuOz ze%Tue-XAx=I&S{{xcMz{`*+06?}3}&4>x}>ZvJh!`D1bOC*tPMz|EhFo4*J*|7YC% zvNsmIKW=_?-2DA<^IPKf?}(e<12?}PZvJ50{M&Hz@5jxbgquGLH-A2E{$kwx6}b83 zZ`%0#Z;P8>12?|`ZhmXr{+)62d*bHz$ITytn?DLS|9;&3Nx1p5aP#Nm<}b$0UxAxn zet5zAekYC zDtTvrJ#Zh~f8Xd4_@VUa9G?28U!T0N;QqSYee;^7Js#xV-|veBJ{PyocX%6muEPDg zt#VuT4*q`k!p(1no8J~U|5V)kLAd$1;^seqoBtx-guQbM{D%TBcYF2@=2S26g9^Mg z{_`f;9~UR%ZRt6*z~9AvpLO_h^2?7Z?Vr95AC5nMw+PSwc(MoHjz0V3a^^%%1MdBC z=}6q1V{f`2|gxlu=+?>I9dp@rxadT$i=6r~ovmQ5R zn>(|;=In!;(+M}{4BVVcadRHR&3O(t=S|$4UvYCP+_mvtJL2Xv3r{~jq@Oq2a_{#E zoeJ*H=H8!A2jl*HdSm#08|og%=l%@$9q^aJ^F7}v@I~YtPtG?5_rDf+#k;fj^y|D{ zc_{5W%SrFwhx<<4pI2~yU3kfl=f3}gC0)K&=lgas{ z;QreJUq?=Na&{ZL@%O1y;H|<--p8-!GYal6Ebtr2@#}d)!Tk#bK8GB?o>vy!uPgBF z?<;+Wl3jj1HxAE#{j@6Z?&SFOd}YD?jRiiA9KW7t7TnJ%@TKJV^<3%xjeqXj7kIt! zlK1iJxkJHy_W~b4j$hAr6x@$1@R!K(>-n>S`=tfGo*cgp_jq9A?^Cb9j|?w)AHNRI zD!3m|;KRxB>+q?9`ZF&B|QK2b9KS} z@B$xCj$c2s3-0F@`1j=a^;3CVnSX!F@2Xbd^}|bc`SsJW;Qo{Xzl0pWe(ox`A79`v zljGOV=LPrQ7x*R*mA*sCF28et{oNj$c1#7u;V`;3LWL$DgMQ?q4qO`Q-TZ zv#Q{JlkuhRkl(vgc***Rm}Z$pk>Kj#+Q4=nIo$!SnF`*puZ@Midw0-ssn^9p=Pfv+g=^|*iDRQ12vd+NIu zc-;bTR^V+5{G0Q#^CjN&q=ub-zf0K1-`1lD?PgL_t^pOL7zSGQ}Ft@_swwc zkHNj~f_vWw_x^m``^$0fugAR~g?s-1?){Uv_b=k!&&Iun|6knu$+-8^aPQy2 zy6ZgJ8?tOFI`(tqLyW-yW!M*Q?dw)6Z{V?47 zQMmUH;@&@rd;b#d{cPO(dARqBaqpMo-mk&EFaN~GKi{oz?{~$`-xv4(VBGtbxc41! z@4MsP_r<-x82A2K-20KZ_xIr5{}=cES={?+xcBek-Y>+x{}%UtCGPz{xc8e+$Ub-P ztKr_)#Jz8Td*2-Qz76huSKRwkaqs)#-Veq7esWBKKULt<3;e?Z|GvQ2;eOw>^^@8A z>$MBKNrAU7@E!%;zrY9K{{1=E;QswNuY_;-*6rWFKc`m3(mk`d_pe8MfbYlmdy8=Y zew*dF{AQ8=8~1g|+3u5ar<}1?SE=`dY{9h|2f>-e>iUc zdvN>w7q|ap-22yX`@fCb|C8|4|H$aSgnRp!ow)J$-x{~iuDJd8#l1fWxBn5i{f`e% z{o6=`|u;ohFF;^w@Y z%jp+63%ECD74F{hld{jn{#)Vht&V%Y5AJ;<+|TiF++7{Q)B9W(ySj1ju1j%u4a4m@ z3b*G2xc3uq`@ewO|Ml?H|CZ?gKKJ(j1-Jh{xP3N%Ci}eXzXR_5p1A$@$L-%DJoUdn z`X9-?{m;bhe+h1%YjOLJ#JwMb+y4>V{!_wJ|7W8AE8N@vbKL$v;`aFiw}1J`+2`W@ zR=EAEeI+!M*+8!R`Mk zZlCXP`~Ql2{||2e&7aLaFZ=Hlp89_k{rBMB{w;C)cf{>;3U2?iaqlm|?SCz9|69XT z|39Mt-Q3&%CEWgR;`Uj9+y6`4`yX-p|AE`T;*`?QCH1emS?Pb?GQ8xkFWA2UZvVq@ z`?SOD-wpTvG~E6d;P$^NJoT>?{jcZV{*U7Je;&8b4BY zI_~XXO7~{|j;ZUxV9c1aAMkaql0-?LP^(|FrPbzjyS1gM0fg!|lHYw@8({v&Yv z-y5F#Ul{$zb8r7yxc%qj_W1(0|8m^>HMsrDP0cPrP2R3?(IJrxBqn9KJVf7{{;8`TipIDar>8fx%6{M{jZGv zn}z4Uf8H0j{~@@2TI2RV9{0WnZvVcx{Rf7p{?|nRtGW06AH?ndG;W`lar?i4dp{qy z{};IZe-2OmherR^+}pp}E7>1M_TLM)&w;r855>K2i`)MM-2P{Tr~Wrb|MR)G|IN7l z@5Al$IBx&vaPOz%_J0qz|Dy2J|IX>bhyW{q+i+g_vZvWP}{X2)J z{$rzmckb-Ps<{1k z#=YMQxBr2-{f`Jw{U3?`ZMe7pIk^2V!|gK^xBqRp_xIuUe;l{}i{YvNW6}SA+}nQ% zZvPdyeg4MnzuB~ne_q?+_TL@1fBo>(e`54+%)R|j#O;3;ZvO$e{jbKoACBAqF5LeA z4Nv`_js6q4xBnd6{)=(@{D9kkHST@c|7D+x{j1{k-!(k-e=+*k=HC8C;r8!}+oun1 z|MPM0FT?FW6u1BA@YMg+=s%Ww`@f3Y|6SZZ3vv5@gL}UMxBuU`{VPu|^Y3q||Mcj; zZFv6sw??@ATjBQUfZM-2?)_P~{RiOo9~_?gzZ3m$;@qW>l{N!|hWCw|`^Y`&PL9 zJK*;38J_wtj{awIZ~tMq{qMx>^AK+TiMaPuar?iH+yBGx)PG6z|D1dK|AX7V%B<{j zvCmGp{cGdiAAsAx1#bUi!&Cod(Z37#_P+$T{}9|hx8n96i+leVZvQE`{bz=!{y#?l zceuCzkGTEU;`XUHJNsPhzb)?lZn*vH;P!7Cp8Bth{w=w;|7p1WFT(9}6>k5VaPRNL z?f(#N|7XHe|25J7CGPG2DQ^Goar>;o?Z3(E+2`VY72N(i;r8DrJoR4}{Tpy^|Bkr* zd*k*w54ZoNxc5VF``?P&|AFw-zf7glcX^b1`@f0X|6|-fU*q=w1^0d}ZvTpJWS^J) zcL-1Yt3>}A+}r;!-2TVm_Bk21|CzY=7vc853b+5r@YKIr^uL39`#+D{e>QHPxw!p5 z$G!g^xBn{K{^j2+{ajN2TG4-t@bVk}Yx~#3?cW@?&oQ|DyWrmU#_fL|ZvR2ysej$* ze;xPse;Bv_v$%bx;r4$A_x@wt{$Jzv|1~`IZxsFi;@nxwrrAxc$fB_IV1o|4X>{vvK>+#qIxPc z+Z%uX9dY~A!tLJx_r5u9|6_3bcMDJbkBI)gxVQf`xbJ@pZl8N``#*|%|156*X}JC0 z4^RD%j{YBUZ~ry8{WpCl`&{g^4Q~G$xcB?v_CFZ6|B>OTe~0Mbo_qWE!|i`1Zl4=* z``>|kKMuG5Q@H(K2~YjIM*msd+y7hK{=eh)Df4djx!8XT-1{AI``5zl-!MG&KRNn0 zE;`ToYx6c{4{V&A5zY@3qjkx{q4p05hjs6dEZ~y7I{Xf9% zvk15UGTi&$ar>8fKl@zlzh!vp-#_|S{=IPT&&BOO5V!yJ;i><{ z(f?-d?f*1x|JQK)yp7xcBi#G1aQpv^+kahn>OV00SD2H1UiRM$xBo%7eU8BG-yZkA zC+f>HE{Fm;ocvL+rKUDeOKK4({b-F!Og!G_kIL!{=K;OPvYjkh z{{U|OMBMvnxcTqk-hYIf|1IwQYTW#?3pW0FRl&`#j+R9`}BC-2D2u_lM)= zAB%h64LAQx-1~vJ`Pbpz-;A4oAMX7`-2ADy_p@>H7vSE1i<`d^_x^9({K_9?pQHEH zar5`Vy>Ez{-xBw}Gj4t_-1~EI^Do1_zX>=0PTc!(xcQTC@2BJDzlVFj5I27*?)@LQ z`Q<;}_~*4HZhj5i{Q9{0&2aCJ!p-lBdw(Ww{zbU=SK{W6z`ef@H~(?m`zg5jGjZ=1 z;O2jcd%qkv|1aG8$_um4(fn$-_j}^zAAoz`5;y-i-20Po^ZVl7Uxu4M6!-pC-24Y{ z?O_uu2@ufn}A zvncz#%-<6Ces|pby14g^ar2MDz3+ybe;V$6KivE)aqn-&&A$it{t?{#DY*Buar5Wm z-Y>$Zg5I6rY-21k;`6uDtpM#tKAKd$Ear1A*y&s30 z{}k^1i@5o3;NCC9&Ho1X{ukW*e{k=&T%3K5=I?@gzZY))LAduv;pTV3y*~vv|2*9L zD{=F0#JwMln?D}+ehO~>|8Vc$!Oi~^_kKBU{u0? z|IX!1h@A3YX7BG`53P$ILH-fA?{GZsyY<5T=e3?6p59?v^tpt4cMZYaH71ucBXY)Z z@2)>3@JCSoJ_wG6qch?}? zT{q$G8iTuQTzJ~mx>o7VN!%a8*U2>8T?=wKAH=Rj+`Fs%SEaw7l6Q00PPn`F!QIsu zch_OzWjEwk*zo_-uH(3O*D1KWF3RP68M`j$-dzvj?s@@t*Xy{uKE&Pid3f2}t{=H~ z*IL|NTYbGDV8d@I=g-)+V|f1WLp~gLS6AF!r{nG#fV*o@cc7IPSZ3 zz|B8Bmw!s+pU1uVqjBHuaooKx;_iI|_uW3i&G{BL=Xcy)mA)%|&-8AW#;&cy%WwFv z-L)U?yEVbhKQ5O)BJxk*-u$a@-)$7`-iL7aK7;#i|HI9hgPZdm?%&6?!_w^Q(475n zbDH4xX^s2+=iugFhMPYGH~&uD{3mepU&76wg`58oZvGFr`G4Z(mtU5>v-vyV z=I@7_-vl?mHE#Y1xcTSc=3j=JKLj`bPTc$_aPwcn&7Xyv{}FEf54ib%;^tTRK6`(2 z_Q1`li`(Z=+?-ChIel>ZT!Nc(BW})U+&=%s&6$du^A>KO&vA2B;^zE~+h>y>vUm2+ zAKQkfAD^F&A3r;B@1H-OoV!1^R%!0p-245~rMN$CkIdz~yLoBO9o+ll_N%x*ZqLJg zpC!2OvjX>>{|Ha-&?R9h{?ykDHyBdY3U8l#cR@}R*6Yj3F zayj$j^SXe0cin}%>q*>QFXQfd8+X^d@U$!a`{>m=M=eQ|g74^Ms4uB*9s*Uh-Q#^-WAk6jbEch`K}UCVHHt-;;3>Cf5M zt-Gp*r(Ng8*Ws?*yQ?nlt|M|e-^8vq+`H>S++Ek>?z#ha*TcBGo(xaBE{}UuHLx2F2LP& z74ELkjVS^)T+PmvT9O#IEVwyX$-0UH{;O;sRcUSN5{H_bQch^<8yGG@5D#xySxp&u0++7QCcP+);wHkNVKjCTDkofVi z%5T|wx~n?wt^>kTPWpbM3HR>mgS+cLxVwhp?i!7|YixMx(69kch`ZqyPAflT_fW2YQw#|PQ=}HelDk4d>vlGy}Rzi-8C6^ z*L2)nAK>m<7@l^Gj$KQ+ch_p%U6ogrzH`diId*LuUVg)W?XG6HyN<`*)eCo5Kipkc z;{NYUN8t7!7oPgpi2jdrZ~ytY|2xxVxc%4Q_TO~%#=kyy#r^fk_PF_daP#})zRw`s zU#}R6n?DXWe-du~%eeXP;pQ*F&0m3=zZN&Y%9@S8=N`EE4RG_D;pVr;?cWDCzdvsN zAl&?sxcTF7^C#ivzl@vz9&Y{;-24@|`D=0WtNc;${9pKW_dY z-29Qa`Qvc&C*kJ5jGO-+ZvGP7{1v$QYjN|d{8{k+xcLom^PA!3x5w?@2RFYzZvG(L z{E@i%<8bpQ;pV@LoBtke{u12$6}b6par3MERq+0}`3-RMo8jiS$L-$-H@`n_{vh1^ zk+}KeaPueO=D&=a{~m7s65RY1xc6&u^UJKw-rrwuKPEi={9Y@5em|ajf4%+0+-eKhXebk+}--k@dq*>QQ^M1(^f}Jt-d*!>cP-83 z922{K;oe=<)@ASPuDZCpn&Iwhi@U2+c-qxEz7G3v@2>v1yN2d+j*ndRI#>StgRQ@M>Pj~H%yQ_Y9%IO)q8guWiUbwq1#@%%t?ylQ$cRduI z`lMaYaqq5KxVt{d<@AYNOSpGerS;jnxvK{5u6nq;n&a;3jNAWI-2MZ@(>t6Q{jcWU z{*U7Je+9SyJGlKn#qGZew}1IEoBaE5C4W9^|DD29|MQ~%9^Bi%4Q~IQxc$$^?SBPs z{~_V2&y(@T%P8*M^$_l^7jiil$F6DIyK5=#uD@}2Ro*0fPj~H%yKB$z{H_DIch}*# zySnCbE{k2KaPO|6xV!Gb-Ss%`t`~84{VzQ2Dj%QM9PZt<7yYsLuA{kk*9o}0&dufA9=ir`@2-1scTK|G zH4S&y`?$M43QxO^jqmrq<=$Pt+td$e!g>86Wm?L;qE#Gch`Bi zyDkn-ebS$IT*tk;ZpYpAXf9`L?0TAecYTbz>qp#OYjJmNzG?P#>#l9W)2>oMG2lfu)k9`SYfD)+rM{Fmu}-}F}QK7HT2 zl>46CZ(1>XPv2*I-1pfpJoR}b-seE>eV>zY-{%6{_qhu9eMaKG&%?OCp1%M$e;IE6 z8r=M{n`Q6guZL`ho4*fkeq-GHmbm#{aP#}(<`2ZpAB>wn8aMwj-24}C^Jn1ZFTl-T zhMT_zH@|G9g7?SG-v>9pF>ZcK-2Po~^ZVlF55&zMjGI3iH~%r*{1_Zhm9j{Fb==yWr;c#mygxn?D#ge>86XW4QS*;O5W3&0m093pb#=X0a#@*Eech|YNyDrDwH4?Y~Sls^4gs1*{M*o+%xBn8{{;P5OSJ*mxH~Vjg z+rN5v>XZJwz7F^9YKpt7Lp~>Vb>rS$SL5y)jk{|+?ykwWyQYSxUGK)9*T2QRyB6Z^ z`YD%lNbFk0y}NeZCVPK(9f-T@2;5!AowNCrbqDUQCvbPYguCla++APb{<_eX+i(2cYU1V}h})+H?)TLlaPLpU&A$lu z{z}~ZTX65k<#|3KXQ7P$ExaQmNzn|~2* z{*}1-x8UZF$IYLNoBt|q{v6!=uW|E##m!%bo4@6b1@DiWe;{st3*7vcxPM-MQ+WDu z{+9Uh`F8I8^ZIePe_lBW_s9R)x%?+1|2^*g@qZ2OpI2_N)5hOt7u@&R5BKwGg4_QX z-2SJ8r}vo>{m(0&f4Qxc6`2_FstG|EKWO|I_HdihKL-wrlpz z_HTsSrxkAhPPq4daQpYi?LRa;_5UXNkL2F|FW~ln7q`!6xcz^?z5f%p|7JC^ceDSl z;i>;m(Z4qL_V0k(|8(3w191Bf#=XA{xBr8<{htd@{r`ymuX1nyrMUh7#_dyix9r{Q zzccRrzPSAl!R_BZJoR56{kw8+|EqEPkH+mY9=HEw-23Uc{Xf9%|802cU!h9ruV?*DrlhTFd_?)^!){rlqfzcM`auM+)-a&P~qar@80?K2;@|5v#8D{=dm z*&};5`)?nf`fn5ccjeyxN8|SIf!pU?-2Rv2-rtDZ|8Cs=Plc!c)uR7%+}r;P-2T7g z_9?e#_HOpy2KRnH{ICtB(%)ay3O^L@8lL*Mj$a=eP;fuA;C_6;{c{EP^SM8qK40O! z^O{^vjd;uk4-O)f9JE8{Azd;_m7lp5Ju=_wKq1 zch{&~&cU(kUhdsB6L;4_++9m?cdf?VwfWxJyS3UdF8#Q@6K?5rFI z-1~La33u07xtvb1>jLiGbrt@_t<8wI|$F2$7`+3dB-L(vN*Babi zo9>r=-MXu4c-oczceuN9@2t*iU z^)~LVFLF6I#jd5?yKBoj**m+d7VfTwxVu{7?rIyJ-*poA?&^!X>&jft=-4%sdv`sB zyK4sSuDQ6ozQoD;^Pd)!_B;O?qYFMCgSRma^`D?GoeA@}ZTiMy*? zE@w*Y>czdghT-lSi@R$A?yjl0yJm!^UFq+Sn#;YrzQo)74EK4xt#4{*S*}kYbNflg}A$x;_h0FyX&9u zv@89*T%~^Yp6;rSyX%1Pl(Tc}YQnv{`rz*R5ALp^xVuKu20u>u`5%abWg!>#ps>^Sf$t@2&%JcO9L} z`7CyI;ND#Wad(Zt-E}YSt|xGJO%BiRn$EquKEU1eZ7%2Q*!2_l?%KX#_Rj9w4|i7+ z++D}u?m9j^zpEGb?&^oT>$+UdPqAw__wITYch{S^yFSL<^&Rf6pTqOJ)^YEyEgEI- z?5;h+Q_h;$wJ-PX>WI7ROx#_U;O-iNyK6*v>XUxlxR-l(J%PJxS}vzt)qlT@D)R>S z?)n9HSNVgocXQXaxV!em-L+qM+LeC(YQnv{j=|k^N-n2z>^g&cca6l|^$_l^XK;7@ z4|ms_;b~Ww_;v4(xp&uhxVzToa(0bf3Z{hA*jJxY6++Ba;?keB7^gYwAC*$+lHoWBf1b6L;yQ^_7r(Wzj zjC*&Tg}dtt++D+Qcin@#>!I-cu4lM+*Z**LeVEHRD0Y3$y}K$Ll6`%;YiHbD`{M38 z1b5fr;b~X;=el&@-d#O$cMZtpw1{1UxOdlh++8o??s@}v*GIU!7Ki6|{lvYy{>I(4 zb(8=5^?YRP+9^E$eeV&tyH3E}bq4OPi*a{d5uSFXzwSAldw1P~yX)y(PW#yP0{4Di zU*PWg9d}o`rrFo6ySBmIwR3oW*S_4l>k!;s?Q=O@V^>%1-E}4IuG?{Ujl%vq20nvXr_x67l zxBr{C{XfR-{~d1szi|6kYM#BD{cD7${zIbwUfkRNINbiH;r71>xBs=c{qMl-|1fU< zm%>y3QPF=o_xArDxBox5{j0Rd-p&5iar-yG?SB|<|1ROF|AW!L2lw_Lg4=%#ZvV${ z`@ewO{{!5=U*fCq)HD5hY?(u|_wl}NfuD%`_g9>S`#x8Mr{C|>@jgSi_kEtkeV^&L z@ACof`+R}>K7Zi$uXtGY4)(7ep8CHS{cCY=|6_6c_rdMoAGiP2xc%?M{omP5z`g$% z_xHOT_xJl3?tO*Bv-k0T|56S2z7B4FQ{4L_ar3+3-k*z`e>v{`P~7~xaPKGJ=1;}F zpN*UUG4B0x-2A_A?<*Wp@cy{>b#U{W;@%&L+rJy`{kgdLm*d_K#m&D9_kIFy{#4xi z*|_;1VM9PCMM3Ubs2^aC3&@=8VD3c?>sa8g9;f+?=m) zbN@&IsI`@whoJ z;O4xJoAWtt&Pv>zGVQW=Gp8DEP95BwrnosBadXbV&AAviXE<)o1GqU8adT$l=6r&i zvkW(9J#Nmn$7b(o&YrkAO>lGChP$Va&Uyp$TpmA+g0 zb+(!D>uh_4m;7}r|9L6<=kC+5XC9jK9`V<6+mqv8m+67~>wXvJa=wT@mvQf}`;Ei> zb-(9v-+4CfJ1@X}=SAV^eWt{&<=ngLFWg;QcKE;V{B`WA7M}m>gNNbn>VmuLG~8Vm z;qJOTJnc$<{ryJn-E}wauBUQ2%VO7a-1~Wbj=Squ++CX-pZ#&|uB~u)?HHbRrT=~I z-rT$EVBB5paydW7uFl-MYY^_PTXAjvCiw}z)a z69ech_FHyY>&y?`pxlyN<=()hCy; zQ|vmMdw1Q2yX(KWyPm_{H4AswyWwfq7V&v~#=X0Kz}>Yzms2}-RqT?zzq{(=?rM#@ zt26GdQ*n2l6Q1978TanG0e9DZxts%H*CX7!>pk3EU*YariMy*z*X-TgwOM%DmHs}) zYTUbPFWgr&a7)!o9mH zoshk=yK3O>s)xI)Iqt63;b~X;{;)Im?m88B*T7s(o7i^?yf1gyIu)TyS9s;zuw{AU7zCa`X!fhLF`(?y}NchDSLl+HNxH13U^m0++8P! zr(Nmqr#+i{cU_9RYh*5GKp>2x@!mAU3J1! z&cN8!kb8G^$KBN*ch}XpyKctab!T|$lm7Q0k8tm=ayXJE5u0L^iRqdX= zr@MB=-BlNNSEKO!u2$T;s}t_7vvN7ZV%G)SyX!98T~FffdKq`u+qk>th39uI;oe;< zaCcScQTom)XL#(Y5?+48pZ>V(AlzMTad(}ByQ?qmuKwYvPx?B%ntONMjJs=mF6Xw` zHGz9~&Bxuf40qQW++CZVl6~E}t7>@KmHvM9UAcExUEEzqq6XJ*W>QG z19#WMxVxSV&+mGfdw0E!yX%Ww&iL51lzVq=*)w}*ch$n()ev`AOWa*;!_%(xb$Al@ z?&^!X>&jftQ?Y9(_wITMch?NuU2}1FeTlnkS$Nu&eqLU~y}LH;mA$jOb_q{8&%~~p z+`FqC?ylaryDq@pbrtTe>%&u@^vBm7+`H>x++8o_a;CD;^Pd)!_B;O?r@J9|%e zRma^`D?IHwJ$`+@A@}ZTiMy*?E@x)!>czdghT-lSi@R$A?yjl0yJm!^UDf0J-nrbn z>r32St8zK-#;$eTyQ_Ae?ET%<6n9q}++8Q)?&=+$cGZeq7jW;ct8jOX%H@0*yYA)Q zT{CfaEyUfm6nEEZ++F{Kr(JbpSCvz<_jFfv++7ERr<}#Hs|ok+>Vv!MKe)Sw;_e!a zyK8KC>eDE8P2k>LQ*n3A$>n?#yFTXLUF&goZFgGsp6;rNyX!#QT}{K&uI90;4fpOk z5qH=5xt!&(>k{tWbsz4o$+)|w$Zch|!3w5xUOTFSkl55v|BttOfwOD6 z|NlSKEu@6HmXH!bOPC~XacM-Rj0BNPRZBV<$wWe~lR>1kp^7w=wkcXtT7;@widL02 zMN5QgNn1+lTH;cKUR>+9*POL-p0l%e%<=s{{^#*X&dh5*>%Bhj&sux!wf8wQ=T*4A z-iPa}duw&x>T4Ug`S*pJ|ACRGI{Yu@Ka_a$pAI+wbKvHG5#0Re!_EIzxPSlo9=Q2G z7J15ljUJWPkDeyp{MQ>-t($-Uxfk60cZHk({&3?*!2P|m7P$GJ6nV;F%<`M(D@{|%4pd|dAk^WP%!{BeB%-29J(n|~|Z{M+H?e`@5Z zp6UH0-zwpkm++sJ@FyYvJ;P z{Lg}$|0R*9dLAD0zk+z@=VG||KLt1c*Wl*=Ke+jCG@*L@n*XQZ=D$beDgTi%|NV(K z|8a2h{|emvzX>=0@59aidbs)D0XP3YMV|8iLd^d$;>~}xiBTxAs9rJG|-uy3xoBsm1`7eZ<|3h%|e->{3Z@|re?Grj5zp4HkM4mr> z_k^4OFu3_24LASe;pYEUxcQ$4H~$|;p6cHm>whir*8gF+`M&@+|Np?vf6a;2d1(Gy zz|DV0xcToFdCGrm%)fzn^PdDa|1;p`|82PWUk*3_Tj1t@H{ARmjXdQ)A?E)S@#eqI zq-x#FzbD-McZQq)K5+9t9B%$!hMWKN$W#84WBy+u-u$nCoBwTa^S>8v{(pg+|4VT5 ze;aQ8>rd`{{7#SgZyI_2_}w3F{v+Y$e=OYmr@_tt8*uZV3pf9tM4swDBj&$=cTIuFgi7u@`Jg`5A7$W#8O#r%g6Z~pCY^Pdej|BK<~e>L3ve+4)H z`{CyQWaKITb7TH55O4k)Os&?<{CmUAzdzjk2gA+(NVxg8!p(nXvRz>!wxfX8xN*p7Q@`%)ck`=HCD}|1ZJKe*)b6XTZ(>T)6pP z0yqDgB2W4MD&~J1@#g;&-2DFyH~%%-s&zB}Pr%K82e|p~0XP4lk*E9@$NWbUZ~k9_ zoBsuH^S=yk{x`tQ|L2jXe1^sQQNJVJ`yNZ+`g$>^^LX^NoOpe0F}+%6ef5RwYd^TY zhQamK6nXO16n%{$USDl+eVv`tSr&brPrSZ<0oT_9aD6=v*VjvMeZ3KR@|9lyTCKfW zPkr@(>udYSlg^y=D))JIAzojfhwJNjxV}z->+2l2zAlJ7<&%6}M!ddmfa~k-oX&Tm zuf@dc>rJ@6);Y0SPkn6$*H<67zWPRumlz!_EHyxcLugOW^*V*Yj}o-+`;&?c{2G)ZZAcejm8{1L5j7!qsnrt3M8|{!F;~v*GH` zg{wawuKw+C^%ud_UjkSEdAR!Tz}4?Iqon?D_4~lp9|%{!5pMoXaP`N*)t?Dhe>PnG zxp4L8!_~hXuKpsp`b*&IKMz;`9k}}4PAREBT>U<9^#{V$Z-kqF6I}gqaP?=x)t?Pl ze=c18`Ed1bhpWE`uKp6Z`p?7Fe+RC9x0xmNhpXQQuKqx{`i*e&Z-T2o4zB)8xcal< z>d%F%KOe6C?Qr!M!PQ>^SO0mq`tQKi@Aj3F`oq=l16O|_T>VD4`8UDU9|u=|CS3j5 zaP{ZH)t?Vn|8}_gi{R=nfvf*KT>W?8>UTS}r2cUA`@q#72v@%mZvIVh^~b^0p9xog zHeCI=aP{ZI)xRCC{vx>gOW^814_E&kxcc2rE2%$R{XTH@2g22Fgqwd8T>Wuy^=HD> zpAA=kE?oWjaP@D8tG@`Y{t~$Q&%@P!2d;j%ua?vwu6`f5`UBzWH^R-o39kM)xcW2U z>d%I&KNqh4e7O3z!_{8|SAPjy{paE8zXMml+t*6!4_ChrT>XJ?^&8>l-vn2G99;dG zaP?=y)t?Jje?DCO+u`ajf~&s-uKx3I_1}T3-)&Y&{o(5OfvZ0du6`rj_$IjeW?8>UTT6r2cUA`@q#72v@%mZvIVh^~b^0 zp9xogHeCI=aP{ZI)xRCC{vx>gOW^814_E&kxcc4BD5*bO{XTH@2g22Fgqwd8T>Wuy z^=HD>pAA=kE?oWjaP@D8tG@`Y{t~$Q&%@P!2d;j%ub0#xu6`f5`UBzWH^R-o39kM) zxcW2U>d%I&KNqh4e7O3z!_{8|SAPjy{paE8zXMml+nFWxhpXQQuKqx{`i*e&Z-T2o z4zB)8xcal<>d%F%KOe6C?Qr!M!PQ>^SO0mq`tQKi@Ai$7`oq=l16O|_T>VD4`8UDU z9|u=|CS3j5aP{ZH)t?Vn|8}_gi{R=nfvf*KT>W?8>UTSgOW^812KVp0ZF_d5&gu1$?i*HKC;D{c;e9p! zowt6u`1HQqM&fB z<~g0~wrkA)TzxShH&%m1vmfQBTxAs8uQ_?yM`+zxL3{ov+*0NnhC!_B`n@|1r|%zqN`=6?~~{I7$X z&#&O-e?Q##$Kd9_3~v7KN1pPZ6!TwmPPLxqzboAQhrrEeB;5Rug&RK&ZvM02=KsCO zQ~uLq{_}`8|9j!){{-B8UWS|hJ8om;J&`EL$4|6L+a`JWQ=-<^2#Z-$$HJKTJ} z4mbbrz>WVA-288XoB!`3Px+r4^M8w!;Rk?ZvF?u&3{zn zDgSTB{9B1P|MTJIe}ZibuxU2x<71ULVu;O77D$W#8`i}}A#y!r3&t!kake_y!y z427Hjm*B=vfSdmexcQ$KdCLF$G5_xoZ~ni5oBtBH`8*3Z|2N>qzY}@N=a~4uwQlEE z>*o7~HizqLm&lXOrP0^!#OrGm-1pnG!Oin@xV|ocyC1$d@{~{Vbv5z&`Z-)*i*q_R zMqiH*udjFE`s#5(wVwLg2ClEZaDD9&dEQq8@%n0l>uW+z=eN<uX8m$yfS)-e-x|*Bfwst^Msvos-Uz=xc+>SK6P$^)(ExucP7mIv%dCw#ZXH z$=B(`>+1rzzOKsY{44spo_NRW&v1Rc1lQNwaDA=wo$9>RSC7b(uXH`Q4e|Qw3)k0y zIi21cRjxya60fi6aDANv*VjdGea(mK>xRgauk`mr?j&Ac55V>HbWW!!`g)OgeQo&N zYMu4f2d=N(;rbc^*VnMfldtsmd5$JtU&q7s^|hQ%YxH$C@%p+EuCIIG`g#PeuV>); z`VZXqg|0cbT2J%;WaOz1Gh+VR5^w&8z|FrIZvKTpZU|83&U|5F!M>ummez|Fq_ZvIVh^FJo? zluugUP9WZKnF-g|`8l1%(bq-9>+3ggeJz3O>sh$I-hk`toyb@CO8eN0s`b>@=5T%O z5_!^jJo?(5czun6>#Gf}uhZfBx&W@Piz83@q;>mh;`Q}&xV{$WbY70W9wA;|@51%f z+Ab)ecb@p*PU>EJpk9& zQ*hUZ*Wl*A#`i1rOm$fM6P5i>_sH}6)d6txZ-krwQE>A=4sQNaB2W3G{pweVcU;bc z>+8okovos;Yl(MU9)|1d1-QQc1J~D@Kd8=6eSJLg+1lxz8WJ>zS`q>9Ywspj)Uv#)SS-I(bt*8>+3qWzJ3eW*B{~fdJ?X$7a~u-PL00) zL%hD$ytG?IKUU&Wz*Lk9d6@0N2-%Ih`LzUtcC(UuVJf zbqQQw*TVJnOSry%8+r0|ZXB;a60ff(;rjYlPUnv3>pkN2)%%Cl`s-_NxV{dC>+1_} zeKkj(e5LW4OuW8MgX`-%Ii0^mUq2vTUw6Uv^;fvQo`>t}-*A1sA9?bX#;f~f)q3h{ zOSryvi#+MP9)0aayuL=m^>rd#UuVMg^>#va~Uvs0c=ZV+Xzv22?_eYgFC!J%WuZ<$l?|TQr^>sL0UtfmnYZ6>vCq|y~ zIXC(`lX!i77p|{s@;cGiO~gB1kHYo!Pq@C`gX?R(A6MtCzCIE83SV)Z-+2-AzUIL7^#i!RegfCmg2+6i1&KA+vH;LER&*1vH7p||r!1eVH zxW4`wdGeLU>pkN2wceH0I_s-foAk*9ppc>REQ zefC>+6`D&e-T{ zEb;m}7p|`#!S!_$TwlL|>+9agldm*he<5C9|A6c3ot)0sqOaBGSL?5@Ps8=~S-8Fq zgX?P)Twkq`Ctqp2+KJcK*WvoQIH&W2=<9Og^>rUyUrXWodIhepcj5Z_*wvMKCSPg1 zHi|s#6ZG{dxW4wt>D(H9?N7YE#=-UV6}Y~>3D?*6;rjYf;rjYBTwhBgPrlN9(N~Dq*Sm0i_4rBW`MmX}mHo!%k>~flgW&r5JX~L6;rf~m z*Vk7fPrlN4eUo^7eIKr`8*(}WqpzP6?|A(kuCF)Y`dab%w0hH!mt5qaL%j>PM0 zPq@B@<#djWzM6>F*Qs!QeH*T?%i;RE5w5RaM4o)@9QX6TCthEFhU@F4oK9Qx^#<|! z`s7cm_1D*~aDD9$*VmzNeSJRip{4_o`CD? zWw^fHj6C^D$JgrDRqLs*4dMFg6M52^AAR*DUSCJT^>qSVUo+wQnhn?2wk zudf^7`no5lvoQL4fOviV3$Cwj*H`PQug&55+5xVwT_aDv(mrZ`;`MbXTwllLbkcR@ z@x<%vJ8*qn4cFJt;rjX=Twf1Ho_wW!)Dy((>t(pU>TamiIq9V9%5@^opTBm4>#G5- zuO_&@#=!M;LgXo*G+r}_*Vk;gzJ8d~N!OM0iFdsI0N2;EaDBZ2*Vk${R_Cq0x<#IR zrSaOFczx{v*Vn!|opfC}gm`^TgzM{cxV|oc>+3SOzOIfu`AXyUbK>>&JGj37meWbs zmCq2buXS&#)>&WM!1dJ^uCM*z`f7+g`AXx}M7+Mn!1XmFr<1NLXA!TjYvB626RxiZ z;QD$TuCHe!PrlN4y+ORbR$EZ5v%WTsJn5wC%B_jl*XQ8+IvTF8+1}-zAl36Yd&0Gx5D*xXXJTb4-l`f$Km>VJ*TtAW|ix&w}{tQubZp&*VpcF zeGP%@Yb0D>M@OD~rQ_>(;`Mb3TwmYH>FgYRT}ZsXeht^xBXE5^1J~DbxW3+wJnw6r zTdMWc*Jf~i?Hqa1X^OrE5U;Oe;QE>d*Vin#zRrj1>!Qe0KKI1yuldC5>sGkF?$7C* z8ht%XyuRLn>uZBstM$~^)^L680@v5>ktbhQ#@8K&5U;P1aD9!>>qK8uiPzV~aD815 z*Vi3zeJzIT>ygNluQTI#Jwv>{mc#Y6*3T<-PCEBTU+YJn-}mkT*Vjue2U+O}xH# zf$M8ra!Usu8Pb$#T?S6VmjAYNaK;re6>uUg9UkAeVH8k?PuP+g=uL*E{eKn_ZO!RdY@%p*}uCKe{`g$0yuczVq zdNK0kEA0>8B3@r>|FT+VeQgza(wQ55^(J0l!{GXAf$M83Twh;<>+9^uQ$ESpg~aRY zD!9IG&*?l6eceU8zFvas>jSvH*1x@4Pkr@->udYS^S%ZUudf5)`Z_A7v&I&cbz?N~ z`Z@=$uX%8NT?g0Kui*N+JMz4*hl$tM({O$LC#Tal`uZR7`s(wmYW?-K4_se|!1eV- zxV~B<&-+6Haldp9CTK|q}J@wTS zuCIQPC!NvJ*FfU+bu3(8C&Tr17F=K7gX?QvxXcC-3-^)U2uK< z39hflBG3C;M!dfM3)ffoUsvj%bgqoPHjX^M@7))!uOs048V%Ri6u7=ljy&a)=HXey z>+5@PeO;T=xh?wo8S#$S-{AUs4X&^M!S(g=-&E(bzBY+G`FbE;r}QRXU;W|wIyk4Z zB>EaoyuN0@^>rRxUzfu5^;5XMeieE0wN>_3&Ndt;<YZhSpl{XuZ!hr-n#1vh>gT>V*aW~u`h(!c4~45g3U2%~xcal;#?OJP zKM!vF0=W7M;l?k9tG^U({BpSZb@!CiAFh5+xcc>Q^#{R?9|~806x{e}aP?=wjh_Qo ze;(ZU1#tBj!i`@HSAQwo_~mf*>wZ_Qzw76EaP@n_)vt%EKM1b=P`LV|;Ob9d%3zKM$_{0=W7M;p#7jtG^Vk{&Kkbb@!IkAFh5+xcc>Q^#{Ste<)o2QE>IA!PTDy zSAPy%{dsWp7r@nD2v>hGT>YhR^_Rodue-0L{&4ks!qu;bt3L>C{zKvFkAkZ|4X*wy zxcYP8>d%9#zW}cOLb&>i;p#7itG^tse%+#y`oq=l30J=!uKpmn`45GwKMJn?G`RY+ z;OftTt3MB}{sOrA3*qW7hO566uKsek`gQl0)E};XPq_N^aPW`)^%ua^UkF!!Flxt!_^-IH~*n<^+&FnE!OedtT>VjS^{2tr zp9NQc4qW|taP=3!)n5o#e=%JBrEv9^!_}|*LrMMN>i2}JUk_J*5ZwHS!qp!ISAQB@ z{aJAJ=fKsU2UmXqT>XV`^%uj{UkX=$Ib8j^hf3-XSHCA*{d&0igW%>r6t4a#xcbxJ z>d%6!KL@VMw<>zZ|Z9-JeS84_Ch@T>W~u`h(!+KNPP1D7gC5 z;OftUt3L;>{yez)3*hQ6gsZ<8uKrTE`peUw4_2JL}HCtUq{xcYev0br2cUAd&1SPhpRsbZvI2z>W_k} zKMk(_EV%k};OftVtG@uQ{zAC=i{a`og{!|Du72HLO6m_+zb9P%dbs+7;O0LRuKp;v z`qSX*&w{Hz2d@4+xcUp=>Mw+=zZkCmQn>od;p*4@wWR)V^?SnAuZOEY2yXsE;p&fq zt3M5{{w%oqbKvUFgR8#)uKq%}`itS}FNLeW9Ik%dqb2o+tKSo@emz|ML2&aQ3Riy= zT>WWq^=HA=p95Ea9$fteaP=3$)n5!(e<@u3<#6@u9xJIoT>Tz!KNs?-$kY3d2E_OO zj3(aCg`5KS^N+p?_x(lR&FK%1`j-&z`-^@D_w$eb2Dd&h!mZC+aO2nhTeWWHzbV}O zKNESX&lh6;{fRgKQE>BbgPYIkaPz+aZv4fOr+kLR_t#xbyzl$^Ib2_hb2`n@*CWL1 z>s`3-`|9y{wVvj=4P0M+;T{)zM4o(I7k?kEfp~p2!SyvEr_&mJO(R}k--qk#2DrZN zgzM`8xW1M|o_wX>+j^FGeZ2wK*V<21>YQ|@L|+?3o_}BNo^X8)gX`;PxW0~u>#HsD zlu!D-lGBOT*9CBWU6s?B6MbDzyyNv}xV~P3>+5Z}zSdb5U;Pk zaD5$^)43q}8cMvrro;7h4qRUs!SyvCuCE&+&-=QQczrzp*VofIor|Nd7m3%`hJUZt zSzmqN`q~|?uOV=K4U0Vax+9L)(ZuWPc(}g4meaXB`Z}9qHSlg>5K*Y?Eg>rlA9j)m)M8eCtq;QBfz@|4d#al9@fUSIR! z`ubH)=cefEZsPUzGF)GEPgU!tuMOb(+8VB}K9T2r?M}SDhQRgp#hlLV(N_!c`kD>b z*ALuVNVU*F5=JQRJ+BVJ#>gX`;WaDBZ9*VkKcebqfvsaxLH29f7~Z(?h> zzWV2M{u+JlL%hDm!1Xl)uCKG<`nnLVuOCL9_jNt-j@KPx4`vvH(Xy2!}ayI z$dj)n(btQ_>+3DJzCQk3=lT3@^tDOk`F-zxaD9z{>#GH>uc>f-&4@htO20pNHu3tp z5U#JE=5)GkS^2%2n~8V49*67eb-2Dhfa`1he^lqQzBY|K?`wPF^)&#lug08C@^u99 z`Z@)!uW!NiH4m<@>)`sjCGr)%;`!@t;`Q|~TwgEbbT*0O^&0W|+U)sio%OXdTwnXZ z^>qkbUn3$3k;o`V8^<8VT3ec(}e!hU@DrxW2v>dCKRx=xZMF`nnFTuixf$ z21H+rh}YM0xW3j}R;`=9Hi7G_H(XykN1lAW5`FDMyuJ>B>#I4Z^V#U@IO6qnK3rc{ z!u54CTwiy=^>u&b$=AQ4ug8ej*D|=i-p}bA5`C@tVzvJI+6At!!Ek*Y0oT`PxW2|m zo_xI*eVt6azRrT{>yn(#=cBJHh}YL*xW1l(>+3bRzWxW-*IF-C>Y044(Wi1g-6Zn- zzPC4AUwh|tMn_)<5U;NZaD9ChuCMdp`nnXZuPY-@zPd+WHxuu8-38azUvoO`(btp2 z>uc?otMgM|Tfz198MwX%!u2&c^5kpd=<5jL^)(ui37MKNxQOp>SW{X@(m=9j^WvaO2N|tA82X_?zMC-vzfm z55m=d60ZK6aP?RJXSJT{e;lsPtA8_G z{k!1mKL}U)sp(d)!zoLet)?7gW=|XC|vz!xcbxK>Yo8u|2(+*m%-J) z8Ls|aaP=RAtN$ci{Wsz2ul`y|{o(3w16RL4T>Zgt^FI`>eluMC>2USWfUAEVT>Z=7 z>fa1k|1P-t55m=d60ZK6aP?Pzy`=td^|yhm-yg32V7U1o3Rk}wuKskm`e(q^KM$_{ zWpMRxhO2)UT>S^(>OTor|4q31t1mC9KV1E7;Oh5>t3McS{)fWVZ-%Qs9j^WvaP`lF ztA80>{hQ(H-vw9yLAd%)!qtBhuKwz8l++)t{x)#+`@_{A3^)Hn;p#WT)t?Sm{|vbL z=fTy#46gpoaP{wktN$Qe{U_n-zX?}=^*2lE4_AL1xcdF!>JNsS|Dka8o8jtDhpT@E zT>bOl>VF6B`Q{dEr*@8yCXpxoPi|egzUWE3*B1xD zegDrfaO-md-1^Lf8$TOv{ujf||N6*N{=H)Uw-RsuPr}XrUvTsJ*uSfFGyjd?#(xTK z{=31=zajFJfA5(8p~Rd2$#C;O7j8b6z|H?!xbeS)oBw@q^IsZy%74e0|38Q~{|)|A zt*80-hMP}+xcLu;8-E1c{71vh|HQ~s{=3BdPb1#^uZEld9dPqm3^)J3!Hs_rZvJn< z&Hv;7t<*E+zgNtElgRV0AAJ^X{!MW683Q-}Hn{OKBTxCH_wUUn-uoUG!}WE2PUmyc z*R8}mE=%Fw_jm(to~yl8orn7B0e9WrJo4l#{hh`gh}YL1aD5HU=^Pb(jU--QUxDlE z0=T{|gX`-CxW0ZKdEVFWh}YK=xV~P@=^Pz>Ehk=ITfAMZzrOmy^|c>dU&G+~YKlDX zYYg%FYJ=v6cgUV`iEjmY!9R(q#fPkr@(>udYSlg_y4 zYZv16^?A6yj)&{(6u7?5f$Qrsxc3zwf~)^5T>UrT#=j4D-?hQJ)w&tK9bEl>aO3xb ztA9A$_%U$x+u+8Z23P-lxbauO)&CjX_&ee1KLj`aS-ARdz>R+&uKot^mDC@uem}VS z`@z*e9B%v=xcY5y=jUl~_0NZ^e+69qpTX6?6R!S4aP^;stN#XE{rBPOZ}5Ie{o(5O zgR8$ET>Zo0=066mej8l<)8Oi#0r$G;{>an%HZ`tq4-@Zo)8BIO>F>?HNWAOnTX5Ia zkN>Yy&(!ZZvENN1&+o_fgS)PdfLpf~xOJNfw{9~cPx+*M%h|;1>q5A`ewx!cH~PAn zc+VG)!}aw#Twfo+^|k&7)%mHfO(Rdf();tbCthCz;QDIJ>7@7PA3?mnPJ!#|TX22N zgX`-$xV~mPx3X7czs<5*Vk`zIzNuS77?$n zB>#I4Zb4~Ph9P#=(AFi(};rhB6 zuCKe`gQ?H`ktbj2y8AKW^|cJHulI90H%DJB5j)3cHG<-0=#z&rf zZ57`~aWe7xIt#9^OL97QL|<1Budl^$eLV%&*K2Tn{SU6MwbrQAGx-`2->0-mJ1 z_ayQ9T6@h(J@eF6l3|wCW;reQXdtdG-xcN_tJk?=9%>P8<&HpmE_vLPZoB!Q# z^M4p_{8N#qe2$9wEF=El?1$+*@?W^Vy02BKbJF>8)Y&-l{Qh=dxby7@xOt9->uU})+=Kl)Z{NII}|GH~e>K5u_{#(P%e;2s<4~{(L ze?rXv5aP|h4Q~Et!_EIfxcOfNH~(M4&Hp~Q`7ez;<)7;R58}=L$ioaPx11oBtTN`OkU1v`eWegPll^M3$FfLxcXPX)xQC*{zAC=OW^813s?VD zxcYVLmDC@u{&sNn`@+>91ULUCxcXz@>Q9ENKMSt@T)6sIz}3G2uKq%}`b*&IKMPm? zRk-?f-An2ZSARRW`hDT*4}zP26I}fT|*^`C_s z|0-Plx{sICAFlp(aP#jASAP)Pe460ukAbT{8Ls{;xcYP9>R$m@{|31F3*qW7fvf*4 zT>V$!>esDbQh&Jm+ricE3s-*-yl>W3I`1^W)gJ>_e==PC>2U9d-vA#?zsumq!q?uQ zT8A<4F_DL#u9^KiHSQBmAbuy}PmKK2S?nj^rxQOGeojvRn^FG);?@5F`mN|(Mf^DU z&vW`0NBv(Dul^t4=K1HG&b3izDe>yO5P7~1ZxXNmJ30MSht+#zX0k`v53Aoj@}O@W zHY46TY)!o5@+IPrp>C(ZkAt5B9}oWy`sOo_c=P!Qye~R;!Y9D*gWK=Jk>~5Mlz97n z5q>=Sufj*c--TPBoi@yZvPXVg`bVD6XMf_&=McF091b_1W8mgNe|{Pl3xt6Sm5FN7O^AKdsy;Kn}+uV);0+Nd&K`Qvf-54&;6WL5`RH1KHZ1ExFr6XT>QqpvxKw9O(pS*;Ctii zQTS)z|IF#fw^h{roA{lH-y|$9*(20#AiOu+`O_c1EAfNj`@oyw=06#3{$GzgWEGB! z__BE29OBLYr*QMX9d7=M;O74*-2C5yoB!GyhYTxqGykn3Px;4}P3w9SZ~jBz=06f{ z{>Q@2e;VBUzYRD4%i-pKYvd{a_%d1Doy42}Qn>lQ0yqD6;pV^YCe?bH|F-bYW+7=m zwhw%N_@R-f{L}G%LP`8-x%hOvUs4i(eJ(y7@AngLp3lO~^WQn0A@M%^CpN9t!T9YX zPrg#W2bRQtJ{O;SwGnTgbKv$nFQ=38{8dT(gSq&W=gTGW@8{xEo?C8KT!&pEPjyIt z|Kt$j^)&{ruM_h+vHssJiCh-zxHyf0~~IOX7!>#2;T0e`-nm z4~aL=U%;);q7t1KO5)$n#iw!HY>VPL>=b#bLz*WCmBfEB7oX3(yTrSm-wYp!{#|g_^FP5|&!2+3p1%z@|8=&kBo_7|=HD~&@YAp#xI6BXw!h4tS{v~{H2|uEQk1pXqgzriIH$@&? zgmvlRI4-vl@Adm{a`AtO@%NU*KLPjt$+J0~m!rbwhg-PmZ`YTe{J zmGD6&{0k*~atXf^?)vZu-1}XR!;i^QPV47#_!RiY+f{sp|6OOciahL>Jl?m<#jn{b z3&l(e|&&7u@_m4IhiI`pDCKNOjwrczq3n zt8+Ab8v0Y{0rjE=hwOTLt=e?UlRW~+&Vv#(;1z{i+KBe53aBE zwhx(C_95zT6nXNM>ikLK)!!Aa&i-(Zi!Z|+_nGif)cNcZ{vG%_#9svWzIt1qs^9RZ zebV~#qa7+d{2$htt>X3OLpi>4eE-tpIiBKQ$?@*JLv^$I?pW=2X7*+3w>R88XGEUA z|9@r)Ux3b6(ElBLE%=||{opUaPldl5d4@XblkVGmEKGvnFZ;I_@f$~;;?w<*txDo| z&c&zuAp=U{hveeZ>j=Y2;*ZJ2KM==vY)Sm-@cr=h1Ni>%>vH<3KKGZzKT#6@PDy=AsK{}z#_I;8ubdzQpE=HiE?`$#46r{v<(eXWa1;(wBhKPKwmTN3|REaDA;FL}NYm zwIN(zeIif3((8$RiPzUbaD5#K4_~J7ZH4Qr9j>ph!}T>EuCH6+`no^zQj_=ixM%_uo>+5{DzJ3VT z*Y)u5W%7FmTwjaf`g#Gbum8aHwcc)(dM01jR=%zKMC9Q-rLUdg`q~GsuS4J=h2-mt zaD9!3>+4LozP=0B*ENwRU+MLQn~2xfBDlUDh3o4DxW4`a*Vme16P!IlJ@wTi@|0)V z|7=6N`_H~`{T`Upnb<4zR#!Kac>RurpUJpPhwJwYxPHG4AB@iBaQ*%?^5i$|yKX05 zzl-4d{d-QQtyhQLy61`4?+0-Gt{*NEvPT#f{q}_GcW1bM_krv8bCD;%Y2WyH;`KWg zuHRE~I;ZpsS=ZH_PP~490N3wN;QGA{uHSp%`h61qS;qY>xcl36!;1>pBh?|z^Bp74 z?}rEG;?q1iswDpSTzsnY*~FXY<#6--SxzVI+y7V+|4c4E^;t^waB-lZkhpoDFx~yAbX?xeD$)xdraJcQ;&LPr~)}DqLS5+r9Jr zNv~I~7kQ|&zIwy;)gP{}!Ek*Y0oPX>{3}^%>Ad!x$kX_ydH#bE{u6Yh z*VotJ`uY}JU-RJlS_s$ILvVdP7kTn^R<90Qb*~VwuQkKTEPI5y>1$)SzP5wws~=on z2f+1pBs?t1={RbI8$Ss?iTE?%li`=ZzX87%?)mYT@Uw`&4}La$Df}Gxa`x4-e>!yBBxcd9S)gJ~||7f`SQ{n1g09XGqxca|>hf`&$=iTtIq$U0s-1w*A#_tpk zw(Jr953d)T+bjDod(=lBj_YtMH|Y<7kA)A->D=2ZsMOVsBwn5I@S*5T$>}_^Rz>Gz z;?+5I-;jAV|Ma@mnUUx7|2}*?{a&8aS<AV?ro+VzLPwZF8 zKjf*-CnFC(4daq@wk2Mj&%@O@rbK5f@#3==P)9aE~Mjq-jGZRbe)no9(;o}bM+;7rBhTlvMnfe&@NbdN`jLm9hWc+D=g+3ZpHFh`q~ei{6`#IOFj?3?Tne1(!Hoo!3_;1Ygp3I82@F8cqBJoFywmX7y-6Yp`l z?m^W&J>EBrJn0OH_1}Vcb$aFEhsF3EOXBx~e~ULS^MDX_^Pvhv zhw=Iid~Nu)jn#hTpM}pNegxe3DR5smoDJ`b&gF2gr*4FYty4N47s1te3a-v;aCN#J zQuV7&FSt6p!qsVnt1}v|&J?&hv*GGo4p-+!xH^mA>O2Kk=QX%G-NL3edxZ5+onCNt zc7?0c2v=t`T%9R!*WuZ4buNdib0b`xMR0YVf~)fyT%B%VGgnj}xH`MSt)*u1*77omRN{oC;TG4qTm|!ma<}68=mHf4hYDIIQYd z{a)}3vyim@41~MiIHH7)hr8eS4cvYoE8(w~@U;&w&i_cb`;D)_kHOd6$b*{ukV}c* ziTDNZ@$lPnI%yxWka%^TfFFm>t8n$-hxa9Zov>Mt$KxpYCUE`sjXbo{?;gaP=TNx$ zjL7LEzh5F=oo|%zb8|W~;yz(+N&IDS{ay#x@2_+EGo$|Ri8s&3;re|hr}MR_^Ahpu zEYHQC8ROqBiC^Q0;&I#(?znFcw+{VE_-9M_>F{-!KWD+~;R_;9^XIwf>zBk^hr1)s z|9y`?5I+w6N8lI1m%%TFcOMZlsa}Wn*tX-_x{V_b=W+AdI`VuzI}vX_19SSDMg76V zt3LwneYP*=base3EySyHLge{8Pa@tt=b;}wr^k%1+_&1s*FvbU8;k}uOAAn96oWw_#aP`ASC8T)sbi7hML!Rk*bzjwZ^hklwTAp&y4!UTYu}Lepl+SA^Fr=hs$Hfp$;d6 z|Kj6H_(b>}aR366Ke1D#VP5Acxba)Ye!}=RXN}T4u|6lltM&~C3P}5kptBgA<`^IN1MrjJ z55mub{{em#Twf2uU4Nd2dp>#{{t)_WWovSHggpNU-x99Qr{U@hf~zweuFg2P=f~M_ z=kw!m@2iBpS$Kr}|3v;9!tHklxc$bVp&m%{}omc7n9`b(# zeb)`S=STS=p$OR{=qy3!iyd@jejNOXthVXA?>hDubb1r-`sTXvSK{T5!o6N_f0g!K zA^*P-ug;$EUgYCG-1sMmm;b$lKLz)?@)`IS==Vvu>*{lG*QI~JU6-DRyDq%||G%tD z%g}LMdJ*or^b*{4>1DX=j>(W2rTeA+RvkP3E1L5k7gsU?F z?tWt)-1+bt+;wTQEa&hD^Z8Zs-yUwi`@rot-qz~SvEMHc@46JOal#|?>$-G2+;wRR z+;wS4he}1qJl)@#r`HRwWtwR{aepEoj=sF?{Ov`Y(#*^fe?i+-B-bTms#j)_C(SHZ-dBJ$s2f6FR zyXbhGW&Ex5Yo7O(@TcLf*Zee3E!rK_bTC^f?Lnt@NLOwd$@Jz12@kd;MRFZxOLtMZrwf&SEp=0zjH~v z+;w0V;`ha`_xa6dSK{@%TM6%9!UvS_-QivFyJtzfyv*-syWn>(^qnVr!>z+UC467_ zuJr4?Ism>O@hx!o&+Txpr%r*p?>!yvzV}?X=Zo|@U^ssFCm-u6H~-HPua4(C?^}Al zb6h;%9ZsH}@6!FZkf-@OE`!L&d36BX^>#4a^Sj*pt8%Z44@Ae~Xb9Z#gH5 zf;=6UHOQwc<1!MR|I4^Ep))Avzp8QhJn@dpk?^jJ%bTH-_;6hQ3!fT)9?%!ip8-D# zeh%C^UjY9i@fX9t1iu`9H2fO)F>vRPuY-Ro#)tF2-1Fv_Go3VloL8aFiT8>+tD0BM zxr*JHByl!y9b(J{WYBz_$6NiXDc9K0(! zM*e+J`Bt6M=&_q_rdS6CGpcrcsC?^W$nWwptU=`s{A)7 zejRukqku+-|FTEm-8#Oi{5LCp9r(KO>+p1W{5tS-ECjSL{FglfPqhl)KNbGV9)WMz z@m2gU7|kAmZ`AQs<-cC=PrwJk)3FnNJQ}_U@w4EY!Y_w!244tIYjXJUQ}A>R*wHK` zo;||TmK|SJ{_6!#dx`LqLGZNa34Am>y*3*7EO^>`1Rh?~43F@%X8byQzYyLlfcOZn z*@Z`V`c%hPmH(E(w}r10=UDjhcJOd*5*~r~?)a+mU)nPSzCAo0gMp`WYxr@R!-1zg zbKn=CAAXh|--oBQDEw?8JjDM!e!mDF;?o>m1`qKU#!0sv9^$u%;){>vU4$MFxb;os$PbJP>ueE&#t{V#v@n^(M@tHaP^T^MG2c6-4DmvG}gU)jshX3p8 zZiR>VYhwJP@N^F(#J>ek*EoT19#2j|HT=6SzOb`bj^7sfF*&~5j+J~`;US-eJ7oW5 zk8|K5@&`v$;;+o{S0cX$zH5g<<-Z5vLI1fp*_Xk0BYrtN#4n5S-PfrEg)GvwZ6G_t z(`%Z64}%W~AU-C-(>>wvqjTYVq~PrNd+;5z?_Y`e+yvi~_&>t;g1-*m8{VT^<(uFu zy;c>-Zt#67Aszqk4G;Oe6Z2_;r#*9M&<;=6)Pc{1?;k*X+yYPc3c`=>gol3rw^OCT zqwql$)bamY@B`qh#m!Lg8+2BWlYJ}rVB)ujhxoN({2=&cl2{JJrIEPM#@XTlrc zSHeFBzXyI0{5kl+@HOK3B=~KF_l6$=9|9i=KNKE(t^euD568oY5q}Q+Q1~_Q!{GP9 z4~H*<4~MVQz4A@)bp(7z_z3vH@bubB`0;pn6Y=N3KM(&lJk(+1ScjY7M-smTp58kV ze*7=^QN(Zj@ya*B*B9Xf;OU-N_;C~bXyV)9$H3>pN5OA_r`MRmkC(ukiT@XTH2i&d zsL#H!KAW#!2@1Yih~Eo-Ec__=82AkMSop>8R`_l3aq!>5L!N_To=?G#BmPBrh#w#0 z*NFSC;A=ebz2Ot!L*U25$HGs5p9!A`zY;zPeh+*y{5kj(_!@CP81kPA-w{3yelWZZ zJ`p}0elENnejWTo_yh3tnq&C!EAW$v?-BQ*A^#ch-Qek-dHC^g_)Oxb!oLE)0Dda` zCirRaKf=EXe;xicc#n7;6Y`%0-wl2`d~bM|hZEyGJO+LS@u$MS4!<0JCVV0M8}R4g zXTjHq`}C0i+3?=*bKnQVXT!(CzX?AFJ_mjc{9O2b@bloy;NOC;6K_U@{LhE)2)_V+ zF#Ox_@$m1!&w+mzehqvs{66^i;LG3_!q?fP@=eJ9BKVH*i{S^uzYiY|{{j3Q_$Bab z;FrShgU^F6gZ~h|&Zd=bLjIS*cZ6RKKN$Wa_;~n_;pf1wfL{Z@5`G{2D)=(^eE2$> zRlW)NUk%?8ehvI!_)p;D;n%{?f&UbK4g5Ozeemny%iuS_*V(-CP00U7_>S}~82(H6c=+w`bKt*%Ujx4b zejof!_@Cfm-JTKG?bqSICVt~jR=x?oeghu>UkGo4{}w(99{Rl?_B#uH7x9zM%SBC? z)No0oA+v(azg9m;q7gW z**7tphK6hmNA_=?kaIFLWZX$-&x2aqhqO)~Q`qC)jR&?&oOo=@m=m&;MhqRfTW-`3 ztH?DDZ)+XXI<|H4nATOq?bUer)VB7)6DF@Brc-JqaVvY+{lJM+CU=a?abw0bx6T;T zI<>tyJ31z|hIziK_?3ovug{%0xv6z}`)*n1MPsny=l_TLuh3X!?N>ytsthZFx=@0G z*be*onsuHs*@2xMxQ$~cG#s{fbMtYNPi*cu(wdv6woREdrM#qGP}}Z*D*tj596urD^0^yM33z_2s%yb zY#Ho7sby-mHneAj?-;xKe#f>=nA$R-t#N4f{m8wu0yPYnK4Ioc`K0NTHD9s#H#LXB$VPQQ zZd6wloL|{$DE{74PnFRcRO+NglQ+XHct&F2#7mmv8@wZ+glq) z2AKo7gy?nHi7c40s)_3RQD@>u450PS{D<2oxgiA|uag*K0 zOl)oG*mQX~eYAPHdt2-D*7i7OV$L1QXV{>Q7~0ev7O8#(heW^TBRftT*`hMN^~28{ z*-0_RPsp~$1w)k`94kV)CRq`w*16X9^?NrT+I(DVdvnv&=4{J1WlT$U7R=AOk?ngm zXM4r=wkfAH4lh4LW~axKvRdulJR&=fWLtxVmDi9O-Q`Y~A&(KqX4fsPtsm*UmYup* zoU1x!l?%vToa4e0xm)wdY;7FVUO&CPapZy7xh{9!%TU>=u3xtK;p(UP#L3eq95=aj zY&M%ZpZ>B*b$sU{jcgx#(n?{~v*e1&x#zekZ6~+1jcpt;v~)lk4sUACE)?49_h@UK zH07k$>>6iWYg^c@H;&w+xnV%Z9;|cs9nmZ1LApZBhO@krhP}fTQhVEpW3oE+Z$6~s z)S7JrP8yM&*M~PX51D#+HWyavCLP_S!fC_RzjgB1{Dfq6_|W$CduB5{Tq|aiJKK+D z8^!j{>RQ`NMg? zIV>|>KKU1&Ge5fC9$D416beS}Bb@*1>%$UN*{iH9>E@eighY0YW|ejl?*=QOjF!l?WdQV zPUbzFQ~GmGDOv+Nw_4T0H=xFaFQ?pTwX5$~?ZWVc)vjL`R=dt>X>dPei7ReYwyssu zaaAf@*Xl!23)eLk*OH!h&yMYEft=pj+|r&ccw_TBrvc$?(>P*y=jIKEcbr{TIu~W@ zV&znHc(&4ZK2K!l-03H07qNMzOla@iLYv)FXqh~=x$%%};~3WQ_UwK_$6}Z*zwIYx zHzJ!SPB@`8EW+72xLb|l`bs1vS*7Mw$4=# z!&GZRE8@fQRJh2jxa=R>Flkt}#c3Fk-8srO3(a9nR!V^Au}6MLH20_aPi{TAx{qDO zuEkBufR4jBTNtv#m<>xhOCVo#B$W@=iYu6GBNPtxjvlhwWTx{IJ>0eK@{TAQoI|rM zMeCRonkTkSZkUwawO^@zT^8H@*w*7FOkU}OU={Tx=8rEl(iQCuKaH}Pa;n1p|qQq8lQB!DeK)5)| z*DSkY9MG}%nmnO>Ld(SLCfL}@8Z%*BR*86bx@A?xtW1-zEN46B?5vk9E_*bO$Zqkh zG`#hD)VN9Cb8NhR>sa;E-h3t9-8+`b#zS%oZnhxg_emYQl8#$O9XIfX9a|p`pU#3= zMY1hVv6Z)(Vbk{!byu+&Ua@d?T<>>2W2XHc@zm8=&d*R?CEz6yStE+3cm6NT-9kP|Rc%|1A zSc`Ki)y;U97vN%rF0Hz`rqz`Q3m;*rJ)n8ykb*;|OB3;Z zl{9;8Vn8h`X=k~HhU)SeG}C6kdVVRN;HBGxl0&rCg}r_^_JJL@Tq=9Pbmq$zt$xk% z=3R5ki8C5IR_ZL@bV4XU_hm*qPC~hZd6nDSf~_BiQ)w~6AsNnldrfMY(VSjCT5+M5 zy^uAdandU9#MWB2y;kfJLd{m%JNM7-;7w{dp>^dG_=;OYi_@Tp{(e&mVHrpC9uAhjnUA8ozY7Bgvt=4#iD!}%Pok- zSFwc$VXkFEZo$g#nq*ta>Q=pD_?lbBj?G?^nLcG)eqWQ#z;LIf^C(s>SUWFryEQbp z$mO%Byik#oVWsLEpEhDe%afOG#jRGnVw}J2)}?y6Qu*GjY!ZF=BGoye?5#oBA&?y; zD;>w#Es?TyX!y{aNTv~Gva`b;D_-yE;#$*Lj1z0vkrga3SpKE6$4b;XdVu7&|1p z$5wtu98h*fT&b^G&cH)Mhhai@D#S|X;57BikM7(c6;!*+ZF9>(=S8%7mo(R7!CI8r zDm>_OEju6S;bfKUu6(3-ZkoBnC`-1S+wfML$71W$5Z(@lrIpSPNb%j zEv)@^E7}oPu3N(UiYtpq_5%CVQ)*m2vb+1yLv{@uZX2a>$p*IbA>Wn5tK&kdGA~PY zRyuS#mJSZ}m2N)d51lSAVu*&5ORlJ$kH?yJ=~dy%ed}b_d#brpX@35BRhLVwbhNW2 zHb2@cPs-}O(vFLs&bG5xk3PaA$zJWx*05}A6BU!)k3L7L1?+U%UrF%8CQIc#i`K70 z;=mPezvx`{@Fs_F#p7!lxyE4w8Lm<*XS!9~2^i8eW@0!mRHMgC9NRu_YIEhLO?XW$ zzdgtc&8pRqU9)AQQQ2lzkJqq{c6~Rp;>J=O%B*oG zE33FA-;m9Na5nDLGP_pqLdjywT*W(nFCx3XuT-Gs0;m@DpxGNvRur^DEG$ad61qoQ z_G0LiNzE-|#$=aKE8fqNy*d84hP_goRlGdbFubWbyIROzfXG(Lz0z_LewidJEPdOi zWN)x*WHkRH>! z%2Q`0Y4JM{C6Sd&*!ud)Tgn^S+Ojv;Wk*KGujYg@j_jz^NQeU6@c~A;B%bHu-+FDMD3(Sf#h4(K`>^tNO z*(4noN?TI;PU)=FCcL+x<5x*0Oqsmu4w{dfk^Op8YuofGle5?R+D~adX}7w**&F}D zi&k}gv-cph_C4sZ&+jt5J$uV}RB9dHJg%)}Qfpn`A9@^sRiwytD*gw1?|J;wQ_%lEYiOT-=h*rCY7Onv@BEtoKeC*X z@AO>e|DFQ>;ZJ>~cImmS{T~b3hrgGa+NI~R_D>YFf4+wNmld>sp@#PVDrg@xQ{L&h zEdRR9Yj{}y7qjnEyYyVvKK>cG6@QB|tY6{p?xuF>xvc$G1^vHNL;pJ#v=4uBE%lq8 z%laQs&_4VfU&D{fE!JP3_Wi zS^Mh>+V4?A{cbC0-%vyQdkWfru7>u1ENDNvhW25v6du+;d=5{lTY4_5-*W}+$JEgN zm4f`I*U&zEW^s79e!iA{pYl%6W%;MSQEvO!YiQpi%QZY~e_9RsZ&lEKd8U{0PS0ie z$3G9*ssA@>Xg{E!|2J!BKd7L6I47pO({ow=!wTB}yN32h6}10P4eiGkv_CszDev@L zmjBd(_UF{l{?yps<8O8i?awUe|C=?mzo4M~oEq9+8rz%y%o^HXS8uCw{IpF*We>*<; zPS0ij+Y9_(S3~<*1?}IfA^&p=+P_~z`-=rv1?e6DuNJ3W`>zg0o|yK88_V?q0HPbT%7 zp3C|lP|!Yno_%VUp3B+~DrkRi4ef^&v=5(!k@`)~W&Ix&13dm$tHJ;1g8moR(Er4O z_7Bw1envt22Wx15Wp;(f2yJVO$F^& zuVMV}C}{uJ8v4Jlp#7sYv|m!tKJ1AjUh!O3|ECJtf2;=ouN1UjqlWfx6|{e*hWyj# zleqqdJ$+aG_gFJqth0yh!{^L*wf$DHz4L#~8vLivQL+DJHT1t*LH;k+(0<>7_Ak}Y z{@{Z4FW1n%si1zZ)X@Hzg8swj*LQXN#uv1IwTAZTb7~y_wQ3muQw#ckqlW&^DX3rg z9QUsJzo4N1wQI=#(t`Hk^UAy0|1|~qhtEgvYWtfC`VZICU2T6yLHqEz43>(7snu|25>lb3y;%^MJeRe?US1;dAD@+I~<$`|dTgA6Afm_#F4H z_TN;{fA}2ruC^at(0}+`^{%!bU(kQJC)U;W?FIdBSVQ|$3;GYA=ib%+&nf7Cy&C54 z1qJrfA<>v-&W9n_?-H#=6_E?`;XVq{~rtT zU%!U->GRm!KW<$^{?8TUzfBG8UoU9itA_UP75Lwv2LEfUz4G~^cMbjbi0xhf`_#}r zeZHOb5BIdYI)8c>^uI$5?RPHlzf%qE)93J+|EFtcKcpc4ooi@6tRVkgYiNH|LH|8! zm_MTn+V`)a|M3O+hu0*!I{xhi?RT%C{j7rg_pG6P`us%4f3F(a&n?J*?;6@)UXcGj zHMGB`p#8ozw7;n!|NUxce@8+4{cC7{UqSoN*3f=Qf&cKDR#)fW69w%LsGmd z(EgPI{|DC4{;h)cLuzQhMqK!v|J`f2{^}9i`}*C6HLO3q3;GYAE8o@e+pVDgjcRB= zq@e$kYVbe2pndr0+OFn*OhNnbx#(SOKR&jPPaUtHj;*2n)Pnv$S3~<#3;GYAZ{OAY z&n)PFL=EjPDCmED4ec*3=)bv!_E#44e|!z?uPf+(bPerqE9ie>4eb{e^gpqN`Tsyc z`x9zt|7bz`H4EDJ%C@=LVU=!|R5rcY|IfwtkH^m!Nf@Z$A)P7K(6j^!h)%n|w&tfj}KYT&u0_3KcaPS{K4=V5fz>I~Eweks^ zQ33nr`pf&@Kl^z{|M~VeSNczN4*frr#pe5;lCh%x_l^C>k6m1mMZW*=*^@=>4~y+L zSkbcbMZSIb48x-KqhkB5KBWD*+0TpoZ(iX4kt{ave||~-r^No7KcxR3mGr+`LH~a) z=>MLQ{vVC~hw=51ALggB9~RYb)2~+|!|~xG-#)yjrl|ek*gil0`S#mpjf>hh#rB`D z^X%(<`-4l`kB{xQ`;hjNO4`qf?LVGtA9D2(eovri{v2E|eotf#^YiB$CH-F<`#;#u zvaj?0=a;m9Dz^Wy@q3`8efKjfJvDtu|M!;oA07RVj_t$x@l^J8-v8?*{g00Q`&o%W zD(^r2PS>E^4;IG$uL+H^N9g~V>^a~6o*BOBr#__ru*?+s zzp23gvV#6^Eb0G-*#9>^r2q7u#{Br-7yBO_+Xw&Q_owppf25@U0cT}D$R3Av{9paA zLaX1W_oU?e-|^PU_#YfYL;tU2U+4P|uPGMQ|BTrG;nl7>zRLIi|JeHy_^OKQ|C_u# z2#Y2vDgx>wq6QZXg36`_HT9{WsGxB{qJTx~5;fRVMX@2uYmAKxm8w;=wBn9C?h#O^ zYgE+W*0@xIp*1eGsiOS9XXebkbMKv#2e|b2>A&v-nYrIHGv~~iGiSEDd}liAK^cZ`P=qGjH3L9 z2>kQ!(*+LnYosF)Hr^nC|6E7?>HfJW|Dy!{yEFd-vhY7#;J=Xhr#U~hKiz*8<$txn z|6JzJpYipjh}QqN0{;$2{ptRnDE}7({#P>pZ2s#TA^&{NU+PP)BT@Ok667!B1JDZ2 zPx_<#C!+EXgqZ`5&EGy`{``4oE+syH9Dw{T`>kaD_WGC3ucQ1Q7WjY1{O|BN>j=qe z|7e=x;y;`D+x~;jZ=?J_68PVCzt;3eHZ#Pd{NEG!dsH#}7O1~^{!HheQU04?pPR~z z`mcruH2?ECzX_u4-xK*=^5#9ba|1BN- zs|EfyF#n^o@IOc3pJM)L&QJY+D+m8Zf&W*`KU@EQRNz0&QUAUU{@uE{^(2zy_TN+BKi9#3TL=GB1^$0t$NEnd_%C$u@9*IM z2Z4XfI@W)#z<;@e|8@@kF9`fcEz+9KHhwP`__sLtZ|~smb$8oeIrBfjG(3mV_WwrU z-@*Lt{vgLqYy|4*d;s$e-%rwx0``e|Z-EeUabQev6oY1?L|I zb(A>xpDOTwo%s)n@JA7$U!9OYj~*7pFI)e+M3BGtV{!W%;*kGcfq#nmj}1v1pMS0t z_?Iw$d;PSBga0-?-R*Y<^WQiN|8s@>7jXWaBKf2GKMVO??O);0-!O;#j|u$$ypHYn zkifs%!GDB<{~Ce+V&>~|2X7#>2H`r z{{0;CFBABm%KXRJ!XmC~6@ZHc{?i=%4{-4BiUUrnQ`CMQWd0{d7)CC=T;zAve=hSc z=M3b3f9BwSnZUo_lRD$9psFfHvf95(1^(?%YWr#6#KfP@>M-3_KeMjbw$NSwdCY$g zPHzIPj=A*uAit~rGaKXfd$5E5nF9aUnSZwV%c%nYh0Nd7lj=Xl!T%|NfBQP}e@x)N z+`<1)2mfB!-~k-7zwV7%)4Teb){&_G3y|NX{}zY-$2s^95%>>d{ySvhKSdZ!T%Ts|04zd?=$}svb5i!0{__#`#H|Rf40EClwOvAABKm} zFWP@z6Y?L*`LoTxngsb5IrMjeL;fDP!NS#k)q?z#*8UwM0{=$lpKbhJDDd|d$Nk4-2men5{yi7#mOd}i;E_x3Zvy`k=5LSRQyu)L;09l6 zlj!{6lBJr{S$1O~9_2p?`Ca;-%?}WjaDE!Ue(vBuU*P{Q<{!0xlGXlwD&$W-ttHJi zfBi&|e-X=H!OTehQ(f|J?$+OV%s-p|yb<|b`s@9)wjbMnpXT7dLg4>9=D&xnEX1Sj z_maTB#KHdz2mhV6aM%Ai<{uq@qwTjn^1JGvcJQxs@SiI1|D5?}yMLfU;9ue3f3}1F zB7uL&Gg{NPXVL$C0{?2}Z|@(`J7J^q-;V_TZ?7Z&_XPfp4*usl`1jh<-Tt$e>G~g< zrTzuT?`r@2XX5^|+QI)Ef&c5wf9ov#n}z&ea{kp>^1mv`KaAyX=ltY9&UeVa13Eb1 znE!2|m*wGS+FxDZk4DXv=k-T^m;Q>E#q~GC!GD^-znES&gkP!p8~hhBulceURe-aA>Dl>x z!T&M`|MLa@Rm?w||2tRUpLX!S+`<1vf&Z1vKil~G7lD6;gMWjA{}%n+`fpVFgDcj>>{!T(AJ|B(X!)yzNJ{A*8ve}jYn)eiob2>kog%i8eE*8eXS_%Cqq|DA*X zg986F^FKYL{kZ?WN8sPc{Hr-X`MTmFe zbZ!4u3jE6*{BLydKYAN?`yI>tvyJ~pAiqohvzfm=e%$2Xe~rNZa^|0H{QpeIe?8~V zHvX>`f6hNBlv~%;hE@vld(Ub6H*%8xZgt2%IOW#gVay-L6QLi92>ohO?))ck z{%qsVg~;#He{YBUcR1v~PvCzZ^DhcX8}}b~3H(c#zwJNna`69B;D0^y-#NlRs=v+q zyY;t>^Jm+?EJS{n{wf^$yT>8_$pZh+n7`?NrWz5)-9r+)E{I2@vKOgsBk2&~1Bk+H19r-^c z@J~7TKjGlN&j5G*+nIkh|2G`@UG*R4;NR%re}cfjCx3t;+xT;>kbg_gpKbh^Bgj9_ zA^#GG{O=3=%b0(3{(&Mwzb$Zs7h%!$=aHO$WGJ;xYeSnLe;$C+NXMMU^4tFZ8HfB6 z1^$;ae{`?VFT%zv7x>S0@L%rWf0e+0A@d&^;vOIWo)z+c$oaF4KTiwtFL$*6a}N1? zV1njqzm4f-&-i6)|8gOJKhB?R{5TT%UG3lEkpD%8{I>}F4`u!!hknua|4hhV#rff$ zLceJK)q?yT4*6ep$UhnbluQ3}nSVC_F*Z!-UE{-*~PST6ZL;{4hCXBXsm$=~Xb|09R|;{^WQUe%UX6tWgA zs}0Q%^6$*~qy3-iYX7PQ`Mnq8{&ST>{wDVU*Esl}C-6U<`EQ(s|8qkA zN$Z%u01HIYX|(^G&iPNt!oNH6yXwD?>tD_JN&n5sdVd!9r(V(i%kDn~4*t&x{O@A^JA}B$$KPiJ{^K0{H*xT9WByV7H#7f*5&lvA zeeSP>sTHh1tJF7SVa`D1z& z`bGH<75Fb;{&xFs>EJ(+`A7Bdt<;=SA?|_yHE_AWzu8g$tsMM+E$~kRKfhC^RK8pUkUP8 zbAIE0O*NwOeUkJ@iZ7XF4^Z^K`!+rZu;2me71{)Y?vhpi+3F#`W42mcZW{|g2FrR&K5 zR|5Z52mjq2{BL9a#?Fia)69Q>0XXF8fNC>>?&JKCWZr3+a805rL12`EUu9~hYnSgAwz}_-(z=* zR&>9pY|PJcbAl3cynXz3wRu)xzmotrnEUgzfBfBMFUCLb6Z~o8IPJmyo#V70`YFfTIs6Ra=N$h6;g=kzy|=G8PWxaT z9RD{$+E>Cq?;HG~JsygGi$C9Sd@TX!KNRF3q`3~o$>-Ca0L7CW(mJ9m$MZR)b#Hf$ z(;Ae%144OdJ-9K)X>C@>aat!4eN%+AW}$d54rvXs1;=SV-<#uGA?(9(n&b`+X>;$9H;ScSB}%zv>V51oEXe; z^4XMc2*RNp-vc4}GQ#&lNWP8YisMIfSkB=w2#@9X zaU34cA-((g1ddNaSi$iVIXsEO$q1)#d@90|IsS8m(>Q(#!c#f^3xua}{B(q8aQsY! zl^j0{;n^HN2VoV*r*n8N!e4T{8sV=vejdW}Ier1c863Y5;YA#uiSS~M{~BQp$7gX^ zi|`VTUy5)x$1@0j!|^(VmvOwF!^;u=mg5Zwui*HV9A1U+YL3rA_&bhYgK#d#e~<85 zj$eoHdXE2r!y6FZ$nkjyZ{qmP9R3mEe2)JK;h#Bv3&I5)zZKza9KRjm9UQ-t!@D@V z8{tBZ--Ga8j^BsyevUtY@Ij70gm4kZALj584j<+4F@%qE{0R=9MA*pjrw}gY_!5Lm zIsP=lXE?qL;c|}u1>v(Ce-7dE9Df1fiyVImVH3w+M)(THU*&KGhp%z?I>I+N-pt`j z4&UVPEe_vC_zuV48h2vcj=5xFoLi#2vrRjl?zOPDg`c5i^^u1I1W+}z#+oSaTP>OGg zkiG>d0%Li(N|#p%0(^ldu*<%58{x%-&ex%!3cNfIDJ=-@(x8v z-?*dro(SoCbrh%X&e6ByC_aKi`W760&y6tpE*pJYjpFo;v{H_bMo8ZrBb>e+M&JLU zco{nprp$yLjPMYSk3l$=%96uJ}aU4IM!-*W8fRMhmM0_d`p2%_f{uN=95z@D;C_a@#`nJ^1IZoesI)&q> zBK!r%>H9~N=X4IwKuGUjC#(|TSsXtb;W-?q_q$K$__+vw$?MI;&?5>OE`Wh!r2_pAp8x->kwYX@p=v~NBCQgHz2%%<5wcQ zisM&vI0xbHIDQR>a}oZYl*7jm zKF;wc5I)KAMubmsd@;f$9AC=e(+Hp8_%aTcBm4`;pGEi_$Dc>|0>@wE@Fj#z9Df<% zD;$3n;R=qw#^LJ--{5#N!j&9i3A9DkR?zanhm_QSIZm5eIrJZWliu;4;CLRwB*(jO*cD+u$Gaiy&hZ``_C&Z5$2Ue;!0|$a zn{b?#*qd>@7sAasz6FO{BJ9oatq}I%cwY|tA>5kd+iy*b>6!+jB!a(pzx{W!iqhX)`mGNeC-Aej>t?I6fKS6pquk z4aojZM)-4%Pvh_x2v6hq=?Krj{|V{L-;PYztnQu8%xFz#rnjW)%39Mkjrr-!vR0Ji z@pWnFIysjpc8cV}5HdlRlX=}FYC9sGS)$5{qy)EkX*G>uezrWBW>aRmW@+!^CN629 zI-m-Ls6q#-&<-~3>5*j}Rhy;jCeRg7Ul6+di_Sy!9)?WIk*RS?x-M_~VpWN<*1?TP zhW~{KK&7BDT|X{gT`FPh@*3;L6%!?+0$lB)uPDG(iN2x$S3~s`1-KffuPDIPD1Ai% z*fl7Xk^ro-5YKd7LxXM}2xy`Zd0aIWlFq1*t}FSPLb{&D*A&uq1z%H$>xP*@sT?JA zc7Sq}6jG}4s@AfF1AE_i8Y9h{DQihDD{Dq^9x^whom$Q*SH;xNRaT|z&QY}WGwIA5 zY>CKGn66peJ6*SFx^67Eya+~XUrA@mn$q?7PigfP!16q=)F1tx7U& z=`fg$+w$vRxvITmonTpMF$>+gtW+HlQ{l@>)h@V>;#@^{m}RBIg6Jp{MYjr>^|I1( z+Nq|z>1CxAezIky)2w)<6|WBBGiOp9Kb?K%Y<*=e$u{VxsId;VY~~_OHpv^qm&?PK zP2tOC`!d#@PcHbh@$-UBX0{-e;$G*aYa6F;o37u8@;!1H;q_{ZI$ggvL9O&hCoNP# z&|7~*w-NFh%18J%+hKZ~jm#w>1H0~sv?g8W8+rqK7&w@ea;((Ep;pM0tyxyqK@|t< zk!5RU3?mWd!eO^^@cw=o7WbH`THziO~{`8ky-|Qo_2@Q9a7OR2A&Vj2qQpxY4*m<)Hs+zd?C)hT?dd{BRm=ON@m_ zDM+Tq6k9CCh-(fJqgEPtp^m@{A!@u3qQ(m$I*bgAN?cYtYS0Th8n^Ah4~2|6;7%q4 zjZSaROjwQ5Ag-|m9U6_5hlz{p%2o&ZRu$7jMx?&&)_7b@*7{7@$2myeTvtxxYO~$5 zhA)}1(aaeidsSWOM8|7OE}|;VYAl#_t*&ZwU1_oEN65Aq9n$Ya1rK@!Pc+taq^gdt z>DX@iR8?|)8oddON{ee6bC4~w_=)aRPUa=<8R)k)Gg{Y9?-dm!v$(AbuvS&~W(@sp zTXISDX#RV)e=euZTrtb zsJGL9>eQxbbY@g6Q=6hv>T8P;JOQSt9XDV79KsBr!0XOxtQuZ7M`x=KC7}VAH3K(L ztA+Q6{#A2v0Ga;5OWlu3HT4;_JuS1KkO7@Bide@6R_8CtFyq3Xit#vN{DbT9YbfrA zFLnNpQYx*het21FRc~8T{!i7Q7eyE=6R!FROt?#gu`=PGf-xN+#Z>)MFzyvFhU+YN zaAqSM=B&o)o3k_;q;r0_xu2i~W+{JNTSA`JI8SzFG`#sf-q0{&)z49>H7&E!WXseJ z(4KspT~_@Zby;6qsnC}nL9q4-`eX9J_uDy^mC=m|rg791#ANn8x!-cdnXMJq2stVGeJQ<5LEy%K`T;e$kGg(+WPtrt=2O!KB zxz53|uMUnARm)&-;#fe_BcQJo9=+-&((JUKo}E^3SGnS0kh>9i$tT#cUW5x;#K<>L{V5WVSl(Y@lW?tk)E!n5AL)J-soV znXo7`_Wsz+1v?O!TGf@^PpwWXdNL0^r^=MAsF|^1?R0F;AeFUf0->&K#mKVzt4>9j zp4=QwfOURLI=nJL%P1zUw9QBhZ3nBE%u^_F(U{EpdgDMf0C5VLfWJpjsv3pn-=in! z8CyQ7B=dOdcht2WXhC4tyO}nPY84SPHov`V^T{NbVAVFAQ5|DhZ3oJMg1tHw!yL4} z*VA;3JSuAr6i73`f>}G^!Mx5>1zgq4tiIN>?2(1wuE^$}L({lIN>x89H=07@Lv!Jf zR6+H%6{@_K)0waR8rIkTODRNKb!YPBqa2mCUQbEY_Kofa^>b9ohT!`l)frQECBp2| zMkJnvR#aS#w$Q6C&R6D0wv8q7_TJ36Lg;?r&J|KuI;?)2 z=?NL~O{%j1u5J8PNV(a|V&y(rZYksm2#J38eO0mQ>aO9+mc}bfoYtYTSO%&p29E_UEQkU0s^qgK8nD8zz;kJ!~Yh}`=;dW6gU9RFT{}q;g z4ZMMGn4@Z1a@SvpXycbRwMv1O0;|W709*YoQLFE)dHx%m2%XURwTEi+qN?qa)jp~F zYy_WbbXZ~=V99@l0dAq!Ykn`z-ykh*f@PkqrN9770yt`bo#;R0Xnz17TcX!!el1I* zwWL?bbndIj7RFk(Fx0k%q5l=O&|OWz*EhtG~U{AN0 z!6e1t>4P#W0tT&^@2&co=A6!u{0_->kTPzRB_qcAAGb=E{n!k4{;?T63;R4M<7kw7 z6afcYLZe)v=|7sev<-2ICD^03ur{2ReVtR~A6l9fU7eSyT|>)-`r1;S!VhSG|r_0ktFrR@Ri8H}E&&-%=+!E&Nz9@o1-52R4} z$gaUNwL<{Xcui@@zs-e*Q|V(TSfjcZT-`{gT^TU*b6`n^MQU^mrN_+VF;w%yEcC*V z1MayFnM$IW@IJ4soG`?MIpHN#SuVRsTI?Ojd1`PT0$GY z3PT@;#P(KE{TzkV@kWJjtbS5$3cBfX3LaEV7#VC%MH8*6P#!7nFsz=bdFukR_spRr z>G$uMR1Eb@?#*;?&i7=PJtS?8?mp{V-v6l%NIi`^pt>h)1ACyoCy9NxD%zx1y+v); z>wX#B>M?xD1(CzXf?2WXRyUET4}t{VFBeC2B&@DSJ|A>DMz$4Y??uHn_9UXpSs8&;o!9<@Ov8##ZYR=VX? z-(5zBXy(Yw8vo2KBh-B14P~V`Q%-~h!zj{k7PWj+El0P_ss>S;%ld>mG%2BmlSh3j zgNAoJKKv+@;S7XS-p~Q;stSMnb(~$R=;*v;)ow^? z3Zr>*FJ%y+<5t+mIE_{+mAU85DhX?;P8CBpwHmcxn59!#t#i}ZCZuLkMXPoUnu-mM zZZR_lr9Lq_Y1X2x$E4YoSDG~ILbaG`l59>yOOzsv{IL^J@)N;{s6Knk?mM`;b)^-i zLFmwoX3JIF^*6o$n?^f zB-z~PwJUrRWzi!=nT~*!4jM7K(xDgbWc3el0c(|ih?qdk2heL6R?)j0I`aWTeWGpU z)<%!5iMZc5f?CgXcleEdWP0J-4mQMZP%)O@P*&}B8d}W*mt>m%|8yok|Ex!KKk*5y! zzW;ROCUQmBWN}6QHr|p|QMdBrOh^9bR!pB$vl?vuZP<+E2U_iPHWi`Q2EldcSp*NQ z#&zI!F*C~g^Fp{FJ#gtPohJ3&L2QmvFza{+U)+ABYb>u$3MrfMf*9*@QiHMnP;7^) zQH;fjOox!iTSYBk-=Kp_aY_);$4@a!V%4+v&UC&EqQwl(VywlC-F~Z1Uf0FUxzNn2 z)9}Zit8_jo*^#vWqfbikL;@Bwkv4!v{#zF@YNm0N*^8V>bB4_0)4rwE^8*zK>^%^D z51}H4o)+_0GCfACCpcE!h}#6z4Np%N!qAl)QfC>nRk?mgS0#mRIwZ>@R39_c_oRFK zRHpjcCY9H}=`3AeuMo^iVQ`r@?OWVTVrEod8{%7E+u#r*RH01m1(ZaW^TfHRgE72i zwbh_d_pMX0kt$_DeI+T*mpxNE6RC6xbzGuq>UeOjw_ctU((**-9#cP!_8U}&kZQ1@ z#5#CtOy(24ETNqidKFs0dCcUNI>nrBP>odFRVtjGQSd^g6-&VnC`7AkOy<2bDcM)4 zPVHZYG;H*Mn*w6DPQYi1o=@k4e|ehjP%_nJ9;y#&HofmVUm?7@XSm^OaJn%Vcw+o9T((sFf8XTo>!DDqOO}TdP)LhD+1M9`PZEJRZvZ~3gBDx$EBx_CuwwE_+cKpRCcl5yAZ26r$ci18rz}FcyZ_ z`smwFj!plluy&8d@JsNMa|pirl0HV!{e#C~&D>odw7gF07>+H-(nn{uCEp^d$TbZ>^NcYiaY&*$kSIIFs4!bVAa3wQi zO=fyW&5SiU(|5mkMh9&!Odl9}^$$GTv_RzKB;n?N+XpP z!Kq8dt~&GV5hEszopkop6Hhzs%*m5ZIRk8}@J_fB&pBoCq;smyKIM#`s|1tJ zJOfwLCs(D;n10%6sWZ;3N}YS+X{Sty6l*Ra@rV(YjG>ESMb+Y#?|0%kQ+FC@@|jSj zsH{4BQq`Him{j$v%BiV%iB$VTr&d=fHpK(gJLt?CX3}_4*?NBt-Z_IOkIf(iVh2vt z3+b*rJe0;4nX-4Ncvv`5k~U-jQa2X61XP&6Eo5H1!><@h zn}_8W>jxS#Z+w1NILH9bfPvAUUAkY6LK-aiBl+a=v5Cr`z< z7BH&eqQ|^M67Nv`GNCUC+H6O}hbOPg@lH+JVW#7c>8zsN#lUTh`^5s5>?^OJnjguetNnBh&<+K$fzv!D- zQ;>YSZ{o_r%{C{$*=k)Zs?VKzF%UYivOio@~{08_iavjZ{8w#+t!Kux1jVdY>{l-I#IhN#Xs5_ zs#>s3@||tHceWXJamssa+vI24dd=G=5x*e?BAnU`QY~~_mNVk;S8|`q%egg?ygV=Q zXd;RDibQgLUgFt2B)u$|T+qdPB3Xnl&0pFj`B)e4k6n_8uj&#lXXJx9pXEH8mve6- zc}-qoX(EaEJBj3-d5Kr4pgGCpJzczI$s&9*s-a8r=`P+KU6P1@ZWpxny3sj94^P$S zdk-eId^MSPFOhsOnOK>ZMEr&>$)>K}n_WhJ+10zdYx2Xc-g8}(i2o@crK3)|MpUP< zIissncjSAo)Yxp^ehx5?x!UA=p{jC`)EcS+aeqg}n5 zyCxA|(=}AFwbz}JbHaT&$y*?84#|02ZgNGp#3PBsL){Wr=Oy3DPb|z!F3nF|lH3c( z%gN;D`H8=GNzUt*SlcC;>6Unsgu1bN^5Y)f$K8wSdV0_FNPg49d%s7L;yrC}Ale-d09{IiyleD zmxqcXUr>4Y`QPSy_v9vD?}}H)7k%5+yEBpedsn=oIEnab{LRN}c9U1+dza@?{I0zI zPv?8hdC8m5CV5H3YhXS3-o42_h`*ntG@mDvEAzcsT`2yCF3DB-XoeApqbDmzLwuwE z3+I!+s>w~_TLDkyhST*N&kcoM&Lphu8jC{ZNUC!OPIZx+ye<>Fq0PqX)%gHW#{(i}Wyot!k`i@>h zrp)jVghxR}lT$z(|XHN3o9Iw&lwN*~RgycCnnVjxd<#;y*6eV~5KFKog z7^(x>bmQZaC*{mY{yN8Nu#-{!taL)1Fci+pN!I0fH&R}??si#gb9!!z#3PcUy`xA5 z&@7$y90DwzJj|PdP)&=>SgziCE4=MCoRX#+;Wv@eb;`^HoO2+pD0BH4QXQ?<@zDYx5ZF#>rin+XIw_E;7$jd3(pXF zONQ#L9)IPTAHDN4jp_6v%sLm^hs*k{#*6UA-Gz893hYs>?{P=z*(e;Tbu(g?+=%Oi z*7b6gu%$Cn=vF!o4Xh&LSy0NNw0dQ4u%f3NmhM7A@crvm14HG~ z!QcekB|Ubbh6B^cBy{OqCo0;$(YvaDTOYMBr5Bl+dN-S>sxIEwnCAC2#uZIEAI)d_ zdXBH(hD3T9S+=}jRtwgEtlolIO-9#Rg@Yk1)MwbzTd|SbT>4ud4y~d!t)vuJnmw4- zA&7699*ASmXVXu8jW<-iuCeav%;(`gvpnsubr3Dhhj3WapsZ!3g&bc8>B4oOTh%Se zhL<%JT%#USd|VeEDbTvaw#;CfFP*FN0K6S>*)~deItfkQ(YHpv9p&Dw$Sw zP3foJPo(Lw1ggro!c{pKM?-Q@y?#eGl%Hb5wBupd9#&~x9)!Edt@g%Ky7uLm%;#e= z|1hnuUQOj2z^aQ)%hdIzJn9w(OUqBSBo3Z3(E8mo;vg?1V#a zc=kIn)t~;;d%LRoBi?G7*m!nouwZ|W66;>+*THaC!fEH=zYRDAEw_eCRU88@eiz5P z?!%+9UmMdt*iIR~xQd(-1UBO=RWJ@)@2Y;-5I|**Qg72=UUS)}Z z8Bg8VMs0`Fse3FxC<9~SfmM`_=1aw@L($hSGBhZRZK8Jqq69E7<1)QF5Y>k(gMIU% z0F5AZV_S4W-|Y3&B9s|rayj9*Kx-og7jO<`pdkdpaHio)rtfdl^@tPD)rjNE8us5& zbArb%3{LjKy$EfnY?7=*#f<=L%`l+vZ?3xRLIh|W75G+Ch-QEjB7&|tQv!busZ37n zv4%ZcXZcVnOsS4UDUAjVI4z~&^Ti92X&0ddUfZr z+WAQ`9!4DXW2r1(q{k5$U#v%>2P%8Cx)(Zw*oXX4@P{c&+kx_9W>E13!5mt)7qXpB zsL^&Q`SE<-f6A+%B`odHAQZAT_gEpN3fZI@#9JEv7eqk&v7sDRu|ML6*ZT=I^0F7Ud&)>*r#XXa@;cT?J zamqoHQy*y782$u1pPWH-78~Wna{1npJR&kpZ&$~4{*=}?nP~sXCSjDH>7A7C|EBb) zzdy3taq}e`nyS>yXz{8Jfqtzi2#uJSg7}&WQ?Ezp->^=P13-ZQM(;>;# z2BwW!*Pg_R%skky!6jB?d>F15V+!DWv_$Kva&Z=y((Zrb%giY) z3yRxJxZl^zX!okrD!u+V^)^{}+x0%e?M%8w-1sB+%Dm>Kiw8sET!6MS$w}RVg+sijH%0T5{ zx7YIhdPg_2gu}o@wV9Z@ss@eeZ#`GL@tI%9PtwZHvTa&cLL7`<*!Sa)4h3sOGp~-x zM0$t0#8%1eS?A~-*+;h@p#}lh46T>BQz;+qPv)$}9tdpJBuj6YHB`oHWIb(x9q5fK z`dDI%-~3P{saNk~*%qK-e-8^JILMN4UPsd)oxQC}UvZ*OPDTd{zx16U3pP4oyBJ?) zba+)Xp+zCqB-R%XQu}q+1z^<$u>uEEsC<_mL!d!3hM;T{SM_aAXL5b7ZO2H=V)%Y?=- zO!FYLG@VJ6%?(PSa{}yYnXf+}2|b>v7=?~-mX+x{!9pV7B&-bFjfudr)e?SrI(RRZ z;#gC*C|{RpOfr(wLrw^WLzzg<5Ib};+9adn1KWnFviN^QVR~nb^mGp8f2LErUab#Q zzEBB4tYGnoH-;*%4q>3+afJ<_1z+$im~}bML{`nBgAr5Lni-2cd<-nAJ5z+;9%{$h zYBZ_>wE%>PRsjPHyi@>7!-vLemQJ%)eyOmtg1P*VJ|R3C-r(N#zaGI&iaz+i9$`Ge zkJ2N^V$CYZU;X$iOfy=U6sA)LDb4<-p53;pX#h6qZ5OW25S&}_#Tu|_Uz*=om$V#%rz0q` z9HVi|N=PFSMiaI5=DSmD*6o0eu;obF9I${1(Y+1+_8B(l=tgb7u(mvvK6EdJ|HUQq zRb~v=>!JboPIuIjG9(gA&=;I8BQv7)%Toenqsp$6G7OqV*>u)mYlh}6Sl5RStze(7 zLo;Kaffi^1XG-P@73zwZv})XO*`Heb5##ot2wfDoPoUn>OMm=Kw?o*>%-S+rFD9L| z{-AwR*IlTg0sl5S~qxZ^Fywg|2I$i-#iJA>J-81(Tyz!{9~*f3Y9NXgB5e4 zcyK3AX!DnE){E{HSh=Gl&7q)#}J1HGBrq**Iqi&(xY}@&K=lSrP4g(j-hRrhx}5 zQ92@}#VNT|y+nr3E>%yo4FUoAjX7d)P{mMs6k%YRCbS@HZyl=9!pembYGyQf1+(hZ zU51hnG$3MFz`&?aByhdX0#V+GKvWC~gfK49s#EFtTu2=nQMg*Z#Y!UzZ~5zX=CK62 zH^yMkDOpF6S)kQ-d`c=lKX7eX`R%PuB#=RwFHHptQLhecdpK7S;?UY71+djsbtdB6}`rZXIXE>FEkm8CwgjEW-C6sckTQyH-nh z9)X4(OItfV?dd04u{4+xm_}2T=(KM}YLY@tU}M-aHj|%_=zwj}ky2kqMAtXBatDtr zK%XgFn}fc9$yDqHFrm4uNvfW#v9Iy_yz#~Vn|1te*72X4bwuY4A-5PFMMEUzR7{7p zC|Gw{>$PI3W2V(j?&z4$JeiLXi7lWvojMeo6BqL8E`O$^qF$5k+<`4O{ai1wg3EzR z=$wa^Hn=(PO1i_J&dwM4$wTX`kh5d=hV5$_>ij{97MnQ$)F2-48D7?M_NFK~gq$1S zA(338c_Kwz<6xX#pEJQ=1#M2(j9)aZ!EO@OAsscV!!5`9np!3MC>D&1zPly~ibFP` z?!Kj&i_=2`hS$YZh}4a3D>^vUwqn_dvBFM=4gE$=%^hX&jLd2q^{B=~Oqt#dED|Fh zp4Tw16>Qsz(q!H>*JCoRzSty={utQ*ch>p6ttzw=@Sn2~m}LhHji*R3)DqiJ?fKCL z?m!3r416%XQPV@okLp+f8Z(5V@05tyJt?A=jpEiqvPzYPQJzu8w!(l>N(cqYao{ z(GF#3iWuzP6`B?@y)HEKa6ytHFr?^y!MI=EQ7k6by{#22Dgk~+jvPve3O@! zdYzRR-`Q;UD-|xoT=~*a8%{%27N9Egu(XNoDcd&zs2dFEUTACYYWNcVe&l?$>bEG^ z93Baeu^^Nj!@j8<-rlb6RGFNBy=TNJzR=5&rQ6LBHYs?KDF%`_}rJvM9Dz!Tut}`mZ)y8{5ZDmAv+3~7o z@`CmaKfa9lMi#Xl9?XiesOMx9(CEuwwdZWbf?2uisK5FV0gEu(|=kVj3%leFTj?EeD9LApQubI*4 zsprI&`vy0>Y!N-#sZMEqb!xx5&?HiO9`=E4=vn^RWq(CeKpW}&f(I!MW2~FL(A0xS zIElv1h&d{mdb6y$6{^J=#zDf0#yLF*HhX^B`M5tGsE5MHWp`M+bL3~!NCHhtn_+>H zl^Y2zX`S@HwPa`r?5zyIx0xSnEveenpRZFJ7E?b&8^Rc|Q}ggjui0H<^{}YXxhdMq%n50?1x;u!{kJ2S+fl-C)ddisiUt# z3}358Z;oVq|A8607e5FS&(r|sH23Cb?uNAOVyXoKO4n7Cx|-Q2rW*~lUZW1Akj76G<@cDF z{kF52hH|c_{VBi zqmif(qhfow+rW2rwksO;E$V(ou8^L(=!Y+YIh8^ET_)29w55}6PXja;qhv$euK+gc z!ecO@2U^M&JyUi!tqT{@t%padh~AW%tK%jkjjIjTmd@<5yJyb0+f%m=FEr(=$65U= zIHHAZ^VM=xZ7cZwNM#(40&T%?7bDJ$!U@sg`U9qYgoV;J!3>?psBa?4-Dm_#t1U6e z9oZ7gT55EkLE5Ddmdy6kCWWT0XgKv7g7n#;o7qf7og=<`Y%%sws7gV(XgvA7L4gE5 zd#x_ZbCNXv+Xg~Uw}v{t8r(Xa--ev-`j6X23Gq=hF2_1A*~E2@Kf;*xm|<@XFJ?l9 zidnM>u?L&vrX*F7?=PvUy{}t;Mp5khS8Hrl^W&NstzOmsu#aY}ZD1#uaYY99x^gm~ zrm#&SmA}yhYHJ(4CK5$N(*}w3p{}vhs9s>>+%<=nwW~J{@_VOHEM6(sg6A-8Ta1m; zNVZ(nM|+26s}k@I!_oNxF$XmmpaSO7UxMX2<=zTEH${cG*@4OwJ&+l!Y=RJr{Eo~@|DL@@)kb?vv^AWKeM%i_&~@K#uson&(e*5fYDrI6 z<2);{H@~k?omF44CoFW_te(FyR!#FOJlGVtt_Jta%J@g?MX(#%bxcv~DJi5>-P51u zbS9}Wr>x^?a3~x26>O4X8oeCsmK$%-`Mg*y_TZEtU-%%FcIfmeEE{61!|;sW^p}uM z;7qVll%d_zU^SLrCqIwAxdFxmHogE_Qe*V%u~QoDYp8)XHs3dx#-UnSPxslijHT6r zxXQ}TkNN?bP92^^#=8JFG8e1b)Ug~>^xmdUWnQqL?>aX*3ufJJXTX*w8l$72w#G(- zEl@5BlLO2iFEUIq3#1VO)}{swlStjwzJ-;jw@K8tGC*}%LjoWutBu}}sY~M>*|r`E z37%fyQA?Y=?;g~-0PSZ)R*V=Wbh~NW2c3OJcpA{jYB1ViJ6R2;>>Hi~(UhJHTN-Cc zOmmGX{#b&bO8a!vO!vtt>sjKX^i#xKW?bUO3IG&8_k zo-yghYhq(_Z-2gIoND+%2VU41vnj`run1x=ME_jidVaE5y_gmx?hkck^Za;*&eof( zQGHDP=`<0X>!+xjh=SjJve;}9p_8xUU7cvfVE56#$E`dxGZgyXFx078%}M{mCk@hQ z%xw_2cXBee-)UE_An-dTW4Ql?uBcxWn>ktFbWN#|Lq0mRgQ|p=BCU@jqr-UfK(N)r zFaKZ|{lg2%C1tRy;7SB*7{6Akw1_AZF$CF8+EmY9&zeI^=IZBlBo)rOQgSO zeOmWrZ$J+Y?#m7}y>+~3j9r_6d%^(0j4(^XZ5}e^@caPt;m}Zzwsjsh*i%Gi!yehu zjk4ODX_3&kv9q*A=!pv$ox}c>_Wa(!x-7A~__{0yLm8AJcZU6h-k?Q$L>QpVYmx9? zH{~2cvz~wqzmd}fZArgFhv0jJg9n$DoqhJ1XYYUJl&R;GNl6vX>Gd}cRi@6y;AhUvT5^q&XxessGAeq#NZ-j@;?`Hl+mAD@MOK^FS; zS?I(z=e%)aRLga}jxPI}_8Wi;`cFTy!aRx?8Ov%Cxeo_&=HZ@F`VFB!Ce0ZEeE`#4 z?U+KA1DKvmp~(*(iH;mq2+6S!|J4s^qOv5u(&IeLO=BK`` zXZYn-`@BrMt&Em&;AM%LyxbQkA(gX+%Q*ybU+&zW`F#2%h~Rns>5t)aydrD+XS!q` z$1{BsJO7v<{{>m{U(a;aM-BhOg8Yv$eNVgmvjY0tOux{k=l)71Q1xf}DIvPBkR&d&j5jxXWCj7LQ zaoXQVX@8~D4nVn!IPFLj8Y)-Ucb7brO6giS-LdX;hnRHvsu0gR+MOwcQlZ>E{|J1^|Da%eft) ziiU0AdXkOGxr57b`P&rez3?qM`Vl=;4*TR3@L`=lK1$o z_=DeG^vBfcY|V%07cgC_&xg!oIMRmdQx%la$Yu1fd1x1=d{j#(^a03|W}O~^u_nZW z{C8UWWsw5>pL;5^1;8De8 z9E~)78M#NO1f+wjncl~yPYCkg&-6WPdSyUg!SwTOdaj-rQTbmo-DP(~@70|$dY-F} zL?6m@Xu3>|F$!t?GOW2>Gt*D7>AA=F z`8$|?Lx}!+MJIc$U>#K>9+H8^Kb{+D$W-(o?Khs^dOt#vS>(`mBQai5Za>zIN^|bs_PvtZ{PonR_bXPm4P~;e< zZ%ykKqemJ?HVej)N=_s7{bsJq@hBqH@2tLmKbIl-mlaHx{L`0Am+YaJnyBb`gkKM9 z4sikNacoS+v~M%zT!vz0bYYD{)lA>B{{W9awXd3$oC!XZlps$JbG=9&AYmk1<_Zf4$9gsSVa-q4!e; zE98n~%7!XBy}9@=DdCnA1qQOf%i3D{8B0Oqb>?vzadGX#vxv zdExRb^j4-HY1c7VHzvuKuLSqJ@gcfiY!3id$vV6S@lZREp6Y|P7{}$LL*?x6w`V2O zLt_nW4de1q5O?m=q*g&9cgXbo(3@~zqdL4@jR*g6w_UL zp!}swca3L6uV8wpy}2#Pu9kB#|Vk(Fc_ z&${YN7OK-wHPP}sX+Aif>EyF~om>8@is^^j^jy6$M&)14beGPEet#DF3Z_f*tuL9b z%+riZysw=?`MtKpAN*dSKZZ`Wy*%in!#It^qnzoAl_|rTlU6f*sLkWdp!~U6=!=+s zik&}KE17iE%yel^-@$aL4SM&cf;~^N`(aF%Y@nR!Qu)Ud3TdC^H_3wmEeQ6%+cSLkwMXe1JgJ?!f^_ba7IYghw^x-6qu_Jr` zhv}}qLUI&yJ+t-ceB}T=Zy%eF-YVAPKhveTUYhCB+F@Fj@@Ho$e*x3?u;sJ%JeFtS z-^z4pE}E|@CZF{bXQ8K=F16D%rmN|kX-Dg;C2EgqoC(%v zg=BR2xqKs$N|>&SGxf0crp9HVS2BGNF){g13H)9I()som(aT=+wT%Co-{Y)>9^H75*@o45WQawAE z?y^_1mkQQXHosA-20-^(nTn`jx@0div(V=;U5RV##oGI7WO^xh`St{xrrl2B-_l9` z6y@2L{$Ou}{+RMrsgw!e5Cwb%YQ8A zG%lN>eW?=G!|90U+2tIh&%Sae>H4NX>qUR?>r5xZQYwj8N`a*}Q|Iy&5!~~K6!2>L zgI{NLx;~|ni2G5GG2Nv%YL~Z}F3myKFkQ0Ee*IAhelB_n_$a17Oo=QV1YkNX|}#hGPiJfTifNa|4b1^&K|$c`uYG)lct2GUb%WtgLoXk^irE{`QRx` z7yTd8rFNO$2|Wd#OPSu8FKOj8F8@e%$X5#yd9SmW>C*f&&2%*lGdkiuV=8|d)1~?6 zY^F;(SitmQD9dkyb95h~@|S1f-$@o0+a$zTt13d3G>e+8^nyHV$Mv7{>Ip zU4P3bmNQ+llWL~B`je_Z(n69RcMnC!%J2fO!uzvQ+iQ7S9*I>O^ zsy3nB^E|3Y1=FQ=p2>8nKhNu=e6rVkuEzl`IY$I?wsJWxd!(w4<8o-vFJ$-rJu112 z$$F_yLzU5Z-XVzlwr|}xIG*VT*mP?iQN?su+oh1_YNr1lb@Izc-%9*8sLvu!qXN@@ z)|q`X(i&1JeI|01SK z@;5WxrQa0l)xmV~^M3tdW44d)rwaGH{p>U|v<|87&0-ziiFl~bP&t1LbUlU3amhk$ zHH+yJY(BZ;Q~^Yv&-76?9X#k(I-)OSddj9-_iTO0^i6EKwZ_TYjR>A6@gKnSjVY0_ z6+X)+-*Fl1@)X2FdN6BiOO{G5OR}2=rc37r3z;tU>!vL9_AKvfoD6@PqX>!^`*M8g4(Fp?nIPrU?|fi8yL@Y$p)&J zu0%2Y>9jz{S7#~zex^%np%qM*eCwA?m&VRsYN5(ogGN4{8WvJkty8@jKC7 z4c_E8ALBN-0r8N((Cu&~X@dA%&*eyS%*UAC3u%2@)k^`D|81sAwzh`pDLcRAtNINk zf_ra>{N60qmpK=WnoDAAh#iMND`%(MT2hCA>ch_>UWUo{&Logw=IpMin8-vqj!n?=5 zR4Mks-yAQ{r%6EloXSyljJOFYQ^LE~B%@3Jm+9y){)T`z3;3G?{+58hE#U76_+JIQMZn(|@DBz2BLQy}@J|GM zwSfOaz}p4#5Oss3jEB)o)iV+K-T!b=Kx7XhcQ z7R7%FubY7P5b%uzygW z5CI<};9~{+Pys(ozz-MjBL#edfFCX3C*Us# z_)7x*vVgxT;41|DH35HJz?%hprGURF;BN`|+XDWsfd5s%-xKf;1pIFT{*i!xEa0mI zyiLGY3;5p!{8It{Ou#=E@Gk}YD*^8i@UI1YjevhA;MiJm{1RTSfaeK#Qoy?kcsBv> zA>bPc_{IWWDBzn4crO80Z?TDKDB<-M(r+c;eFc1L0pCWzQv%*!z_%0d?FD>C0Us#f zI}7+O0zOEYI@bLnElz^8D_^|?hyns&>@Dl{QLcmWF@W}!`RlrXc@M!{m zs(_y+;HL}t83JA@;AabXm4Kfs;MD?to`7E<;4=jLA_1qj{KbC>uSURY1^iM0&j@&( zfY%H7l{tAO7w z;CBl6T>`#P!0#3C`vv?#0beBG4-5FC0{)nQKOx|a0=`(lmkRjP0=`VZmkao_0{*;! zzbN1@3HZwb{;Gh#Cg86Nc(Z`NDd2Aj_}c>hu7Lklz~2+_4+Q)}0slzATLt_R0becP ze;4pi1-xCrKNs*X1^g=k|CfMw2>90m{*8ctE8yP=c<43*e?Y{#&%XV@!t(^Yi-30( z@NNR$L%@3q_{IWWDB$!q-1sly^%C$c1bj;Y-%7yy3b=XWa#*H>w~df~TLDiAc#(i_ zC*T7Fdg5{@dAF7fSb2lhubFM(Ob6Tzl3+Z zfKL?g69jycfS)MflLdULfS)Yj(_;ANsAewi_j^m-EbDpd9z$S7xHE+C0qO=*|FvjJ zDGBeCSUE&Uc)t+v(*?Xzz|V@|`>Q)ul8V3m=LChTr!#EWD^NR`>hAIozChtULl|A? zovV#v_-$%rR8Mb&XnICk7{ch{9hF|)NgASUuWGbu2%`&aQJcl^t5kY*_i>1}SmEkU z&k+8Z!nX)vbaAs%*_JW9Ul)RU$M6Rf&JTy%)UI@)?lQMgZ$E_(3So5dbA|K6MHV%q zaDM2|uo;62mu9rpBGcqVB2iLoGx{%N2fj4A<{=J|c#{uhJhG!&AzXkBZ?_6n=CJzgFSp zF}z9P$Hnl2RhKwEhTp32i7|YHx}kk)3}3DAlVkXGs%u>k!~dr6ObkCzb-CZf@Xr-~ zWeh(}b;aMu@D~(*OAOyibboZ@V!)5e=LUoPT^0+@Glj< zJcjS9T*C`7e2&83iQ(HTm+?Uie@NkNG5iaK|2>8eRxairG5mCee-XoUO5_3QxrF%M`vv41ZnWyTo4F%0=}Jq4-jz2d<-cQj`) z;h1kz!h~bKt?~URi2V}Y{xOVzgnrXnjF#}qVwg_YI@FN9$yns&-@S_C$XaO%5@M8r0SOGsyz>gR3_&S9WCcG1b z^pgaA2p9K8R0)C5tFA(rs z1^hMvzg@uZ5b!$%{4N2%Tfi3z_&oxCuYlht;P(so0|Ne_fIlSQiv;{(0e?im9~JP& z1pILUe?q{Y6!1m?e@eg?3-}TNUn<~F3-~hvzD&TE3;16I{8<5iPQafR@D~L9MFD?F zz?%g8WdVOhz+V;c6$1X6fWI!_ZwPp^fUgwrHwFAH0e@S--x2V41^ll9-Xh@d3HbX0 z{(*phDByn+@Q(!iV*zg!@Kpl-iGa5W_-X_!J}KZ` z1iY(&=L>i@0q-v0Jp{a`fNvz=8w4UL@e#3HSg3-(J9X5bzxZyjZ{o3iwU} zzO#VuBH;0JSZybRg!H=!c!_}1+sxv>gcm>O)qIBt>4ysV9s<6nfYV#j(E5+xC!q1egmT6S_~8P6gn%C@;Nt~6e&2$Y^C%(x(E?sB z;KvB~u>yXafFCd569rt~Js7vcNkaMx0Y6c|PZIFS0zO5+rwaJV0{(LWpC;h(`%iTH zo+_mOg@B(X;HL}t83KN$fL99mSpt5xfS)7a@%wGG9;OTF&lT`r3V5}E|4P8m6Y%o| z`~m@=A>i@*h;)4~64K8U@QVff*8*N6;Ijn0R=_V2@Jj`Jwt!~@{5Jw#C*YR}c)fsM zF5tfv@CE_DLcp&S@T&y;Y5|`k;J*{_YXp3*fd5{=uNCm?1pImd|AT38AuUn~3`A2)jFwGGwlULWtv>7Q2ki!prP zZQbeH6@Gs#eI`ZepZD>-xcm|Q36H0LRpAf%>5V+&izs~@e@)?wV(E|Cj?y>z_;BX? zslwywD+kawbZ_$0n;r0a;Qe!h=OgmDoLhmr+V=zCMb>+6jr@IJ7)9Q4zkGuq1f2Mq zou}Mf&EOX*{j+}h1DNl%3V$YszYN?ZPmdkk_|<~^eURRzhrJkI%5n_ha6IrL>pjD! zzpPaF3SZ76ICk!iZh7tpUgS0V>9lw^<%VJ9Zrk@_os(uG6{4F0( zF@B!H-|_LmjNcF3rMIVn6JP%gJ=`vz3hBS)^p|a-3%-%d-wg_Jm2-^2^K`;Voc?S9 zuLEA>{neL0#pxeWc#Dt24Ak%MTuw9V&FtX!+sR$uBH%^d`+hlSKJ`0Y;UD>UAI29d zyw%6|V7x=&ANu&wjE~sa&380#($BqJbizY8{dvHPyifdc&S(4qPX8UJ@6Y&3##3E2 zVEo%RjPK4kH;>l`j*<8t5J^9p@uL{;#pR#I_^FKV$#^5<^BBL7@ppk2d8>W-O@E)f zE8+j}anoKm04I62$=3y(!sWc7(zpBRjr?B&ciC;PL2i67@FMRszZ|2_D&WL-HuG&| zzPAYFd@SJocXRVS6?l>LUh$D!{wx8%LE(+QoM=Avdq}|P`$;5!WjCF!FW2KMmHrFA z9OM7{mgw}&Y~a6PKXU}|BJW>*dNa;eb9x$2=x5$Mav$U4ctA5xCbuzu68ZuC%#)=% z!QqgcC$R!5*nX!lp4v>O-?LDMH!{9>w7x!p)4#{~4QL1YnI|Fp?yk%4KuEu%*{>YK zcu890w=@2G;LJ)B`0rDkewR%(U`|}Ng~NBHzfi!R6ma^6jjNo^hr036!25f_^O7d- zF+%#Oz>BD#3cSes)-S)B3%gH9|D{U5)=xi+(_a94b@6?680k59j@6{e2*fA3U(K8`VNUJ{Zs+}rGVcj;7fq_&kde?W%uB{FQi{1;6-pCE;$baUSz#@ z-HeYb6rS|;gXy>WojHQi2k%`s=|5L^@ZR+zPX9~ziz2T_teg(uE_p`6aTQtbX*d4! zQQ)rh@2K<}`Q;mVPTHHw(NF1;C}x~mrSMJs^hVBU`%wDeJ?*Bx9{_jp?XfSV58mIt z1=qJu;hX#A_hr0qDW%`i$Hy>!ufn&A;RlYU^nHE2nA5i?Ja|ug5#wj=N9lw2x^KgH z&i-!s&k*pL0{*mszb)W>4j_5@`|_W_@>DB)J0GuR{6pX_Jr5~!<7EO~E8t6j7kR<^ z|5z1X__KPw`n_VX+sjAvJKN@ z+6JQ6crH^5f%MV5D-xTSrwE`1w{SMx$oZh{_~c}%(Q8T z`Dsc1Idk5<=iYnnx%Zy;o|T_tcy#@Evf-cfpo)mqY=KeMdgF%?K`{eda&|?eEp99*6`qY z`ya8_o!6@JbA5Snr{?ny!w>ekG?V!(Z&Ud;pI>VEe(lN+^SP_{*@O*v=lg#Hl z!-MDZJ3IW^@SLw_Co8|vr&Ry^2%lwm-sfT#^Et!t4xfv8&F6l@7yA5S%O@VL`g?rt z=AC7Rcllg~v-#X<_;EgW@?(xrJ$*iROaB1u4|Wz43DnsA2<9YUw#{_f3!?kqw7wI z@IJ#&^?ALOzuNHAeD3tTWcV3ApJ3$=lns;7b)WaSvs=I6XZqZ=(2Itj?ek--o_*zq z(RIP|`JMjr3=f{q@APb(Q~Bt+vR-)H{4&ePN7o}g3G$ya^3iqZ&4vf>1=!w}f0Oy~ z*PSVRblru1ecibJM}mB3hssCS7qIvR!;QZw4hJV$U|BaPDZ;{Gh z>2s%N<1XdVIQCq_qjBu^$Ey6*z8)9%UTpX^K9}XE`Aj=b<*$qIw+z4D=W;poIj39Y zZ}jP$;Q1ZAG`;_*}vEDX#Dw<;otQ2IQ<9psh(YYzN;v!X&aY*(5*yqk) z-EMe;&s{wBU&DVI;kzzYJyH1q!++w-f706LUc<-v-06Sc@Ms*n-xAgTGhg2IhhD?? z_qo$^yWzi#@JAEmw_2+Df8oo!avouLG)}(2@c;AW-F)|?;nBEvlVz&^*S@?f|9*x) z>T?%Q{=)FI&t1LJC#at3K6moh8Xk>@$DOG1kNNV>U;Wka-$wYAC#ih!9tzigjyPF) z@E(c}+jiXe6ywU$*?~ zhX38?t{-l?T;<>JxzjVl@ZfzG^Q@lp4S(C0cjbS=@FAZ&Jv*GK`h)jexPCQcc<`PJ z=YL)?JQ`0noTYl+^Yy!Naf;#Z``oqT-wgk6gdcde>XFn+`*HR>$ME1iP_F!s8@{G5 zKhb_~uX9w-+CF!BK4bVgK7ZB9-)H!GKA&OvTZVtg=T85kb5(!vUJTcNZZv#jU*47T ze}-@3^LDHMQ(sU$oBG_f`_+b@>)XfadE4;KeR-Mg&FA3rRL>SZclEl&aCiDzS2xkh zZ+X7TZ|%!F{ey-F@5^xI{H@{J`tq)vyI!DrqH*kU!!Pv9@BB%_7gc_HUyr-)MTURe z=Lg$zzGL_(pS%9E{6f{UV}yVBBIP^z{JU1qONQ^_^A^i5|B}k@=5wciv<%F+xbAYp zy{8wdirH4rjEhx1c<+YO^OWIx`}&>y@=H{HjL$c-dbayYyq}pZJT88_#qi)g9nNlz zm#Td5o(^~2-y0shr(*+q-IFd;`9{AyyIcNK!@ujdqie4%FIV~RMfh2Ue?P*1W_XjY zU#2Byz>ut89v+R6YIQB{ne^xj?bNcIMMLneH_l74;$X%%R9d3 zHL9o8=WaZnWB8#y-_u_A7lzOCxr=|cxmNYG``nG+;|!0+f!{Iwa9`f}^FJAWq|aTP zv%__&KN^2dH~eT{zS)-Zi-t$zy2lMa#+P^3{g>hMeeSNi@7MLZ(Ri}O@D5*ojJ@tx z4A1-A#R*Rv9*y^Uu2=oRdq57fdiJ_OdGH>PCd*$i{8(TAF_u4gqsn*t+{Hg9e?xgs zgg4xzyw~SDSv{XIJQ~kDV|c$W@A|`@H>;ijpQo&z8x4=fE$iK)@{4_WH!hYMUWo9& z7{1i!PJhF#s^-nbY3EmrWfi3@qhP%`IU|xIC@Ms*8 z`j+bXtbg6ztez7MKf~wFZ@*yp=Og@(+f>h)5&l!dqw&V}x2t^co{`b^y6wU@wLkMe z14jN_U;keAkIN1Jg3n$1{@n2MeeV3yE_dj4zvy#k&(9ftkpgesg=>+YG&2Apal3KjF(ywR%2rkLr)|WriQ%%e(8|mB8OH z{6=4Xmev31AE^FYeeN=e8}3#9EuXu7dyC<>``oox=MUrU`E}uvN9xPFaz1Q$biUs6 zK9&ErFYo$om*IE&d?#D}YYh+Hx8lap-wgl0FYoMs;Qgxq9-q5@ezD>A`rP&N7Yx78 z=eyeLe(Xo8=SMytWBIX$dr!Akw4vqSFg!Z{{>Jd={JZ&&RsT`GepmjPhX2Ip+gkl6 z8vawCyX)Rzcy#`K%<$;^yU_!B-QYbhJ6Zj$hX35x@9gll;Sc-V+2PASQ9Z%?TrRMB z@((Hx-sdve@^2a*yw63ZA@iC3QiM(JKWgO{8Xld$ZZrIO zU*3(cwSS>{g7>*Neyria`&=A<-0)X@JEHEnl@H#7t!@;lcZET)$fD3Dpz4*T$_=<`}+-f8CvIy)HLA z>bIXZJnC1scvAJdtkOFFiMMwc9=z|y>2Lj=%Ks{2&*uye-h=aD8=qYEl*$M1!I9;& z`5gOu<-vP!W>`M%Y30FtaJI1gWZ`lBRQ;oU`@4DS0>h*J^9jSF{&T}Wsh;3HJFfrCFg$qAj_W@c z8@{W5UB~}wc<`PbXScncQT292MpiTm*2}?cefW+Pn4f!xXZ$>tDE5J^^(d*`^jmB z2k-rH<@t@_!Fzuk-}GhG6TJ7w*{99$;JrVt|37MY@ZKM1pYB&wPrYBSU2QqPYk2S; zAE#%tzr@QQZFum0pM$KP{}~><-^Y!wiGNi+E&g?Tto+{$Z}qwOeDj(6s>%oN@tJ4& zd4>n?Epq+;HN&U*dfa%Q{hI0t-dp7Cd6(hQ`fmI;m5NHud|h3?El=0qRep|t z-T9V3B0SDtZSs1&{E*?ndxc#2zhQXrULjZhrwk9?E9CeFZ>av@y+SElo{Zta`;VO6 z9xyz3|B>Sp-c&u&`o3*=@P4AK)qnI`@%3Ghz|R)GV_opxBG*5!Ns#}UkzeH7*~vef zApfrNHErSWpLO4kFXzV-cwP4Jw!-Yxg#NC4M}A4yU_RT?*E?7k80sk4KQ-jKyZbtF zg}#AoZeXDYo4OYE_6_8{Uz)SouD-6`F8#us3EAwz-l1&A(xtQOQ`u~1enD=iyO0$P z$7TEby1P1-rA6%UISoBS{i#%Y-*Nfg)_krrKQN^+-7=>wn@Y9h1_tv3^Css8^XYU- z^tH66+uJ{top#8aDealLbF$fZ1*ryAG$+5bV6>(eCw{q63N~2C6}mdITI{Y|ch?E> zTVHQB*V`#Y_NuSHkL~KJ%TAv?ck-m!@|B_a*-W;lAB7&%(ciDNZY!k5Wn1TG3j_Il zc9B<~ap}e0pPJoYG9ouVtF}p{QuXt5gHiywR#)%BOowPlbu7vah>BcSVKCE?Zp+C( z>2zD6u|L-}keSssE^DmTY_8u@7!Y;M*`|zFTO*kon{CT?=Q|3i!9u2ON>;zzogW;` z$ahtrqI9akl_%TP)8CzGo1UFLKb1~TtIx(CiTJ)$qnmy@#VZ!XWGT~Ww2LlI zr(5J#>%6N}#VkVTii=Ra75L z1!mUIb`|miI@6D6=MtMp849WK!93(&RwgK~Nmg6Y?4+G)8ptosOC&;@#1?s_4#NpS z*O7?_ZnTOvM=T}<&q~17lj{zu)6&t_D8s?)7L(X5#ubM8yYrcut+T3eEn4c#ViQuN z+s3;QmdduPQZM9~-7_}50@|T=Y<7l3TUm*v@)^}yU6E(cA8TxFiyJdi&Fo`jN(^T! zW7JD$9yM6k9>HT33}Wc`KNh(`yLirtcL=|YVKQfmJE zkT`8!tePNJLnWPX+A`J?eIQC47+BVoS&efv%JH0MMWK!#eW35e%>}bMs_L3*Sr?a# z)D6c-=1aQJ~ln6){~3wreZ6b+H6tx-+Apn1*{YoSKZM8b*E9 z+Q(Tx=z=_Jb#BEaE}b;8lU0Zm)(h`UtUOFXV_Ox~Z!p!@Jp)_)Mi(-!`XSmPp2VLY zBw+5$o50Pwj9OU{w56?uy!C%Vp>?e*&DARZ^%_fhRw_HUy~6MMZ7tuN+dj6!Z+lmk zubPXi9f#>HvEACn)zU4K2aWC4!+5Niu^VzGu?6tASbdL|%f$9;?ZV+f5xPM9_k6{& z4IEi1RX9Z5zH?dKLwirK3*c=mWiwSR{352C0*5D4xZe}el}awP;zEm%H6z!gldZZn zTq}xgLamWX&lDKmS2Cq2I?WJo=3iaD5MHLnwWwQ!x($eip1#G{eQ1gAI8s!9J7;C? z2aadkp?4P7Bo#MR#96~Qg21e9@~LjQZcIB@!aD1iLv6HTdkcZy5i_T_<(aKA&8KHd zFKH{(r(zD@vW2#Sv(nW5c9|aAre!lT<;St|vsdvEETG0AlZ%}F%5e!r-72tyZrzAA z)E=$jdbi4aXDY6nw=$OMvzgw`{L-x5q?$MAnIzpdN5u3uJsD67^)BgY(ZST&-LkmN z^_7_ET~E!jJ#rG*Gt?vNrC}v=OGA>8qrZA}!S>j2?zCxbvhmtJY4U70Z%57wo3jUH z2l9jYf^*#wi76@nPoZPN@pg|PEnB=2oAuQ73YKO3OSmCx%c+Nr8OSdf zBPm2nmuCCr^sTQ~a&rpHvWv%h5sz%NRFpjv3{*|j0s`WAXgmrREFeurDh2-x|Xv-HQ1u@@Si2Z*2ponHJ#+J#=4Ur}YMs8UKsnCAo zI=b_@0oz28Ymb}K-PfCsudFPgymqQO*(McAw$a3oDzk0+gXK|`8paPuN0(Fqe=Sv| z9@|{Hu#9czRO6)1PP1!i2bAd_#W`%AUCU~2^nZU#EYggrlw7lIS?{#&+`_@Mq^%x4 zXI4aL!t}hC9XpuR8=6F-r7!W%|f>F$!*sEi8~m8&T;IJbYGQ1SOt^_js;?}DzSb2Y8M;;%Pn2F1-+ z^G&JiT zMTe$zVv~lFwwd^H$4I)X8vSOHuDo1Lawm%1HS;f|#_mqnJ( z=9hNl`}H;$=N{a>I9@e%rse7k2g9KxdfK>ngLT`n%I+4O2x=kkyQAFl2^1R+pmz zo9o*uKS&z*6th5%8DJW?sVAM9UtsH8d8x*k+nQ|nrFSs}`ze)n)hVfj)b+|0>7j?r zJtqEWE98%ta?xyZPgp3aOd7juP!^fF0m(ZH(#hug$z-KMR=JL>bc&8&1erTmOs{BAM?GQr)f@4>FG4FS+!0kc|!Jf2E029%=O2a3uhLzFUt3( zy9e{(BDldkL3@cgiF2*%eO>XCfqbrzpENL#Tju@IjBYcKvT`S3$0AiydB2jfnu9B& zEid7fr_1dc29Ai1*_Ag{Zz^U3jG{8vmomA2KW3avFcXmt9i+y=Y_!_8zUZmsR5{4% zSe5s7nD}m(dplOsf~-NhjPKJ{k9jn*oz*tgbH1yqjr`SL}NOjyf^@Br={R8>VRDE0DKwDN7Qy-AjpKTagsg2d-9%Fxy~>To z*z&Fh)45p$^I$Wd${=g(e6A?>)q;ZSE+uvE2}{+*<=k^?oF+X6J$Hv#0jSH zD&G_;ZbY|stF{lh?^m%iQ40ZvY>~Ix=)#*~%_7S?^^z@4yPxj`Ybp@h0y5)3(s_d& z=V8tk>=*oXbllm3S*^uis6k>x6h^ioyYxOXy}oR1HF*!2NZP`-*LE$27BBNzE|R*+ zCu_J=DYFIOeyO-WhLrjfw>w!Z>%b|Q2MOO%~riR@O!3$v_8X z7v>Au_I|g8**9R?woMW;r|Ls|`j*+dG}sx6@_ochFP7afN#K=S9?h)w{Bbqq32Nhv zP%>*G(c)!(tE`IzWeU}(-$_cW_1kil=OFu6 zE{x2L=hiDB3<%wSV?rGF;HwdMEKT^vbLS>kxupZIUt^uJW=D(O)KIi$t1-iA`Q&Lg zk_{Ah51f4v4SIf~-Ng2^R#sxwQ-M$Jh0FUDdy;%zy8xTywXa5 z{sAhk+l>eg0Y<<%$LvH%6ear(F2l9P42HBSnYZM@8s2!eV<@u<26V_`>BX()*612d zS5A1EitKvW7OuT9Fghole9ZXR`6FFSk}EOqa3`naN6j_LfjJ zX88EZxS+1|j2T&u7Tsg6i4`k6DGz^%ggI3AepmA1S+=nw#o?kktvk-1pZA~cR!tEa zWT@#@wRP4#zNCaI9U0JOHpt`-e518d zA5D>Ijormb&y@oWJ#R9PuaMjM@^VDhk=MAe(L91{u2(jZaveTakG6;2T$ifP%X1JV z4cy!Sl$mK@dhyhL|4}yOsTn7o-YoaBxq@VRb&A7r&r_}ThLkDwp_^Mg-&OtN+PDo~ zZJ~nw0F7{~E=!Y`OCCArR%+FjCY91HTJQ0@R+&y&^s?CAmrhSGSyTEPeC>zwv{KvgT4i9gv}d*dxu+qO)dAz&UhJj)j&FiR zZ-SKP)azYq`bbt=jNyEbh-qY!ju|Hrx5U|9udZ{Vbe_m~@owGF(H&>Ul4^_X*H9b2+0UK1Le4qEiq#YyUh0XdpG{pw z27@eG4hr5hqBRv)AYqU9OegX8l@_m&b*r((CjwV7)oRKxGfpHvJ;{IQdX3r5cPujH z_(hYcutS1N$@6T{upr>N!RbG)QU5fed!NN=j(QfoIM?k5Omca@V70NgjWurVmCa_U z`r8SsvE^3d__PUIx^}98HxIaz)_9lU@-wS&{pmLQYa_2 z){DzrRk{61JmiQ!VK;Q%F?_D-swh-(ckAi#x|_}zH8Ju!y<705IC4u`uCr4f3^>@g zU_{@@BI_@g#Wzd{zar}k_ki+BLpzCthgL@%S@bHCO0N})OUt{i7rIWe%P05L z&Qf;=Cco}Y*O?>w_LTbI?I|l<(p0ph#m|Rbu@|zSsNv`EuE;Z9<)O8Hq_HxK3%#r9 z4!2aQyKhN;AUnTrNN>{$Zu?nHDHz8INu%u-xQg&eE zK)^k6cr{M-t|EF+pnG5%h{!I#Y}VOr@U*GzJylF_mJz0@|EO`pa#TFh>l6>_^}IwzOC*J!^h72w|OitIHyjc%{eUyw>K za+|)9XjXSq!(Wt0OP}y-s=~e8DmN*`EY+O2`rk2cmU039FptbfQ~2L6KQ%lkr@5vd z+6TN^UBNP;8eJ>)ZJRg1vp{bvKj}QpW|@0CfuZu2J_PV>9%{4LZ>19(D^^^)wRgnk zUQ<@Gkt)!UXx@@Ks{5AN-z-Wb(5GOV`>HCjbX=Rpme%IC>lF|zuim_9ajM>$Sz2_J zZhYa<9-3lf-+=6<{gv?QGwU&G#?mfjsOC1&nkC0}pljhGd2FS00Y5+qzs1J?Lv3tJ zYBqCse!&N;(Bf7kbxCrtjd6{=!#kD|3yFg;4Uz5atD!_wDbjce5c3NM%xW5v~U6nCe+F6L^ic(s17 zi!MK^PVAL)wu7<>lS-}T`^tWi9D2*dQo}uQN!M1If29Gk z>>YXUbd<~c>$wWnz1o-UE=b-yI9;}3lJYvaCMmB9Wn{#fWLVj6^728`n)n;!gPNzY z4dneNJq}~Ts!eD!TE&9$vL<<9ygBP1_GBR1WM$M>-q++kAyFDkZu?WunKkLGx%!Mo zN+V+AaN4oF)l6PYwW{)tZPKwf%8E_wt%4J`HpEu0Y2s{E`rA52+P#_vNz18bNm~u2 zEDv`lzv?lG+JTz!3;G6@xwjTOB_{vSu@Zo?!X-Yq|Jk$W2!DM z_>-rHq{el2EwDE{c<&pRseiJ)b3}bj@$6r^vXNPT&Tx-oir42`hxKUG@Wb?98Gz!p ziyf}V$E@SNl2Iojr-Eylk|Vz^1PH!~7OMI?S; z_IkR+=#ckqmNPmc`WfOCdG|(>#cqPU#YLk8{W+qIrFFf^Y#2oQb#W(+Xkxk0SrK|x z(OIWx#G!3BTwklAIFuyd^g9NQ1 zb8^hmpvugckzT56t>B5*a_sFt z^V)m&>~OuKI%5PKM0}+fxuRFSrF0(k@7c-bhL$p`-1uI3>61Lr+BjzGp5l(VM>e%F zVIL(t*Pg|O?+xZ?KM`td!Vd$uYDGIwAp@n^`SIe zP?hj2RV3e|X5&l~Kif)aFHA}hYMW(Fd4o!tE~^Q~5-L?lR}K)M#IkJs6i$ zTizbbFcWd42D+Q#t`NVQ;vM9b_kODa7md+i zd0VBWD^Y6OO2d`XkFNI1D&4BuM_2ngT<=VH6qhznQx)m=$(v~9wYNLC_dAZiZLayr z{?c%m#C0bZjFeR9ASBXG+)@p4sfW2vkP#|<**2cpelj_Aa&@<@9UY}SiuR&yw^b1u z7V(?!!Lf)Piy`yGeoLQY5`Ii<$S(2U^K-+J9+?9}#P*tawc&IR+4PtF{~&?8*rF-9 zxdRqWP^kmM%eY8xeCdkenQo=-{Dq#~8|1dvSgd9q^kciI2~tbsv({eFX6BUsp~45S z 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 fU7X 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

    !3NG;|nPM6HeDsynxdS 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 JolKYi-vLM3ajO6T literal 0 HcmV?d00001 diff --git a/src/third-party/win64/lib/muparserx.lib b/src/third-party/win64/lib/muparserx.lib new file mode 100644 index 0000000000000000000000000000000000000000..aad816bc7deb6df77048d819ec9915e7a673cc71 GIT binary patch literal 4002360 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 z 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

    J5tOWDnH;F$`jtt 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

  1. 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

      ^H);Oe$@3(27YWTi1r_e*P z#*-{~zm2A%yg7v)vZqWy3icE@M#1}SGh^?-u++h{7NET_;zs7Z=q z5WcchL2cLma-2dB*{;b*$#n?tx6#y*@|;2s$(n+c+?U~%z=|sCgg>XyL$aolEO@_- zrVa;i3Oyw2AEclf(BKubvFcp8w-Tq&L$aokEO`HhrZQIH6naS3bW@hS+O8IXoI(%D znnAKgo$420w4}wAu8R0^t zjiIv*i=NHvy{tfzS!WYbw+1%)0m!evN#v7VE&ub11r z!Zfuxh-aaPP|J~O%?SA9hVM^bztL3B8k|B8p<)E9{jzYqX%y zL#nX@DOnA8-TAx$s zA=Exafg|ht<|)>yY8((0dPp_)BPA<8JU=vV4K)i*vM|5HMO@P&q5EO4kHC?9vZAeP4#cY zDfEzP96?G}1JnsNVr9!+f&6naSI&#Nq08^v3! zNTR7%fWUg6dtlkLWY;uJ6>1Ke#eyDE`Kw6D zS^jk6M3|l(=#GI{q&P3;yGdPvrFlC|g4(Y>0oYr#i|9+GtfDY< (JNS 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%0D*{ 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

      t84JNiQceNVPmQ*tebK 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±eFL3Vs+z(>j1m>E+xz?|% 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

      *O7(zNM)i=Wn6YA=sPm!>zS^_>1H0({ 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