ibllib.misc.qt
+PyQt5 helper functions.
+Functions
++ | Create a Qt application. |
+
+ | Get the Main window of a QT application. |
+
+ | Function decorator to specify that a function requires a Qt application. |
+
+ | Run the Qt application. |
+
From 81f67053b038261f2a59d914bdac849774d671d9 Mon Sep 17 00:00:00 2001
From: GitHub Action Set of functions to deal with dlc data Set of functions to deal with dlc data. Functions Compute sniff times from the nose tip dlc pqt table FIXME Document and add unit test! Wrapper to compute speed for a number of dlc features and add them to dlc table Set dlc points with likelihood less than threshold to nan Set dlc points with likelihood less than threshold to nan. Plots histogramm of lick events aligned to feedback time, separate for correct and incorrect trials Set dlc points with likelihood less than threshold to nan Set dlc points with likelihood less than threshold to nan. FIXME Add unit test. FIXME Document and add unit test! dlc – dlc pqt table Set of functions to deal with dlc data Set of functions to deal with dlc data. Computing and testing IBL training status criteria. Bases: Standard IBL training criteria. Enumeration allows for comparisons between training status. Bases: Object that will load spike sorting data for a given probe insertion.
This class can be instantiated in several manners
@@ -832,7 +832,7 @@
Bases: Object to load session data for a give session in the recommended way. Nature, vol. 445, no. 7124, Art. no. 7124, Jan. 2007, doi: 10.1038/nature05453. Nat Neurosci, vol. 12, no. 3, Art. no. 3, Mar. 2009, doi: 10.1038/nn.2281. A package for loading 4345 formatted and registered gene expression volumes Functions Flag files are PyQt5 helper functions. PyQt5 helper functions. Functions Create a Qt application. Get the Main window of a QT application. Function decorator to specify that a function requires a Qt application. Run the Qt application. © Copyright 2020, International Brain Laboratory. Bases: A trials extractor object. ibllib.io.extractors.base.BaseBpodExtractor Extract trials data. This is an abstract method called by _run and run_qc methods. Subclasses should return
+the extracted trials data and a list of output files. This method should also save the
+trials extractor object to the :prop:`extractor` property for use by run_qc. save (bool) – Whether to save the extracted data as ALF datasets. dict – A dictionary of trials data. list of pathlib.Path – A list of output file paths if save == true. Run task QC. Subclass method should return the QC object. This just validates the trials_data is not
+None. trials_data (dict) – A dictionary of extracted trials data. The output of update (bool) – If true, update Alyx with the QC outcome. A TaskQC object replete with task data and computed metrics. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Extract trials data. This is an abstract method called by _run and run_qc methods. Subclasses should return
+the extracted trials data and a list of output files. This method should also save the
+trials extractor object to the :prop:`extractor` property for use by run_qc. save (bool) – Whether to save the extracted data as ALF datasets. dict – A dictionary of trials data. list of pathlib.Path – A list of output file paths if save == true. Run task QC. Subclass method should return the QC object. This just validates the trials_data is not
+None. trials_data (dict) – A dictionary of extracted trials data. The output of update (bool) – If true, update Alyx with the QC outcome. A TaskQC object replete with task data and computed metrics. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Extract the habituationChoiceWorld trial data using NI DAQ clock. Run and update QC. This adds the bpod TTLs to the QC object after the QC is run in the super call method.
+The raw Bpod TTLs are not used by the QC however they are used in the iblapps QC plot. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Extract trials data. This is an abstract method called by _run and run_qc methods. Subclasses should return
+the extracted trials data and a list of output files. This method should also save the
+trials extractor object to the :prop:`extractor` property for use by run_qc. save (bool) – Whether to save the extracted data as ALF datasets. dict – A dictionary of trials data. list of pathlib.Path – A list of output file paths if save == true. Run the task QC. trials_data (dict) – The complete extracted task data. update (bool) – If True, updates the session QC fields on Alyx. QC (ibllib.qc.task_metrics.TaskQC) – An optional QC class to instantiate. The task QC object. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Extract trials data. This is an abstract method called by _run and run_qc methods. Subclasses should return
+the extracted trials data and a list of output files. This method should also save the
+trials extractor object to the :prop:`extractor` property for use by run_qc. save (bool) – Whether to save the extracted data as ALF datasets. dict – A dictionary of trials data. list of pathlib.Path – A list of output file paths if save == true. Run the task QC. trials_data (dict) – The complete extracted task data. update (bool) – If True, updates the session QC fields on Alyx. QC (ibllib.qc.task_metrics.TaskQC) – An optional QC class to instantiate. The task QC object. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Extract the Bpod trials data and Timeline acquired signals. d[k] = v in the keyword argument list. For example: dict(one=1, two=2) in the keyword argument list. For example: dict(one=1, two=2) Bases: This is the legacy extractor for Guido’s ephys optogenetic stimulation protocol. This is legacy because personal project extractors should be in a separate repository. Extract the frame times from the main DAQ. An enumeration. Bases: An enumeration. Create FOV on Alyx. Assumes field of view recorded perpendicular to objective.
Assumes field of view is plane (negligible volume). Setup method to get the data handler and ensure all data is available locally to run task kwargs – Get the data handler and ensure all data is available locally to run task. Extract the data from raw data files
Extracts all the required task data from the raw data files. Extract the data from raw data files
Extracts all the required task data from the raw data files. Extract the data from data files
Extracts all the required task data from the data files. DLC QC This module runs a list of quality control metrics on the dlc traces. Plots for trial QC Behaviour QC. Interactive task QC viewer. Loads the TTLs, raw task data and task settings
-:return: Loads the TTLs, raw task data and task settings. Extracts and loads behaviour data for QC
-NB: partial extraction when bpod_only attribute is False requires intervals and
-intervals_bpod to be assigned to the data attribute before calling this function.
-:return: Extracts and loads behaviour data for QC. NB: partial extraction when bpod_only attribute is False requires intervals and
+intervals_bpod to be assigned to the data attribute before calling this function. A task extractor object containing raw and extracted data. An interactive PyQT QC data frame. Functions Classes Bases: Bases: © Copyright 2020, International Brain Laboratory. Interactive task QC viewer. An interactive PyQT QC data frame. © Copyright 2020, International Brain Laboratory. Functions Return the correct trials task for extracting only the Bpod trials. Displays the task QC for a given session. Classes Bases: A TaskQC object containing extracted data A table of failing trial-level QC metrics. pandas.DataFrame Plots the data for bnc1 (sound) and bnc2 (frame2ttl). axes – An axes handle on which to plot the TTL events wheel_axes – An axes handle on which to plot the wheel trace trial_events – A list of Bpod trial events to plot, e.g. [‘stimFreeze_times’], if None, valve, sound and stimulus events are plotted
+:param color_map: A color map to use for the events, default is the tableau color map
+linestyle: A line style map to use for the events, default is random.
+:return: None Return the correct trials task for extracting only the Bpod trials. task (ibllib.pipes.tasks.Task) – A pipeline task from which to derive the Bpod trials task. A Bpod choice world trials task instance. Displays the task QC for a given session. NB: For this to work, all behaviour trials task classes must implement a run_qc method. qc_or_session (str, pathlib.Path, ibllib.qc.task_metrics.TaskQC, QcFrame) – An experiment ID, session path, or TaskQC object. bpod_only (bool) – If true, display Bpod extracted events instead of data from the DAQ. local (bool) – If true, asserts all data local (i.e. do not attempt to download missing datasets). one (one.api.One) – An instance of ONE. protocol_number (int) – If not None, displays the QC for the protocol number provided. Argument is ignored if
+qc_or_session is a TaskQC object or QcFrame instance. The QcFrame object. © Copyright 2020, International Brain Laboratory. Populate a task settings JSON file. Register a new test session. Register a new test session. NB: This creates the session path on disk, using one.cache_dir. one (one.api.OneAlyx) – An instance of ONE. subject (str) – The subject name. If None, a new random subject is created. date (str) – An ISO date string. If None, a random one is created. pathlib.Path – New local session path. uuid.UUID – The experiment UUID.brainbox.behavior.dlc
-
@@ -173,12 +173,7 @@
-
+
-
-
@@ -187,7 +182,7 @@
-
+
@@ -228,7 +223,8 @@
+
diff --git a/_autosummary/ibllib.pipes.behavior_tasks.html b/_autosummary/ibllib.pipes.behavior_tasks.html
index 58dd8478..4d2d5329 100644
--- a/_autosummary/ibllib.pipes.behavior_tasks.html
+++ b/_autosummary/ibllib.pipes.behavior_tasks.html
@@ -268,6 +268,49 @@
@@ -245,7 +241,8 @@
+
+
diff --git a/_autosummary/ibllib.misc.misc.html b/_autosummary/ibllib.misc.misc.html
index ce84d24c..dd8c39d8 100644
--- a/_autosummary/ibllib.misc.misc.html
+++ b/_autosummary/ibllib.misc.misc.html
@@ -26,7 +26,7 @@
-
+
@@ -91,6 +91,7 @@
-
+
diff --git a/_autosummary/brainbox.behavior.training.html b/_autosummary/brainbox.behavior.training.html
index 4a4e9fd1..e42f91c6 100644
--- a/_autosummary/brainbox.behavior.training.html
+++ b/_autosummary/brainbox.behavior.training.html
@@ -280,7 +280,7 @@
IntFlag
object
diff --git a/_autosummary/iblatlas.genomics.agea.html b/_autosummary/iblatlas.genomics.agea.html
index ef7b18cc..1491b254 100644
--- a/_autosummary/iblatlas.genomics.agea.html
+++ b/_autosummary/iblatlas.genomics.agea.html
@@ -26,7 +26,7 @@
-
+
@@ -95,7 +95,10 @@
object
@@ -1093,6 +1093,36 @@
property probes
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
iblatlas.genomics.agea
-
-
+
@@ -180,7 +178,7 @@
diff --git a/_autosummary/ibllib.io.flags.html b/_autosummary/ibllib.io.flags.html
index 3f51da07..81bf0e7a 100644
--- a/_autosummary/ibllib.io.flags.html
+++ b/_autosummary/ibllib.io.flags.html
@@ -221,7 +221,7 @@
*.flag
files within a session folder used to schedule some jobs
Each line references to a file to extract or register
@@ -280,7 +280,7 @@
diff --git a/_autosummary/ibllib.misc.html b/_autosummary/ibllib.misc.html
index 589758d8..502b2667 100644
--- a/_autosummary/ibllib.misc.html
+++ b/_autosummary/ibllib.misc.html
@@ -91,6 +91,7 @@
+
+
+
diff --git a/_autosummary/ibllib.misc.qt.html b/_autosummary/ibllib.misc.qt.html
new file mode 100644
index 00000000..57e7b299
--- /dev/null
+++ b/_autosummary/ibllib.misc.qt.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+ ibllib.misc.qt
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ DynamicTask
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+extract_behaviour()
.
@@ -465,7 +519,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+extract_behaviour()
.
@@ -299,11 +342,25 @@
+
+
+
+
+
+
@@ -335,7 +392,7 @@
@@ -371,7 +428,7 @@
+
+
+
+
+
+
+
+
+
@@ -527,7 +626,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -554,11 +695,17 @@
+
+
+
+
+
@@ -590,7 +737,7 @@
diff --git a/_autosummary/ibllib.pipes.ephys_preprocessing.html b/_autosummary/ibllib.pipes.ephys_preprocessing.html
index b77d7acb..8f3d37eb 100644
--- a/_autosummary/ibllib.pipes.ephys_preprocessing.html
+++ b/_autosummary/ibllib.pipes.ephys_preprocessing.html
@@ -367,7 +367,7 @@
@@ -377,7 +377,7 @@
@@ -546,6 +546,16 @@
signature = {'input_files': [('_iblrig_taskData.raw.*', 'raw_behavior_data', True), ('_iblrig_taskSettings.raw.*', 'raw_behavior_data', True), ('_spikeglx_sync.channels.*', 'raw_ephys_data*', True), ('_spikeglx_sync.polarities.*', 'raw_ephys_data*', True), ('_spikeglx_sync.times.*', 'raw_ephys_data*', True), ('_iblrig_encoderEvents.raw*', 'raw_behavior_data', True), ('_iblrig_encoderPositions.raw*', 'raw_behavior_data', True), ('*wiring.json', 'raw_ephys_data*', False), ('*.meta', 'raw_ephys_data*', True)], 'output_files': [('*trials.table.pqt', 'alf', True), ('*trials.goCueTrigger_times.npy', 'alf', True), ('*trials.intervals_bpod.npy', 'alf', True), ('*trials.stimOff_times.npy', 'alf', True), ('*trials.quiescencePeriod.npy', 'alf', True), ('*wheel.position.npy', 'alf', True), ('*wheel.timestamps.npy', 'alf', True), ('*wheelMoves.intervals.npy', 'alf', True), ('*wheelMoves.peakAmplitude.npy', 'alf', True)]}
+
+
+
+
EphysTrials
@@ -671,12 +686,12 @@
diff --git a/_autosummary/ibllib.pipes.ephys_tasks.html b/_autosummary/ibllib.pipes.ephys_tasks.html
index c22d3ae2..86dc06ed 100644
--- a/_autosummary/ibllib.pipes.ephys_tasks.html
+++ b/_autosummary/ibllib.pipes.ephys_tasks.html
@@ -611,7 +611,7 @@
@@ -621,7 +621,7 @@
diff --git a/_autosummary/ibllib.pipes.mesoscope_tasks.html b/_autosummary/ibllib.pipes.mesoscope_tasks.html
index 7149f270..77faad03 100644
--- a/_autosummary/ibllib.pipes.mesoscope_tasks.html
+++ b/_autosummary/ibllib.pipes.mesoscope_tasks.html
@@ -206,14 +206,15 @@
-
+
Enum
diff --git a/_autosummary/ibllib.pipes.tasks.html b/_autosummary/ibllib.pipes.tasks.html
index fe8f03be..ef2d0f8b 100644
--- a/_autosummary/ibllib.pipes.tasks.html
+++ b/_autosummary/ibllib.pipes.tasks.html
@@ -409,15 +409,7 @@
-
+
diff --git a/_autosummary/ibllib.pipes.training_preprocessing.html b/_autosummary/ibllib.pipes.training_preprocessing.html
index cf235f88..123ac970 100644
--- a/_autosummary/ibllib.pipes.training_preprocessing.html
+++ b/_autosummary/ibllib.pipes.training_preprocessing.html
@@ -223,6 +223,17 @@
signature = {'input_files': [('_iblrig_taskData.raw.*', 'raw_behavior_data', True), ('_iblrig_taskSettings.raw.*', 'raw_behavior_data', True), ('_iblrig_encoderEvents.raw*', 'raw_behavior_data', True), ('_iblrig_encoderPositions.raw*', 'raw_behavior_data', True)], 'output_files': [('*trials.goCueTrigger_times.npy', 'alf', True), ('*trials.table.pqt', 'alf', True), ('*wheel.position.npy', 'alf', True), ('*wheel.timestamps.npy', 'alf', True), ('*wheelMoves.intervals.npy', 'alf', True), ('*wheelMoves.peakAmplitude.npy', 'alf', True)]}
+
+
+
+
diff --git a/_autosummary/ibllib.pipes.video_tasks.html b/_autosummary/ibllib.pipes.video_tasks.html
index be1d0f07..f2c61f0b 100644
--- a/_autosummary/ibllib.pipes.video_tasks.html
+++ b/_autosummary/ibllib.pipes.video_tasks.html
@@ -461,12 +461,12 @@
diff --git a/_autosummary/ibllib.qc.alignment_qc.html b/_autosummary/ibllib.qc.alignment_qc.html
index faf4e378..54a3a080 100644
--- a/_autosummary/ibllib.qc.alignment_qc.html
+++ b/_autosummary/ibllib.qc.alignment_qc.html
@@ -99,8 +99,10 @@
@@ -556,7 +558,7 @@
diff --git a/_autosummary/ibllib.qc.critical_reasons.html b/_autosummary/ibllib.qc.critical_reasons.html
index 2cf8edb4..1940fca0 100644
--- a/_autosummary/ibllib.qc.critical_reasons.html
+++ b/_autosummary/ibllib.qc.critical_reasons.html
@@ -99,8 +99,10 @@
@@ -300,7 +302,7 @@
diff --git a/_autosummary/ibllib.qc.html b/_autosummary/ibllib.qc.html
index 6339235c..1b533c58 100644
--- a/_autosummary/ibllib.qc.html
+++ b/_autosummary/ibllib.qc.html
@@ -99,8 +99,10 @@
-
+
+
+
+
-
+
+
+
+
@@ -101,6 +102,7 @@
@@ -195,7 +195,7 @@
+
+
+
+
+
diff --git a/_autosummary/ibllib.qc.task_qc_viewer.ViewEphysQC.html b/_autosummary/ibllib.qc.task_qc_viewer.ViewEphysQC.html
new file mode 100644
index 00000000..c1310207
--- /dev/null
+++ b/_autosummary/ibllib.qc.task_qc_viewer.ViewEphysQC.html
@@ -0,0 +1,314 @@
+
+
+
+
+
+
+ ibllib.qc.task_qc_viewer.ViewEphysQC
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+QAbstractTableModel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+FigureCanvasQTAgg
+
+ ibllib.qc.task_qc_viewer
+
+
+
+
+
+
+
+
+
+
+
+
+ ibllib.qc.task_qc_viewer.task_qc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+object
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -349,6 +352,29 @@
create_fake_ephys_recording_bad_passive_transfer_sessions(root_data_path, lab='fakelab', mouse='fakemouse', date='1900-01-01', num='001', increment=True)[source]
+
+
+
+
+
+
+
Tests for the ibllib.qc.task_qc_viewer package.
Hook method for setting up class fixture before running tests in the class.
+setUpClass +classmethod(function) -> method
+Convert a function to be a class method.
+A class method receives the class as implicit first argument, +just like an instance method receives the instance. +To declare a class method, use this idiom:
++++
+- class C:
- +
@classmethod +def f(cls, arg1, arg2, …):
+++…
+
It can be called either on the class (e.g. C.f()) or on an instance +(e.g. C().f()). The instance is ignored except for its class. +If a class method is called for a derived class, the derived class +object is passed as the implied first argument.
+Class methods are different than C++ or Java static methods. +If you want those, see the staticmethod builtin.
© Copyright 2020, International Brain Laboratory.
+Tests for the ibllib.qc.task_qc_viewer package.
+Module attributes
++ | If true, do not run the QT application. |
+
Classes
++ | Tests for ibllib.qc.task_qc_viewer.task_qc module. |
+
If true, do not run the QT application.
+bool
+© Copyright 2020, International Brain Laboratory.
+Test for BehaviourTask.get_protocol_number method.
Test for BehaviourTask._assert_trials_data method.
+Setup method to get the data handler and ensure all data is available locally to run task
-kwargs –
-Get the data handler and ensure all data is available locally to run task.
v|6!G^m}Dk`ik}!kkrGP#_g% zu`42CK)a6JPFcrHOABOapN;o?8=1nNW>Eu9M@RptsVRAR(b3|>*l*EohZ{E@^{gMA zJ$z15As3|orc)1v2T2QWNbntdJS)5orTeI&6-dGzQbT-yd7gZsvf^5fSlvyq3_D(z&I@>r&tn@cb3mNjnps8K<@ zM4QCf8a(c%gPS`|o; im=QkSm{%DyJv4T5fJ|mn=-xoZ2`yz$Pbe9BJlNT;(=ok`>brLBYW AMSNcvQNtj89v9{((>M; zM;b3iS7hDvY&yz2Twhy0wclvxi6_Rc9XV>$tPY)8Rb#AkSl=~2e=dKKv~a1tPmQHa zo3@nnbWirck~_P)AJJUcZ{fm)Qx5d|8ClV6K6UEA!GryJ51&0V%A|w+!i8PG$=syo za&OVg^NzZIe=EOs?YGu76PL}N-G?Ud_2tEO)2B}lKY4QHyX!x_T{V1atp4`_YvtwT z_xBsK_jg^T #^w8%6Qvty^LIy4JU&t&AHLl $}{MiHK*d+o2!j~{#2}L8=A9h z{DcWlGrYZhe0}H96wE%hZyeg(Say(N NMa#&cXxNM{hDYSFSBml zx+7W+1LWl7XsAbq#usL+e0Fx0{`Oz{^Fp--h31K?=QkzXRBQD=bxN6qUchyR>8zL$ zF)UcZI{rw@-=;(-r_Nao=I)~;v*rvoFgVEvTwGt8B~>xY`|qDI6E=Sr+i={ttF3E3 zFPcBUpG~ZV@tirK(?ZlA$5};6Y0A`Du@si%93Dbl7`Zr8;`57Shfk;S4;_-ezhC}N zbw+DT ll zuBEbMvud4RB)#*NQD|&xD*OC-FBQ7~xOHcYeLI>S|FMAv$!2f$AKuHa)qq9n=VDJS zIyQD~KN?QS`&-)+Op979S%;5OOul3oN6jqx@+B|bvuQosyW(M3>+cdv bj5>Gj%c%$#^s%R$pxt!tK< z3@FIMwEpMMplLBc0FU}(ZHEpWnqV7m((wJAu1Dkgq!u&oMAhQhj?~mK6%`ecC!f#N z43(9W>vYq5eOydTP(;Lx$&=gX mC*uzfT@ZoOfKMmEbkFy=Ft=|dc&~`0< zU@ukq?3t~;zP_ZCl$n*)L6*67lD#gVXm7K$mAQFI#iJ8yy}CpgY`=eU!sZ yW&WDtbj3k~2Fb|CTyw9IX{atXi<-HfZT9ftLxCcD ztJ^- w3bRUbcAp~k*rN$Y@EuB>_GbLGmWpun7m56|%H&e^9O7R|A$Z<>96S@uB| zN@?Sdvi$=Lj`th0N;x>^P~OLIBkzcklEv$a(+{Mi==A8( miD`I{J5=AV3Z zYy0MOm-2xF2io7<62y(!oSQr9`sV5x`}$}UK7T$%Gqj9_8*6z&U@6fY=yay*UP*TC z>iE0% (rw#-E;f*cQ>*@o}b>P z>97K)%$d`W(r2&w!t0}X$5C^V7v0?65XkjD |a-9$JD&aJx! )wCtGRoNCAwznPS1p}BQ>|BHW8+L<7q7kcl}=}NyZo3{y{N2O*1vh0 zAIi(?=T-LdOFsF3ezWgnm4PEheDz(<<(LPnTBbiZViGXfB*W|P%sF!^?*_;|_*h$z zq+=ASx$wh}vg|Eews>3|HF U%lN~Z*>Bmavv~+dD%nlCt!QPReB{)Aj+mr5}_GHlX!7}#t_Q%F=PcH2A_E>o eY7d+}Q?1R{kVry5Fu{UKh7_ zVKoH}*{*K76o!@%zuu)kmfc;c_zz3lBk=sJ;0-^)Ba&SsxD`JTS?F zyDV9^uH{vOiloDYe^rrn)+5b6Fe+-`=g*)0d)%CEWu@h=UY@%8#j%k~+CDll&fBPe z)bE)~b6d JFPV{fnrcI=$!?c*g z6iF`W@ak1dKysm44zVy(mRC)lR>nvOsZ;To*xR*D7QY@lRRzlko&Zu=5B|S&>5^ep zKl;?x=EhNcc&GP656Spdhx}VEGX48c=gq#%@HT?mj@Q$3WtCec ~}d<<GG&F-@V0ALmY13ZJT|L)R(i8#7+~TfC4YqdwF~C$ z# 9osx4xOQ8$-R6 z(+3Yqv7nd2yqcRwR{4H>Q5>+Ov8MFg+>1US4MDi=4$)Oz*kbh8a+}(uVIkAJn!b(8 zk2EUS({qq*qDK0*pL^jOQOU^#AMWjo*Q@L&Gqu$Fl6wBNhgtqzM~xlp^!LwCrJ}=! zf`V>SnB)yT#s>rhjF@|22ZZ$TUS*G~|L~DKFK 1>hG8x7-g$I z%f`m>$(gCnt5;WcQP}&rq1e0fg@gC<{BYegA78lS)07ofvkk6Bzdhq-nv{I*%{+ad zX|uq?v}RLSCj^X7>nSZg5#+>P+#1-mTerb_ddI2MB_BRyQN7l$U*C9kdrv=?fMfT7 zcmw ~0U%ZZ7z&+pm0*F+_#5I|_}))1+`)rSYo{=RnYns^LsvQKZWYRxN}P*y7Y zV`}C5AA=82!7pyDbAmZcp=omM(cY~s-TIA|r0229J4;D*%Dj8mZ|S|gLC23zv$t0; zHa5;|nkT~oRM2zZqp{%1;^oUbWKx>aXr&;%s9zu6L^jKJHweow9XJVE7E8N>-P&AS zYO3jw{xCOWc$nVCgoLlOQt?t0_1qUzLV>c@DNc{H4oggvPM`g6^&Gi!Wh{8}@Q~?G zcw{{W=s%z?uY7fhMK+cWeiFo87-ywq_a*DXk~^QCpYOjr%dk454anBl5kbRZ|l z@5AF`x;i>Kj&*tekahF&%G&;L+DQu*oH%o4@Va-`O=r%OHu_sHOFtW=p>cqvk#*-z z*o4iRvuDqS)6;6Es;H EMkU6L@2T2M#PvDbS$UJQlAip7y8X@?O7V4+Zlu?d5%qy!8M4`GXu1 z36XIF78I?Kh_~Hqt8S_i *IqI3_G4gL7|__=fEUhw+64H?Od_Mo#Oe;HtFf8S9b_OCt?^lIL+swlzVR(;5X2`v8ptlnR*D&_o=!~WID;FBjG z@%fUp5CDsLj5Yc| <+OA&YeHcd+iQ**{?XEkEP`! z{f#*(DUw^)`&M2}K6F&t*U@h1< #Z6{f~p$Dkpera+8# zd9M&KIg2t2O&MtuHv?th0Dr37E`=!O$Up5nbQrZfx7XKi-!5Lgnw^sq0E8PDnpgEA zS?Nd5Rm 5CZJch={rY6o;x(HLwuA}p~eC^%P+a+%RX=2ORa??3ra`Zja^X? z(Y{lsx;s)v5>&F`Aiiw0M!^_qcj4nVd?@o8?^DzLKbpYqgvk#XK73ze;}&p(+pVxU ziL(#9d^s0Ma_@ly-O*jjc;li3vSYw;0T->ctq)6H+t$U=Q&F!$e$U1#*9WyL0}CD} z6-Zx7(GHO8JZ0$EJ=B`A@81JcQc@E3PgaQny1#t&YLr`r#kTrS#*|vuqToY^GU*j7 zixPU5-9M0*n(xcU@pP7F?r7uw`B}hlv-c{)*6p#dX>I+iwdLgzZH>UYp_>osH@92Z zbl>^aY_s@7!Em=%DJy=nIJf++9U{u7)1%{no)dh0VxX0k)lld)Bu^zc$M)SIpPE~T z)iNFjiB8tHU%$hL4%OV7?JMioI)ComzK~g=(#BW^Sg1m7e0d&Te}B$7ckUdNLP!_X z;nIqVUDvPcfeOl?@kq2wP}EV>P}EO1OD(*Z{O8Bh-@UqYxV@rbCfMfnRhLMYFqYTI z&EM^RRTn28&pO85`dpNlw!XA2IMUS2Y-qs-$erW&w`ptMUGJUemErYlBhA`;yP4d+ zp#q_^6NRk2)Y0)Vk_-C}74}1E>CRiX3>@$8H&zdkQBZgYY}~VN-yl7``D4Beg2DQB zlHv#IX1y3F*_vor@k$LZp>eODzyIT?Nu7|Yg _u~w1!CAWQ7re(DTCu>xF8VP=V!~$)s zD=?DRaq7kro?>R!iKYYp-5Vc2Z0+mIQLuzHZ>}6*E59r*d(PV zevB%ZGV0MR_B1>o^Zok>42DrCBY?=W^HNlKP)pcmqDoty7+d=3(*s1>S7~lTCv5t< zm@fb=FSryN!kKLY_8S)YAL{kw=~H< KA4vEa&ns*ClNHS+=o zcxG(MLTt$|jG8oW(~EE=ug0BGlXhQn% WT95~xYb -R@F*0aC8X6v~x;KBdO z^O>ZiKu{-L)6dUOVrII>R-|1EBtOJ=o^(;S-Jp%fmsi@LeVYQUstTjp35jre?>wpS zVOp@@y^(Uek6I3fA@V>62IsuIw7e@K&f-snQOiOT9t8}omh;|LS8-s~*h%>(x@I2y zesH{uP4_U1`vpd=59=xmP`rB5-=c#{Ex&87ZqA7;$TxmIdd*8|9UYx+-MWdw{rdH5 zJRoWqY7O96X25`an6P*kHD2+RfQ!>J)e4{FPMB*Woj&yRKB}?Gk|lz%v}5l9D5nA} z=FgwMUqRP8b=?j+H@ii2!Y$jkv&-dIJwKNNDBs}fx|H6`dzC>Z1r Q z$1FP&chTM13=9f89muT~7S7B)sv+d|wEEAjR>9}i9)5)B)c7&fK~P0D<(92mFFr~3 zOR&iO(X;v28y7w+Ix%tI`STi9k%p#VoX2L _VG3c<|t-rPArcmUjE6 z`C4-SRM`t#ek=v!?cTR KOW~{GN@88D{2lglvVEo=b zIYf40%|Y67kBxGaWXG3g`9owzBG^#KCgGt##X-^+JexN0() JJ_(|F(U z$cH#GNc-%Lds0TtJA#6Gvg2bW?e1~+ovx*#jqbaId7d@>7A4I4F*~E1cGHxbPcBrr z&YhA}GEp-$_)kq+%G_!AM#481YW=6j?PwK;4|XrGi<^3I;pll=4jMPTFTMG7NszDa zxb55B*14K)`}x_QO3yYC-ULPY(&F1~2N-Od3{Aqph=#x@7<%-j&m;eeW(ySpwx@u9 z^frGN+jG^bRdCL|>pGU+P!;94Bj(IVz%0U0AW)B KlLklBSEXx9g*U} zBVabsd;w!ye|?oVYOZOA@|CSt(ODz!llPNUq{4I74gyj_uoCBI>6)?KhuJ0c67pNs zrwdkkX3vuUj<2!~EZt!HSti~fU6s7~l8XFE21te2TKSO#c473%Tws*93qngW{a zm38kD`bA1qr}PDTgd!_H!PmiUxs3 _qwMkRKk=WHx8dh!JHefHv}ref)7QSJ$C*vLUFaF2 z(ScjG##XIl kVc1yX(1sn&{iH zdyT=hHqpn1-p!s;nJ_16rnFN315Pguj*nS=AM$w?6qJ73xJSU`)6+`IzkYrAwqxhF z^WRFuSVyTx+p5oW8vNnvC0*G>zo(~++j%vXb`lSl!uF%K_QUS)gVdZHq%18p77c!2 z`$~GK*|exwCZm2)DeCuIt|44A{N9698d$>N!04OB=t;#^j~Xce)0GhO9^aOp&42 zn5T}AbP)7jefGHrk=`v+sc%1i{i>kvfX+H^$+(=t?-4+Nt}p6z(L>E3b0M0t6HQfv zgN_}e=H<37*Yk+d%iiNy5Vq)%pZ4RxJcUCHfsb~_|mGju)69|T=XO9Kh?Sazw^XyM4X zNW hNGdn@7VG7~s`Uq8dY#qu 7o{3uijG;!>YpvTDBXJ6(Gg*l0|J$d@{ujw*5<7YYE0y>zrVkg$KtVT zGvnLq)OZTW&Ye52-MEp$yP$`g{iph1CbQ05A0<4P*G@%QS-H4mA{Iq+FeA9`dcQNo13S{2mk!}bHnD%*$*G? zM+;53!XC0qs1Qm;WxgVg&s^x?`2|;F>2q6S8*`Rv&%d$;L1wy82B?SrCbv;)(!5&@ zkudM& 6%U_0c``AAhDc(>?shJW1&Y4>^RsyS46l=vUDmB&+^F^Jw_z`o z^AupYE8uW=ATnLMb{$~ov4{0Z4RS;|MwyMzrTG#bhyWTK_sE{o`1^Oz;lo+1F+}tu zpWXWSRfjbyA*0AsSmt*?tg8DfftEmy=K&FzTK$(pWIBVkOJQY1Tx512eH? x6Qtlo7~-(A^4zjpDgxjI>4Sjbn@f@coA!~l>Q|&4rIs=B_$JCqot*# ztj}q7*)AD>r(k|VH}7R gcxfNPtS{2uH>iK*E>*CXP%zi znO e$6XV9u z&8bxinXg`jQAemUkHF)i_0^<@D5K%Ox$2U#s!09qyLWB2)PL%U*|dTO4_f=!@5G@< zxKB%Soz;v8{izlf`#*=X&5&qzaWS*lVth36v=io 4^m;-Fy`gO#OE67JtK+`(nM| zp5dXlt-jGkG(jcr=G)we-EeJCiMHeYZt$<$5VmVu>r{COqK1D-&ZtG+5rXRa^&@-s z?8&B|IHu?V5er K)?$Y6qbe+ zHhQHD{TI5u8*g3!Vt7GeVc~ _>qWz}A+>M=wDXc^Ix6jC_wzp8FtZkhosVtcM|`vlcEiDDZW#v5}?ZLpb)OrRlOJ zP>+tbY1eTkxYItn)o#Ys-AK!LkhbUM22nju$Hv}&cVn}N!a%F>2M+OpXgc?<6WWmb z=eAFrGNmJr>0V~$4tja%*RK{RYPM1Z;k&=nMAYV8S{AWxZ^qs|dls`dU%q@v(xDBl zwTr>k$tpQdT^yjSZ1VepdOtqhfi?Dl7J!|xp{04NsQox2hMxy4*OoufZ_H^H4QOx= zw{$2Z#FTIDq9032K_GbIWW?`c`<;4ucGe)$I(OLtx*(%zG1^vzLnMnQj1p|lRrhIc z%H<4HmGPUuE0CJ_ojxzpVEdIqV{hSF!lT8){`~pR?UGX?QNz(=YAYV~FB(fI26P*5 z8~ yKYSi zlS1W@6&Co%_vxO~S@JaS@#DuA;-uSKexw1`*Sq5@0&o4V3_uZSGZUMyAYF6g#*K8G z9O$jx8|2chjWq-D zI}BVgzdVC|==S%|M(Cs bOj@W)6#ea5oL*XiT6Q;A^`RB+g0ZaE4dHAh;k#u zXptu)IwV#pRHjY!i5D@}!yttk8t3(&_AK=rw}arO5GmL*f+1iJc?J#hrfH;EYgD># z_E?GU+rDE*Dolt+!<@4-+rV7l( 92O!xlH{wx 3)rmd-Qp3kv6ta4WNxsG2!xTf zD5 2JV#Qej}3cz84q zbvU8yG5tS^0wOA!^cDM!?9!khbBdbsph0E9U%E?5F2<%NAE>l>^Jd}w(I;Ns+^PfF zR qs7k ~=UY^95Y|(CPdbq^ z6*&8#(h6{g!?F!AxSb_mzc#=6Ni1&SzeH07B@}9@5}HTUVjNOWN9DnT+xPE(!sMWx zjm;o3NX4Ekru)Qc;%(xVu35969%vS*Ai6t%SwT_JE>Sgo%a68P+4tg%gDi9*O5&o? zeu7Y@iQSDFGv*#DAGN5Yyxfm~BCPJt>(~9}%$YO)>N-oTxcE8A1IV0F8G6dgPlcpE ze(}OgJtU!a2yN&Guyj-PdrKk|kd=FH--e?+QU|*K`u;A@%INQr$_Va!&w&GfOI85W z&i5NGxCzdV(eRf* u^mxUvp#ml$y}@f(dH<=f;ZxRgQPOq zyteVdt$H=d=!1e=(8z+Q%_!Hri9zb>!p(h5fCJ@nmRc|UZS|5nNRk~23(Gk&%;qdl zgIt^nYWRP863NF^=?zV^0I5wYo+a4rqwb}+ew>C Bo41;J8N(eSx?1X_QV1^q$L?FSiXH^PDdPtF5H6WHznak e*L ;_7d6gjLkZHpfTp7VO z2Zikhm&)~3kPs3u*j+#X@%-7GX`8 D8-4)5^YEbhV&ejv15-4w@yaJy5#TF7;CX`5x2GyUH;F LXiwoqg1e~O!_U+$4@%Zl-=jKhKe*+)OAw!^~8f+jzf(gxz($@Y! zoghCFLOhwpj5%#akxDJU{6D9RwW*-%>c=J4vfO#$ I@lVOi4#tho|F8H2xZ!Evp##jj zwQUUUNi?037X%AAzlv c*cFciw8lO zJ GeafCn!TDrRY8dhhA|h z4n*(;oUeI%Er<(e8}CKV ~nK>0z_%-xGW`}!%gA5u&i+Xt%rGZ zZejxB%Gx|wTT7l&s&aGOe~p5V`Jb{!hFi=;2$3}?$QXK6Q&$&_)FokmW77eQ;m79} zj9aE1rrxFyc9sV76AldY9@jiND(W^kRaio-4G6wK;fV3^+m0Q@$Pn2O>W{b=awm6l zbEj?e6vGqE?PUV|h{h1i3CdY^ljsQ+MVsmsUF$y=P4E2>r(hN~hG?hm?xRU?KqTVt zt4Um5_wG2@_QSVtk4V(4BtJ;Bbpp*N`_7$78x^S}BErYwJ3GG{nAnt%p$HxE8r;9W z3}P7{=FK@ftKs^KWlY3ML{-2W;MJE#b(4DeCGYrG%0+;@ZQHgavG3*Nbmse5wq~e8 z;D ;!b_kJ`QcF@BB3e>wH|mX5=h*;EyZt3 zYhgou{awf?grx?Qi;`u9nk&j7 B!dMd86n;;Kn@VSOS3e(t^LP*`>c*yTCMb9ty=kveAgis{ zWeEg61StwoPH;00g-F<#E-nWtd>u@5H3oZI$}(=z{~wpU&)flNM|=5Jrf*P`k9_W) zfrsw@9R1dkenRA|9o>hIXa{d&`wC-=_lJ65ZP&tsX1v1mrzb>^g-Q2ax@_59>Qely z=#EIF=o6SvpWfXVhqG4y^_8rrrzdr$iYN+;OW2ZN!VAlCWGDj!2!^Vv?t&G;X>7O3 ziaZC+12_qUN~qO`$Ou)7fGv?!>!gwr-Vxw_)XFDkJgRSjp6EF@3kxclyTG)Jz!L5= ze};7Wa;BNEc~Y2>0F7o-y~h*iM>x*C`W0ID>iWjvETj8HMRuuwS@-+ -MV~M1I->l*#~!o_B(R)=)0g9p#c#&6?zy7405xIj*cu NHCD>== >a zphuKcbVce%n`)hYf0~+f2pI4%h0=jUEF$F8RO`4IiZH(4RdJCbiPTk2v;8U3M``mr zwd6uk&`V~WpFc)~x4U=0$BG9~?3L4MnHTv8eCkXs<8d~h+t$8x^{>ZmOfdf$r`Q;^ zoajW~aqAR7A$h@tgPE{{^|+!57VU`VwTOsgk@6tc2V_!E8D_c!+2?5sVS?>de2b{2 zkB<-UtXbt}5t$RjZMig$8Cg*jPYets1~-A{!FD(Yqr6+1?WI12-}a#@IdTPjSr)uB zLPH~r5I)GE4B&l4W5H37P)|HYkzSyh-vcwmFS?~SWctw&HQVSk^KNb#Rg=Ea6|Xe1 zWl6IV>jH7;*Fg;{a#p@t5o%MTW)?zeiuCHeH{)3Fx?DBlK7akXpX3%rCqbK8rTm{2 zVp@m&HoIj0Po_x*tEyJ~0UOV9c0Q|~SDdYRx;_oylfyl&e0yyaib*tx6@_gB?iL~T zohMH!vc7FXKm?A(>7HV0iW 79 zp!oLfTUSMbC%Z_Q&6y(?Fxdx%XV$D)X}Lo8V{gm!>z9j|HFf&*Xk-)x{Vj)RY^4k( z&E&CeiX^8cAQ N# zsUN6sjP2~=8Gr1o-ZIs@`9~*~shn>w|LXU0-KBZ1vD2~>Vq hIV^xuD)6$X8kDNSdiRsIaDHwS*r*s _nZ6@QaFn+xRdKiN$1;{?N3y A6>h)s1iourNc>+HvWV}C$1 zx9ax>MH|qqO`>MbqzKr_Bc<5?^@bO|eDkJtwYM6gN)dVFD&jC)?L8PILrGRiiR>GF z&p$^pGc!%(R<}JnGpa2S(NhSu0$8B!iX;IY23^rQU8fT*>B7~kBEcphUM*;#d{`Wb zGAexI--hC0NLWbsW;Qm#JmpJxEf{VyKcy1$(bm=$(mFzu?Q+-Vx#L{k57yR}!Ow!M zLoyoAP<0m6JWlD$ T_nJm0JF+ryB;?EqaIEZzri;L6_JR)B6Qd+W@X~ZrQ z1Bei3TN{<8`l>sOJBeXJZs8+gQ<1cTv3lp<>XJ3?Hi0wBBwY=;d)f1I^N^2iP>BvE zC1Ps8ZNvy6&1Jo-Yu5AUeTEK=^H?!e6dF=H)*vUqMgeQ_*qGIQXyl^E0VZc T4{ z7QGh3NQ9T3KF!lHR3o7j(!3I_9YMjZv1SSLACp0#U2gtjy^9u15fyX9NVsGK ggg9K1i|3vvb+XL6R$*d N{!u<&?qP+0R z$%?9B$%9Q3JQ*i&LZTqIE{y{a7}!I{>7g>_9xG9J{{jcIqlYos;qv}wDWRKk!Wj?| z0n<>mRzE*yjJ_-@8*J60KsHmXJun7R;oP6{wAIhi?fjTu@p|^Q1o5EamDAFtwYTG^ z+a=hRa#c#(xBAp96s&@`kkIG4)sT>B@%Cw#R=wMWL@s1hArMlUDPVWlrQj>;tLqkG z?%c)H5l#$j6SD@?9}p8WguWj`StNSe9R-zPO{5uSevY7W#y_{Y2Du(S``jr64w0%| zQ80j|AX3s`Rl*R+-cuN_zz)6X_4hcY1cT0EE=Hs*XsCvse>{FwN>(qJK>FtqaMEaa z2`$Edu27h*K`M~G^7-Ft9K~prk#{~NRJg0ppFi(5K>rxe%;viLN>RvJix*N;2?d{u zi3wS)ycDaId7{CLVz8G{E^!oY-@E6J6jS%q%IKdz08`2PNMZ6J(j@={vm7F+i J9X7)1I3E2P`Ugc#4AzTg0RWuIhqrClPQ=Xq^T75B{R&p+^`sY0gc(}z zOTNZK|9hsuPCC8!ztr}A90#Nn{J~4kk55}250pdm1jq&K-Fuqdh?}wl5G?Z8r;L4_ z-(4RAu0WPoKwx3~%2m `>yZHmNu3#BAP%4W-Zy zF=h%9<(FEp?uD{SLS(46_F>W$OO`Ip;#=w-7VZfQoWk7e`ce}rEtJubz2^Syb#M4S zc61JOQrwQ1Rif=F{Y+zxkPw XYX1#}SHR@!*Dv-Kyn~UQRPhD4S$r z@{+Pq5NRa*TBL==E-qFWC-81Dmq5|#v!yjNWLgaFct08nv=TSgZf!ws?owLSr>d%p ztWi|Qf}G%?0Zaq(Dv+0F@hXeb&YwFcwlK<>7?7;0%3%rEJv~01?TSMp2E=$GNVv>= z4J!JJoLon46Ue>=D}n#0g-j!*FjGB*KAm8=n<~yQ{qKXV`W;HW{~J&N=?K<{jT(hr zMy2Zo6-ALF#WIu$2FAHaA_{*%ZPCr~Vk8?WP$&qB6E=;cEb>fipRGl}r$#_ |OP@GdIpuGm bPPudfo9z`>{yz=R; z|BYlKO+9}6*kAKW{XlB*!;=$2spC(X-4W?QN(?GlZgABY2Foc&WDTY>6CgD}{}lC1 z0GUV+(Aew$q$uVb7n4E2ks`4^am$wRRH^0Qa1qB~>7DIZHFYrITm^B=gK&(Q(DCoc z1i@dwj2WiQ6Tm}4PA5xA-I}s+;Yp;z5hF%0n|!~Z;2_&6;ktUQ$l^l-NNu<0kPG1t z^zCboq`|J|sm{b+vwu3o$e)lDOkRk0Jgtvi=3Cp?h&((Mpp3VMLP01YfFL88U*)l5 zA&bccdKt Qey zN?)ztD}?4sDHu9pM7IeO#Fml7y`V$VB5H}uSaWIm^X8Y8l^OjGXQDzJh~m)>rv(>! z^vWlGyf)cBeeM%d%Arysh-7296Tng-XA$Bb7&s%n36<~K_6AKbe8JTrCh8&9i2dXq z%!PdeOh~Ho0dY|OQz&m>uP)st3mOS@B+xG&D|ob5)$2N0Il0}W0Js18I#5|zg1M61 zP%R-k*d|(Z@i`PK#H9YgI_3q>pC4uU_f%9oz;~l?ySTXM5h^LUh&TjbmEOF$!J{EA zF0P%&dJp3noA2;pTpqeNVR6wV$#y)Tg&S_sqS`RR=+PkGzrWl{d1ro+An}MU@)I_V zAYqy|-+)77iscrbn<~v 8vSM#anpOr9D3)J(n0si~m)GeUpr >6Zy z_PmXjjU?+7(cv_4kC9?NsJJH_0$MI6{6xCm!9fWqO%E3SG^lBqyK;0`m^>T45)6l* zU{KIP#^nMLII dSZu+&6~98Z`$XAP}E;AWb5 zmxYUT&3JO1yLVqMCa$3M2w_ErG!QW)gC3}Ev()&10tRx#+6Yf1P%|nui_&9##XXc8 z5ltjt)Ipqgf}Tft?JlOrY4Kdz?5KCDoF_Cy#A5dH;L&u_xaFj8>_*J6S*Y)4p4>Fp zjUd06FqZ)QE1#+Y_!-l08M@FHLWo`Q0Zm5?>;tS5^22n-YyX=WX*AL4`T5Hioi#5n z*uUY$vuVqCF`#?7mGfhfAR!j9EUc}+xQ+uPZXYwfOi0ZH<+9FwUb#Cm>*Vs+1A6w{ zX&v7yMZvH7=s!hv>5?VJJQH2_PcxIg{U@|L;uKQCKt{3rF79K1k=H}SHj(k96H(-P zD2$)T={Z0gq-weG=PxR2hwX<{q;R*wSfh}-rVgHLW>!Y|p}_97Ux9Rvx>JsFg|;-p zYLO4Q^j=g}j$`OR&_~dJ;JBDJ5Yjq)(yQh73hq+?bAlz (a6FgYUYX?0c;avz+rG#;Z-HhkpfYP zw@2khXkQYs%+x>NzyWba2>7HFFOZw&q?c|SdjrPegJB)`>{8EThy`)(%j46g^dxIE zE$qzcU|)2_+1)oaOJf)j!rDdhg!Vd# m5j8ytBg|fp!RZRauYDCMWU5Tj$)D)2n;ah{Lw^$Q>`t-rAJ{$NBeVCNW zX`vZMuz|?3$%-5iAUU2xH`FDBwM_*Qi9h;#@R1`&5=~31fzn%R%R9636O0dloUj9C z0l|4*VkQpBT?BQgy4JB4VJ2~Ec*Q=5dNmA?B<60cdg9ONB`F)qrcm?6@f5-{SdkyT zgu2P+{PB&C>rlFV$Skkut`SJeOTo(~CO&<`2YZB)YrMmh!bojx6&MV!v%G1fIA8_6 z00c6=cpJZQyjw*#{wy{b)E9Cz1^Rl(d@!lf8IgvM*l|Lo=LUH-fEw(dj)a^zRlu#T z!V<=HhnF|^#wHC`CK@I)SbfISOwVi+0HNmkw?nySESfd`fR(Q> Ra)N0_9 zJdz)sUG0 lmJ0905gLnP6l{-Qnv$Wv~0aHv_ekT;xjoe;ULP9_PV#@?Jf{qc8dwhuUZ$d zXU{3l-TE(x`-sND@h*L^5>@6MR_^uBaqjQL{-;DhHKV8=h{S~qw6M!}BO7v=#?z ^^6v9 ztFZnNQwKC#;9?&_0pcthp*Mh>DQY`eOJbA`24%@NGYTdS#^UMoTbN>7O5*a`_3L{} zCQ9!$7wA^;?CkSGixmT17z-lPgXGE-Lj`!3;X5B18Ix9@p2f?OqM^^#v1+~7zw=iB zmZ!zeJvz*07lH{pz|MHLNmS;G7okMi&gOz71)gS{r|#tG-!EJNgCpi&mIMxPw#p=2 zGkCZ-k4NM-J9X+r_V57q2op3E D~JtS|Ry|AsQMQRt7u@p@vZb1?vII9W&TI7Ns+P%pE}(U=sA>owQF15uzTe zH8`==n~bf3!L}oe!n+c@1y72@LQv&@zc(W%3Ff_zp$*AMh+V1Ps|#&)C%u^kBt}-q zX8<3vp=YM+l_iy?cC#jy{SeA@j72P@ZcOmI=rf}n@2_WH*%|sV4~q+%4+BA_Tt+?{ z1$0nw&fE+y15~xiTqdj(fl`<%#1$qI^+g TDquT6qeZgD;1+&@c z27)w`8e<)ZX=eN>`m|}hEeE4a1s*b>eIFNtM^i`gk+Wn3cg2MCSv4XH!ijye7@-M$ zf|D~Q60E@->v?;pa&x5Es3I&j2|Q5$?TsA#U4*zmSR7K88!~b#N7r!53y(=m<-y?@ zg>FM;3}+(n>eZ|2&NOF3QCpeZNJy0un3+Dvn_lz&W*8ZAF(SxeYRKe3mEQ5TxnMyQ z#fe}dV(Rvq3`Qz~wV@}t9z*o>juU!i! 4YzV#&{@o+yUXV{AoI~26Tx?%4N- 9Af09{bx=W9W=nCo5m`~rED=$1 z+oq6dLuhnDf&?5K{%;Oj$kD%k{YuNdMKOnarx5o<+LEyCe3*k1SH+qxaqK0r>P6Bc z?6|YmF 4zhoPb`787*e`1lpr)0X$7?Y;+3t`-fMzUN@**a#E-32Sl=E zD^_rF3pqaJ|Dx;yLjdps2n}RrN_cyFqc&2_p`>lXEMogf1vy0Ql3H&4@WF#j4nxCL zA*do$X7-=Mhd~5njx)pMR~^nk9yK4aUz#n+Llx_SG0H7QFF8|Y_Rm8zrcN#Wr%(V$ z<#CND!~!k;`nCWxh9G7W<1%*4m>3{sV`HOoXdbQ}zJ)a%0e?r>H?+{@AP$m@5{uWY z36JYPkn99-7(NST2EKQ3aBv{NI2FBxA>x9RSWfk8jqL0D&*652n*A@-$U+t~TnQEd zZ0iJ9);jiC{PEV(zYFwlN~wwg0u)J@6+-T;qP85V10(JDUdqPJ4l-8j*_T=y{=u;}3f(O9<4U#hm#G=(OEP^tYeMBi0 al?;CO>C^MP|K0?hDy3$fA@O+BIapSlh57#;bNT<%X_@~Y zzoyS>89ys=Xyc3- +KG5y9YrOiHAcB$>blaxU$+Pj1kNEJ&D7$8nnz_8vr zU_2`eyd(}OfjYT;d-~+bX^-Ev{t?p~-J!T#0>Eh(hR9kgmLx(BQ!>(h`ozv}+y4~C z0mw=QZ4wG2R0{!CDO&ib(U~zDKf3D5Y1#{laQFUwA>Fdc#P}h2oAho=S;KJ2-(sq~ z7apLRAOb*dmcj E6E!nd!z*hn-At^+EZ$1tr>4S)pQTox37#S)XgnFREqz?vpx`9 zVd~VC6r~V8aOyadOB{fTI2Il4m~_ #3Du2acG5+W#qjL>f>3H^!WBhy2BEfR{GB+hYK8C} zsJgZ<(r8Q~aRTOMQRWw|jf#me ?Ay_P-AE$j58PD_|pJ7h|>_Yr!*$jUjnFp{-@Vd{2rt7AVxWMqRcD`yn zW5=-2JQOi8-wF2+sZ^1AM(yOBuf$K=q+7;_{cVD@$q{4wiNK&=VBeJne}45J2Nwol z!df7E!tU*}7{%bw!BsH*ts$qURvp){ZQ48agMbCB<;i&2McpFAF(N`x#2W%KhzSKY z4r*HAY16J?F0_49FX@(KYLY5PNdiFW_+tD36=o7W9T2yaLp4Q)bG5<_4itbyfU?~1 zvB}px`gozWHD!xxr-h#8R?|(<+%UIQyfp#zpaA=yo{S~va<&yHMH~rL(}?5>Ah$KP zC+xz0b)vXJZLw?mjv8y)ILBk5cjxw{4o74a$ZTCeuh)0^jb2K!Om@zk7b>YL-TII1 zhF@lt9sxcfVI*demDMK{v=D-ZSH^5RRQ36DMQ7)PImt6fa&qI#2@ddf1eXAaLPjxr zpIqO#njs-!2%$Nux$k)AP4({&aHs7fD3kn>+0xpv1)M7IFIL4%lD9(exa>cfm5(GV zj_*^OJ+Qz_W33{G%w}Ol7?UH|=W)Q>JI|ZgI2y7TDMvNywS{iBtfl$)zp 6P>JUCpe2WOH z7{6J9H$bS_uA$y4S6-nJt%XDx`=cX*|4?0B!E4Ah(mRP^AxZzXcPS#?{ef*RbYc+! z-4-FR(YJ4wAM>}iYrg}%6WnbKkTYC4^DIIK%#~M3lCZTvGn><9DDbS{K?Q~|A~rsJ z6}+v3o?H=~Y$|QI3$Y?f0w^pbi4KOnh*>glG?rUf4guI2JIre(7+ajpSL_Lh6g{wb zvoRAV!bgKY MU0LJyFP!sCxN%g~9?u^GiVP1o)+-p~$H zgCqf3&3bkUkbDX{HJd~5Qgkg*e9%-uRIDW!l9=6tZ_L?2I~VYY8$M0)+5d_PkD7Fu zT}cZ&N6cKKkaBw6pHEHNBS)6d9ys^rbfGKzLLB1At#{%K6puW_7BQ z7<5K;jz%K(KblBl5~#6)>d_%^kJcVM9 -6NLi+yy7C>*qozkBCSbYa~DUEQ99C?@4Kw<@%>j64iUbfp8Uyen{sGp!(ttaf?2 zz>&Ic6=DFGioVeKFK}TfiLFzoPN^(BsO+Ks7##MS6e}(DbY|KYF(AP7emSm|I3Jsh zuypO(lZh7j&r&lo?)B^6UmQ#%j_X{Y#F?6%GV8Vs`)#m7%=$$~mvy=^k~5$zP~&RX z_7*3N3SnhzG&06%4u!z>0q!TH*HZTxf4zrsYyq6_J9f?7oi4X^X(r oeI&BC)AXZ9p0I3i z>icXnl7OBM89)A-xo=N53avOrO^6~G6NYmav8c%g3hVUhRjt~s?Mod45GNj(iAnaR zUmDD>NT5_5=3q|HV1ziDLa--YH&uSOmr=<#Ek>X?iVRPwS;^2;v>&FOcegDzxs#P; z8~wiP2O@uD&_D)D(wmeFw$ q?e4^9=B6jiyJjIDRe@1al?tqc3F|7r5*KsNsOm9b(n8HJ9M-tV;S z6ig|B>i#m+o%QNwrC$F=Ce=+SNXQKx7UhZfxTW*p;GDh;#R(CO(M1Z^2gY4c-NOjz z^0>(fg)<%@OQvb~ib*{nw&Kta&POA#g*JLVlk-lrjD?~yjtk(KirgyuSR{{|8mdXW zRyHYnBN9^iMMV(DK0yLUt;km(Md$<8#Gfh&b@0k@3ukrX;litM X7aXedfea{D34ON9wmSK9z>yF?xm}T %OqBSmA7Z1VH= !6n?6+hLzKP5V6&B^4 zP~g~CLAk|A)cS^acc3xk(=G}>y}+($oi?BDsKWecDc zGc%O&Y%DUW zJra#GpepDyGAIg1)c?cOdB^p l35k_tUr~E*h4& zcL@jxN(=m^f})Rjy==t_S1!3o{HeuDeyi*69?z12Ljc$SiJcj 5#bO^Q5DDK+`s2q|AHcu{H*kdwMgW2LK7sz8KFO%Qi9r5^;i%{bP1(dV@%Ys_Ycu zn34AbUuRFG%93$ZYV>`D_xAC~+@;0Y*sQ(X?DC_GBgwdVlP2}wto%p#PMReqCVLAX zjWmMlOs2glM%t{dql+ZSBrVPz!m!gsVy*NPoS1H8J(5AvzaR|LBI~BT7*`ohhvfa7 zwigIqoO;E|4y?Fjb>&`Ya&Rpv8wJPbO^1zGI|TiR-nWot3_jeZ#K+2t=Z`_=ZCq94 zPSPgho2cX!S^FX{4 (-0mf)t`QBb_}`}Y$cWJByvU?Qt;_MII8qWHin2>G>GFUhAu0?G~1f21)KfKDJu zLf8iYBR@Y2ZUJisCPx`I$4=G^fS-RrOH^U__`;G|(k4CDd~EwWMI-uJjGn~QlKbgL z)j!|K%*?0GUNzm9n Z@|iE^_-w|5b5mC z^Q{~HT+JGK5IQgnB{(IiGcN}$ejNg>%?3d?+Wr}W`T;&F-U|%4D|hn7<7Mgc<%OjM zH;EhpJOkp=b$E!Tj&rOLlF_VA_Q#>lA14N`59nLNuX$fMFBH;f=+W6^FwY<(X l`58Olo`FhC5+&q9zA-rLDv($ zVqJ~YT{sTTr#LGjAyESWlNlO&eb={XThPb&oazNQ2{eWxQM_p^hWPqWIN`J?cs4!c zY$vB3aZ=r&>q^&n*%dK`z`ya&Ps&CJ5)6|iL8Lq9dGj)PtQCuPbJz6xZ@!EOz@)a) zIm(r}t7#~KQTWBuwBvIbBm{uhEb#9mG(3`nNd@M&&MKL2*GsWQ#xmYC49B=xvjR&^ z^mTMb=bW5n;!16^Jp`rPq%OuDqjHkhu8BpFTh3`z+yf$?fV;}G$m*f{cI=1-Ld-n# z4@c+@FF^m*Irlh3v9pt(_uiYen?lz14KHMU2_8?UJy0nI?13b)Ay7? _`UGzZebcbi%@~;>yq{;yf z6u)FMu10_E*uGu6%IlZ;p)vHc2l-niIeT~QIy}s`_UdVNN!)=p*5l*vMx=1*3rkH# zB0Bhey`r#$g5?gvk~XWo`E94+oyG&c6j2ZChMJvq)~De24-D9-biFU2owDX;j9B10 zj3^~&BA$v|N@ ?oQ0U%>4Py_%V!7C>X10S$mS$%4MRh$#*VB$bCNX| zw7Z8$fnvx=jypPKGZ2+Ff6@NjJmF+1VqoDCy5-H7!(`1U3f88Jwt&6OrAb5=3twN{ z;L31d13)ZiGO8$e#4VUpIf;YY;M3w~C)zVG9Zt`dH^`SOE>F(Q9mC6q7fkd z(JAoxMt9pTqI`~c)%WMKP%)L@OB+kpL>g1Uyj(BGi>cflnb<(7Ktu&wU~HvCsERjl zYS;HO&0jllD_wulnwHp5%%dy9_&SL>4KS*z>qF}F )T{K1V^RIIJ_Dy%{Qe!%piVN96Vk}yD#Ji&EJ_f==l_80aF&JWNe{o%vy!YD%R z3x;%iKR+OyA4ORlhXP#mP=Mi&W5%>3(Bt^f7-3K @7%wLh)4aX^7vn?Z9zsdge^ C$o zfhFr?dPSl-DBnI4-w{_L=9W(HR`BzA>ZikXJ-_?v1ug2}JUe%D?stPr81_@6QWgxy z33xMucsNa_Mq31x{`~32)J1^Kx2oenJ$>Q48vIOQcqhPo`&V-tY7{VhnFkX0FSk`6 zqA9|nIbh=J490+-xnkJ-?I7>;2|Dy#smWfMb#D8+0->W>YKI#x!|s!dx_QxCaV_35 zdm$rqJfBCa+}iCJ+kVD{0Ck%ghW_X8zGdEmX{HtoOjDNaD!D8})q@6QuRJjZAOS8G zqTv*mtwF om@B(uFnXq{L`b#)`S;q=WNb#2503oGi*lc0 zfgkyO>3t!r!5C`tFSiNk+o#WL#0N4{#_6CFJT`27B{*30^f?utfG9F+ATl)|BAh3L zr9AQ1wf&40JYb@Fk4gXH9U%iNua53kv$UtxrEw+onzYrO@IR?NC*;_Vo@!0S&j?{~ zd8Y%sZTci+1WqK(s>Jr&5%B>FIFN3@%9*T)iix?&MMaX;11#V$B}imNl9G8BC&NZ& z`D>#O(TBtrKYI1@rA&U4GDs{#-@JJv4FMx@g{v?Ta*^T7!{fxd&y1I!Si`j~;^RZA zKRr)<))zr2)kx6U{mwoFz*~7APl;mzE3P1-@$nK_3$<8hC@nejTzr#wAFsOEmwjqh zM+Ag=_^%J&-PuHUaORxZvqjM-GC~1D-m4FX@(qsyBIk{eA$HlT13M5ECW&BZrzDa zk7FStN=V4WZ5TSUedETBf%QI+Js9%=e{J1ix{dNC4et&zMKyq~gO)~kev#Td-VMZs zcz8B2k5oHSVFK5}^MxM|2MMRl><;)uC_DaaA@HimAs|{QE~snKRSC9>%;Qv2l5N71 z%J?ac$|XsExyl+BVV{8}K 6v1(L_}sWTsq>=-KY^^XJ@+0oM7UHxa&(BfJ|babT&5#Kl?cylH14FN_%Dq(n>= zo%yHTk5x-oF=ishg5(WIi?J)Nfu%vP+qY3EKHG^lf$$kItfy&lb%gBG0mu;*7r=5v zNyUGTO+pO=uXS5_M(M^T@8#=IVNMW{#p% P;gtMOut>B{vD?u5xGG95yH^`RX_e>qtX;UB#b$3LeQ`L8K-E!2_*8n zsV@pXe2AakU1JkezlbOS&&W#DdF$y48Ttf|qRwcpZZItsJLVhw;-LN?Yn&H;w{+q9 zp2bsvtR|ugp@PB3F};l;(Fj;tS?Tq(FCi3TfqbKf=(DchxY6yocO4->R<>}+e}rfi z{x|zfA$<^_rA^hv@OlL&k9VPu7EKrj6DrC1y1$|r<517zL~c#bCEBc~B{S=ye} jV1ov!keUcxMvtjWLwD^; )BVGNubJ98BO%TioI<7>c5GjEJ$~`mA@)_?9ac{+Uh=ad8)reOo60ld3jck zGFODFph`0T{q*Lro;{VxVN5sJ-y*g2S^aIE%#@)~-tOD09?+`jfw%%bNxxeqFJb(M z@Kusn>88SV^ZW!j15Pva*9@Rmy7KJo4 z1nSI!pkvHo>VA*x$SY&j4;613xBmlF+k(((6D`dFN+!qq%6c-WUg^hDP1H3Cr}^qO zI=8V#ug#jhVA`kf`eL%A9nw8k#HI3^c$YB%x f+T$i^OY; zpUfaZXR7+itKIN~0EhxR?=CCQIBGImA*Hhz*MO!z#vcHUmB%@I984dabDv7>fOFNP z0S9~TzBBCJd&mMAMU~+!vYs;m18o`a*giIm57?jk NZ6%Ac zkZdO$`%JrSKiaK;UpL#uWtV&6S#AURE+X+mYC8PN%*Ya+6B;j|kszDMR26cHl3`$H zmulaGKGu2;(pI|KRSSk@vSdbB0|M D0AlzvSwkEIo}LKgYn*0;PiBn=4lJesBJmHmz7Px9&3keq*u&=l21YL^ zfK3$m2R2Yf*|}q@l2)s`>O@qPW_Rz`CU#iR-9gs2hjoiy#vNI*aeC6Du>)3^41OFX zGaAfh3$=}N41Gw#uTD~l3ke+DNi+n bv&Pb%+caW z|Nfr4!-^a?N&tF$I+QyB9@%b~S09lhfvwQ2bV>bPw^GbOI6<;s0ky89-wGD95Tj8N zqiK{~DV%A<#Tx;LRd90PF<>7SwV;KsPp+aOZnLneHYq-9#e5RSMgl<$g_3|a{6?l4 zMiN5B>mPBL*hR2ua+tE^e0TSlgoJ}%XRJg`!4}2YXxfk#1j}DxTtBLA#*56q9l!Ky z6l>= D&F(C?g z;0*^=$=IJ!X>Iykm{JC>fO3;VKH8~l@O?>GadCAefr!ls3XIygi823we`w#nW$W+7 z`j^JyZ`_Y_D88(;6YcvtDM%;CPZNiub?er7UoirRl|xY6V!)}>h7%&^ygPMDFLwHC zJ(EA<7Jn@*c<=Mq>r10{?-|}luh!>b%(8QVNvM+lqyCwg6@tvgWfTpB& HngLbYrFR_@>_W9iHh4sG1GOv9S>FaXFoKU8fh`=5Qz~o-lv`-vULdv5 zH5q*7^ywE@R`%uv7jNq7lgge|P!-A9pzL~ReQPa?uXPQo*Q3Zm>&?*dqaC$WorfN7 zk!v>LcxYrm1J?!3!saI(Ho25>{pcuww_QteXe-64lxGHI45A|9Taj;3-Tt!8nx}jt zrJ!pQ70PNfTVNHtKD8t$YyX)WcjIC+4lw!1Ky;<#rvtEoKdW3l*Z*v|i)2@ktE*Jk zh|^BQv*sFz;V1z)4#p1YsR!c-Vr9h_6^ARFK(Mb7B_Wka*@P$h9+77#z((CRYPS5K z#i^98B_aQ0JhxJ!fOzTF-UXgt%?CB0M5mGj#8@aF?E5#kzttxLvSVhbSt=#VbrD#{O& zMu6}7h#uNH*~F|;cWqfcP2It;s&C0h6wAdgXTf^QU;|T6=;Bj<2h1igGD&B RMiON`^>$pPYRVb^(8zx`%%V~FzjNYISY60;F3 HkP zGV}UMmWGe4|8>lvF&HhlyIX< kW%!J0) z#ZMk*TkcRe6ccB?^ZZQPt3KmlEg<%-{SsP%u%a );KPK9@u;47* zEyrPI{*5uS{1F-ptqA%i&TV1{d+c#`l+RqHmnDR0Ti#gbVporR&-haJ*Bwqm6nLs z=$k~J_N^cVng#r*ET<-yV8G7F-q~l1d$S*Q)Bue#Pe~s3`pV%`pr|CAF&6fItzW*z znEUN^pbo&8W8A-LcJZtb2xZDr@g-tQ$6Zjc_jxHMbP#jMILGqdg->a1R_WNaX7v+b zL-R?i)V1%$F)*#KXJ;mHhS)LUN4Y{ljC5z5=E9f!G63`eG9t`#MCDL$rg+bRurTUv zKkhTVjBHmxj<)_$Y|Fk&YpX*RSd6tCr(@h#^ZEJm4qL Gz+tKX;hUm-Yyc6~IKudP&Wxm=f0h)S(BMcXaB*vk#Yn-_jQEN@yQ zSN*}_oP^hkT1HyaH(HE{vx`WFi4jQ;=at^4BMlK?&YqsG-{a7i&85+n#{&xxKYa;# z-@adW{A6n!N>ny<5~L<`6Ook*B%TnYsbh`8*ER+77Os|niHexoaHpu2Kv3u`;}1_h z8{XOE#e#xs?uyTUBxbnfb$I%m#|Jm#f=`g5&RSgFTzO zL^tP_`Pie|}Ce9*ZvDjhYZ%@QpvRHx#R*_2+lTD4t&t=eeQ=+=H$J!Nr z*JO^{8$J9*!)F)fE=ZV$Oj=yJC@61YC`&YXnBrU4;Ec7ptWE}KJIour %;A%!Ki3< zh`rge!ifI*XlmH_$UErnvC%w*YoYA6UQ*%1wnWI};pi>1|JXGF6_tcd{=Rar+Z0&^ zDP8Kox{zyUf{!`)t;?e$ f>Vr45JPEHTcWexfLh Jm{ zA5Zub&B?gIp_O|z=BsFFl`|zPp^557w%zz1J1HxBvFTuTm~(Ihm_$wAelu^Qfb~_d z4#eEI6%&?pn&5i4IzhkS;8=m+iUp2=6uk12;ME-_4m4OG1 kzG^BF?g-pzvUfqyadxzn_& zA`nHPXrO&+cBz}2M{A7jpwMK?S6FwMb}cO}O?~*VY?JCz9Mh$Yr`r^#8UpEc5}gbR zvfF@y*^-iC9tJ|hYZr9L@b(X&uF0hnn1wO^F)X~_5+^~vq0r3Y?d_O$TliB|!H@0? zH=SO{hUwKZOd^t>gK9`V!6se+M|xB-JE4^jDhhEXf3k1Ce$D{4+?h%26BMkUC7Z$# zq9Lt&QHhKWg^|!ve2(>W)ugSiT=qTh7CWjah)V&w*m>s*6%AJT9kMIWIBp0hcMDYq z^E_BbO9zRUbteirDif&5I1<%ssy(QJNmu?}glNdu%SV5ApuA4d@ju6=TN5Q!)hdJz z>&QbwFcVHD&u+5>a20+q6#x;TFZc&u6`ZzyOz*-T>wPhL`t+#`4S y1i@HYD|s=Pn LvTs+(Gjw6!OnzA2oJn &COI8yK&_dGTJtq5k$-e(Qf=M7&S4k`{R?CsVeOrZ^7|PJH^z= z2y*1AB#qs(#ty6JYWVH+cTtpZFG_26ja5`$BswreCzRvrF>MI!07gBrTXUi8Q0(%F zh#`iff0RdIP5>`x_1SE_qd}haTi;0k6Wew)GJAW$LPY`od?Ivwy3_1c|IJB>sGT2V zP+Eif7_YV6`+l@Fx-**l9!|q=d);9B)G3DTSCuym^=#@KbnIEZPQU5`6cgTk?F+PJ zaAYH=OjcPC3B(_rUQ4XB6uW%=c@dWu^ho?{4W$M$o5|f^DfeU89RTZILlla&Ix#sZ zgdn~y6G?tjZX?DKeiDZo{KLw!Zh13~%b?rAR>SS0%+I%VfkY6Ku*@U+zZ#8JTbX$! zWo6$($K&uOnvwRhV_wsN6zYemhO2(9ElT6lFxlml9Ize*8FTIidoJz?t!%HQYq2Fy z9kDMOoj>jbC-tT#c4DxQZCPJ_Z_^A?*LZv;_vOnWmSPFcQ|BFZ)6*$Y+8AzgB(AKg z!j0-|`#<3<+~vNx@;pV2FH!r!%@B-4$&PN7Op1w5WoVfJaP4(CBWY~~Cn2yHZyX@r z`oMn_V-OgwFD@?Y4w9!bLF|VJf7Rt$RzTiGz)*rm(#{rNT=NLmEa=;A<^H>aQg~~G zzx%c-3&`*!QPYewYpTj!lYf6NE7P+{y915L*v4+PB8@W3Pz8l8dHZSci{HQB+mW(` zp_kJ@=3jLb+2rfSH6s|Ps;Q*`b !!qCz7UtK ~a@5VEcg!8DPFU8}dO`hj2L_poe6T z9?j*7fs@SVn#WU6VX^JsX@a3*5j>{ow<$7;KfKpvat5prT~*bWp~dd~=@rxrr`xM3 zB*y{<3yvmx;aE*dnDDswdEb`tu|mT!{3%;li`Ezrxk^CXsuuUw+}?J_I*qbd-IN*t zN5JS5{_enV9Q_4sYcb&`M}MbJ5TjiLcR>-T$&n4LV5TB8VI}}GQBm>D_grE)4U+HA zAzW=<+E(Zh{$ySJVQVU0dHs~HbKKnzxDUPL*sJ#3;@l35_5=A^P}@nUL36(9nFDiT zbNTlF*^YJX(mR#lG?;~v#IE-rTz_g;4kdf{uu*@0c!L+s4LI_hzO&2`s=@ac5rdhV zTzesNGNVI$`ixhvIzntW&^|9fCmQssJM(&KmJQeH%KPr%>+8!{LsPX8M-mh7BQX_X z9w>t6xC`W0jEg8~cE%>KNru7|l|o h9ugIq1}N`57eZ(YvV2!7wX1 oC);A_sTi;ws 6fk1q!jaUHy=4N<@lGHJt*UGZ%L&tsI0E) z$1#A hA#6l IYa=b4$%fh{o?UwW$g{E*LiOuwrOunzY?JOts8nL_eermg4B zj%fYNncB$Dyi=sF%NEFBlnv=gTPJQ0u5Mt$VuYp^AbZwYYG0lrZb<;zz~W$sS_< zVQ1W)k6!`v4|3YajZjieQ5d&gLvy?J2%qX6dpe&){7;R+my|s^cp!*Eh5Lmh-1@4R z(4cG<;*0CG*Exm28-qd5RkqjMs)*mROhZX)!_}g!7|$M020ZLBrG+crApcaLwjxiX z7BC_JOgpsn9@++AkO+%c(SPRX#0docUd+9v*d=kD9{f3A iJ zLR?M>GwbP!kIo0vodc^Q)S 7 w4wrlw9JyE) zG7gwq+<0|%E(0N3s9byj5!uqh%vM~Qc`;s=i+*>j$B3GL^EZ1Rj18`D#x!@EvVDCI z(vWv~eQjj)U&E#5ggjGLYdSUFP8+;l#zcs>*%ww7fv}2Ng$9%F%xHutap0?^R3#mn zQK)-%l6?YRtl{Q4wFywgTaF1kaZX{55X?hP3)#txnocI5d+l|eGspH&fVGN(5N5oV zrdpkj+UxUcFZ$FBLH$e#btGZfCaXlhpGB+_v=}~Iedh4audiIOBSLViMc{{tFvA?i zQ~wDxkD5*XGWhFiyUYg}Ocjb?hQ_T4zF07z;5jCiLl)xx5AKmcKsENM9?S^Jy`SD% zT0ZLIOhZE}TTl<(WX&kor{tsU8`L~d9AdaY@uIRaE9~WZ%8sI!zMygrnAD47Bd%@G zCY~Q2X*2S2|MeE R3i=!FP#N0c!{C9G_Fk!#Ig!yF=Cx6JI4g@UF42<@QkGQm5ryn+Za<;a2*8n>e z8-11%wc&B2ff2V<4iXa%4Oq=gAH3t!+78IZ`AlNIOOP-{vxz#AUTp)j48SSIJ}n_l zMc9TTj15zn4J-yw4L2jXX>M9DIM}$)R+e6n bYkEp z*^0D*e=S58!}w_pEb|`k0BvMb*Le6O;#CVG!M(|bkwEo?`b(H+0ztT-nB2AK!oIa3 z-t9jX9e7t+&*rhqlb5%?t@wK`AePX= &W-8K*BNtzo zc*9JG2Pv{`l!Hm+qsU&hTAJIt{;3K(klsO xfE*)N=(VFjhBem1sXSsrh^01l3J VN7w^USC@q~2jyBYE6=(2rVLMyY(@hY!WY-J0cF z!vNB!miInb26ou?a=9Co5|K&zPUtV0Lj)yqMW#WMAVv(d!%1h(IP>7xjkbgT7G)Rj z@%blTSC|;0Oi_pXKMnmgma^he1Pas^qf9mdaf#h9XQ2FP%Tx+ZFH93@4DUUBa>y=T z%ul$mg3O8cKA464CaMfxbR54zz&%i2c__GPWFft3pY%&}pkZ;$OjrBljB>+XBQGrb z@!5ecF`d{A+K~3@)zEBr5?27w4ub^Ds~YCrsP8g(VKBbp*bo8K+%hN;WQL|vJPgy* zV^cl1hh{b*JXR*iSA?69gu`>n|N7M$+z1N@aW2Hqwr!75EsQp7Aejf9>zEwZg5kd- zz{f!6foSEVZx5Va(y1)8E51e#<3BRs8pXmaKp}y8Avq*SkojD<_&^U_M>v3@hLPyV zn31#TPPx*B1P%NrHL`!-!aop_nL3G=KAhpiR@u;@eO)qDut!L~vaf-YW*i}o#Ru;e z?r&kHB0do$3ODu`INZ=@B)t;MPlnNu0-ta=vyqZ~5>7`X=aCN^P4em0$tDUNjxy~5 zVbGss0ZF>EL>nVDEZ0b3wi?_eG9hLBEff+C2&Y)gDR2|-R3;NJ&gwOq{e9I2e+qn0 zY?hWyeGU~tqR-*?qPlb8QJOr7bL=&SHELY-qMR?3tqP4Af!wtv);J`48^a*pN`3Ht z)0f|d1f@8nn3yCfXDS( 2 TZLH z2WR0gdfE$8<1suA>ZKdRG|$hUKqW!LtqojjRtg6Vn19CJ#tK^lpd&f &HtJ4*B{P-|re$)k<3?I|osypA+Xx^ME4G9rrj zPCff-)?4kwlP4qHp5EdEk;XSNmJVbjx@uJS>;`(*>6Naw&gs9ukAHpS-t3o0oUL9h z-}=sM`mo0<-a4H%emt;q% 8dGEWn$bGsHS%V4>=jZ5Su9# zh5sh~sQT_bTxP4YvoCr^0Kzlh59m2M%$QLDjMn$bBmzD#3Sw(=Xv;KbQWZZ>wg;ig z*c*Ei_==kS7Ln1zU}m_Uk`#4_Bq1pon*s9EL+Y(Sxxyh8n40JCj!TM!yPJ}KWp2}B z%O7=LJMQ=LHm;v%D6CqY5xKELpvNNHU5hs!QnATs6xyXsL38+(xpK5vTO+xM3YpRP zIh=s#k@F@FLmC(tV4eBkmlzW9r^IGYwlUh -;2=293!h#yy)-<~#g-Pu!Fk6X91rM)X8wc7rq~Z2?hC zvVn}y5B@@;;5n_oaAD=1gDFf~5nb6)D?-<0+o`_9<%VD_me4?*v~h@D-lX`3K PLzLv4heXvYL#<(CFI=w92Y96$1AYyJQ0<2e6sT;Gfz$I)NYSfFH3MF fIg|iA#cCpHf)x!_fBlgC=1Pm$v>epYqsp?)C&^2;wz~ zr->JNabUu|3uMb-vl^KD=r5T*V@AJ~UmU@_#dd_ioOf-sdAF3YtK@{s*+;quWpV#| zdJQKE(9xJby~pC=ix=&Xl%v)?)8>h+`H=2IPfu^gM1SgS=4$64DU{5LnocIckgUpL z$BZe7%Bfe@T?ilIss6QN$XJ7C4Z_abMtE+IpC7HCgAKd8)`)9XPEOJLT2#$Auo6sF z#0jK()6w@fQ^3gn3I@bbT;F-?MnFtk<<7wA`}di!3P_%g5EVreOI>C} Wn}XZ0T4nl{tn#P(CTZOCV&N@eYnaGF5m%UHn5v~IT%7dTP)5zQOVivxM* z(BA@;LeA(yu0mRS2s{N`19jp2J#H06S#A4vDgztJ47xC8vE7#|QQM4GEGp!<{rVha z^s?)vL}R1oBT2{fd^eegq=$I><;#6OrfBA6@dy?|jT>(=SR0GStW?U|6GS;lG^A3% z5xN_mP@Ow><|i 4{m$4Kw2wB$$&G&y9%#TYbY}5+L$?3)3ejE z47d)j(uW3FHr3I6o%x)`+?O%wnyx_*b4!1Ah7E`1mTXO@)wb<>Ua5%7c}S>lyVEW4 zds*2hX5ieDv^4Lc(x{Q2Q iAoaDW;dr znT&TINGHVEI!TkzFmzc8rXb5wXHm|+{Z18$M>|(Gn-?w0v)0*n$`AfDJ@UXb!K1f* zWS2wDe79H~*%)o(fb)-d|ASC6yd&@@Wkq|`WdsTr(!6{-?=N61H`zNtW1RGr{2+-; zdP#P&Q;hMF6nG(Y8@BQG;I +1H*Ih!F7!9N6Pkr;I z3%v?fj)<$Y80@4qTLzLrrEAG65|cC>QH0HT+W@OhKazl_Zb p*Rx9TXqUsbPN512sNV5d?&2 zDzE5CQ1BX}AXUveX%{cEhs4s6Dhi_5qNo-5Gc7mrhS6#*G)4w|Eh*9cavly1;BPkg z-`RN&{V9xQ=ls-A482e<^mbv7z^9`Y+cuwE*mKD4Uw3G&`6(?!3%n45^k?`Xhzt*A zKby)xZ~%^CD;_UhO*-jll;&ebSJ95hx#XWEYCXJ!#qlv*P8tCda@%C7C{qdujLJUe z^do|d0oL`c`7T>3V)>Jb2f{auYB5&ey#a_cWzazCXev FWA{9H z!i2WGQ&jA7FaU;c@|whCk!+05m1`K_C*yTpCfwU _x)9L!IlYvg}a(>1;g>E8~EAxwF?HpZ{KuHKt(IE$>#L|dED+vMuOMS>D%6!%6 zWZ7lMb1!4yp&kXm7~-g;2zkje=GA#f|1lK-8`46A=l5BoKjp+`&M&y`5jw^G3txyU z9F1TAv=E27>R3Y(1r|SRQLs7jVHo~Z1CyX~#8;_jXi^WCV}2&SwRayxjf8X&yUMnn zjg {x}@7#h;nill#+wTAE^~n$wYhCSdNNn9< z!@{|svUyNQPVpuJet3b$5HCRp4#?>spC);BDCulXGt-_vZS%=&jPFN>xgyV(RnR!B zzCYfIr5U_pSv>}#L49Up;C675%N;;Vxu|$FR9zNBUb0B^x)rp}eg7#Z=CP5rEzUM6 zE RHStI*t7epV1+Oo8VvZs)5@x}|jPx{#u+eQs9cn0ssOz`i zzZFR%NmF=Vntz$;170YlMwpu&vF+TsbNh@gp}>tcg|6RzuW$d}9>)h(b(d}tdQ9{c z0#*uhXyn?IGb9-iH7xw87$QTr=OnU8Nn|HXKKIP4ZGdTgJ~Whgy~tuRH#gn;CZLl{ zT4TioopZbQfw;7<+YXzBRxaW&NM{H}%v9HC@Zoe%fgrQ8B+QCUH9g8vVodT?-tE(h z6YrnXj`CdukQ4 mWf0rgq(JXO_5O1%j(w+ zMY%nfvWe%2N=qE>FqgXheum0ehMcGhu+QAYsP;(5vxta2PxP42v^lzKdco`H9>}5M zkwU30;M?S5_N@Zik|||xJLxln*HQ6LY#mqCphGj-aU?e?3PWAWBiH;heCD&wT$31X zAVC$S2_~o8_!mL%rT_?HjRLCRJb!*zLI_nzppRmeS*+ckD13fV5P1%|;Sd;P^tfog zAXrRWTx&RZO`0{UjyE1ZcAc~)#S$(6Vo;NxK6>o?w{L)5co{SRwM7IaLQnBYqgH0T zf3&ts?NHC8W-VK04_MpB6f)}~Hg-H0+38AiKzR;(CVP%~x2^wmX60O7{mW?oqt?E| z29$0a_w>W7mCXsWZ+i{V*Z+8B;MXORxJWOO6X Y|3h{ODD98 zZdH4oH#1Yg*`fi&*!2ewR9Hg?A$XraC9dssx!o)R@vF1~fd^1o6?`Mwv6l?S;wRGy z78EMOU&H0G2V;K%dx30FEQ!pX7z|3V%c395qsw0@KHHcgCrIyBP}nld|4;W btK!1I-$_p*oxcB$vFtNm8qku!p3h6 tSE0cB36+%`(rHG97*q=mwob%EA#1;m8r~ zc=CH2G-*r}_OAK0n;i9s@fwYh?hhFkN@NK2t55C3Lcb9r{m;+u4XG|dcD_dCw-2qU z4~nS#B*BnA=;zYtNIVC;lhZ;}HCp(hkBG)O=K8z!v-$-zn=}dl6ZHKs)iRP~o;mBM zvz-2tl{}7@y7n&B*4*Cu4{e}KTa^X~2te@e?OP!s*%F1UpuDzb4fhd`#u%izQo`QV z3%#_jsOX6}FHu*BogeBQmCmY)W_YHCP)<*Z9@RvorC?P3^uIgoGs4xq)7&?iKRbDs z7z;qbvO~=-LBYXufvK4L=AiFwFuXMY15=D?RO(`bzQ Sk*&It9BfOLX$0y7?rpZI 6&QFB%Qiw*@#NyjRSaCz%}TBtX4TwZgS>qQiK~1*afhQ_ zA)jqT;<9<7AG$9pfCC(jGvuI%yNP>Gmi@l(>BLOe;Gsi MBqGT1mJOVcfly2|W~jgKOwQW= zY8gYVG}0lMyvddkw&Z52%m!|iv5?5W|GxL!QPE7wU$BPyB(B2 =?tiEpgI8?l_nnOPaX_N&jz{za)=IvGL=^OhsU}I z#AL{t+;I1KrM8w&Bf-u8AzRKN ^iB?IjtrQED3@frVl_io&t%LsP -s!Q_!& uJOm)1s@zm7@2FUo4TYEG RnhGxJjy6GdHjf)S_7DXhEq! zhGqCutiMsxNIXU$-JU1Jp^-gT9A+hdQwm3Z(5=kO9 >t|sKJAg z2Qd-)eqn47S6@C0&D}e=dE+T(MFWWTGn#Ph5bXAB>H{_$ft2SY{#NJs;xstk#>OVN zgiZ+$*eKGUh|Oc|wm9~ZAs)sG%g90`udIuK*B!$hw;Wx+Hr>g}|4_Gu)-9Rs*+%6` z!Hm+Ioi5`1ie{tk%L{I 5F9X;MAOvWC__kTlwpIPZ1k~h_ufcRC3=Ho+0P#AXQb9K$o-~m5W*__`ytq zwp1JBR5D>D%kM;(FVs)lWsHrAZwmfGW##43JUdJy{i!pA7~~XxV4OgHI5if0ogHh` zVHRb1mfuzj6G9zRErK@l7g&{Ycg3KV?I&*Imb-Cah*sEji^=f%SLZE=K$s(jbh*N$ za3f?<0L~ISuz f-K@8dRi{j@oF-iZQA)aL9jF-tq*k z;Qoq1r7`^l-{LR{h5knLgbHS {S%65c}5@8C-vy27VILpunMcc*8^c4gjSXn)y0!@VgY_DH;VmlC@ z0<*+?Xiu7vPgmaETRz >S*|p oBQZO%?tTLK&lw*j7un}rTqSP5OOGjH O_Mi)&nt4@I1xvtqs2f2)NI06}BYa+h20*Uf!! *VDNjJJ0_b{pdKWq^9L&c3jpx91q3Kkkj??P zqBi8g^}xqhA}0r)O`D=;rIivooC7bAM!aQx8*UDLGuF-H2DaWxem ;3)$x z{bTnSEd-Np-1AHiM}`VeP4So4L*|0sq+;7ZnpW-H*>H6tPqvR&>1>J+da)y{l>>mlA@uQ}tEEc;E^5 zCVAFdimQSkN~GZO0bS}b=Y(=dDlH0wY>)d-o~Qvi0nT1TJtp5DmKxyB(*EJzo>M0_ z%T{KZgL(w$qyMa*1KE1&-m4QP9U>{n`J0C*ySC{9a1^#?vOs2j2)M1?H7Q$RCq)O2 zwnVyHs<7grP8v9Jg&*K0@-f9xoWnyICQLg+fVi^>bEpwxR}79J1S<7_7^ew%K|-X= z-1Scvk4uhs4`^tXS$C__fD|<+6`z0MU1@UfCebc^<^{X>!^rQk`a4J`FD^6;2;w0m zd4>T3JS$Amd((ESbZ&ouJ#;5eE*a>S@*0)N*(G@qkR={K8fYvwA%P@TQPsdy2#5r9 z5e+d+9#}hd@K_}H+!1*cglM%MgUshT9eQ0|Pn2@xY(^27B9F!^^jKOQ<;F_feDADO zc3!(?3CA4Hm%_e?GBj^dWYx?S3?>mIWF&ipZ|znVeu!3%AOspzfZYYj4x+*S{A-0v zU^D(FPoCVj 6Ab878ToOSf)hbi@?H}WVP`%rT^qF|8c)6neo#Pu7Hn5U5Q zB?dJC#UJYMyU#B|JgEKA9X3Q)hsLAuvgebB53lFsgmIL_Cju k&s+GAAeAx*UAK$c zMhTdCHYbaUa2cX&iA2o2A;1-n62Zy-K}MFvCEUl(8*1lhaO-H}PiSM1*%s}KhFI+k zKu_PQJZxf N7-ZMW+cy&Wu$upYUe89f;Siu5XXx0!fC;RKtDgTU}ss^hOVog z0PQq@qV?e0vj8*$rUEe+b+*ioiwY508-4jhem1qf-_?qN-j;wg6ra+F5$Ovn;)}O& zT M$i7J3ish&w@&q-l(&NG zNED#i6q{0dMb(kEQ`uJhX=U^F!F%cF@2}Jz+hj{uGs;yhk9-h380G=l1Cb4i!NFCZ zn*HSbz7U-+fr3y$A**pigp`vQkH`tO5V= Xa<@d;c|i2bQSoS!2h7(H(tMXRI}o& z@7F$zJzFC~!-TIx^plZWb5W~}3i4-2Ee5Smqvf}6Szi+wnPR^suSa|=06!>nD5?-7 z3vP#L!VZK!B46d0gkjqwlW4>__VwBv9@`2q?;-;Q(1EYf7W1mNhlZ}>y9+D~`$%n2 zwnm>#1YBz^Y%74O*#*~!Jqfo-LFj%=gLCv@47ZV*B+ijy@xNLINg
}}-eKgU_ab9+q}L{dcV^6#Ifk{i?MNG-B!$kva4)RpL0s$(Mu z{3l8_V;UN|TG^?A^kW|x_U-4-xUlTlH$8{ancg=r%AfGqrmYU_Fy~XC6OzEH;)d(C z-mu3v%>~+wT81)p6s?5B6G}B`sOl@86RoXv0Yd<#Z4fz=*E|-YYfl4|KOJD8qpMpo zJ+rA%_;28l$e8u>CUV)unT_(aiIP%1* GH{?da^q6` z5Tq2sG#|Mbu?j^REYyi a!7DFtS^l>M z%?aP#yCB7(R`%TvO>r%PMo!W#hH#o0-2|LJiv-D2239zOXH`GStViC>Z`W zmY?tBzn?mW>GcV$9|;~hoT8D;s^!y*!6L524Ppc&vkEI@c~a@2m+mSiB6-O<-HH0< z5kru&ViY<{P?tpKWQr*ng#;fKy9U$%Fwxc=Q^Jot0kSVk<09RYG(mO2NYV&;A8`H# zwB$lRAezt%!%fXW$jO2^kv?-z)7&X-K`XBAn{$fx4Nw(t>P&*`C4}HaC8>FMKR#2} zz&F5Jh !J2I!2}_Olj4KVMi{`TicS~CHgTC#t*MA z^`k5;;EeP2hTobONEjsU$_8eC4WW+2pIx@aC_8~Ikf&nUJzbAjV9T-9=pHy5AVSz( zmKF{>-fDrnJ8R!%8^Wk jUQ>OeTU!7wWy3qC>i#-#g?BZ9^vE@tJIn0N_fA}u(8 zI-^emXt*S3FrN2yzZWznBlNP=gtEx(%qv{^=eWA2)945_npiU&X)F0?JLX}SSwfm& zM-voqp;n6ct|mT0)eiHi-p7g9e4~D79DCFn@Ef(LmpIeV{cIX9BuT;oB08CfmQV03 zlvlSW1-Uvq-=tJvQI%uzIYU*DTw;jN3}J^DT&A}rV;-rfVi zjc+W(5nqb%i#gr4 Z7M abhKFxdZREOT;VflpYJ zy{HHz0+o-9k43uD8G2bmi4-V{z&QtAzrN{FfZYVpL1t5&^|kv>+L<{^mV`t_%?X~k z7WzR*6C&Ir{=ef*9YCA$v9eN+oSy~Bl{PP6Nz4$Y6oW}X+{DAM!s0W?(`LuS&s;70 zFo;@mDBx}zPeVi)^hgtduf&y=bxnN43I-$4bM0`S#UGmsQwXTPWzKn3)fCk~I^Wxl zcQw0j@&gQ{4T9+G_-7HzCvNj7S|E$xSD?x$>yA)hm}W#*A`oEDXBP3FvASsyZB+Y- z;{# pw$c&dviI;DC7!%;dJQAu|yc~2b$mBJ^zr|$97 z5HmeeD~Dw?o~Ow(cJ LeV3L?%I=rqE+-I_JO9S^oT7#@Cc_4fr44a6S=3m7>i zxXj|)fWkE&Ldt1Z(1x^Zsi#v0{6}hwPbQ6nxMK42!tj?uT6TjKm}9;#LV}QZe^qEw zrSagw9G+|jMyIiS02xX&sSMp>$;C-5vuHN*?&ldgJLfE39O2fjTjr@*LkACb>8FfH z!VerrMOD=tz%I?Z@hS!ZCeU>{Tw8r^TB%-d9%}|yjK!|$s6nu=E_1Z83Ej6;zhCUP z3s*c~3Ne2)1*R6`Rnl85f(heeKl(9X cXlM$GCM|z z?Ka~?zkqdC;G26AzH)YiHW3Bvr)l)`GJGRMCb1JKr btGurx zLReABBb1?&s1=7KY|-U>YX6b +$%SiCi; z2&<0mi(?FetScsZEb0`#j@>J(e|*+Emfr7Nb8LDg+SBco4E^cL8p&>!c2Re=EIF03 z_NG6!ZKi*f(a0Cj+6o2^Q(f5Ofy-z;`DrAMQw&jH#Tja0iif?Xk&)fj=`s}wz|05S z?Ejof9W<|iFEX3w1(z2 tM(HJG(C&&{`pOq8}RubL+9D{ z$edr6-4gKh9sQHI9tgX`>{Z|E+u>)3zA~Z8r+Zga^gXvU-AXE8z7MULrFz^GQcF_h zWCEk$7(iSc4c0|w;71S3WtOo7<$IDE_g$r)Hzg1r%QpDAlrzyw| zJ`b%~0PkJWs#2X%4C00yG0;o3gB>XPECK!`eZZgtR|W3wKFQAR^x&u0;P(MVon2hg zfY}iYh~ou59;5-`9e9Jp>{1# *({(3kaOwNZx-kH{ilH%8VTM20D(2i-R& z1ksh%Q0&t1o(?-Mrcoe^D4IDn?GR6P-5;_c?ZTfkJAsG5V=MvR-FM&sz`|7n{qNLT zvXi>ZbM@-W)7H8DJBi+p